Claude Code Skills¶
VelocityFL ships a personal Claude Code skill library at .claude/skills/. These are user-invocable slash-commands for routine dev work — not end-user features, but worth documenting because they shape the contributor workflow and every CI-adjacent artifact (COMMITS.md, logs/dev-*.log) comes out of them.
All skills use disable-model-invocation: true, so they fire only when you type /name or explicitly ask for them — never on model judgment.
Where they live¶
.claude/skills/
├── _shared/
│ └── hate-words.md # canonical slop glossary (shared by /aj-deslop, /aj-reslop, /aj-docsync)
├── aj-audit/SKILL.md
├── aj-auto-commit/SKILL.md
├── aj-ci-audit/SKILL.md
├── aj-deslop/SKILL.md
├── aj-docs-site/SKILL.md
├── aj-docsync/SKILL.md
└── aj-reslop/SKILL.md
Edit .claude/skills/_shared/hate-words.md — not the individual skills — when adding or adjusting slop patterns.
The skills¶
| Command | Purpose | Writes | Reads |
|---|---|---|---|
/aj-auto-commit |
Group pending git changes into a conventional-commit plan | COMMITS.md (with staleness header + ## Notes preservation) |
git status, git diff, git log |
/aj-audit |
Run the make-target matrix (full 13-step or fast 5-step) and verify each archive | — (read-only) | logs/dev-*-<cmd>.log |
/aj-ci-audit |
Audit GitHub Actions runs on the current branch/PR and fix workflow/config/source issues (no commit/push) | Edits on confirmation | gh run view, .github/workflows/** |
/aj-deslop |
Find AI-generated slop in comments and docstrings | Edits on confirmation | python/**, vfl-core/**, scripts/**, tests/** |
/aj-reslop |
Rewrite docstrings grounded in the actual implementation, call sites, and tests | Edits on confirmation | Same scope as /aj-deslop |
/aj-docsync |
Verify prose claims in README.md + docs/**/*.md against the code |
Edits on confirmation | Docs + source |
/aj-docs-site |
Maintain zensical config, docs workflow, assets, internal link integrity | Edits on confirmation | zensical.toml, .github/workflows/docs.yml, docs/** |
/aj-deslop removes slop; /aj-reslop rewrites it grounded in the code; /aj-docsync audits claims; /aj-docs-site audits the site as a deployed artifact. /aj-audit checks local make output; /aj-ci-audit checks GitHub Actions output — sibling skills for the two rings of validation. They're designed to hand off to each other rather than overlap.
Typical workflow¶
- Edit code, run
make validatelocally. /aj-auto-commit→ review the generatedCOMMITS.md, commit per group, open a PR./aj-auditbefore merge to confirm the full matrix is green and the archives agree with terminal output./aj-ci-auditonce GitHub Actions finishes to triage warnings/errors/deprecations; apply fixes, then commit + push yourself./aj-docsyncif any user-facing prose needs a pass./aj-docs-sitebefore a docs release ifzensical.tomlor workflow paths have changed.
Why this is tracked in the repo¶
Skills are markdown — small, diff-friendly, reviewable. They live in Git alongside the code they automate. Contributors cloning the repo get the same toolchain, and changes to a skill show up in git log the same way a source change does. No separate storage layer, no Xet, no specialized hub — the right primitive for this kind of artifact is just Git.
Adding your own¶
Drop a new directory under .claude/skills/<name>/ with a SKILL.md containing:
---
name: <name>
description: <one-line description for the skill registry>
disable-model-invocation: true
allowed-tools: <space-separated tool list>
---
# <Title>
<prose explaining scope, workflow, output format, and what not to touch>
Keep skills quiet — the output IS the response. No preamble, no summary paragraph. If an existing slop glossary or workflow fits, reference it instead of duplicating.