plugins/github-copilot-modernization/skills/appmod-hooks/SKILL.md
Lifecycle hooks for the modernize-rearchitecture coordinator. Defines hook points, registered actions, and execution rules.
npx skillsauth add microsoft/github-copilot-modernization appmod-hooksInstall 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.
Lifecycle hooks that fire at defined points during coordinator execution. Each hook point triggers registered actions in order.
| Point | When | Coordinator context |
|---|---|---|
| before_all | After DAG is generated, before first task dispatch | Full DAG available, no tasks started |
| before_task | Before dispatching each worker | Task ID and role known, profile read for Progress |
| after_task | After worker returns and verify passes | Task artifact available, status decided. If all tasks in the current phase are now ✅, also execute phase-completion actions (git commit, commit-pin, phase counter increment) |
| after_all | After completion criteria met (§3.7) | All tasks resolved |
See references/actions.yml for the action registry. Actions use dotted namespace: appmod.<domain>.<verb>.
optional: false actions MUST execute; optional: true actions execute only if their condition is mettesting
Generate and run post-migration tests from the frozen baseline specification.
devops
How team members request infrastructure connection info and handle secrets in team mode
testing
Create a test baseline for the project to be modernized. The baseline will be used for later verification of modernization tasks.
tools
Convert an arbitrary CSV report (e.g. a Black Duck export or a custom migration-issue inventory) into a schema-valid assessment `report.json` the modernization pipeline can consume — so it appears in the assessment UI and migration solutions resolve automatically. This skill is LLM-driven: you read and interpret the CSV yourself and author `report.json` by hand against the schema. A small helper script only does deterministic lookups (migration solutions, the ruleId for a solution) and validates the finished report. There is NO "convert everything" script and NO assumed column layout. Triggers: "convert csv to assessment report", "import csv report", "turn this spreadsheet into a report.json", "Black Duck csv to report", "build report.json from csv", "migrate a third-party assessment export". NOT for: AppCAT-style analysis from source (use `assessment`), generating a modernization plan (use `create-modernization-plan`), or editing a report.json the pipeline already produced.