stevenacoffman/family-tools
The skill family's own tools: book2skill, merge-skills, skillsaw-skill and canonizer, and the linters and formatters they run.
Use when the user asks to distill or disassemble a book into skills: extracting its frameworks, principles and methods into atomic, reusable Agent Skills. Not for summaries, book reviews, or role-playing the author.
Use when turning source documents into a canonical coding ruleset with the canonizer CLI, or verifying, formatting, gating, or reworking a *_rules.md. Covers pipeline.sh, canonizer-emitted prompts, verify and cold-critic findings, the rework loop, and budget exit codes.
Invoke when scaffolding a Go CLI with the climax generator (climax init, climax add), adding a subcommand, version command, or man page to a climax app, or fixing drift that climax lint reports from the ff/v4 pattern. Not for cobra, kong, urfave/cli, or non-Go CLIs.
Use when configuring or debugging Git hooks with lefthook in this project. Covers lefthook.yaml structure, pre-commit commands, stage_fixed, and running hooks manually.
Use when the user asks to run linters, fix lint errors, or mentions golangci-lint or the lintme skill. Covers running lint across all modules, interpreting output, and auto-fixing.
Use when asked to format or check Markdown files, run mdformat, or investigate why mdformat is changing file content. Covers all six plugins including frontmatter, shell, Go, GFM, and TOC formatting.
Use when book2skill has run on several books and overlapping skills should be merged or consolidated into one skill drawing on both sources. Not for skills that are merely related, or when the source book2skill output is not present.
Use when asked to lint or format Markdown, fix rumdl violations, or configure .rumdl.toml. Covers installation, configuration, CLI usage, auto-fix, and inline suppression.
Use when the user asks to optimize, score, review or improve a SKILL.md against the skillsaw rubric, or to check whether a skill is bound to one agent runtime. Runs skillsaw's deterministic evaluate, improve and validate loop, a darwin-skill style auto-optimize.
Use when writing a commit message, committing changes, or setting a commit convention, and the user wants scope-first subjects (scope: description, Linux/Git/Go style) instead of Conventional Commits prefixes like feat, fix, or chore.
Use when the user asks to run vale, lint Markdown, or check prose style. Covers fixing genuine errors, suppressing false positives via the project vocabulary, and linting a commit message with the vale-ai-tells ai-tells-commits style before committing.
Use when installing or configuring vale (.vale.ini, style packages, vocabulary files, custom rules), running it on prose or Markdown, or fixing false positives. Also covers installing and pinning the vale-ai-tells package and its ai-tells and ai-tells-commits styles.