plugins/github-copilot-modernization/skills/sharing-learnings/SKILL.md
How to record project learnings so that later-phase workers and future agent runs can consume them.
npx skillsauth add microsoft/github-copilot-modernization sharing-learningsInstall 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.
This skill defines how a multi-agent run captures knowledge and feeds it back into later phases and future runs.
| Product | Path | Scope | Audience |
|---|---|---|---|
| Learnings | {{BASE_PATH}}/learnings/<role>/<slug>.md (git-tracked) | persistent across runs | later-phase agents in same run + future agents on this repo + humans |
Invoked by every worker during Preflight Step 2 (consume prior learnings) and Completion Phase (produce new learnings).
{{BASE_PATH}}/
└── learnings/<role>/<slug>.md ← per-topic, append-friendly, git-tracked
The directory tree + filename is the index. Each file's first three lines (H1 + blank + one-sentence description) are its scannable metadata. No separate index file needed.
list_dir {{BASE_PATH}}/learnings/<your-role>/ (and any cross-cutting roles relevant to your task).read_file the full body only for learnings that are relevant to your current task.Emit once after loading:
[learnings-loaded] <role>/<slug>, <role>/<slug>
Use (none) if nothing relevant was found. If a learning conflicts with your task or charter, [notify:coordinator] — do not silently ignore.
Every file under {{BASE_PATH}}/learnings/ MUST follow this shape:
# <Slug Title>
One-sentence description that future agents scan to decide relevance.
## What Happened
Narrative: what was discovered, what went wrong, what worked.
Cite the originating project + task ID.
## Takeaway
Concrete guidance for future tasks dealing with the same topic.
## Example (optional)
Minimal snippet illustrating the point.
## History
- <YYYY-MM-DD> (<project>/<taskId>): initial
- <YYYY-MM-DD> (<project>/<taskId>): added X based on new finding
Blank template: templates/learning.md.
Before finishing your task, evaluate what you learned and decided.
Mandatory — you MUST write a learning when any of these apply:
camelCase vs snake_case, tab width, import ordering)These learnings ensure style and architecture stay consistent across runs, even if the choice felt obvious.
Optional — write a learning when any of these apply:
Doing nothing is valid only if the task involved no style/architecture decisions and had no surprises.
war-packaging-for-jsp.md).{{BASE_PATH}}/learnings/<your-own-role>/. If you spot something that belongs to another role, use [notify:<that-role>] instead.## History entry rather than creating a duplicate. Add new details under the existing sections.Emit after writing (empty list is fine):
[learnings] written: [<role>/<slug>, ...]
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".