بنقرة واحدة
plan-generation
How to create plans, scenario-instructions, and progress documents
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
How to create plans, scenario-instructions, and progress documents
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Upgrade existing Aspire projects to a newer Aspire version. Also handles TFM upgrades — preferred when the solution contains Aspire projects, since the Aspire version drives the required TFM. Triggers for "upgrade Aspire", "update Aspire version", "move to latest Aspire", or any .NET upgrade request on a solution with Aspire artifacts.
Upgrade .NET Framework projects to .NET Framework 4.8.1 (net481), staying on full .NET Framework without migrating to modern .NET (net8.0+). Use when user explicitly asks to upgrade to .NET Framework 4.8.1, upgrade to the latest .NET Framework version, or stay on full/Windows .NET Framework. Preserves legacy vs SDK-style project format unless the user explicitly requests SDK-style conversion.
Upgrade .NET projects to newer .NET versions, including guidance on current release status, support lifecycle (LTS/STS), and recommended upgrade targets.
Upgrade one or more NuGet packages from their current version to a target version across a project, several projects, a folder, a solution, or the whole repository. Use when the user wants to bump, update, or upgrade a specific NuGet package (or packages) to a given version or to the latest supported version, detect breaking API changes introduced by the new version, and fix the resulting code. User-initiated — match the user's stated package(s) and version intent.
Converts Visual Studio extension (VSIX/VSSDK) projects from legacy project format to SDK-style. Handles VSSDK-specific concerns including package references, VSIX manifest, VSCT command tables, project capabilities, and solution deploy markers for F5 debugging. Use when asked to "convert VSIX to SDK style", "modernize VS extension project", "migrate VSSDK project", "SDK-style VSIX", or "update extension csproj format".
Estimate and present the token-usage budget for an upgrade before execution. Run this when the user directly requests an estimate, or to present a budget that the assessment tool already appended to its output. Never auto-run it after assessment — that path is now handled programmatically by the assessment tool.
| name | plan-generation |
| description | How to create plans, scenario-instructions, and progress documents |
| metadata | {"discovery":"system"} |
Instructions for creating planning artifacts after assessment is approved.
This skill covers 5 sections. Read all before starting work.
# Section Key Content 1 Planning Flow Sequence from assessment approval to user review 2 Reading Assessment Data How to handle large assessments 3 plan.md Specification Template, task description guidelines, naming, sizing 4 scenario-instructions.md Specification Template, preferences format, append-only decisions 5 tasks.md Specification + Presenting Plan Template, status emojis, approval triggers
Assessment approved
↓
Load scenario planning instructions (if available)
↓
Extract key information from assessment.md
↓
Apply scenario-specific planning logic
↓
Create plan.md with tasks
↓
Create/update scenario-instructions.md
↓
Initialize tasks.md
↓
Present summary, wait for approval
Important: Scenario skills may have planning-stage instructions. Load and follow them in combination with these generic instructions. Scenario instructions define what to plan (e.g., strategy selection, task ordering rules). This skill defines how to write the artifacts.
assessment.md can be large (sometimes too large for context). Check scenario planning instructions (if present) for how to read assessment data:
assessment.md directly| Document | Purpose | Who Reads |
|---|---|---|
plan.md | Task descriptions, scope | User (review), Executor (task lookup) |
scenario-instructions.md | Strategy, preferences, decisions | Executor (ongoing reference) |
tasks.md | Visual progress tracking | User (status), Executor (overview) |
Reference document containing task descriptions. Created during planning, queried on-demand during execution. Executor loads relevant sections when starting tasks.
Target: {what's being modernized} Scope: {qualitative size — e.g., "3 projects, ~2k LOC" or "large solution, 45 projects"}
{Description of what needs to happen and why. Intent-based, 1-3 paragraphs.}
{Optional: affected items, key concerns — only when helpful}
Done when: {concrete, verifiable success criteria — what must be true when this task is complete}
...
plan.md must contain only the sections shown in the template above: ## Overview and ## Tasks. Do not add extra top-level sections. Common sections LLMs add that do not belong in plan.md:
| Section | Why it's excluded |
|---|---|
| Rollback Plan / Rollback Instructions | Users know how to use git (git reset, git revert). Not actionable. |
| Estimated Timeline / Time Estimates | LLMs cannot accurately estimate duration. Misleading. |
| Risk Matrix / Risk Assessment | Already in assessment.md — don't duplicate. |
| Prerequisites / Assumptions | Belongs in scenario-instructions.md or assessment.md. |
| Dependencies / Dependency Graph | Already in assessment.md — don't duplicate. |
| Notes / Additional Considerations | Catch-all that accumulates noise. Put concerns in relevant tasks. |
If a scenario strategy file adds sections to plan.md (e.g., a strategy declaration block), those are allowed — they come from the strategy, not from LLM improvisation.
Include:
Omit:
Use plain descriptors when characterizing scope, never numeric scores:
| Do | Don't |
|---|---|
| "small project, minimal dependencies" | "complexity: 3/10" |
| "large solution with heavy inter-project refs" | "estimated effort: 8/10" |
| "straightforward — no breaking changes expected" | "risk score: low (2/5)" |
Task IDs must follow the canonical format NN-slug — a two-digit, zero-padded sequence
number, a hyphen, then a lowercase kebab-case slug (letters, digits, hyphens). Sub-tasks use a
dotted sequence: NN.NN-slug.
| Valid | Invalid | Why invalid |
|---|---|---|
01-upgrade-htmlsanitizer | T-01 | No letter prefix — sequence must be digits |
02-core-contracts | 1-core | Sequence must be two digits (01, not 1) |
02.01-data-access | 02_data_access | Use hyphens, not underscores |
03-web-apps | Task3 | Must be NN-slug |
The state tools (start_task / complete_task) parse this format. IDs that don't match (e.g.
T-01) are silently ignored and task tracking breaks — always emit NN-slug ids.
Task IDs must describe what is being done, not the strategy slot or structural position. A user reading just the task list should understand the work without knowing the strategy.
Never use strategy jargon as task names — words like tier, phase, batch, layer, group, step, or stage describe the plan structure, not the work content. Use the actual content being upgraded.
| Avoid | Prefer | Why |
|---|---|---|
02-tier1 | 02-foundation-libs | Names the projects, not the tier |
03-tier2 | 03-business-logic | Describes what's in the tier |
04-tier3 | 04-web-apps | Reader knows what gets upgraded |
phase-1-batch-a | 02-data-access | Describes the concern |
dependency-layer-0 | 02-core-contracts | Names the actual libraries |
task-batch-final | 06-integration-validation | Describes the validation scope |
group-a | 03-legacy-services | Names the group's content |
Guideline: If you removed the sequence number, would the name still tell you what work happens? tier1 → no. foundation-libs → yes.
Include when helpful, omit when not:
# Few items - list them
Affects UserService, OrderService, PaymentService.
# Pattern-based
Affects all repositories in src/services/.
# Too many
~25 components. Query assessment for full list.
⚡ Continue reading — Sections 4-5 cover scenario-instructions.md and tasks.md specifications.
Living document for user preferences and key decisions. Always in context when workflow is active. User can edit to influence behavior. Keep it minimal — no information that belongs in plan.md or assessment.md.
{chosen approach — one line}
Always write a Commit Strategy value when creating scenario-instructions.md. Use this priority order:
This ensures every scenario has a visible, editable commit strategy — even scenarios that don't mention commits at all.
⚡ Continue reading — Section 5 covers tasks.md template and how to present the plan for approval.
Visual progress document for user consumption. Updated automatically after each task completion.
Follow the tasks_template template below, replacing placeholders with actual data, never add new sections or content outside of the specified in the template.
<tasks_template>
[Brief description of the upgrade - 2-3 sentences maximum describing what is being upgraded and the approach being used.]
Progress: 0/X tasks complete 0%
| Status | Emoji |
|---|---|
| completed | ✅ |
| in-progress | 🔄 |
| pending (not started) | 🔲 |
| blocked/failed | ❌ |
After creating all documents:
plan.md and tasks.md in the editor (regardless of flow mode) so the user can see them. Follow the How to Open Files fallback chain from the user-interaction skill: first search your available tools for one that opens files in the IDE; if none exists, include the full file paths in your response. Never launch external programs via the terminal.commit at the end or I'll commit myself to change."Recognize the approve intent — user may say "approve", "looks good", "lgtm", "let's do it", "go ahead", "start", or similar. Match meaning, not literal keywords.
DO NOT proceed to execution until user approves.
commit at the end or I'll commit myself to change."pause to review first."pause if needed.