Skip to main content

copilot-context-engineering

**DISCIPLINE SKILL** — refine a repo's `.github` customization files (agents, skills, instructions, prompts, constitution) after a merge: each lesson single-sourced in one owner file, inherited by reference, never duplicated. USE FOR: codify lessons, add a rule to customization files, pick a rule's owner, remove duplication or drift. DO NOT USE FOR: creating new files, publishing, code edits, hook/MCP config. FOR SINGLE OPERATIONS: none.

Source facts

Repository
arisng/github-copilot-fc
Last source activity
October 11, 2026 at 07:57
Detected SKILL.md language
English
Stars
5
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
4 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
copilot-context-engineering
description
**DISCIPLINE SKILL** — refine a repo's `.github` customization files (agents, skills, instructions, prompts, constitution) after a merge: each lesson single-sourced in one owner file, inherited by reference, never duplicated. USE FOR: codify lessons, add a rule to customization files, pick a rule's owner, remove duplication or drift. DO NOT USE FOR: creating new files, publishing, code edits, hook/MCP config. FOR SINGLE OPERATIONS: none.
metadata
{"version":"0.3.0"}
# Context Engineering Refine the host repo's **agent context file set** — `.github/agents`, `.github/skills`, `.github/instructions`, `.github/prompts`, and the root constitution (`.github/copilot-instructions.md` or `AGENTS.md`) — so each lesson learned is codified once in exactly one authoritative owner and inherited everywhere else **by reference**. Duplicated prose silently diverges as files get edited independently; one owner means one source of truth and one place to update. **Scope**: the prose-bearing customization primitives only (constitution, instructions, skills, agents, prompts). Executable/config primitives — hooks, MCP servers, tool sets, plugins — belong to other workflows; full docs-grounded inventory: [references/primitives.md](references/primitives.md). ## Standard Layout ```text .github/ ├── copilot-instructions.md # Root constitution: universal rules + authority model ├── agents/*.agent.md # Agent behavior ├── skills/*/SKILL.md # Task playbooks ├── instructions/*.instructions.md # Scoped policy (applyTo patterns) └── prompts/*.prompt.md # User shortcuts (deprecated for Agent Host; prefer skills) ``` Before refining: **read the root constitution first** — it carries the universal rules, the authority model, and protected areas; scoped owners elaborate it but never contradict it, and when no scoped file exists the constitution is itself a valid owner. Then confirm this layout exists (or the host's documented variant — `.claude/`, `.agents/`); adopt the host's documented authority model if present — it supersedes the default table below; never invent top-level conventions for a repo already on the `.github` standard; touch only customization files, never protected areas (generated artifacts, persisted state, shared framework code). ## Owner-Assignment Decision Table Choose the **single most-specific owning file** per the host repo's authority model (if documented), otherwise per this default table: | Concern kind | Default owner | Example | |---|---|---| | Repo-wide policy (operations, conventions, architecture, auth) | Scoped `.github/instructions/*.instructions.md` (or a section in the root constitution if no scoped files exist) | API conventions, tenant URL resolution | | An agent's own execution/orchestration behavior | The agent's `.github/agents/*.agent.md` file | A QA smoke rule belongs in the QA agent file | | A task playbook driven only by one skill | That skill's `.github/skills/<name>/SKILL.md` | A workflow only that skill drives | | A user-invoked workflow shortcut | `.github/prompts/<name>.prompt.md` — but prompt files are deprecated for Agent Host sessions; prefer a skill when the workflow should auto-trigger or survive that migration | a `/changelog` prompt | If a rule is both policy and an agent's execution rule, prefer the instruction file for the policy itself and let the agent reference it. ## Write Once, Inherit by Reference 1. **Write the lesson once** in its owner file (per the decision table above). 2. **Never restate the prose** in consumer files — add a one-line pointer naming the owner and, where helpful, the section: `→ see <file> ("Section")`. 3. **Use the platform's inheritance mechanisms:** - **Instructions**: `applyTo` attachment already covers matching files automatically; add a pointer only for consumers outside the pattern. - **Agents**: reference the owner from the agent body with a Markdown link or the `#file:<relative-path>` syntax (both documented ways for an agent to reuse an instructions file). Never paste the policy prose inline. - **Skills**: add a one-line related-files pointer in the `SKILL.md` body naming the owner's path; the reader loads the owner on demand. Never paste the policy prose inline. - **Root constitution**: stays a thin map — universal rules and pointers live there, not detailed lesson prose. 4. **Leave pre-existing divergent copies untouched** — do not edit them to sync; point consumers to the new owner. ## How To Workflow 1. **Name the lesson** in one sentence. 2. **Scan for an existing owner first**: `grep -ri "<key-phrase>" .github/copilot-instructions.md .github/agents .github/skills .github/instructions .github/prompts` - Already exists → point consumers at its owner; several divergent copies → keep the most authoritative, leave the copies untouched. - No owner → create it per the decision table. 3. **Write the lesson once** into the owner, in its natural section. 4. **Add thin pointers** in every consumer that must know the rule, using the inheritance mechanisms above. 5. **Verify no duplicate prose remains**: `grep -rl "<full-lesson-phrase>" <the same locations>` matches exactly one file — the owner. Pointers everywhere are fine; full prose only in the owner. ## Example Worked example — four post-debug lessons, one owner each, pointers only in the orchestrator — plus guidance on what counts as a lesson: [references/example.md](references/example.md). ## Authoritative Sources Platform conventions for these file types evolve — paths get renamed and mechanisms get deprecated. Before relying on a layout or mechanism claim, check the claim-to-source table in [references/sources.md](references/sources.md), verified against GitHub and VS Code docs on 2026-10-11. If a source URL 404s, search `docs.github.com` or `code.visualstudio.com` for the page title; the docs restructure frequently. Where a source conflicts with this skill, the source wins. ## Guardrails - **Never duplicate.** One concern, one owner, one copy of the prose. - **Never edit multiple owners** for a single concern. - **Constitution wins.** Scoped owners refine the root constitution; they never contradict it — a lesson that changes a universal rule belongs in the constitution itself. - **Keep pointers thin.** A pointer that grows into prose is drift in disguise — if a pointer needs a full paragraph, the rule belongs in the owner, not the pointer. - **Respect protected areas.** Only modify agent customization files; never hand-edit persisted state, generated artifacts, or memory/knowledge-graph stores the repo governs through dedicated processes. - **Do not edit third-party/upstream skill files** you don't own. Create clearly-suffixed forks if a customization requires deviation.
View on GitHub