@@ -27,6 +27,7 @@ to explore and edit all active customization files in one place.
2727| -------- | ----------------- |
2828| ` AGENTS.md ` | Loaded automatically as an * instructions file* by GitHub Copilot. Shown in ** Chat: Open Customizations** under "Instructions". |
2929| ` .agents/skills/*/SKILL.md ` | Skill files are listed in ** Chat: Open Customizations** under "Skills". The agent sees the frontmatter ` description ` at startup and loads the full file on demand. |
30+ | ` .github/agents/*.agent.md ` | Custom agents are listed in the agent picker dropdown. Select an agent to activate its persona, tool set, and instructions. |
3031| ` spec/**/*.md ` | Not loaded automatically — agents follow links from ` AGENTS.md ` and read spec files with file-read tools as needed. |
3132
3233To verify which files are active, open the Copilot Chat panel, click the
@@ -35,6 +36,45 @@ and skill files are listed there.
3536
3637---
3738
39+ ## Custom Agents: ` .github/agents/ `
40+
41+ Custom agents (see [ Custom agents in VS Code] ( https://code.visualstudio.com/docs/copilot/customization/custom-agents ) )
42+ combine a fixed persona, a curated tool set, and pre-loaded instructions into a
43+ single, selectable configuration. Unlike skills — which are loaded on demand by
44+ any agent — a custom agent * is* the active agent for the whole conversation.
45+
46+ ### ` spec-to-code ` — Spec-driven implementation
47+
48+ [ ` .github/agents/spec-to-code.agent.md ` ] ( ../.github/agents/spec-to-code.agent.md )
49+
50+ This agent's job is to translate Specifica spec changes into matching source
51+ code. Switch to it whenever a ` spec.md ` or ` design.md ` was updated and the code
52+ needs to catch up.
53+
54+ ** How to use it:**
55+
56+ 1 . Open Copilot Chat and select ** spec-to-code** from the agent dropdown
57+ (or type ` @spec-to-code ` ).
58+ 2 . Tell it what changed:
59+ > The ` arc-building/spec.md ` now requires that empty annotation tables are
60+ > skipped silently instead of raising a warning. Please implement this.
61+ 3 . The agent reads the spec, finds the affected code in ` builder.py ` and its
62+ tests, applies the change, runs ` ruff format ` and ` pytest ` , and reports
63+ which requirements were implemented.
64+
65+ ** Tool set:** file read/write, codebase search, terminal (for formatter and
66+ tests), Problems tab — no browser, no git push.
67+
68+ ** When to use it vs plain Agent mode:**
69+
70+ | Situation | Use |
71+ | --------- | --- |
72+ | Spec changed, code needs to follow | ` spec-to-code ` |
73+ | Exploratory coding, no spec context needed | default Agent mode |
74+ | Writing a new spec from scratch | default Agent mode + ` create-specifica-feature ` skill |
75+
76+ ---
77+
3878## Entry Point: ` AGENTS.md `
3979
4080[ ` AGENTS.md ` ] ( ../AGENTS.md ) at the repository root is the single entry point for
@@ -158,22 +198,73 @@ When an agent starts a task it:
158198
159199## Adding New Skills or Specs
160200
161- ### New Skill
201+ ### New Skill with VS Code and Copilot Chat
162202
163- Create ` .agents/skills/<name>/SKILL.md ` with valid frontmatter:
203+ VS Code has built-in support for creating and managing skills
204+ (see [ Use Agent Skills in VS Code] ( https://code.visualstudio.com/docs/copilot/customization/agent-skills ) ).
205+
206+ #### Option A — AI-generated skill (recommended)
207+
208+ Type ` /create-skill ` in the Copilot Chat input and describe what you need:
209+
210+ > ` /create-skill ` a skill for the ` httpx ` library covering async requests,
211+ > timeout handling, and authentication headers
212+
213+ Copilot asks clarifying questions and writes the complete
214+ ` .agents/skills/httpx/SKILL.md ` with valid frontmatter and instructions.
215+
216+ #### Option B — Manual creation via the Skills menu
217+
218+ Type ` /skills ` in the Chat input to open the ** Configure Skills** menu directly.
219+ Select ** New Skill (Workspace)** , choose a location, and enter a name.
220+ VS Code creates the folder and an empty ` SKILL.md ` scaffold to fill in.
221+
222+ Alternatively, open ** Chat: Open Customizations** from the Command Palette
223+ (` Ctrl+Shift+P ` ), select the ** Skills** tab, and choose ** New Skill** from
224+ the dropdown.
225+
226+ ** Verify** the new skill appears under the Skills tab in
227+ ** Chat: Open Customizations** after saving the file.
228+
229+ Rules that apply regardless of creation method:
230+
231+ - ` name ` must match the folder name; lowercase letters and hyphens only.
232+ - ` description ` must say both * what* the skill does and * when to use it* .
233+ - Keep the skill ** project-neutral** — no FAIRagro-specific paths or prefixes.
234+ Project-specific constraints belong in the corresponding feature spec.
235+ - Reference the skill from the relevant feature spec so agents know to load it.
164236
165- ``` yaml
166- ---
167- name : my-skill # must match folder name; lowercase, hyphens only
168- description : >
169- What this skill does and when to use it. Include trigger keywords.
170237---
171- ```
172238
173- Keep skills project-neutral. Reference them from the relevant feature spec.
239+ ### New Feature Spec with ` create-specifica- feature`
174240
175- ### New Feature Spec
241+ The ` create-specifica-feature ` skill guides Copilot through the full process.
242+
243+ ** Example prompt** (Copilot Chat, Agent mode):
244+
245+ > Use the ` create-specifica-feature ` skill to create a new component-level
246+ > spec for a "result-export" feature in ` middleware/sql_to_arc ` . The feature
247+ > writes ARC RO-Crate files to a local output directory as a fallback when
248+ > the API is unreachable.
249+
250+ Copilot will:
251+
252+ 1 . Load the ` create-specifica-feature ` skill.
253+ 2 . Choose the right location: ` middleware/sql_to_arc/spec/result-export/ `
254+ (component-level, not project-level — affects only this component).
255+ 3 . Create ` spec.md ` with a one-sentence purpose, ` ## Requirements ` as
256+ ` - [ ] ` checkboxes, and ` ## Edge Cases ` as scenario → outcome pairs.
257+ 4 . Create ` design.md ` with a ` ## Key Decisions ` section, each decision
258+ preceded by a ` — ` reasoning clause.
259+ 5 . Add a link to ` AGENTS.md ` under ** Architecture & Design** .
260+
261+ The finished folder will look like:
262+
263+ ``` text
264+ middleware/sql_to_arc/spec/result-export/
265+ ├── spec.md ← what it must do
266+ └── design.md ← how it works and why
267+ ```
176268
177- Create ` middleware/<component>/spec/<feature>/spec.md ` for component features,
178- or ` spec/<feature>/spec.md ` for cross-cutting concerns. Add a link to
179- ` AGENTS.md ` under Architecture & Design.
269+ For detailed formatting rules, see
270+ [ ` .agents/skills/create-specifica-feature/SKILL.md ` ] ( ../.agents/skills/create-specifica-feature/SKILL.md ) .
0 commit comments