Files
holocron/plugins/kyberforge/skills/agent-audit
Defame1297 044b2d3f08 fix(kyberforge): fix HOME/git scope-walkup false-FAILs in agent-audit
validate.sh's detect_scope() and validate-provenance.sh's
find_plugin_root() disagreed with new-agent.sh's already-correct,
documented walk-up semantics on three points, each causing validate.sh
to false-FAIL a legitimately-scaffolded project-scope agent pair:

- a marker-less directory walked up into $HOME (no .git/apm.yml of its
  own) was classified as user scope instead of project scope
- the .git-boundary branch returned the walked-to .git location instead
  of the conventional scope root, breaking any <root> that is a
  subdirectory of a larger git-tracked tree (monorepo package dirs)
- the new conventional-root arithmetic introduced to fix the above two
  cases had no guard against non-conventional/hand-placed file paths,
  which could point it at the wrong ancestor

Also adds scripts/check-scope-walkup-sync.sh, a behavioral drift-guard
(per ADR-0014's no-cross-skill-path precedent) that cross-checks the
four independently hand-ported walk-up implementations (validate.sh,
validate-provenance.sh, new-agent.sh, new-skill.sh) against real
fixture scaffolds, wired into .pre-commit-config.yaml at pre-push so
future drift between the ports is caught automatically.

Verified via bash tests/run-tests.sh (13/13) and targeted before/after
reproduction of each bug this closes.
2026-08-12 11:35:23 +00:00
..

agent-audit

Audits an agent definition for correctness and quality — a single vendor-neutral file at plugin/APM scope, or a Claude Code and Copilot file pair at project/user scope.

What it does

At plugin/APM scope, accepts the single .apm/agents/<name>.agent.md file — there is no counterpart. Structural checks via validate.sh hard-FAIL any frontmatter field outside the vendor-neutral allowlist (name, description, model — see ADR-0016), since apm compile copies frontmatter verbatim to both harnesses and an unsafe field can't be silently dropped for just one of them.

At project/user scope, accepts either file in a CC .md / Copilot .agent.md pair, derives the counterpart automatically, and validates both. Runs structural checks via validate.sh (required fields, kebab-case name, no placeholders, no CC-only fields in the Copilot file, no Copilot-only fields in the CC file), provenance chain validation via validate-provenance.sh (checks source_keys against sources.md at the plugin root — plugin/APM scope only), then qualitative checks on description phrasing and system prompt quality. Step 1 also runs a Vale-based prose sub-check via vale-wrap.sh against both files of the pair, using the Kyberforge style (both files) and KyberforgeCopilot style (Copilot file only) — every alert is a FAIL, cited by rule ID — falling back to Step 2 judgment when the vale binary is unavailable or reports 0 files scanned. Produces a compact findings report in the same format as skill-audit.

Usage

/agent-audit

Pass the path to either agent file as the argument.

Files

File Purpose
SKILL.md Skill instructions for agents
assets/vale/.vale.ini Vale config: scopes Kyberforge to **/agents/*.md, Kyberforge+KyberforgeCopilot to **/*.agent.md
assets/vale/styles/Kyberforge/DescriptionOpener.yml Flags descriptions opening with "This skill/agent" instead of an imperative "Use when..."
assets/vale/styles/Kyberforge/PaddingPhrase.yml Flags generic "see references/ for info" pointers instead of specific file references
assets/vale/styles/Kyberforge/SentenceOpenerThereIs.yml Flags sentences opening with "There is/are" instead of naming the subject directly
assets/vale/styles/Kyberforge/VagueWording.yml Flags vague capability wording ("helps with", "utilize", "assists with", "used for") in descriptions
assets/vale/styles/KyberforgeCopilot/ProactivePhrase.yml Flags CC-specific "Use proactively" phrasing with no effect in Copilot descriptions
references/README.md Directory documentation for references/
references/description-quality.md Qualitative guide for borderline description findings
references/field-inventory.md Authoritative list of valid CC and Copilot agent fields
references/sources.md Research provenance for skill content
scripts/README.md Directory documentation for scripts/
scripts/validate.sh Structural validation script for agent file pairs
scripts/validate-provenance.sh Provenance chain validation script for agent pairs against sources.md (plugin root)
scripts/vale-wrap.sh Drop-in vale wrapper that works around a frontmatter-description NLP scope limitation
tests/README.md Bats test dependency and run instructions
tests/validate.bats Bats tests for validate.sh
tests/validate-provenance.bats Bats tests for validate-provenance.sh