paw
CLAUDE.md2 starsChanged 4 months agoMITView on GitHub
A lightweight, composable toolkit that gives your AI coding agent standards enforcement, specialized reviewers, and domain knowledge. Every piece works standalone. These are enforced by hooks/gitsafety.py and hooks/branchguard.py. Load contexts/X in an agent file is a prompt directive, not a mechanical import. The AI tool reads the line and opens the file itself. This works in Claude Code, where agent files are loaded into context and the agent can read the repo. In other tools, you may need to paste…
- Deletes or force-pushes
- Commits and pushes
We split this CLAUDE.md into the rules it gives an agent
11 rules. About 0 are common, 10 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 10
Every directory runs independently.
- Very specific: line 16
If a rule in rules/ contradicts how an agent behaves, fix the agent.
- Distinctive: line 23
Always git pull (merge, not rebase) before push
- Distinctive: line 24
Never git rebase against published history
- Distinctive: line 25
Never git push --force to any branch
- Distinctive: line 26
Never commit to main directly — use a feature branch
- Distinctive: line 27
Always verify git branch shows the intended branch before committing
- Distinctive: line 36
Write the role, process, outputs, done-when.
- Distinctive: line 43
Write the statement, why, hard rules, soft rules.
- Distinctive: line 45
Update relevant agents to reference the new rule.
- Distinctive: line 64
Hooks: read a JSON payload on stdin and write a JSON response on stdout, following Claude Code's hook protocol.
≈ “Common” is an estimate: at least 1 in 5 of the 25,680 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.
Files
paw — Personal Agent Workforce
What paw is
A lightweight, composable toolkit that gives your AI coding agent standards enforcement, specialized reviewers, and domain knowledge. Every piece works standalone.
How to work in this repo
Composability is the design
Every directory runs independently. Agents work without skills. Hooks work without agents. Rules are plain markdown anyone can read. Don't add cross-directory dependencies.
Agents have scoped permissions
Most agents are read-only. Only 4 of 18 agents have full access (builder, merge-resolver, migration-architect, incident-commander). This is intentional — trust through bounded autonomy.
Rules are the source of truth
If a rule in rules/ contradicts how an agent behaves, fix the agent. Rules don't bend to implementation convenience.
Tests before code
The builder agent writes failing tests first, then implementation. The test-runner agent verifies. The auto_test_detect hook warns on missing tests.
Git rules
- Always
git pull(merge, not rebase) before push - Never
git rebaseagainst published history - Never
git push --forceto any branch - Never commit to
maindirectly — use a feature branch - Always verify
git branchshows the intended branch before committing
These are enforced by hooks/git_safety.py and hooks/branch_guard.py.
Adding an agent
- Pick the context it loads from
contexts/. - Pick the rules it references from
rules/. - Define minimum tools — least privilege.
- Write the role, process, outputs, done-when.
- Add to
agents/README.md.
Load contexts/X in an agent file is a prompt directive, not a mechanical import. The AI tool reads the line and opens the file itself. This works in Claude Code, where agent files are loaded into context and the agent can read the repo. In other tools, you may need to paste or otherwise include the referenced context and rule files manually.
Adding a rule
- Write the statement, why, hard rules, soft rules.
- Identify which agents/hooks enforce it.
- Update relevant agents to reference the new rule.
- Add to
rules/README.md.
Known limitations
Be honest about these when documenting or extending paw.
Prompt-directed, not mechanically dispatched. Context and skill loading (Load contexts/X, rules/Y.md) is a directive the AI tool follows by reading the file. Nothing dispatches or validates it. A typo'd path degrades silently rather than erroring.
Agent tool restrictions are not sandboxed. The tools: frontmatter field is an instruction, not a runtime boundary. See agents/README.md.
Quality gates need the agent files to be discoverable. paw check and the /quality-check prompt work by asking the AI tool to invoke agents by name. If the tool cannot see agents/, the gate silently does less than it claims. Verify with paw doctor.
.paw.json history logging is not implemented. paw init scaffolds a history block pointing at .paw/history.jsonl, and the README documents it, but nothing writes that file yet.
Protocol dependencies on Claude Code
paw's hooks and agents are portable in spirit but currently bind to Claude Code specifics:
- Hooks read a JSON payload on stdin and write a JSON response on stdout, following Claude Code's hook protocol. Another tool with a different hook contract needs an adapter, not just a path change.
hooks/install_hooks.pyassumes the~/.claude/settings.jsonlayout — specifically a top-levelhooksobject keyed by event name. It edits that file in place.- Agent
model:frontmatter uses Claude model aliases (opus,sonnet). These mean nothing to a non-Claude runner.
In this repository9 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .cursor/rules/paw.mdcCursor rule
- architectureSkill
- devils-advocateSkill
- frontendSkill
- git-safetySkill
- php-laravelSkill
- quality-gateSkill
- securitySkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

