agents/sources.md convention conflicts with claude plugin validate --strict
#63
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
ADR 0005 (
docs/adr/0005-agent-author-dual-provider-scaffold.md) and the kyberforgeagent-author/agent-auditskills document a plugin-scope provenance file atagents/sources.md(flat file, no frontmatter) for tracking the research sources behind an agent pair'ssource_keys.However,
claude plugin validate --strictauto-discovers every.mdfile directly under a plugin'sagents/directory and treats it as an agent definition requiring YAML frontmatter (name,description, etc.). A plainsources.mdin that location fails validation with a missing-frontmatter warning (promoted to an error under--strict).Where this was hit
First real usage of the convention:
plugins/git/agents/sources.md(added in the git-plugin skill suite). It failed thevalidate-pluginspre-push hook.Temporary workaround
Added minimal frontmatter to unblock the push:
See commit
0239b00.This is not a good long-term fix — it makes the file indistinguishable from a real agent to any tooling or UI that lists available agents (e.g. it could show up as an invokable agent in Claude Code), which is semantically wrong.
Needed fix
Pick one and apply consistently across the convention docs and templates:
Relocate the provenance file out of
agents/— e.g. plugin root (plugins/<name>/sources.md) or adocs/subdirectory — and update:docs/adr/0005-agent-author-dual-provider-scaffold.mdplugins/kyberforge/skills/agent-author/SKILL.mdplugins/kyberforge/skills/agent-audit/SKILL.mdplugins/kyberforge/skills/agent-author/assets/templates/claude-code.mdplugins/kyberforge/skills/agent-author/assets/templates/copilot.agent.mdplugins/kyberforge/skills/agent-audit/README.mdandscripts/validate-provenance.shplugins/git/agents/sources.mdonce relocated.Or find a way to exclude it from agent auto-discovery — e.g. check if
claude plugin validatesupports an explicit agent manifest/allowlist inplugin.jsoninstead of directory scanning. If no such mechanism exists, option 1 is likely the only real fix.Reference files
docs/adr/0005-agent-author-dual-provider-scaffold.mdplugins/kyberforge/skills/agent-author/SKILL.mdplugins/kyberforge/skills/agent-audit/SKILL.mdplugins/git/agents/sources.md