← ClaudeAtlas

patronum-dev-validatelisted

Validate the agento-patronum plugin structure. Run before opening a PR.
emaarco/hogwarts · ★ 0 · AI & Automation · score 73
Install: claude install-skill emaarco/hogwarts
# Skill: patronum-dev-validate Run all plugin validation checks locally. ## Steps ### 1. JSON validity ```bash jq empty .claude-plugin/plugin.json && echo "plugin.json OK" jq empty .claude-plugin/marketplace.json && echo "marketplace.json OK" jq empty hooks/hooks.json && echo "hooks.json OK" jq empty defaults/patronum.json && echo "patronum.json OK" ``` ### 1b. marketplace.json schema Verify the `source` field starts with `./` and `metadata.description` is present (both required by Claude Code validation): ```bash jq -e '.plugins[] | (.source | type) == "string" and startswith("./")' \ .claude-plugin/marketplace.json && echo "marketplace source OK" jq -e '.metadata.description | type == "string" and length > 0' \ .claude-plugin/marketplace.json && echo "marketplace description OK" ``` ### 2. Default patterns check Verify `defaults/patronum.json` has at least one entry: ```bash COUNT=$(jq '.entries | length' defaults/patronum.json) [ "$COUNT" -gt 0 ] && echo "Default patterns: $COUNT entries OK" ``` ### 3. Bash syntax ```bash for f in scripts/patronum-*.sh; do bash -n "$f" && echo "$f OK" done ``` ### 4. Script permissions ```bash for f in scripts/patronum-*.sh; do test -x "$f" && echo "$f executable OK" done ``` ### 5. SKILL.md frontmatter Check each SKILL.md has a `name:` and `description:` in its frontmatter: ```bash for f in skills/*/SKILL.md; do head -10 "$f" | grep -q "^name:" && echo "$f: name OK" head -10 "$f" | grep -q "^description:" && e