Repo Skill Maintainer
This skill keeps the aidriven-resources catalog healthy. It is the repo's internal accelerator
for the four operations maintainers actually do: add, edit, validate, release.
It does not replace the CI gates — those are the source of authority — but it makes sure you
arrive at the gates with a green tree.
Golden rules
SKILL.mdfrontmatter is the source of truth.manifest.jsonis derived; do not edit it by hand — regenerate it withmake sync.- Skill directory name must equal
name:in frontmatter. Both must be kebab-case. - Every change ends with
make validate. If it reports an error, fix it before committing; CI runs the exact same script and will block the PR otherwise. - Releases are driven by
manifest.jsonversion + a matchingv*git tag. Never tag without runningmake release-checkfirst.
Branch taxonomy (enforced by CI)
Every agent-driven change must use the right branch prefix. The CI workflow
rejects anything else.
| Prefix | Use for | Release bump |
|---|---|---|
feat/<slug> |
New skill or new capability | minor |
fix/<slug> |
Correction to existing skill | patch |
chore/<slug> |
Repo governance, CI, internal skills | patch |
docs/<slug> |
Docs not touching SKILL.md frontmatter | none |
release/vX.Y.Z |
Release PRs only | — |
feat/ and fix/ branches are scope-locked by CI: the diff must touch
only skills/<slug>/ plus optionally manifest.json, README.md,
CONTRIBUTING.md, or RELEASING.md. Cross-skill edits belong under
chore/.
The four operations
1. Add a new skill
git checkout -b feat/<kebab-case-name>
make new-skill name=<kebab-case-name>
# edit skills/<name>/SKILL.md — replace the placeholder description with a real, trigger-rich one
make sync # add the new skill to manifest.json
make validate # confirm everything is green
git commit -am "feat: add <kebab-case-name>"
Good descriptions are the #1 quality signal. See references/description-rules.md before finalizing.
2. Edit an existing skill
git checkout -b fix/<existing-skill-name>
- Change
SKILL.mdor its references/assets/scripts freely. - If you touched the frontmatter
description, runmake syncso the manifest's short description (first sentence) stays aligned. - Run
make validatebefore committing. - Don't rename the directory without also updating the
name:frontmatter field — the validator will fail the mismatch. - Commit title:
fix(<skill>): <summary>. PR title prefix must match the branch prefix or theCIworkflow fails.
3. Fix a failing validator
The validator is a single Python script: scripts/validate_repo.py.
The most common failures and their fixes:
| Error substring | Root cause | Fix |
|---|---|---|
missing SKILL.md entry point |
Directory under skills/ has no entry file |
Either add SKILL.md or delete the stray directory |
SKILL.md has no YAML frontmatter |
File doesn't start with --- |
Add a proper frontmatter block |
does not match directory |
name: frontmatter ≠ folder name |
Align them (usually rename one to the other) |
is not kebab-case |
Folder has underscores, caps, or spaces | Rename to kebab-case |
broken relative link |
SKILL.md references a missing file |
Create the file or remove the link |
manifest.json lists '<x>' but no such directory |
Stale manifest entry | Run make sync |
exists under skills/ but is not listed in manifest.json |
Missing manifest entry | Run make sync |
duplicate skill name |
Two skills share name: |
Pick one — names must be globally unique |
For the full rule list, see references/validator-rules.md.
4. Prepare a release
Releases must come from a release/vX.Y.Z branch PR — the Release
workflow's provenance check enforces this.
make prepare-release version=X.Y.Z # creates and pushes release/vX.Y.Z
# After merge:
make publish-release version=X.Y.Z # tags main and pushes vX.Y.Z
See RELEASING.md for the full checklist.
What this skill will NOT do
- Edit
manifest.jsonby hand — always sync instead. - Skip
make validatebefore declaring work done. - Invent skill names not confirmed by the user.
- Add skills whose descriptions are vague or placeholder-only — a weak description is worse than no skill at all because it pollutes trigger matching across the catalog.
Reference index
| Topic | File |
|---|---|
What makes a strong description: |
references/description-rules.md |
| Exact validator rules & exit conditions | references/validator-rules.md |
Release-day checklist (beyond make release-check) |
references/release-checklist.md |