plugins/github-copilot-modernization/skills/dag-generation/SKILL.md
Generate task DAGs for modernization projects — select fragments from task catalog, produce initial DAG (Stage 1), and execute/validate DAG from plan artifacts (Stage 2).
npx skillsauth add microsoft/github-copilot-modernization dag-generationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Two-stage DAG generation for modernization projects:
references/task-catalog.md — fragment library with when/skip-when/after/scopereferences/dag-rules.md — DAG construction rules (dependencies, compression, sizing)Select fragments from the task catalog and produce a DAG.
{{BASE_PATH}}/artifacts/project-profile.yaml (project.loc, project.languages, project.modules, assessment.change_type, assessment.grouping_needed)Decide whether the project needs deep planning (two-stage DAG) or can produce a complete DAG upfront.
deep_planning: true when:
deep_planning: false when:
Read references/task-catalog.md. For each fragment, decide include/exclude based on:
deep_planning decision from Step 1 (drives implementation-plan selection)Respect when / skip-when conditions and after ordering from the catalog.
⛔ Skip-when enforcement (mandatory post-selection gate):
After initial selection, sweep every selected fragment and check its skip-when against the current context (deep_planning value, change_type, project scale, other selected fragments). Any fragment whose skip-when condition is satisfied MUST be removed — no exceptions. Specifically:
implementation-plan: remove if deep_planning: falseThis gate catches cases where the initial selection included fragments that looked relevant but conflict with the deep_planning decision or project scale.
Fragment selection is an internal decision — do NOT output the selection rationale to the user. The DAG itself is the user-facing result.
Read references/dag-rules.md for construction rules.
deep_planning: true → produce only plan-phase tasks as JSONdeep_planning: false → produce the complete DAG (plan + execute + validate) as JSONReturn JSON to the coordinator (do NOT write files):
{
"deep_planning": true,
"tasks": [
{"id": "t1", "role": "<role>", "title": "<title>", "depends_on": [], "phase_label": "<label>"},
{"id": "t2", "role": "<role>", "title": "<title>", "depends_on": ["t1"], "phase_label": "<label>"}
]
}
When plan phase completes and deep_planning: true, generate the execute+validate DAG from plan artifacts.
references/dag-rules.md for construction rulesreferences/task-catalog.md for fragment definitions{"tasks": [{"id": "t<N>", "role": "<role>", "title": "<title>", "depends_on": ["<id>", ...], "phase_label": "<label>"}]}
project-decomposition)development
Evaluates whether a user's modernization/rewrite request provides enough scenario context to proceed (e.g., target component library, screenshots, design system for frontend; API contract policy, data migration strategy for backend). Produces a deterministic clarity score, asks the user for missing required fields via a structured form, and writes a canonical `clarification.md` artifact consumed by all downstream agents. Triggers: "clarification gate", "scenario clarification", "elicit missing context", "evaluate prompt completeness", "ask user for screenshots / target library / design system". NOT for: feature specification (use feature-inventory), planning (use creating-implementation-plan), implementation (use implementing-code), or resolving spec-time `[NEEDS CLARIFICATION]` markers (those remain owned by feature-inventory).
tools
Lifecycle hooks for the modernize-rearchitecture coordinator. Defines hook points, registered actions, and execution rules.
development
Provides role charters (mission, ownership, core principles, quality bar) for a multi-agent coding team. Each charter defines the role's mission, ownership scope, core principle (boundary constraints), and quality bar. Most roles also include communication rules. Consumed by the coordinator during task decomposition to assign work to the correct role. Triggers: "look up role charter", "what does the architect own", "check role boundaries", "find team roles", "which role handles X", "list agent charters", "role responsibilities". NOT for: task decomposition (use breaking-down-tasks), implementation (use implementing-code), architecture analysis (use analyzing-architecture).
tools
Zero-dependency shell recon for any code repository — detect languages, count LOC, and report project scale. Pure POSIX find/wc or PowerShell, no Python or third-party tools required. Triggers: "how big is this project", "what languages", "project sizing", "repo recon", "LOC count", "scope check".