mirror of
https://github.com/mattpocock/skills.git
synced 2026-09-12 10:28:06 +07:00
Add changeset; re-sync the two docs pages tied to this bug
CLAUDE.md requires a docs re-sync when a promoted skill's behaviour changes, and a changeset for versioning. Full re-syncs of all ten touched skills' docs pages would be disproportionate for a wording-only change to internal invocation instructions, but two pages specifically document the exact reliability problem this phrasing targets — the "most reported problem" FAQ on grill-with-docs's page, and the matching "rough edge" FAQ on grilling's page, plus a stale literal quote of grill-me's SKILL.md body. Updated those three spots to reflect the new mechanism without overclaiming the bug is fully fixed, and added a changeset summarizing the change across all ten affected skills. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
---
|
||||
"mattpocock-skills": patch
|
||||
---
|
||||
|
||||
Standardize cross-skill invocation on an explicit "call the Skill tool" instruction instead of bare `/skill`-style prose, across `code-review`, `diagnosing-bugs`, `grill-with-docs`, `grill-me`, `improve-codebase-architecture`, `tdd`, `to-spec`, `to-tickets`, `triage`, and `wayfinder`.
|
||||
|
||||
- A skill that names another skill in prose ("run the `/grilling` skill") does not reliably cause it to load — this is the documented rough edge behind `grill-with-docs`'s most-reported problem. Naming the tool directly (`Call the Skill tool with "grilling"`) is intended to raise the hit rate. Dropping the leading `/` also makes the instruction harness-neutral rather than less: it no longer assumes Claude Code's trigger syntax.
|
||||
- A step needing more than one skill now says so as multiple calls ("Call the Skill tool twice, for `grilling` and `domain-modeling`"), not one call carrying two names.
|
||||
- Documents the convention in `.agents/invocation.md` for future skills to follow.
|
||||
@@ -55,7 +55,7 @@ Scope decides it. Use this for anything you can settle in one session; use [wayf
|
||||
Two known causes. The mundane one: nothing qualified. ADRs need all three gates, and a session about a change with no new vocabulary genuinely has nothing to write. The real bug: when the skill runs inside another orchestration layer — a spec-driven-development wrapper, a multi-agent framework, a rule that invokes it as a step in someone else's pipeline — the file-writing half is reported to silently not happen, while the interview still runs. This is filed and unfixed. If you are in that setup, check the working directory before you trust the session's output.
|
||||
|
||||
**It asked everything at once, with no recommendations, and never mentioned `CONTEXT.md`.**
|
||||
That is the skill failing to load its two dependencies. Because `SKILL.md` is a one-line delegation, an agent that does not pick up [grilling](https://aihero.dev/skills-grilling) and [domain-modeling](https://aihero.dev/skills-domain-modeling) guesses at what grilling means, and you get an undifferentiated question dump. Partial loading is the more confusing case — `grilling` loads, `domain-modeling` does not, and you get a good interview with no paper trail. It correlates with model and [effort](https://www.aihero.dev/ai-coding-dictionary/effort) level, and it is the most reported problem with this skill. If you suspect it, ask the agent directly which skills it loaded.
|
||||
That is the skill failing to load its two dependencies. `SKILL.md` is a one-line delegation that now names both explicitly as separate Skill tool calls ("Call the Skill tool twice, for `grilling` and `domain-modeling`") rather than a bare mention, which is intended to raise the hit rate — but an agent that still doesn't pick up [grilling](https://aihero.dev/skills-grilling) and [domain-modeling](https://aihero.dev/skills-domain-modeling) guesses at what grilling means, and you get an undifferentiated question dump. Partial loading is the more confusing case — `grilling` loads, `domain-modeling` does not, and you get a good interview with no paper trail. It correlates with model and [effort](https://www.aihero.dev/ai-coding-dictionary/effort) level, and it has been the most reported problem with this skill. If you suspect it, ask the agent directly which skills it loaded.
|
||||
|
||||
**Where did all my other decisions go?**
|
||||
Into the conversation only. This is the most substantive open complaint about the skill: the glossary is not a spec, most answers do not earn an ADR, and there is no ledger tying each resolved answer through to a spec, a ticket and a test. Precise answers — ordering guarantees, negative requirements, numeric defaults — get softened into weaker prose downstream, and the result can look complete while missing the thing you actually decided. The mitigation available today is to keep the session and feed it straight to [to-spec](https://aihero.dev/skills-to-spec), and to re-read the spec against your own answers rather than assuming it captured them.
|
||||
|
||||
@@ -16,7 +16,7 @@ Typing `/grilling` directly gets you the plain interview and nothing else. Where
|
||||
| You are in a working directory | [grill-with-docs](https://aihero.dev/skills-grill-with-docs) — the same session, and it writes `CONTEXT.md` and ADRs as it goes |
|
||||
| An effort too big to hold in one session | [wayfinder](https://aihero.dev/skills-wayfinder) — it charts a map and runs grilling inside the decision tickets |
|
||||
| A question that talking cannot settle — how something should look or feel | [prototype](https://aihero.dev/skills-prototype) — build the throwaway version, then come back |
|
||||
| A skill of your own that needs an interview | Invoke `/grilling` from it, rather than writing another interview |
|
||||
| A skill of your own that needs an interview | Call the Skill tool with "grilling" from it, rather than writing another interview |
|
||||
|
||||
## The round, the frontier, and who decides
|
||||
|
||||
@@ -67,10 +67,10 @@ That is a bug in the run, not the intended behaviour, and it was the reason fact
|
||||
No, and a cap is deliberately out of scope. Some plans need three questions and some need fifty; a fixed ceiling either truncates the hard case or feels arbitrary on the easy one. Steering in plain language is the intended control — tell it to wrap up, or stop and accept the plan where it stands. If a session is running very long, the cause is usually that the scope was too big; break the work up and grill the pieces.
|
||||
|
||||
**I installed `grill-me` on its own and nothing happens.**
|
||||
`grill-me` is a one-line skill whose whole body is "run a `/grilling` session", so it needs this skill installed too. The same is true of `grill-with-docs`, which additionally needs [domain-modeling](https://aihero.dev/skills-domain-modeling). Installing the whole set avoids the problem; installing selectively means installing the primitives as well.
|
||||
`grill-me` is a one-line skill whose whole body is `Call the Skill tool with "grilling"`, so it needs this skill installed too. The same is true of `grill-with-docs`, which additionally needs [domain-modeling](https://aihero.dev/skills-domain-modeling). Installing the whole set avoids the problem; installing selectively means installing the primitives as well.
|
||||
|
||||
**`grill-with-docs` ran, but it never loaded `grilling`.**
|
||||
A real and unfixed rough edge, reported across [harnesses](https://www.aihero.dev/ai-coding-dictionary/harness) and models: a skill that names another skill does not reliably cause that skill to load, and `grill-with-docs` names two. The tell is a session that asks everything at once with no recommendations attached — that is the model improvising an interview rather than running this one. Asking the agent directly whether it loaded `grilling` and `domain-modeling` usually recovers it.
|
||||
A reported rough edge, seen across [harnesses](https://www.aihero.dev/ai-coding-dictionary/harness) and models: a skill that names another skill in prose does not reliably cause that skill to load, and `grill-with-docs` names two. The skill's body now names both explicitly as separate Skill tool calls ("Call the Skill tool twice, for `grilling` and `domain-modeling`") rather than a bare mention, which is intended to raise the hit rate — but if you still see it, the tell is a session that asks everything at once with no recommendations attached, which is the model improvising an interview rather than running this one. Asking the agent directly whether it loaded `grilling` and `domain-modeling` usually recovers it.
|
||||
|
||||
## It's working if
|
||||
|
||||
|
||||
Reference in New Issue
Block a user