claude-skills
CLAUDE.md6 starsChanged 8 days agoMITView on GitHub
Project configuration and memory bank system for Claude Code
- Reads credentials
In this repository22 other files it gives its agents.
- adding-an-add-to-claude-buttonSkill
- bd-to-br-migrationSkill
- codex-plan-reviewSkill
- codex-reviewSkill
- debugging-kubernetes-rolloutsSkill
- debugging-nodejs-appsSkill
- de-sloppingSkill
- detect-overengineeringSkill
- evaluating-third-party-toolsSkill
- finding-latest-versionsSkill
- git-reconSkill
- humanizerSkill
- hyprland-luaSkill
- mining-claude-sessionsSkill
- minto-pyramidSkill
- nonstopSkill
- operating-frappe-on-kubernetesSkill
- presentation-blueprintSkill
- pr-fixSkill
- pr-landSkill
- prSkill
- watching-pr-bot-reviewsSkill
The file
Show its rules and text
We split this CLAUDE.md into the rules it gives an agent
21 rules. About 0 are common, 9 are distinctive, and 12 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
12
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
If you encounter pre-existing issues in code you're touching, be a good citizen and clean them up too.
- Distinctive: line 33
Verify understanding of current context
- Distinctive: line 34
Check activeContext.md for immediate priorities
- Distinctive: line 39
Update files that need changes based on recent work
- Distinctive: line 41
Document any new patterns discovered
- Distinctive: line 42
Update project intelligence in this file if needed
- Distinctive: line 45
Read Memory Bank (automatic)
- Distinctive: line 47
Ask 4-6 clarifying questions based on findings
- Very specific: line 76
Leak-scan before every push: Run detect-secrets scan <files>.
- Very specific: line 77
After a change to
bin/skillsync,: run tests/skillsync.sh. On macOS, also run it under /bin/bash (3.2). - Very specific: line 78
After a change to
codex-review,: run tests/codex-review.sh. - Very specific: line 79
After a change to
prland,: run tests/prland.sh. Fake gh and prbots on PATH, real git repos and worktrees in a temp dir. - Very specific: line 80
After a change to
cc-sessions,: run tests/cc-sessions.sh. It builds synthetic transcripts and never reads your real ones. - Very specific: line 81
After a change to
add-to-claude-link,: run tests/add-to-claude-link.sh. - Very specific: line 82
After a change to
latest-version,: run tests/latest-version.sh. - Very specific: line 83
After a change to
tp-scan,: run tests/tp-scan.sh. It builds one synthetic repo per pattern in a temp dir, and canary files prove that the … - Distinctive: line 92
Update frequently to maintain accuracy
- Very specific: line 118
After that, skillsync pulls and relinks, and skillsync add <git-url> adds another skills repo (a private one, on machines that can clone …
- Very specific: line 149
Create skills/<skill-name>/SKILL.md with YAML frontmatter.
- Very specific: line 151
Run skillsync link and check the skill shows up in a new Claude Code session.
- Very specific: line 180
Vendored skills: keep the upstream LICENSE.
≈ “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.
Files
Project Configuration
This file contains project-specific intelligence and configuration for Claude Code sessions.
Memory Bank System
This project uses a Memory Bank system to maintain context across sessions. All memory files are stored in .claude/memory-bank/ and should be read at the start of every conversation.
Core Memory Files (Read these in order):
- memory-rules.md - System documentation
- projectbrief.md - Foundation document
- productContext.md - Product vision
- systemPatterns.md - Architecture patterns
- techContext.md - Technical setup
- activeContext.md - Current work focus
- progress.md - Status tracking
Elegance Demand
For non-trivial changes, pause and ask yourself: is there a more elegant solution? If your plan feels hacky, step back and rebuild it properly. Elegant code is simple, clear, and does not fight the architecture.
If you encounter pre-existing issues in code you're touching, be a good citizen and clean them up too. Leave the codebase better than you found it.
Instructions for Claude
On Every Session Start:
- Read all core memory bank files in the order listed above
- Verify understanding of current context
- Check activeContext.md for immediate priorities
- Review progress.md to understand what's complete and what's pending
When User Says "update memory bank":
- Review ALL memory bank files (mandatory - don't skip any)
- Update files that need changes based on recent work
- Pay special attention to activeContext.md and progress.md
- Document any new patterns discovered
- Update project intelligence in this file if needed
Planning Mode (via /plan command):
- Read Memory Bank (automatic)
- Verify context completeness
- Ask 4-6 clarifying questions based on findings
- Draft comprehensive plan
- Get user approval
- Implement systematically
Project Intelligence
This section grows as patterns and preferences are discovered during work on this project.
Project-Specific Patterns
- How skillsync works, and the shared Codex and PR-bot patterns: see
ARCHITECTURE.md.
User Preferences
- The maintainer puts speed and ease of use first, not publishing everything. Generic skills come here. Anything private goes to the maintainer's private skills repo.
- Skills reach machines only through skillsync. Not through dotfiles, and not through
/plugin installon a machine wheresettings.jsonis a dotfiles symlink. - Plain English in anything a reader acts on. Run
python3 skills/de-slopping/ste_lint.py <file>on PR and commit text, and fix every hard finding.
Lessons Learned
- A skill that calls a CLI breaks when the CLI changes. codex-cli 0.163 removed
--full-auto. With2>/dev/null, the exit status 2 became an empty result, and the skill carried on without Codex. Keep stderr in a log and check the exit status. - Pinned model names go stale:
gpt-5.4-codex, thengpt-5.5. Pin with a fallback, and keep a dated table of the models that you tested. - The Architect-Gate review blocks indirect hints of private work too: "a private repo", the name of a private feature, step numbers from a private plan (#13).
Known Gotchas
- The working clone can be live. On an authoring machine, the skillsync source is a symlink to the working clone. Every Claude Code session on that machine loads the files that are checked out. Never switch branches in that clone. Do PR work in a worktree:
git worktree add -b <branch> /tmp/<dir> origin/main. Other sessions can have uncommitted edits in the clone. Leave them alone. prbotswaits for Codex by default, and Codex is not enabled here. Useprbots wait <PR> --need sar --trigger.- The review does not run again on push.
--triggeror an@architect-runcomment starts it.
Effective Approaches
- Test a skill change like code. First run the old instructions as written, and watch them fail. Then copy the code blocks out of the new SKILL.md and run them with only the placeholders filled in. (#9 and #15 were tested this way.)
- Leak-scan before every push. Run
detect-secrets scan <files>. Also grep the added lines for client names, internal hostnames, RFC1918 IPs, private repo names, tokens and home-directory paths. - After a change to
bin/skillsync, runtests/skillsync.sh. On macOS, also run it under/bin/bash(3.2). - After a change to
codex-review, runtests/codex-review.sh. A fakecodexon PATH plays each failure the real one has shown. - After a change to
prland, runtests/prland.sh. Fakeghandprbotson PATH, real git repos and worktrees in a temp dir. - After a change to
cc-sessions, runtests/cc-sessions.sh. It builds synthetic transcripts and never reads your real ones. - After a change to
add-to-claude-link, runtests/add-to-claude-link.sh. It decodes each format in Python before it compares, so a stray&or a+for a space fails it. - After a change to
latest-version, runtests/latest-version.sh. A local fake server plays the GitHub API and a registry with a token challenge, and a fakeghlends a token (gh auth token). - After a change to
tp-scan, runtests/tp-scan.sh. It builds one synthetic repo per pattern in a temp dir, and canary files prove that the scan ran nothing. - Merges:
prland <PR> --need sar(the pr-land skill): squash, with a subject that ends in(#N), then the branch and worktree go. Machines pick up main at their nextskillsync.
Notes
- Memory Bank files are in
.claude/memory-bank/ - Templates are provided - fill them out based on actual project
- Update frequently to maintain accuracy
- The Memory Bank is the primary context system for this project
Skills
This repo is public, so it only holds skills anyone may read. A skill that mentions clients, internal hosts or IPs, private repos, credentials, or real business data goes in the maintainer's private skills repo instead. The Architect-Gate review blocks such content here (.github/claude/prompts/02-public-skills-repo.prompt.md).
How skillsync works, and why it is built that way: ARCHITECTURE.md.
Structure
skills/<name>/-- one directory per skill:SKILL.md-- YAML frontmatter (namematching the directory, and adescriptionsaying when to use it; new skills start it with "Use when") and the skill prompt- supporting reference files
bin/(optional) -- executables the skill calls. skillsync links them onto PATH, so names must be unique across the repoUPSTREAM-- only on vendored third-party skills (source, commit, license). Update them by re-copying from upstream, not by editing
bin/skillsync-- symlinks every skill from every skills repo cloned under~/.local/share/skillsync/into~/.claude/skills/, and everybin/executable into~/.local/bin/. It must never name a specific repository (that is what keeps private repos private) and must stay compatible with bash 3.2. After changing it, runtests/skillsync.sh(sandboxed; it never touches your real directories)..claude-plugin/marketplace.json-- some of the same skills as Claude Code plugins, for people who install with/plugin. The maintainer's machines use skillsync instead; listing a new skill here is optional.
Installing
git clone -q https://github.com/Smirnov-Labs/claude-skills ~/.local/share/skillsync/claude-skills \
&& ~/.local/share/skillsync/claude-skills/bin/skillsyncAfter that, skillsync pulls and relinks, and skillsync add <git-url> adds another skills repo (a private one, on machines that can clone it). On an authoring machine, make the source a symlink to your working clone so edits are live: ln -s <working clone> ~/.local/share/skillsync/claude-skills.
Current Skills
| Skill | Purpose |
presentation-blueprint | Build pitch/technical/update decks end-to-end (analyze → strategize → outline → style → render) |
codex-review | One read-only Codex review of a plan, spec, diff or prompt: pinned model with a fallback, a parsed verdict and exit status |
codex-plan-review | Send the current plan to Codex through codex-review for an independent architectural review |
detect-overengineering | Audit a plan document for LLM-style overengineering — rubric pass + Codex adversarial pass + merged findings with proposed edits |
git-recon | 12-month git-history health check — churn, bus factor, bug hotspots, velocity, firefighting |
evaluating-third-party-tools | Is an outside repo or tool useful to us? Clone it without running it, scan it with tp-scan, check health and fit, give an Adopt, Trial or Skip verdict |
mining-claude-sessions | cc-sessions: find and resume a past session, sum one up, or count usage across sessions, with masked output |
watching-pr-bot-reviews | Wait for and read the PR bots (Codex, SAR, CI) with prbots instead of hand-written pollers |
pr | /pr: commit, push, open or update the PR, after checking what the push will carry (user-invoked only) |
pr-fix | /pr-fix: loop on a PR — fix CI and review feedback, push, wait with prbots, repeat until clean (user-invoked only) |
pr-land | Merge a PR once prbots says CLEAN, confirm MERGED, then remove its own worktree and branch and sync main (prland) |
finding-latest-versions | latest-version: the newest GitHub release or container image tag, sorted as versions, and image digests |
bd-to-br-migration | Migrate docs from bd (beads) to br (beads_rust) |
debugging-kubernetes-rollouts | Debug failed Kubernetes rollouts and ArgoCD / GitOps sync problems |
debugging-nodejs-apps | Systematic debugging of Node.js startup, dependency, and runtime failures |
operating-frappe-on-kubernetes | Operate, upgrade, and debug Frappe / ERPNext on Kubernetes: config on the sites PVC, first-site bootstrap, major-version upgrades, Error Log / email / PDF debugging |
hyprland-lua | Script, control, and debug a Hyprland compositor configured in Lua |
adding-an-add-to-claude-button | Build the "Add to Claude" link for a remote MCP server, and the README, HTML or React button around it (add-to-claude-link) |
de-slopping | Cut hedges and filler from written deliverables; bundles a Simplified Technical English linter (ste_lint.py) and an optional slop_guard Stop hook |
minto-pyramid | Restructure a write-up answer-first (Minto Pyramid) |
humanizer | Remove signs of AI-generated writing (vendored, see UPSTREAM) |
nonstop | Autonomous work mode driven by a Stop hook (vendored, see UPSTREAM for the hook line) |
Adding a New Skill
- Create
skills/<skill-name>/SKILL.mdwith YAML frontmatter; put reference files and anybin/executables alongside. - Workflow skills that take over a session get a
<SUBAGENT-STOP>block right after the frontmatter (seegit-recon). Leave it off tool and reference skills that subagents are meant to use, such aswatching-pr-bot-reviews. - Run
skillsync linkand check the skill shows up in a new Claude Code session. - Open a PR; the Architect-Gate review checks it for private material.
Project Commands
.claude/commands/ holds commands that only exist inside this repo: /plan, /loop-review, /memory. Anything meant for every machine belongs in skills/, which is why /pr-fix and /pr moved there. A personal skill wins over a project command with the same name, so the pr skill reads a repo's own .claude/commands/pr.md first and keeps its rules.
Architect-Gate: Automated Architecture Review
This project has an automated "Senior Architect in CI" that reviews every PR for architectural consistency and anti-patterns.
Location: .github/claude/ contains prompts and workflow
Documentation: See .github/claude/README.md for full details
What It Does
- Runs on every PR automatically
- Reviews changes against Memory Bank and CLAUDE.md
- Checks for 10+ categories of anti-patterns
- Enforces Project-specific architectural invariants
- Posts System Architecture Review (SAR) as PR comment
- Blocks merge if severity ≥ 3 or blockers present
Rules Enforced
This repo's rules live in .github/claude/prompts/02-public-skills-repo.prompt.md:
- Nothing private (blocker): no client names, internal hosts or IPs, private repo names, credentials, or real business data.
- Skill layout:
skills/<name>/SKILL.mdwith a matchingname;bin/names unique;bin/skillsyncnames no repository. - Vendored skills: keep the upstream
LICENSE; update by re-copying from upstream.
Testing Locally
# Test prompt composition
./.github/claude/test-prompt-composition.sh
# Review composed prompt
less .architect-gate-test/full-prompt.md
# Test with ACT (requires ANTHROPIC_API_KEY)
act pull_request -s ANTHROPIC_API_KEY=$ANTHROPIC_API_KEYFor PR Authors
- Review SAR comment for specific issues
- Address blocker items before merge
- Push new commits to re-trigger review
- Comment
@architect-runto manually re-trigger
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
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.

