claude-workspace
CLAUDE.md1 starsChanged 3 months agoMITView on GitHub
Rules for Claude when working IN this repository (the toolkit itself, not when using the toolkit). This repository is Mauricio's personal claude-code toolkit — skills installed to ~/.claude/skills/ (each invokable manually as /<name> and auto-invocable by Claude via its description) and code templates installed to ~/.claude/templates/. NOT a workspace template for new projects, NOT a project scaffolder, NOT a general framework. Personal toolkit only. The audience is Mauricio and anyone who finds the methodology useful enough to install it. Skills,…
In this repository17 other files it gives its agents.
- architectureSkill
- code-reviewSkill
- commandsSkill
- conventionsSkill
- debugSkill
- decisionSkill
- explainSkill
- isolateSkill
- issueSkill
- journeysSkill
- onboardSkill
- quick-workSkill
- safe-commitSkill
- safe-pushSkill
- scaffoldSkill
- todoSkill
- workSkill
The file
Show its rules and text
We split this CLAUDE.md into the rules it gives an agent
23 rules. About 0 are common, 8 are distinctive, and 15 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
15
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 38
Run bin/validate-commands.sh to verify frontmatter is well-formed.
- Very specific: line 39
Update docs/FRAMEWORK.md if the skill's behavior or composition changed.
- Distinctive: line 40
Update README.md's quick reference table if the description changed.
- Very specific: line 41
Update bin/install-personal.sh if you added/removed a skill.
- Very specific: line 42
Commit with a feat: or fix: prefix and a clear description.
- Very specific: line 49
Add the skill name to PERSONAL_SKILLS=() array in bin/install-personal.sh.
- Very specific: line 50
Add the description to the echo block at the end of the installer.
- Very specific: line 51
Update the uninstall command in bin/install-personal.sh to include the new folder.
- Very specific: line 52
Add a row to docs/FRAMEWORK.md.
- Distinctive: line 53
Add a row to the quick reference table in README.md.
- Very specific: line 57
Write templates/<category>/<name>.<ext> (.ts, .tsx, .prisma, etc.) — must be a working file that compiles or parses.
- Distinctive: line 58
Add a top comment block explaining: purpose, dependencies, file layout (if multi-file pattern).
- Very specific: line 59
Add a row to templates/README.md under the right category.
- Very specific: line 60
Add the path to the TEMPLATES=() array in bin/install-personal.sh.
- Distinctive: line 66
Markdown files: prefer GitHub-flavored markdown features.
- Very specific: line 80
When editing anything related to AskUserQuestion behavior expectations, cross-reference docs/FRAMEWORK.md § Trust boundaries with Claude …
- Very specific: line 84
If the user says they want to contribute to this repo (a fix, a feature, docs), read CONTRIBUTING.md FIRST and drive the flow from it:
- Very specific: line 87
Run bin/validate-commands.sh before any commit.
- Very specific: line 89
Treat any change under bin/ or hooks/ as security-sensitive: isolate it in its own commit and say explicitly that it touches code that runs …
- Distinctive: line 94
Not a generic claude-code workflow template (it's opinionated to Mauricio's style)
- Distinctive: line 95
Not a SaaS or service (no backend, no API, no servers)
- Distinctive: line 96
Not a documentation hub (it's a toolkit.
- Distinctive: line 97
Not maintained for backwards compatibility (renames happen.
≈ “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
Working in claude-workspace
Rules for Claude when working IN this repository (the toolkit itself, not when using the toolkit).
What this repo is
This repository is Mauricio's personal claude-code toolkit — skills installed to ~/.claude/skills/ (each invokable manually as /<name> and auto-invocable by Claude via its description) and code templates installed to ~/.claude/templates/. NOT a workspace template for new projects, NOT a project scaffolder, NOT a general framework. Personal toolkit only.
The audience is Mauricio and anyone who finds the methodology useful enough to install it.
Structure
claude-workspace/
├── .claude-plugin/ plugin.json + marketplace.json — this repo IS a
│ Claude Code plugin and its own marketplace
├── skills/<name>/SKILL.md Source of truth for the skills (one folder per skill)
├── templates/ Source of truth for the code templates (NOT in the plugin)
├── agents/<name>.md Subagents (code-reviewer: clean context, no write tools)
├── hooks/commit-gate.sh Deterministic commit gate (PreToolUse hook)
├── hooks/session-status.sh Pushes the focused /todo task into context (SessionStart hook)
├── hooks/hooks.json Hook wiring for the plugin (${CLAUDE_PLUGIN_ROOT})
├── bin/install-personal.sh Idempotent installer (downloads from this repo to ~/.claude/)
├── bin/install-hooks.sh Installs both hooks into ~/.claude/settings.json
├── bin/validate-commands.sh Sanity check (frontmatter is well-formed)
├── docs/FRAMEWORK.md Canonical doc — methodology + every skill explained
├── README.md Brief intro for visitors, install instructions
└── CLAUDE.md This file — rules for working ON the toolkitSkills, agents and hooks/hooks.json are AUTO-DISCOVERED by the plugin system —
adding a new skill folder requires no plugin.json change. Bump version in
.claude-plugin/plugin.json on every release that changes behavior.
When modifying a skill
- Edit
skills/<name>/SKILL.mddirectly. This is the source of truth. - Run
bin/validate-commands.shto verify frontmatter is well-formed. - Update
docs/FRAMEWORK.mdif the skill's behavior or composition changed. - Update
README.md's quick reference table if the description changed. - Update
bin/install-personal.shif you added/removed a skill. - Commit with a
feat:orfix:prefix and a clear description. - Push. The installer pulls from
maindirectly, so changes are live immediately.
When adding a new skill
- Decide the name. Single-word preferred. Multi-word OK if the name carries meaning (e.g.,
safe-commit— thesafe-prefix is intentional). - Write
skills/<name>/SKILL.mdfollowing the format of the existing skills (frontmatter withdescription:, then markdown body with Phases). Thedescriptiondoubles as the auto-invocation trigger — write it as "what it does + when Claude should use it". Supporting files (reference docs, snippets) can live next to SKILL.md in the same folder; Claude loads them only when needed. - Add the skill name to
PERSONAL_SKILLS=()array inbin/install-personal.sh. - Add the description to the
echoblock at the end of the installer. - Update the uninstall command in
bin/install-personal.shto include the new folder. - Add a row to
docs/FRAMEWORK.md. - Add a row to the quick reference table in
README.md.
When adding a new template
- Write
templates/<category>/<name>.<ext>(.ts, .tsx, .prisma, etc.) — must be a working file that compiles or parses. - Add a top comment block explaining: purpose, dependencies, file layout (if multi-file pattern).
- Add a row to
templates/README.mdunder the right category. - Add the path to the
TEMPLATES=()array inbin/install-personal.sh.
Style rules for this repo
- No emojis in source files unless the user explicitly requests them.
- Commit messages: conventional commit style.
feat:,fix:,refactor:,docs:,chore:. - Markdown files: prefer GitHub-flavored markdown features. Mermaid diagrams in fences. Tables for lists with multiple attributes.
- Co-Authored-By: Claude: include in commits TO THIS REPO (this is Mauricio's personal toolkit, transparency about AI authorship is the point). Do NOT include in commits to other repos he works on (those have their own rules).
Trust boundary with Claude Code as a dependency
This framework's slash commands (/work, /safe-commit, /safe-push, /debug, etc.) depend on Claude Code's AskUserQuestion tool blocking indefinitely until the user responds. Any silent change in that behavior degrades framework guarantees.
Two scripts codify the defense:
bin/verify-claude-config.sh— read-only check of current Claude Code configbin/apply-trust-defenses.sh— idempotent config setter (addsaskUserQuestionTimeout: never, hugeCLAUDE_AFK_TIMEOUT_MS,DISABLE_AUTOUPDATER: 1)
bin/install-personal.sh offers to run apply-trust-defenses.sh opt-in at the end of install.
When editing anything related to AskUserQuestion behavior expectations, cross-reference docs/FRAMEWORK.md § Trust boundaries with Claude Code as a dependency.
Contributing flow (instruction for Claude)
If the user says they want to contribute to this repo (a fix, a feature, docs), read CONTRIBUTING.md FIRST and drive the flow from it:
- Features need an issue and agreement BEFORE any code. Small fixes go straight to PR.
- Run
bin/validate-commands.shbefore any commit. - Walk the checklist from
.github/pull_request_template.mdbefore pushing. - Treat any change under
bin/orhooks/as security-sensitive: isolate it in its own commit and say explicitly that it touches code that runs on users' machines. - Work on a feature branch, never directly on
main.
What this repo is NOT
- Not a generic claude-code workflow template (it's opinionated to Mauricio's style)
- Not a SaaS or service (no backend, no API, no servers)
- Not a documentation hub (it's a toolkit; the docs explain the toolkit, not general Claude Code usage)
- Not maintained for backwards compatibility (renames happen; users re-run the installer to migrate)
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.

