# Patronum Dev Validate

> Validate the agento-patronum plugin structure. Run before opening a PR.

- Skill: `emaarco/patronum-dev-validate` (Agent Skill)
- Install (CLI): `npx skillmds@latest add emaarco/patronum-dev-validate`
- Raw SKILL.md: https://api.skillmd.com/api/skills/emaarco/patronum-dev-validate/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: emaarco (https://skillmd.com/u/emaarco)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/emaarco/patronum-dev-validate

---


# 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:" && echo "$f: description OK"
done
```

### 6. Report

Summarize all results. Use before opening a PR.

