diff --git a/plugins/gitea/.apm/skills/gitea-workflow/SKILL.md b/plugins/gitea/.apm/skills/gitea-workflow/SKILL.md index eeee87b..c92c473 100644 --- a/plugins/gitea/.apm/skills/gitea-workflow/SKILL.md +++ b/plugins/gitea/.apm/skills/gitea-workflow/SKILL.md @@ -33,11 +33,7 @@ The invocation's shape selects exactly one branch. | A bare number, with neither "issue" nor "PR" said | Resolve which domain the number belongs to | `references/number-resolution.md` | | A named capability whose owning skill is unclear | Route to the domain skill that owns it | `references/skill-index.md` | -If the invocation carries no specific request, read `references/status-checkin.md`. - -If the request references a bare number and never says "issue" or "PR", read `references/number-resolution.md`. - -If the request names a capability but not which skill owns it, read `references/skill-index.md`. +Read only the reference file matching the selected branch — each is self-contained for its concern. ## Report diff --git a/plugins/gitea/skills/gitea-workflow/SKILL.md b/plugins/gitea/skills/gitea-workflow/SKILL.md index eeee87b..c92c473 100644 --- a/plugins/gitea/skills/gitea-workflow/SKILL.md +++ b/plugins/gitea/skills/gitea-workflow/SKILL.md @@ -33,11 +33,7 @@ The invocation's shape selects exactly one branch. | A bare number, with neither "issue" nor "PR" said | Resolve which domain the number belongs to | `references/number-resolution.md` | | A named capability whose owning skill is unclear | Route to the domain skill that owns it | `references/skill-index.md` | -If the invocation carries no specific request, read `references/status-checkin.md`. - -If the request references a bare number and never says "issue" or "PR", read `references/number-resolution.md`. - -If the request names a capability but not which skill owns it, read `references/skill-index.md`. +Read only the reference file matching the selected branch — each is self-contained for its concern. ## Report diff --git a/plugins/kyberforge/.apm/skills/skill-audit/references/body-discipline.md b/plugins/kyberforge/.apm/skills/skill-audit/references/body-discipline.md index 45430d2..0fa7971 100644 --- a/plugins/kyberforge/.apm/skills/skill-audit/references/body-discipline.md +++ b/plugins/kyberforge/.apm/skills/skill-audit/references/body-discipline.md @@ -31,7 +31,16 @@ Include content the agent lacks: Move to `references/`, behind an explicit "If X, read `references/.md`" trigger — the literal conditional form, never a generic pointer. Write the real filename in the skill under audit; the angle brackets are a placeholder here, and a literal `references/file.md` in a body is an ERROR -from the ADR-0020 gate because no such file exists on disk. Move: +from the ADR-0020 gate because no such file exists on disk. + +**A dispatch table satisfies this requirement on its own.** A table row already pairs a condition +with a target, which is exactly what the literal form encodes; restating each row underneath as a +prose conditional duplicates the routing in the one body whose whole purpose is to be short. Where a +body dispatches, audit the table for condition/target completeness and stop there — do not require +the conditional form as well. The literal form is what a body needs when it loads a reference +*without* a dispatch table: a single mid-procedure deepening, an escape hatch, an error path. + +Move: - Lookup tables and spec restatements - Output schemas, templates and example blocks @@ -76,6 +85,10 @@ The reference shape in this repo is `apm-workflow`: a **421-word body** dispatch words — cite 421 when calibrating a body, or the conflation this section warns against reappears in the finding itself. +Note its wiring: a three-column table (invocation, action, reference file) closed by one line, +*"Read only the reference file matching the requested action."* That is the endorsed shape, and it +is why the literal-conditional requirement above exempts a body that dispatches. Do not flag it. + ## Gotchas sections The highest-value construct in a body, and the easiest to fill with noise. A Gotcha must state a diff --git a/plugins/kyberforge/skills/skill-audit/references/body-discipline.md b/plugins/kyberforge/skills/skill-audit/references/body-discipline.md index 45430d2..0fa7971 100644 --- a/plugins/kyberforge/skills/skill-audit/references/body-discipline.md +++ b/plugins/kyberforge/skills/skill-audit/references/body-discipline.md @@ -31,7 +31,16 @@ Include content the agent lacks: Move to `references/`, behind an explicit "If X, read `references/.md`" trigger — the literal conditional form, never a generic pointer. Write the real filename in the skill under audit; the angle brackets are a placeholder here, and a literal `references/file.md` in a body is an ERROR -from the ADR-0020 gate because no such file exists on disk. Move: +from the ADR-0020 gate because no such file exists on disk. + +**A dispatch table satisfies this requirement on its own.** A table row already pairs a condition +with a target, which is exactly what the literal form encodes; restating each row underneath as a +prose conditional duplicates the routing in the one body whose whole purpose is to be short. Where a +body dispatches, audit the table for condition/target completeness and stop there — do not require +the conditional form as well. The literal form is what a body needs when it loads a reference +*without* a dispatch table: a single mid-procedure deepening, an escape hatch, an error path. + +Move: - Lookup tables and spec restatements - Output schemas, templates and example blocks @@ -76,6 +85,10 @@ The reference shape in this repo is `apm-workflow`: a **421-word body** dispatch words — cite 421 when calibrating a body, or the conflation this section warns against reappears in the finding itself. +Note its wiring: a three-column table (invocation, action, reference file) closed by one line, +*"Read only the reference file matching the requested action."* That is the endorsed shape, and it +is why the literal-conditional requirement above exempts a body that dispatches. Do not flag it. + ## Gotchas sections The highest-value construct in a body, and the easiest to fill with noise. A Gotcha must state a