Context
Absorb candidate recorded in PR #870 (which shipped claude-config:audit-instructions and superseded audit-model-fit, issue #800). The superseded skill pre-computed an instruction-surface inventory at invocation time via !-injection in its SKILL.md (shell: bash frontmatter + !-backtick call to its scan script), so the model started with the surface list already in context. audit-instructions deliberately shipped without shell: bash and without !-injection — its Phase A inventory is model-driven. Leaving this unevaluated means the absorb decision from the supersede is silently dropped; the candidate needs an honest cost/benefit design read, then implement or close-as-rejected with rationale here.
Cost side to weigh honestly: !-injection runs on every invocation (including model-invoked runs), adds shell: bash to a skill that currently needs no shell frontmatter, executes before scope-filter parsing (inventory may cover surfaces the requested scope excludes), and couples the SKILL.md to the scan script's output shape. Benefit side: Phase A becomes deterministic and cheaper, and the existing scripts/instruction-scan.sh spine already exists to build on.
Proposed work
- Design read: weigh pre-computed
!-injected inventory against the current model-driven Phase A (invocation cost, scope-filter interaction, frontmatter surface, drift coupling).
- Decision: implement (add
shell: bash + injection block + inventory mode on the scan spine) OR close this item as rejected with the rationale recorded in the closing comment.
- If implemented: patch/minor-bump claude-config with CHANGELOG entry; check-skill, validate-plugin-contracts, changelog-parity green.
Acceptance criteria
References
Metadata
| Field |
Value |
| Category |
unspecified |
| Area |
unspecified |
| Ecosystem |
unspecified |
Context
Absorb candidate recorded in PR #870 (which shipped
claude-config:audit-instructionsand supersededaudit-model-fit, issue #800). The superseded skill pre-computed an instruction-surface inventory at invocation time via!-injection in its SKILL.md (shell: bashfrontmatter +!-backtick call to its scan script), so the model started with the surface list already in context.audit-instructionsdeliberately shipped withoutshell: bashand without!-injection — its Phase A inventory is model-driven. Leaving this unevaluated means the absorb decision from the supersede is silently dropped; the candidate needs an honest cost/benefit design read, then implement or close-as-rejected with rationale here.Cost side to weigh honestly:
!-injection runs on every invocation (including model-invoked runs), addsshell: bashto a skill that currently needs no shell frontmatter, executes before scope-filter parsing (inventory may cover surfaces the requested scope excludes), and couples the SKILL.md to the scan script's output shape. Benefit side: Phase A becomes deterministic and cheaper, and the existingscripts/instruction-scan.shspine already exists to build on.Proposed work
!-injected inventory against the current model-driven Phase A (invocation cost, scope-filter interaction, frontmatter surface, drift coupling).shell: bash+ injection block + inventory mode on the scan spine) OR close this item as rejected with the rationale recorded in the closing comment.Acceptance criteria
References
git show 9533a14^:plugins/claude-config/skills/audit-model-fit/SKILL.md(frontmatter + "Pre-computed context" block)plugins/claude-config/skills/audit-instructions/SKILL.md,scripts/instruction-scan.shMetadata