list-plans

作成者: microsoft

ワークスペース内の有効な移行計画を検出し、選択された計画パスを返します。有効な計画は、plan.mdを含む.github/modernize/のサブディレクトリです…

npx skills add https://github.com/microsoft/github-copilot-modernization --skill list-plans

List and Select Plan

Step 1 — Discover valid plans

You MUST run this in a terminal — do NOT use file tools (list_dir, file_search, grep_search) to discover plans.

Detect the OS and run the matching script in the terminal. Replace <workspace-root> with the absolute path to the workspace root before running.

Windows (PowerShell) — run in terminal:

Set-Location "<workspace-root>"
$modernizeDir = ".github/modernize"
$plans = @()

if (Test-Path $modernizeDir) {
    Get-ChildItem -Path $modernizeDir -Directory | ForEach-Object {
        $hasPlan  = Test-Path (Join-Path $_.FullName "plan.md")
        $hasTasks = (Test-Path (Join-Path $_.FullName "tasks.json")) -or (Test-Path (Join-Path $_.FullName ".metadata/tasks.json"))
        if ($hasPlan -and $hasTasks) {
            $plans += @{ folder = $_.Name; planPath = "$modernizeDir/$($_.Name)/plan.md" }
        }
    }
}

$plans | ConvertTo-Json -Depth 2

macOS / Linux (bash) — run in terminal:

cd "<workspace-root>"
modernize_dir=".github/modernize"
entries="[]"

if [ -d "$modernize_dir" ]; then
    for folder in "$modernize_dir"/*/; do
        [ -d "$folder" ] || continue
        name=$(basename "$folder")
        if [ -f "$folder/plan.md" ] && ([ -f "$folder/tasks.json" ] || [ -f "$folder/.metadata/tasks.json" ]); then
            entry="{\"folder\":\"$name\",\"planPath\":\"$modernize_dir/$name/plan.md\"}"
            if [ "$entries" = "[]" ]; then
                entries="[$entry]"
            else
                entries="${entries%]},$entry]"
            fi
        fi
    done
fi

echo "$entries"

Parse the JSON output from the terminal as the list of valid plans for the next step.

Step 2 — Route based on count

No plans found

Return no-plans-found to the caller. Do not prompt the user.

Exactly 1 plan found

Return its path immediately — no user prompt needed:

.github/modernize/<folder>/plan.md

Multiple plans found

  1. For each plan, read .github/modernize/<folder>/plan.md, extract the first heading, strip the leading # and any prefix of the form <Word> Plan: (e.g. Modernization Plan: , Migration Plan: ), and use the remainder as the title.
  2. Print: Searched for plan.md and tasks.json files... There are multiple plans in this repository.
  3. Ask the user to select a plan:
    • header: plan-selection
    • question: Which plan would you like to execute?
    • allowFreeformInput: false
    • options: one entry per plan — label = folder name, description = plan title from step 1

Step 3 — Return

Return the selected plan path to the caller:

.github/modernize/<selected-folder>/plan.md

microsoftのその他のスキル

oss-growth
microsoft
OSS成長ハッカーのペルソナ
official
accessibility-aria-expert
microsoft
React/Fluent UIのWebビューにおけるアクセシビリティ問題を検出・修正します。スクリーンリーダー互換性のコードレビュー時、ARIAラベルの修正時、および…の確認時に使用します。
official
generate-canvas-app
microsoft
[DEPRECATED — 代わりに canvas-app を使用してください] 完全なPower Appsキャンバスアプリを生成します。
official
django
microsoft
Djangoウェブ開発のベストプラクティス(モデル、ビュー、テンプレート、テストを含む)
official
github-issue-creator
microsoft
生のメモ、エラーログ、音声入力、スクリーンショットを、簡潔なGitHub Flavored MarkdownのIssueレポートに変換します。ユーザーがバグ情報やエラーを貼り付けた際に使用します。
official
python-package-management
microsoft
依存関係管理にuvを使用し、タスク自動化にpoethepoetを使用します。
official
runtime-validation
microsoft
移行アプリケーションのランタイム検証 — テスト戦略(計画フェーズ)とテスト実行(検証フェーズ)をカバー:起動検証、…
official
azure-postgres-ts
microsoft
pg(node-postgres)パッケージを使用してAzure Database for PostgreSQL Flexible Serverに接続し、パスワード認証とMicrosoft Entra ID(パスワードレス)認証をサポートします。
official