agentleFS
anthonymaleyanthonymaley/Kerd/CLAUDE.md

Kerd

CLAUDE.md3 starsChanged 53 days agoMITView on GitHub

Claude Code plugin: eight workflow skills for session discipline, session and machine handoff, knowledge management, project audits, human writing voice, structural health, visual agreement, and native Claude/Codex session collaboration. Every change to a skill (new skill, modified behavior, renamed command, changed output) requires ALL of the following before commit: The metadata.description field in marketplace.json is intentionally a different shape — a marketplace one-liner ("Kerd: opinionated workflow skills…"), not the capability list. Don't homogenize them. Update metadata.description only when the marketplace…

The file

We split this CLAUDE.md into the rules it gives an agent

6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Always push after committing: Every commit goes to remote immediately.

    line 7
  2. Distinctive:

    Every change to a skill (new skill, modified behavior, renamed command, changed output) requires ALL of the following before commit:

    line 12
  3. Distinctive:

    Update README.md: If the skill's behavior, usage, or output changed, update its section in the README.

    line 19
  4. Very specific:

    Update plugin descriptions: if the change affects what Kerd does at a high level, update both *capability-list* locations and keep them …

    line 21
  5. Very specific:

    Namespace references: all slash-command references in docs and skills must use the kerd: prefix (e.g., /kerd:tend, /kerd:conductor).

    line 29
  6. Very specific:

    All cross-skill references use /kerd:<skill> format

    line 73

≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

Kerd

Claude Code plugin: eight workflow skills for session discipline, session and machine handoff, knowledge management, project audits, human writing voice, structural health, visual agreement, and native Claude/Codex session collaboration.

Commit Rules

  • Always push after committing. Every commit goes to remote immediately.
  • Always run the release checklist before committing. Version bumps, README updates, and description updates happen before the commit, not after.

Release Checklist

Every change to a skill (new skill, modified behavior, renamed command, changed output) requires ALL of the following before commit:

  1. Bump version in all three locations (keep them in sync):
    • .claude-plugin/plugin.json → version
    • .claude-plugin/marketplace.json → metadata.version
    • .claude-plugin/marketplace.json → plugins[0].version
  2. Update README.md. If the skill's behavior, usage, or output changed, update its section in the README. If a new skill was added, add a new section following the existing pattern.
  3. Update plugin descriptions: if the change affects what Kerd does at a high level, update both capability-list locations and keep them byte-identical:

    • .claude-plugin/plugin.json → description (capability list)
    • .claude-plugin/marketplace.json → plugins[0].description (capability list — same string as plugin.json above)

    The metadata.description field in marketplace.json is intentionally a different shape — a marketplace one-liner ("Kerd: opinionated workflow skills…"), not the capability list. Don't homogenize them. Update metadata.description only when the marketplace summary itself needs to change (rebrand, scope shift), as a separate decision.

  4. Update skill trigger description: the description field in the skill's SKILL.md frontmatter controls when Claude invokes it. If behavior changed, update the trigger description to match.
  5. Namespace references: all slash-command references in docs and skills must use the kerd: prefix (e.g., /kerd:tend, /kerd:conductor). The only exception is within README.md examples showing shorthand usage, which may omit the prefix for readability.

CI enforces the mechanical subset of this checklist on every push: python3 tools/release_check.py refuses version drift (item 1), capability-list drift (item 3), bare slash references (item 5), a release note that reads differently in README.md and CHANGELOG.md, and skill or agent frontmatter that breaks Anthropic's limits (must parse as YAML; description at most 1,024 characters with no < or >; SKILL.md body at most 500 lines). The changelog may keep older entries the README has trimmed; that is the decided shape, not drift.

Version Strategy

Use semver: MAJOR.MINOR.PATCH

  • PATCH: bug fixes, wording tweaks, internal refactors with no behavior change
  • MINOR: new skill, new feature within a skill, changed behavior
  • MAJOR: breaking changes to skill interfaces or directory conventions

Project Structure

skills/           # skill definitions (each skill in its own folder with SKILL.md)
agents/           # kerd:<model>-<effort> subagent definitions: model and effort for delegated native Claude jobs (older kerd:effort-<level> kept for sessions that predate them)
tools/release_check.py # standalone release rules check (version drift, capability-list drift, bare slash references)
tools/run_tests.py # runs every skill's scripts/tests/ wording tests
docs/product/     # the funnel board from the retired ladder — unpoliced history, one <slug>.md per work item
docs/work/question-sets/ # seed question sets, one <work-type>.md, copied into a work record at intake
docs/design/      # living design docs (undated filenames)
docs/gates/       # dated gate records from the retired ladder — unpoliced history
docs/plans/       # dated contract specs and progress renders from the retired ladder — unpoliced history
docs/requirements/ # requirement records from the retired ladder — unpoliced history
docs/playbook.md  # living project guide, updated by conductor close-out
docs/state-contract.md # who owns and reads CONTEXT.md, TODO.md, kivna/sessions/
docs/decisions.md # the full case for every standing decision; CONTEXT.md keeps only governing rulings
docs/backlog-archive.md # Backlog rows closed at Switch Out, with verdict, evidence and date
CONTEXT.md        # current state, overwritten each session
TODO.md           # open work (## Now + ## Backlog)
hooks/            # session hooks (statusline, session-start, skill-complete, context-reading)
tests/            # hooks_test.sh
evals/            # behaviour cases for `claude plugin eval` (run with --scaffold; results/ ignored)
kivna/vault.json  # Obsidian vault config
kivna/sessions/   # session logs from switch (committed)
.claude-plugin/   # plugin.json and marketplace.json
.github/workflows/gate.yml # CI: skill unit tests, hook tests, release rules

Conventions

  • Skill names are lowercase, single-word, Gaelic-inspired where it adds character
  • Skills define behavior. The plugin system loads them directly via the kerd: prefix.
  • SKILL.md frontmatter name field is the local name only (no kerd: prefix, the plugin system adds it)
  • All cross-skill references use /kerd:<skill> format

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.