bigin-skills
CLAUDE.md1 starsChanged 36 days agoMITView on GitHub
A plugin (bigin-skills) for Claude Code and Cursor — a collection of skills installed into other projects, not executed here. No build step, test suite, or dev server. All work is authoring markdown (and small guard scripts) in the right structure. Every skill's description: frontmatter is already loaded on every turn, so there's no inventory table here — the generated skills/agents tables live in README.md, and each SKILL.md covers how that skill works. Authoring conventions: .claude/rules/skill-authoring.md (loads when editing skills/…
In this repository23 other files it gives its agents.
- harness-auditSkill
- skill-benchSkill
- ask-biginSkill
- bigin-harness-setupSkill
- contract-syncSkill
- debug-workflowSkill
- discovery-workflowSkill
- epic-workflowSkill
- flutter-figma-handoffSkill
- go-scaffoldSkill
- knowledge-distillSkill
- model-routerSkill
- napkinSkill
- next-scaffoldSkill
- nodejs-scaffoldSkill
- nuxt-marketing-scaffoldSkill
- nuxt-scaffoldSkill
- nuxt-ui-figma-handoffSkill
- project-scaffoldSkill
- session-handoffSkill
- sprint-distillSkill
- task-workflowSkill
- write-testsSkill
The file
We split this CLAUDE.md into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 37
Every skill's description: frontmatter is already loaded on every turn, so there's no inventory table here — the generated skills/agents …
- Very specific: line 52
When approaching usage limits, use the session-handoff skill to save state to .claude/memory/SESSION.md.
≈ “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
CLAUDE.md
What this repo is
A plugin (bigin-skills) for Claude Code and Cursor — a collection of skills installed into other projects, not executed here. No build step, test suite, or dev server. All work is authoring markdown (and small guard scripts) in the right structure.
Structure
.claude-plugin/ ← plugin.json (version lives here) + marketplace.json
.cursor-plugin/ ← Cursor's manifests; declare paths into skills/ + agents/, no second copy
.claude/rules/ ← this repo's own path-scoped authoring rules
.claude/skills/ ← this repo's own user-only skills (harness-audit, skill-bench), never shipped
.claude/memory/ ← epic/plan/session state and archives
skills/<name>/SKILL.md ← one skill per directory
skills/<name>/references/ ← supporting templates, relative to that skill
skills/<name>/evals/ ← should-trigger cases; docs_sync.mjs --check fails closed without one
skills/<name>/scripts/ ← that skill's own executables (13 skills have one), cited via ${CLAUDE_SKILL_DIR}
agents/<name>.md ← plugin-level subagent definitions (spawned via Agent tool, not invoked as skills)
hooks/ ← the plugin's own hooks, never templated into a repo: a SessionStart notice
for unapplied harness patch blocks
docs/ ← hand-maintained deep-dives, indexed in README; docs/polyrepo/ is the six-repo standard
site/src/ ← site sources: pages/ + _layouts/ + _partials/ + assets/
site/dist/ ← generated by tools/site_build.mjs, committed, published to bigin-skills.pages.dev
tools/site_build.mjs ← the site build; --check fails the commit when dist/ is stale
tools/context_budget.mjs ← budget gate (also templated for target repos)
tools/docs_sync.mjs ← generates README's skills/agents tables; --check fails the commit on drift
tools/docs-manifest.json ← its input; every new skill and agent needs an entry or --check fails closed
tools/regress.mjs ← regression suite: manifests, inventory, detection, scaffolders, sync
scripts, guards, this release's patch blocks; --build adds a real
install+build of a scaffolded site
scripts/git-hooks/ ← pre-commit running the budget gate + docs_sync.mjs --check + site_build.mjs --check + regress.mjs
against the staged tree
.gitattributes ← LF everywhere; the gates also normalise CRLF on readEvery skill's description: frontmatter is already loaded on every turn, so there's no inventory table here — the generated skills/agents tables live in README.md, and each SKILL.md covers how that skill works. Authoring conventions: .claude/rules/skill-authoring.md (loads when editing skills/ or agents/).
Gotchas
- A
skills/*/SKILL.mddescription:is always-loaded context for every session in every repo that installs this plugin. The budget gate caps it at 350 chars. - Most
references/*.mdunderbigin-harness-setuptemplate content written verbatim into target repos —hook-guard.md(the guards + commit scripts),knowledge-bundle.md,knowledge-migration.md(by patch block only),profile-*.mdexceptprofile-detection.md,ci.md,cursor-parity.md,graph.md,budget-gate.md,files-shared.md. The rest are the skill's own procedure and are never copied.summary-checklist.mdis mixed — its## Phase 6 README Templatessection is appended verbatim to the target repo'sREADME.md; the rest is procedure. Changing a templated one wants a CHANGELOGpatchblock, or already-scaffolded repos only get the change on a full re-run. - Generated
AI_TASK_GUIDE.mdis deliberately just a pointer totask-workflow. Don't grow it back into a second copy of the workflow — that's how the two drifted before. - The guard scripts in
references/hook-guard.mdare load-bearing, and one body serves both Claude Code and Cursor vialib/hook-io.mjs— never fork a guard per host..claude/rules/skill-authoring.mdlists the exact cases each one must still block and allow, on both payload shapes.
Versioning
Version lives in .claude-plugin/plugin.json and is the source of truth for the version in two other manifests (.cursor-plugin/plugin.json, and two fields in .cursor-plugin/marketplace.json) — four fields in three files, bumped together; docs_sync.mjs --check fails the commit on a mismatch. .claude-plugin/marketplace.json carries no version field, so nothing there can drift. Bump when publishing changes and add a CHANGELOG.md entry. Docs-only passes are exempt — copy edits, restructuring, link fixes: ship them as a docs: commit with no bump and no changelog entry, and let the commit message be the record. Before a major or minor bump, find and fix all stale docs first — the skills/agents tables in README.md are generated (run node tools/docs_sync.mjs), so sweep only the remaining manual surfaces: prose, cross-references, this file's own Structure tree, SKILL.mds, docs/, site/src/pages/ (counts and the version there are generated — only the prose is manual), and both marketplace.jsons. Patch bumps don't require this sweep. Pre-commit gates: activate once with git config core.hooksPath scripts/git-hooks (runs the budget gate + docs_sync.mjs --check + site_build.mjs --check + regress.mjs --skip-gates). node tools/regress.mjs runs the suite standalone, gates included. --build (group 9) is opt-in — network, ~3 min — and asserts one prerendered entry point per locale: run it for any change to nuxt-marketing-scaffold's templates, manifest or substitution map, since nothing cheaper proves that scaffolder's output compiles.
Session Handoff
When approaching usage limits, use the session-handoff skill to save state to .claude/memory/SESSION.md. On session start, if found with status: in-progress, prompt to resume or start fresh.
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.

