agentleFS
Smirnov-LabsSmirnov-Labs/claude-skills/CLAUDE.md

claude-skills

CLAUDE.md6 starsChanged 8 days agoMITView on GitHub

Project configuration and memory bank system for Claude Code

  • Reads credentials

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
  1. Distinctive:

    If you encounter pre-existing issues in code you're touching, be a good citizen and clean them up too.

    line 27
  2. Distinctive:

    Verify understanding of current context

    line 33
  3. Distinctive:

    Check activeContext.md for immediate priorities

    line 34
  4. Distinctive:

    Update files that need changes based on recent work

    line 39
  5. Distinctive:

    Document any new patterns discovered

    line 41
  6. Distinctive:

    Update project intelligence in this file if needed

    line 42
  7. Distinctive:

    Read Memory Bank (automatic)

    line 45
  8. Distinctive:

    Ask 4-6 clarifying questions based on findings

    line 47
  9. Very specific:

    Leak-scan before every push: Run detect-secrets scan <files>.

    line 76
  10. Very specific:

    After a change to bin/skillsync,: run tests/skillsync.sh. On macOS, also run it under /bin/bash (3.2).

    line 77
  11. Very specific:

    After a change to codex-review,: run tests/codex-review.sh.

    line 78
  12. Very specific:

    After a change to prland,: run tests/prland.sh. Fake gh and prbots on PATH, real git repos and worktrees in a temp dir.

    line 79
  13. Very specific:

    After a change to cc-sessions,: run tests/cc-sessions.sh. It builds synthetic transcripts and never reads your real ones.

    line 80
  14. Very specific:

    After a change to add-to-claude-link,: run tests/add-to-claude-link.sh.

    line 81
  15. Very specific:

    After a change to latest-version,: run tests/latest-version.sh.

    line 82
  16. Very specific:

    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 …

    line 83
  17. Distinctive:

    Update frequently to maintain accuracy

    line 92
  18. Very specific:

    After that, skillsync pulls and relinks, and skillsync add <git-url> adds another skills repo (a private one, on machines that can clone …

    line 118
  19. Very specific:

    Create skills/<skill-name>/SKILL.md with YAML frontmatter.

    line 149
  20. Very specific:

    Run skillsync link and check the skill shows up in a new Claude Code session.

    line 151
  21. Very specific:

    Vendored skills: keep the upstream LICENSE.

    line 180

≈ “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

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):

  1. memory-rules.md - System documentation
  2. projectbrief.md - Foundation document
  3. productContext.md - Product vision
  4. systemPatterns.md - Architecture patterns
  5. techContext.md - Technical setup
  6. activeContext.md - Current work focus
  7. 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:

  1. Read all core memory bank files in the order listed above
  2. Verify understanding of current context
  3. Check activeContext.md for immediate priorities
  4. Review progress.md to understand what's complete and what's pending

When User Says "update memory bank":

  1. Review ALL memory bank files (mandatory - don't skip any)
  2. Update files that need changes based on recent work
  3. Pay special attention to activeContext.md and progress.md
  4. Document any new patterns discovered
  5. Update project intelligence in this file if needed

Planning Mode (via /plan command):

  1. Read Memory Bank (automatic)
  2. Verify context completeness
  3. Ask 4-6 clarifying questions based on findings
  4. Draft comprehensive plan
  5. Get user approval
  6. 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 install on a machine where settings.json is 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. With 2>/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, then gpt-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.
  • prbots waits for Codex by default, and Codex is not enabled here. Use prbots wait <PR> --need sar --trigger.
  • The review does not run again on push. --trigger or an @architect-run comment 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, run tests/skillsync.sh. On macOS, also run it under /bin/bash (3.2).
  • After a change to codex-review, run tests/codex-review.sh. A fake codex on PATH plays each failure the real one has shown.
  • After a change to prland, run tests/prland.sh. Fake gh and prbots on PATH, real git repos and worktrees in a temp dir.
  • After a change to cc-sessions, run tests/cc-sessions.sh. It builds synthetic transcripts and never reads your real ones.
  • After a change to add-to-claude-link, run tests/add-to-claude-link.sh. It decodes each format in Python before it compares, so a stray &amp; or a + for a space fails it.
  • After a change to latest-version, run tests/latest-version.sh. A local fake server plays the GitHub API and a registry with a token challenge, and a fake gh lends a token (gh auth token).
  • 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 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 next skillsync.

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 (name matching the directory, and a description saying 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 repo
    • UPSTREAM -- 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 every bin/ 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, run tests/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/skillsync

After 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

SkillPurpose
presentation-blueprintBuild pitch/technical/update decks end-to-end (analyze → strategize → outline → style → render)
codex-reviewOne read-only Codex review of a plan, spec, diff or prompt: pinned model with a fallback, a parsed verdict and exit status
codex-plan-reviewSend the current plan to Codex through codex-review for an independent architectural review
detect-overengineeringAudit a plan document for LLM-style overengineering — rubric pass + Codex adversarial pass + merged findings with proposed edits
git-recon12-month git-history health check — churn, bus factor, bug hotspots, velocity, firefighting
evaluating-third-party-toolsIs 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-sessionscc-sessions: find and resume a past session, sum one up, or count usage across sessions, with masked output
watching-pr-bot-reviewsWait 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-landMerge a PR once prbots says CLEAN, confirm MERGED, then remove its own worktree and branch and sync main (prland)
finding-latest-versionslatest-version: the newest GitHub release or container image tag, sorted as versions, and image digests
bd-to-br-migrationMigrate docs from bd (beads) to br (beads_rust)
debugging-kubernetes-rolloutsDebug failed Kubernetes rollouts and ArgoCD / GitOps sync problems
debugging-nodejs-appsSystematic debugging of Node.js startup, dependency, and runtime failures
operating-frappe-on-kubernetesOperate, upgrade, and debug Frappe / ERPNext on Kubernetes: config on the sites PVC, first-site bootstrap, major-version upgrades, Error Log / email / PDF debugging
hyprland-luaScript, control, and debug a Hyprland compositor configured in Lua
adding-an-add-to-claude-buttonBuild the "Add to Claude" link for a remote MCP server, and the README, HTML or React button around it (add-to-claude-link)
de-sloppingCut hedges and filler from written deliverables; bundles a Simplified Technical English linter (ste_lint.py) and an optional slop_guard Stop hook
minto-pyramidRestructure a write-up answer-first (Minto Pyramid)
humanizerRemove signs of AI-generated writing (vendored, see UPSTREAM)
nonstopAutonomous work mode driven by a Stop hook (vendored, see UPSTREAM for the hook line)

Adding a New Skill

  1. Create skills/<skill-name>/SKILL.md with YAML frontmatter; put reference files and any bin/ executables alongside.
  2. Workflow skills that take over a session get a <SUBAGENT-STOP> block right after the frontmatter (see git-recon). Leave it off tool and reference skills that subagents are meant to use, such as watching-pr-bot-reviews.
  3. Run skillsync link and check the skill shows up in a new Claude Code session.
  4. 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:

  1. Nothing private (blocker): no client names, internal hosts or IPs, private repo names, credentials, or real business data.
  2. Skill layout: skills/<name>/SKILL.md with a matching name; bin/ names unique; bin/skillsync names no repository.
  3. 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_KEY

For PR Authors

  • Review SAR comment for specific issues
  • Address blocker items before merge
  • Push new commits to re-trigger review
  • Comment @architect-run to manually re-trigger

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.