Files
holocron/plugins/kyberforge/skills/agent-audit
Defame1297 16c038b178 fix(lint): guard empty array expansions in vale-wrap.sh for bash 3.2
Under set -u, "${arr[@]}" on an empty array aborts on bash before 4.4,
which is what macOS ships as /bin/bash. Three expansion sites now use
${arr[@]+"${arr[@]}"} consistently.

The hazard is not currently reachable: verified on a bash 3.2.57 built
from source that all seven invocation shapes succeed against the
previous code, including zero args, flags-only and an empty directory.
vale_args is provably non-empty at every site because the default
--config branch always appends first. The guard is kept because that
invariant is non-local and untested, so an edit to the default-config
branch would reintroduce a macOS-only crash silently.

Test fidelity is deliberately mixed. Case 16 is static and is the only
one that fails against the previous code, since no bash 5 host can
reproduce the abort at runtime. Case 17 runs the emptiest invocations
under the oldest bash it can find and names that shell in its output
so it cannot overclaim. Case 18 guards against the tempting wrong fix
of dropping the quotes, which also silences the abort but word-splits
a path containing a space.

No other bash 4.x construct is present; swept for mapfile, declare -A,
case modification, negative indices, globstar, wait -n and namerefs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MCQ648fLSFXPHGZdQ8gn58
2026-08-09 13:32:30 +00:00
..

agent-audit

Audits a Claude Code and Copilot agent definition file pair for correctness and quality.

What it does

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, silently-ignored fields at plugin scope), provenance chain validation via validate-provenance.sh (checks source_keys against sources.md at the plugin root), then qualitative checks on description phrasing and system prompt quality. 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
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)
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