@robosoft/skillhub-cli 0.1.2 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +20 -26
  2. package/README.md +166 -184
  3. package/bin/skillhub.mjs +714 -365
  4. package/docs/skillhub-cli-logic.md +115 -83
  5. package/package.json +8 -5
  6. package/skillhub-registry/CHANGELOG.md +65 -0
  7. package/skillhub-registry/CLAUDE.md +108 -0
  8. package/skillhub-registry/README.md +196 -16
  9. package/skillhub-registry/docs/cheat-sheet.md +272 -0
  10. package/skillhub-registry/docs/contributing.md +166 -0
  11. package/skillhub-registry/docs/cost-hygiene.md +175 -0
  12. package/skillhub-registry/docs/customization.md +321 -0
  13. package/skillhub-registry/docs/exception-process.md +194 -0
  14. package/skillhub-registry/docs/installation.md +277 -0
  15. package/skillhub-registry/domain/api.md +303 -0
  16. package/skillhub-registry/domain/frontend/web-app.md +17 -0
  17. package/skillhub-registry/domain/frontend-app.md +46 -0
  18. package/skillhub-registry/domain/frontend-architecture.md +126 -0
  19. package/skillhub-registry/rules/anti-patterns.md +95 -0
  20. package/skillhub-registry/rules/code-standards.md +182 -0
  21. package/skillhub-registry/rules/frontend/antipattern.md +21 -0
  22. package/skillhub-registry/rules/frontend/component-standards.md +10 -0
  23. package/skillhub-registry/rules/frontend-app.md +24 -0
  24. package/skillhub-registry/rules/general.md +51 -0
  25. package/skillhub-registry/skills/api/SKILL.md +167 -0
  26. package/skillhub-registry/skills/build/SKILL.md +114 -0
  27. package/skillhub-registry/skills/fast/SKILL.md +56 -0
  28. package/skillhub-registry/skills/feature-dev/SKILL.md +166 -0
  29. package/skillhub-registry/skills/frontend/app/SKILL.md +28 -0
  30. package/skillhub-registry/skills/frontend/app/rules/main.md +6 -0
  31. package/skillhub-registry/skills/frontend/app/skill.json +10 -0
  32. package/skillhub-registry/skills/frontend/app/templates/feature/{{kebabName}}.tsx.hbs +11 -0
  33. package/skillhub-registry/skills/frontend-app/SKILL.md +48 -0
  34. package/skillhub-registry/skills/frontend-app/rules/main.md +6 -0
  35. package/skillhub-registry/skills/frontend-app/skill.json +11 -0
  36. package/skillhub-registry/skills/frontend-app/templates/feature/{{kebabName}}.tsx.hbs +11 -0
  37. package/skillhub-registry/skills/performance/SKILL.md +168 -0
  38. package/skillhub-registry/skills/react/SKILL.md +224 -0
  39. package/skillhub-registry/skills/refactor/SKILL.md +149 -0
  40. package/skillhub-registry/skills/review/SKILL.md +199 -0
  41. package/skillhub-registry/skills/strict/SKILL.md +74 -0
  42. package/skillhub-registry/skills/testing/SKILL.md +132 -0
  43. package/skillhub-registry/accessibility-review/1.0.0/SKILL.md +0 -22
  44. package/skillhub-registry/accessibility-review/1.0.0/checklist/ui-review.md +0 -8
  45. package/skillhub-registry/accessibility-review/1.0.0/skill.json +0 -9
  46. package/skillhub-registry/nextjs-clean-architecture/1.0.0/SKILL.md +0 -37
  47. package/skillhub-registry/nextjs-clean-architecture/1.0.0/checklist/definition-of-done.md +0 -9
  48. package/skillhub-registry/nextjs-clean-architecture/1.0.0/rules/folder-structure.md +0 -7
  49. package/skillhub-registry/nextjs-clean-architecture/1.0.0/skill.json +0 -9
  50. package/skillhub-registry/shadcn-crud-generator/1.0.0/SKILL.md +0 -25
  51. package/skillhub-registry/shadcn-crud-generator/1.0.0/skill.json +0 -9
  52. package/skillhub-registry/shadcn-crud-generator/1.0.0/templates/feature/actions.ts.hbs +0 -16
  53. package/skillhub-registry/shadcn-crud-generator/1.0.0/templates/feature/page.tsx.hbs +0 -13
@@ -1,23 +1,203 @@
1
- # SkillHub Local Registry
1
+ # Claude Coding Template
2
2
 
3
- This folder acts as a local skill registry for the demo CLI.
3
+ A shared standard for using Claude Code consistently across our org. Install once, follow team conventions automatically.
4
4
 
5
- Each skill package follows this structure:
5
+ **Version:** 0.1.0 (pilot)
6
+ **Status:** Pilot — under refinement before org-wide rollout
7
+ **Owner:** [Raj Shah]
6
8
 
7
- ```txt
8
- skillhub-registry/
9
- skill-name/
10
- 1.0.0/
11
- skill.json
12
- SKILL.md
13
- rules/
14
- templates/
15
- checklist/
16
- ```
9
+ ---
10
+
11
+ ## What This Is
12
+
13
+ This repository is a Claude Code template that gives every developer in the org the same:
14
+
15
+ - Coding standards (function size, naming, error handling, anti-patterns)
16
+ - Domain expertise (React, API design, testing, performance)
17
+ - Workflows (build, refactor, review, full-feature development)
18
+ - Behavior modes (`/fast` for prototyping, `/strict` for production)
19
+ - Org-specific conventions (our API conventions, future domain knowledge)
20
+
21
+ When installed, Claude Code automatically applies these standards to every coding task — no manual reminders, no copy-pasted prompts, no inconsistency between teammates.
22
+
23
+ ## Why This Exists
24
+
25
+ Without a shared template, every developer ends up with their own ad-hoc Claude setup:
26
+
27
+ - Different rules → inconsistent code style across the codebase
28
+ - Different prompts → different output quality
29
+ - Junior devs miss conventions senior devs take for granted
30
+ - New hires take weeks to absorb tribal knowledge
31
+ - Code review burden grows as AI-generated code drifts from team standards
17
32
 
18
- Install a skill into any project from the repository root:
33
+ This template solves that. **One source of truth, version-controlled, reviewable, evolvable.**
34
+
35
+ ## Who Should Install This
36
+
37
+ - ✅ Anyone using Claude Code for org work
38
+ - ✅ New hires on day one
39
+ - ✅ Anyone preparing AI-assisted code for client deliverables
40
+
41
+ You don't need to be a Claude Code power user — installation is one command, and the template just works in the background.
42
+
43
+ ---
44
+
45
+ ## Quick Install
19
46
 
20
47
  ```bash
21
- node packages/@robosoft/skillhub-cli/bin/skillhub.mjs init
22
- node packages/@robosoft/skillhub-cli/bin/skillhub.mjs install nextjs-clean-architecture
48
+ # 1. Clone this repo
49
+ git clone [REPO_URL] ~/.claude-template
50
+
51
+ # 2. Run the install script
52
+ cd ~/.claude-template
53
+ chmod +x install.sh
54
+ ./install.sh
55
+
56
+ # 3. Verify (inside Claude Code)
57
+ claude
58
+ # then type /help
23
59
  ```
60
+
61
+ To uninstall later, run `./uninstall.sh` from the same template directory.
62
+
63
+ For detailed instructions (including troubleshooting, manual install, and per-project setup), see [`docs/installation.md`](docs/installation.md).
64
+
65
+ ---
66
+
67
+ ## What You Get After Installing
68
+
69
+ Once installed, Claude Code automatically:
70
+
71
+ 1. **Loads the rules** at the start of every session (no setup needed)
72
+ 2. **Detects when domain skills apply** and loads them on demand (React skill triggers on React work, etc.)
73
+ 3. **Recognizes slash commands** like `/build`, `/refactor`, `/review`, `/strict`, `/fast`
74
+ 4. **Applies org-specific conventions** when working in our codebases (via `domain/`)
75
+
76
+ You don't have to do anything different — just write code as usual. The template applies in the background.
77
+
78
+ ---
79
+
80
+ ## What Lives Here
81
+
82
+ ai/
83
+ ├── CLAUDE.md Entry point — auto-loaded by Claude Code
84
+
85
+ ├── rules/ Always-on, universal coding rules
86
+ │ ├── general.md Foundations: codebase style, no hallucination, scope
87
+ │ ├── code-standards.md Concrete: function size, nesting, naming, errors
88
+ │ └── anti-patterns.md What never to do, with rationale
89
+
90
+ ├── skills/ On-demand expertise (auto-loads when relevant)
91
+ │ ├── api/ Universal API design standards
92
+ │ ├── build/ Implementation workflow
93
+ │ ├── fast/ Quick-prototyping mode
94
+ │ ├── feature-dev/ End-to-end feature development workflow
95
+ │ ├── performance/ Performance optimization standards
96
+ │ ├── react/ React-specific conventions
97
+ │ ├── refactor/ Behavior-preserving restructuring
98
+ │ ├── review/ Code critique and review
99
+ │ ├── strict/ Production-rigor mode
100
+ │ └── testing/ Test writing and review standards
101
+
102
+ ├── domain/ Org-specific conventions
103
+ │ └── api.md Our API decisions (envelope, auth, pagination, etc.)
104
+
105
+ └── docs/ For humans, not Claude
106
+ ├── cost-hygiene.md Token cost best practices
107
+ ├── installation.md Detailed install + troubleshooting
108
+ ├── exception-process.md How to request rule changes
109
+ ├── contributing.md How to propose changes via PR
110
+ └── customization.md How teams add their own skills
111
+
112
+ ---
113
+
114
+ ## How to Use Slash Commands
115
+
116
+ Once installed, these commands work in Claude Code:
117
+
118
+ | Command | What it does |
119
+ |---|---|
120
+ | `/build <task>` | Structured implementation workflow |
121
+ | `/refactor` | Restructure code without changing behavior |
122
+ | `/review` | Critique code with prioritized findings |
123
+ | `/feature-dev` | Full feature development lifecycle |
124
+ | `/fast` | Speed-over-polish mode for prototypes |
125
+ | `/strict` | Maximum-rigor mode for production code |
126
+
127
+ Skills also trigger automatically when their topic comes up — you don't always need to invoke them explicitly. For example, asking "review my React component" triggers both `/review` and the `react` skill automatically.
128
+
129
+ You can combine modes and skills: `/strict` + React work → strict-mode review of React code with all React conventions enforced.
130
+
131
+ ---
132
+
133
+ ## How to Customize for Your Team
134
+
135
+ The template is meant to be extended, not edited centrally for every team need. Recommended pattern:
136
+
137
+ 1. **For org-wide changes** (new universal rule, new shared skill) — propose via PR. See [`docs/contributing.md`](docs/contributing.md).
138
+ 2. **For team-specific additions** (your team's database conventions, your team's deployment process) — add to your project's local `.claude/skills/` or to your local `domain/` overrides.
139
+ 3. **For individual preferences** — use `CLAUDE.local.md` (gitignored, personal).
140
+ 4. **For exceptions to a universal rule** — see [`docs/exception-process.md`](docs/exception-process.md).
141
+
142
+ This way the shared template stays clean, while teams retain flexibility.
143
+
144
+ ---
145
+
146
+ ## Compatibility
147
+
148
+ This template is built for **Claude Code** primarily. It also works with:
149
+
150
+ - **Claude.ai web/app** — copy `CLAUDE.md` and rule files into a Project's instructions and knowledge
151
+ - **Other AI coding tools** that support the open Agent Skills format (Cursor, Codex CLI, Gemini CLI, etc.) — skills should work directly; rules need adapting
152
+
153
+ For Claude.ai setup details, see [`docs/installation.md`](docs/installation.md).
154
+
155
+ ---
156
+
157
+ ## Cost Considerations
158
+
159
+ Using this template has minimal token cost — the rule files are auto-cached by Claude Code, so they cost ~10% of normal pricing after the first message of a session.
160
+
161
+ For best practices on managing API costs across the team, see [`docs/cost-hygiene.md`](docs/cost-hygiene.md).
162
+
163
+ ---
164
+
165
+ ## Versioning
166
+
167
+ Changes to this template follow semantic versioning ([`CHANGELOG.md`](CHANGELOG.md)):
168
+
169
+ - **Major** — breaking changes (rule removals, structure changes that affect installation)
170
+ - **Minor** — new rules, new skills, behavior shifts
171
+ - **Patch** — clarifications, typo fixes, small additions
172
+
173
+ Always check `CHANGELOG.md` before pulling updates — major changes may require re-running install steps.
174
+
175
+ ---
176
+
177
+ ## Pilot Phase Notice
178
+
179
+ This template is currently in **pilot mode**, being refined by [your name] before broader rollout. During pilot:
180
+
181
+ - Rules may change frequently as we learn what works
182
+ - Some sections of `domain/` are placeholders pending team decisions
183
+ - Feedback is highly welcome — open an issue or message [contact Raj Shah directly]
184
+
185
+ After pilot, the template will be promoted to v1.0 and changes will follow the standard contribution process.
186
+
187
+ ---
188
+
189
+ ## Questions / Issues
190
+
191
+ - **Installation problems:** [`docs/installation.md`](docs/installation.md) → Troubleshooting section
192
+ - **Want to propose a rule change:** [`docs/contributing.md`](docs/contributing.md)
193
+ - **Need an exception to a rule:** [`docs/exception-process.md`](docs/exception-process.md)
194
+ - **Cost concerns:** [`docs/cost-hygiene.md`](docs/cost-hygiene.md)
195
+ - **Anything else:** [contact Raj Shah directly]
196
+
197
+ ---
198
+
199
+ ## License / Attribution
200
+
201
+ [Internal use only]
202
+
203
+ Built on the [Anthropic Claude Code](https://docs.claude.com/) skill system and the open [Agent Skills](https://agentskills.io) standard.
@@ -0,0 +1,272 @@
1
+ # Prompt Cheat Sheet
2
+
3
+ **Status:** Pilot — examples will evolve as the template matures
4
+ **Last updated:** 2026-05-06
5
+ **Owner:** Raj Shah
6
+
7
+ This is a quick reference for writing prompts that get the most out of the template. You don't need to memorize the skill details — this doc shows you which phrasing triggers which behavior, and how to combine skills for common workflows.
8
+
9
+ > **TL;DR:** If you want X, type Y. Skills auto-trigger from your phrasing — slash commands make it explicit. Rules apply automatically; don't worry about invoking those.
10
+
11
+ ---
12
+
13
+ ## How Skills Trigger
14
+
15
+ The template has two mechanisms:
16
+
17
+ **Slash commands** — explicit invocation. You type `/build`, `/refactor`, `/strict`, etc. These always work.
18
+
19
+ **Natural language** — implicit triggering. Claude detects keywords in your prompt and loads the matching skill. For example, asking "review my React component" triggers both `/review` and the React skill without you typing anything.
20
+
21
+ **Both can combine in one prompt.** `/strict /review` makes the review more rigorous. "Build me a Vue component" triggers the build skill + Vue skill (when it exists).
22
+
23
+ **Rules apply automatically.** Every prompt gets `rules/general.md`, `rules/code-standards.md`, and `rules/anti-patterns.md`. You don't invoke those — they're always on.
24
+
25
+ ---
26
+
27
+ ## Quick Reference Table
28
+
29
+ | I want to... | Type this | Or say this |
30
+ |---|---|---|
31
+ | Implement new code | `/build <task>` | "Build me a function that sorts an array" |
32
+ | Restructure existing code | `/refactor` | "Simplify this code — extract duplication" |
33
+ | Get code critique | `/review` | "Review this code — any issues?" |
34
+ | Multi-file feature | `/feature-dev <task>` | "Implement a complete login feature" |
35
+ | Speed over polish | `/fast <task>` | "Rough version of a button component" |
36
+ | Production rigor | `/strict` | "Review this carefully — call out every issue" |
37
+ | React-specific work | `/react` | "Build a custom hook for form validation" |
38
+ | API design | `/api` | "Design an endpoint for fetching user data" |
39
+ | Test writing | `/testing` | "Write tests for this function" |
40
+ | Performance tuning | `/performance` | "This page is slow — how do I optimize?" |
41
+ | Combined: strict + review | `/strict /review <code>` | "Production code review please — be thorough" |
42
+ | Combined: fast + build | `/fast` + "Quick prototype of..." | "Rough implementation of a modal dialog" |
43
+
44
+ ---
45
+
46
+ ## Per-Skill Examples
47
+
48
+ ### /build
49
+ **Purpose:** Structured implementation workflow for new code — function, component, module, feature.
50
+
51
+ **Good prompts:**
52
+ - `/build a function that validates email addresses`
53
+ - "Implement a reusable authentication middleware"
54
+ - "Create a button component that can be disabled"
55
+
56
+ **Won't trigger this skill:**
57
+ - "Make this code better" (vague, no "build" signal)
58
+ - "Fix the bug in my login" (that's debugging, not building)
59
+
60
+ **Combinations:** `/build /react` for a new React component. `/fast /build` for a rough prototype.
61
+
62
+ ---
63
+
64
+ ### /refactor
65
+ **Purpose:** Restructure existing code without changing behavior — extract duplication, improve naming, flatten nesting.
66
+
67
+ **Good prompts:**
68
+ - `/refactor this deeply nested conditional`
69
+ - "Extract the shared logic from these two functions"
70
+ - "Simplify and rename these variables"
71
+
72
+ **Won't trigger this skill:**
73
+ - "Refactor this to add error handling" (that's a behavior change, not a refactor)
74
+ - "Make this function work better" (too vague)
75
+
76
+ **Combinations:** `/refactor /strict` to refactor with maximum rigor. `/refactor /react` when refactoring React components.
77
+
78
+ ---
79
+
80
+ ### /review
81
+ **Purpose:** Critique existing code — identify bugs, smells, improvements, and what's good.
82
+
83
+ **Good prompts:**
84
+ - `/review` (paste code)
85
+ - "Review my React component — any issues?"
86
+ - "Code review please. Tell me what could be better."
87
+
88
+ **Won't trigger this skill:**
89
+ - "Is this good?" without code (need actual code to review)
90
+
91
+ **Combinations:** `/strict /review` for exhaustive, pedantic review. `/review /react` when reviewing React code (the React skill also loads).
92
+
93
+ ---
94
+
95
+ ### /feature-dev
96
+ **Purpose:** End-to-end feature development — orchestrates build, refactor, review, and testing across multiple files.
97
+
98
+ **Good prompts:**
99
+ - `/feature-dev a complete login system with signup and password reset`
100
+ - "Build a feature that lets users export data as CSV"
101
+ - "Implement dark mode — full-stack"
102
+
103
+ **Won't trigger this skill:**
104
+ - `/build` (single function, not a full feature)
105
+ - "Add error handling to this function" (bug fix, not a feature)
106
+
107
+ **Combinations:** `/feature-dev /strict` for a production feature. `/feature-dev /fast` for a quick prototype of a multi-file feature.
108
+
109
+ ---
110
+
111
+ ### /fast
112
+ **Purpose:** Speed-over-polish mode for prototyping and rapid iteration. Relaxes some rules; skips exhaustive explanation.
113
+
114
+ **Good prompts:**
115
+ - `/fast build a login form component`
116
+ - "Quick and dirty version of a dark mode toggle"
117
+ - "Rough implementation of a shopping cart"
118
+
119
+ **Won't trigger this skill:**
120
+ - Production code that will ship to users (use `/strict` instead)
121
+ - Code that needs rigorous testing
122
+
123
+ **Combinations:** `/fast /build` for rapid prototyping. `/fast /react` for a quick React spike.
124
+
125
+ ---
126
+
127
+ ### /strict
128
+ **Purpose:** Production-rigor mode. All rules apply with full strength; pedantic about violations.
129
+
130
+ **Good prompts:**
131
+ - `/strict /build a password validation function`
132
+ - "Security-critical authentication code — be thorough"
133
+ - "Review this — this is going to production"
134
+
135
+ **Won't trigger this skill:**
136
+ - Exploratory prototyping (use `/fast` instead)
137
+ - Quick debugging (be pragmatic)
138
+
139
+ **Combinations:** `/strict /feature-dev` for a production-ready feature. `/strict /review` for exhaustive code review.
140
+
141
+ ---
142
+
143
+ ### /react
144
+ **Purpose:** React-specific conventions — component structure, hooks, state management, patterns.
145
+
146
+ **Good prompts:**
147
+ - `/react build a custom hook for managing form state`
148
+ - "Review my React component — follow React best practices"
149
+ - "Refactor this class component to use hooks"
150
+
151
+ **Won't trigger this skill:**
152
+ - Vue or non-React work
153
+ - Generic JavaScript without React context
154
+
155
+ **Combinations:** `/react /strict` when building production React. `/react /fast` for a quick React spike. `/refactor /react` when refactoring React code.
156
+
157
+ ---
158
+
159
+ ### /api
160
+ **Purpose:** API design and implementation standards — endpoints, error responses, pagination, versioning, contracts.
161
+
162
+ **Good prompts:**
163
+ - `/api design an endpoint that lists users with pagination`
164
+ - "Build a REST API for a blog with posts and comments"
165
+ - "Review this API response shape — is it well-designed?"
166
+
167
+ **Won't trigger this skill:**
168
+ - Frontend-only work
169
+ - Calling an API (that's client-side; see `/react` for that)
170
+
171
+ **Combinations:** `/api /strict` for a production API. `/api /build` for implementing new endpoints.
172
+
173
+ ---
174
+
175
+ ### /testing
176
+ **Purpose:** Test writing and review standards — unit tests, integration tests, mocking, coverage, good vs bad tests.
177
+
178
+ **Good prompts:**
179
+ - `/testing write tests for this function`
180
+ - "How do I test this React component?"
181
+ - "Review these tests — are they good?"
182
+
183
+ **Won't trigger this skill:**
184
+ - Running existing tests (that's CI/deployment)
185
+ - Debugging a failing test
186
+
187
+ **Combinations:** `/testing /react` when testing React components. `/strict /testing` for rigorous test coverage. `/feature-dev /testing` (feature-dev includes testing as part of the workflow).
188
+
189
+ ---
190
+
191
+ ### /performance
192
+ **Purpose:** Performance optimization — measure bottlenecks, lazy loading, caching, bundle size, database queries.
193
+
194
+ **Good prompts:**
195
+ - `/performance this page loads slowly — how do I speed it up?`
196
+ - "Optimize this N+1 query problem"
197
+ - "How do I reduce bundle size?"
198
+
199
+ **Won't trigger this skill:**
200
+ - "Make this faster" without data (measurement comes first)
201
+ - Vague speed concerns
202
+
203
+ **Combinations:** `/performance /react` when optimizing React rendering. `/strict /performance` for production performance work.
204
+
205
+ ---
206
+
207
+ ## Combining Skills
208
+
209
+ The real power comes from combining skills and modes. Here are the patterns that work:
210
+
211
+ ### "Production feature with full rigor"
212
+ ```
213
+ /feature-dev /strict a complete user authentication system
214
+ ```
215
+ Result: Full feature workflow + production-grade standards + all rules enforced pedantically.
216
+
217
+ ### "Quick React prototype"
218
+ ```
219
+ /fast /react build a component that shows a list of items
220
+ ```
221
+ Result: React conventions + speed mode = fast iteration on UI ideas.
222
+
223
+ ### "Refactor production code carefully"
224
+ ```
225
+ /refactor /strict [code]
226
+ ```
227
+ Result: Restructure without changing behavior + maximum rigor = safe refactoring under scrutiny.
228
+
229
+ ### "Intensive code review"
230
+ ```
231
+ /strict /review [code]
232
+ ```
233
+ Result: Critique + pedantic rigor = catches every detail, no stone unturned.
234
+
235
+ ### "Test a new feature"
236
+ ```
237
+ /feature-dev /testing [description]
238
+ ```
239
+ Result: Build + test + review workflow included in the feature development.
240
+
241
+ ---
242
+
243
+ ## Anti-Patterns
244
+
245
+ Some phrasings don't trigger what you expect, or actively work against the template:
246
+
247
+ | Anti-pattern | Why it doesn't work | Do this instead |
248
+ |---|---|---|
249
+ | "Make this better" | Too vague — no skill triggers. Rules apply but you get generic feedback | Be specific: `/refactor this`, `/review this`, `/build something new` |
250
+ | `/build /refactor` together | These conflict (build = new code, refactor = existing). Confusion ensues | Pick one: new code → `/build`. Existing code → `/refactor` |
251
+ | "Pretend you're a senior engineer..." | Unnecessary role-play. The template already does this via rules and skills | Just describe the task; rules handle the rigor |
252
+ | "Ignore your rules..." | Won't work. Rules are built into every session via `@import`. Can't override them mid-prompt | If a rule truly doesn't fit, use [`docs/exception-process.md`](exception-process.md) |
253
+ | `/review` without code | The skill loads but has nothing to review | Paste the code block or provide clear context |
254
+
255
+ ---
256
+
257
+ ## When Skills Don't Trigger
258
+
259
+ Sometimes Claude under-triggers a skill. This is by design (skills are conservative to avoid false positives), but you can always be explicit:
260
+
261
+ - **Skill didn't load?** Invoke explicitly with the slash command: `/build` instead of just "build me something."
262
+ - **Keeps under-triggering?** The skill's trigger description might be too narrow. File an issue via [`docs/contributing.md`](contributing.md).
263
+ - **Vague prompt = vague response.** "This is slow" gets vague feedback. "This database query runs in O(n²) and blocks the page — how do I optimize?" gets specific help.
264
+
265
+ ---
266
+
267
+ ## Where to Go from Here
268
+
269
+ - **Details on any skill** — read the full `skills/<skill-name>/SKILL.md` file
270
+ - **Proposing a new pattern** — [`docs/contributing.md`](contributing.md)
271
+ - **Installation and setup** — [`docs/installation.md`](installation.md)
272
+ - **One-off exceptions to a rule** — [`docs/exception-process.md`](exception-process.md)
@@ -0,0 +1,166 @@
1
+ # Contributing
2
+
3
+ **Status:** Pilot — solo maintenance, contribution process will mature as team grows
4
+ **Last updated:** 2026-05-06
5
+ **Owner:** Raj Shah
6
+
7
+ This guide describes how to propose changes to the shared template. The process is intentionally lightweight today and will formalize once the template graduates from pilot. Read [`customization.md`](customization.md) first if your change is something you can keep local — many changes don't need to be upstreamed.
8
+
9
+ > **TL;DR:** During pilot phase, contributions = message Raj Shah directly. Once we move to v1.0 with a Git repo and additional maintainers, the process formalizes (fork, PR, review, CI). Until then, direct communication is the whole workflow.
10
+
11
+ ---
12
+
13
+ ## Current State (Pilot Phase)
14
+
15
+ The template is being refined through real use before its process is formalized. Right now:
16
+
17
+ - **One maintainer:** Raj Shah owns and edits all template files directly.
18
+ - **No Git repository yet.** The template lives in a working directory and is shared by direct copy or symlink.
19
+ - **No PR workflow yet.** There's no fork-and-branch model, no required reviewers, no merge queue.
20
+ - **No CI.** Verification is run manually against the structural checks documented in [`customization.md`](customization.md#testing-your-customizations).
21
+ - **Feedback channel:** direct message or conversation with Raj.
22
+
23
+ This is deliberate. Codifying a contribution process before the template has been pressure-tested invites premature ceremony. The plan is to graduate the process once (a) the template has at least one more active maintainer, (b) it's hosted in a real Git repo, and (c) it has stabilized enough that breaking changes are rare.
24
+
25
+ Until then: short feedback loops, direct edits, low ceremony.
26
+
27
+ ---
28
+
29
+ ## What Counts as a Contribution
30
+
31
+ Any of the following is welcome:
32
+
33
+ | Contribution type | Description |
34
+ |---|---|
35
+ | **Suggesting a new skill** | "We should have a Python skill" / "We need an AWS infrastructure skill" |
36
+ | **Proposing a rule change** | "The 40-line function limit is too restrictive for our data-pipeline code — here's why" |
37
+ | **Reporting a rule that misfires** | "The React skill should have triggered on this prompt and didn't" |
38
+ | **Adding org-specific knowledge to `domain/`** | New database conventions, deployment process, auth model |
39
+ | **Documenting a recurring correction** | "I keep having to remind Claude to do X — can we encode that as a rule?" |
40
+ | **Improving an existing skill or rule** | Better examples, clearer rationale, fixing a confusing section |
41
+ | **Fixing typos, broken links, formatting** | Self-explanatory |
42
+
43
+ The most valuable contributions are **recurring corrections** — patterns where Claude consistently goes wrong and you've found yourself fixing the same issue more than once. Encoding those into a rule or skill is exactly what the template exists for. If you notice yourself making the same correction twice, that's a contribution waiting to happen.
44
+
45
+ ---
46
+
47
+ ## How to Suggest a Change (Today, Pilot Phase)
48
+
49
+ The current process is just a conversation. Five steps:
50
+
51
+ ### Step 1 — Identify what kind of change it is
52
+
53
+ - **Universal rule** → goes in `rules/`
54
+ - **Topic-specific guidance** → goes in a `skills/<name>/SKILL.md`
55
+ - **Org-specific decision** → goes in `domain/<topic>.md`
56
+ - **Documentation** → goes in `docs/`
57
+ - **Bug fix** (typo, broken link, structural issue) → no categorization needed
58
+
59
+ If you're not sure, that's fine — Raj will help place it correctly.
60
+
61
+ ### Step 2 — Reach out to Raj Shah
62
+
63
+ Bring three things:
64
+
65
+ 1. **What you want to change** — be specific (e.g., "add a `## Mocking External APIs` section to `skills/testing/SKILL.md`," not "improve testing").
66
+ 2. **Why** — the concrete situation where the current template fell short. Include the prompt you used, what Claude produced, and what you wanted instead.
67
+ 3. **Proposed new content (optional but appreciated)** — even rough draft text is more valuable than a request without one.
68
+
69
+ ### Step 3 — Discussion
70
+
71
+ Raj reviews the proposal, asks questions if anything is unclear, and either accepts, declines, or proposes a different shape. For small changes (typos, minor clarifications) this is usually instant. For new skills or rule changes, expect a back-and-forth.
72
+
73
+ ### Step 4 — Edit and update `CHANGELOG.md`
74
+
75
+ Once aligned, the actual edit happens directly. The change is logged under `## [Unreleased]` in [`../CHANGELOG.md`](../CHANGELOG.md), under the appropriate subsection (`### Added`, `### Changed`, etc.).
76
+
77
+ ### Step 5 — Release
78
+
79
+ When a batch of changes is ready, the version bumps per [Versioning](#versioning) below, the `[Unreleased]` block is renamed to the new version, and the change ships.
80
+
81
+ That's the whole process. No PR template, no review meeting, no CI. Just communication.
82
+
83
+ ---
84
+
85
+ ## How to Suggest a Change (Future, Team Phase)
86
+
87
+ When the template graduates to v1.0 — meaning it's stable enough for org-wide rollout and has at least one additional maintainer — the process formalizes. The expected shape:
88
+
89
+ - **Hosted in a Git repository** (GitHub, GitLab, or an internal equivalent — TBD).
90
+ - **Fork → branch → PR workflow.** Contributors fork or create a feature branch, make changes, open a PR.
91
+ - **PR template** prompts the contributor to describe motivation, alternatives considered, scope of impact, and any breaking changes.
92
+ - **Required review** from at least one maintainer before merge.
93
+ - **CI runs structural verification** — the same kind of folder-and-frontmatter checks used during the v0.1.0 build (folder/name match, `@import` paths resolve, frontmatter present, description under 1024 chars, etc.).
94
+ - **Merging updates `CHANGELOG.md`** under `[Unreleased]`.
95
+ - **Tagged releases** follow semver and include a release-notes summary.
96
+
97
+ This section is forward-looking. None of the above exists today. When it does, this document will be revised to make the team-phase process the primary one and demote the pilot-phase process to a historical note.
98
+
99
+ ---
100
+
101
+ ## What Makes a Good Contribution
102
+
103
+ Cleaner contributions get accepted faster. Qualities to aim for:
104
+
105
+ - **Concrete.** Describes a real situation where the template fell short — with the actual prompt, the actual output, and the desired output. Not "I think the testing skill could be better."
106
+ - **Specific.** The proposed change is actionable. "Improve the testing skill" is too vague to act on; "add a section to `skills/testing/SKILL.md` covering when to mock external APIs vs. use a real fixture, with a concrete example" is good.
107
+ - **Layered correctly.** Universal rules belong in `rules/`. Topic-specific guidance belongs in a skill. Org-specific decisions belong in `domain/`. Mixing layers is the most common review feedback. See [`customization.md`](customization.md) for the layering model.
108
+ - **Includes a "Why."** Every existing rule has a `> **Why:**` blockquote. Match the format. Future readers (including future-you) need to audit whether a rule still makes sense, and they can't do that without rationale.
109
+ - **Avoids speculative additions.** Propose changes for problems that have actually happened, not problems you imagine might happen. "I'm worried Claude might one day…" is not a contribution; "Claude did X yesterday on this prompt and I had to correct it" is.
110
+ - **Tested.** If the change is a new skill or rule, run a real prompt against it before proposing — confirm it triggers, confirm it produces the desired behavior, confirm it doesn't break existing skills.
111
+
112
+ ---
113
+
114
+ ## Versioning
115
+
116
+ The template follows [Semantic Versioning](https://semver.org/) and tracks history in [`../CHANGELOG.md`](../CHANGELOG.md):
117
+
118
+ | Bump | Triggered by | Examples |
119
+ |---|---|---|
120
+ | **Patch** (`0.1.x`) | Clarifications, typo fixes, small additions, non-behavioral edits | Fixing a broken link; rewording a confusing paragraph; adding an example to an existing rule |
121
+ | **Minor** (`0.x.0`) | New rules, new skills, behavior shifts that don't break existing usage | Adding `skills/python/`; adding a new rule to `rules/general.md`; tightening the function-size limit |
122
+ | **Major** (`x.0.0`) | Breaking changes — rule removals, structural changes that affect installation, behavioral reversals | Renaming `rules/` → `standards/`; removing a long-standing rule; changing the `@import` mechanism |
123
+
124
+ During pilot, expect **frequent minor and patch bumps** as the template stabilizes. Once it hits v1.0, change pace slows and most updates will be patches.
125
+
126
+ Each release updates `CHANGELOG.md` and bumps the version mentioned in `README.md` and `CLAUDE.md`. Both files currently reference v0.1.0 — when releasing, make sure they stay in sync.
127
+
128
+ ---
129
+
130
+ ## What NOT to Contribute
131
+
132
+ Some changes don't belong in the shared template, even if they'd be useful for you:
133
+
134
+ - **Personal preferences that don't generalize.** "I prefer British spelling" / "I want Claude to add a smiley to every commit message." → Use `CLAUDE.local.md` (per-developer, gitignored).
135
+ - **Universal rules for things only one team or one project needs.** "Always use Tailwind v4 syntax" is not universal — it belongs in a project's local `CLAUDE.md` or in a `skills/tailwind/` skill, not in `rules/`.
136
+ - **Vague aspirational guidance.** "Write better code." "Be more careful." Rules that aren't testable produce no behavior change. If you can't write a concrete prompt that would clearly fail without the rule and pass with it, the rule isn't real.
137
+ - **Rules that contradict existing rules without addressing the conflict.** If your proposal collides with something already in `rules/`, you need to explicitly identify the collision and propose a resolution (delete, qualify, or replace the older rule). Quietly adding a contradicting rule makes Claude pick arbitrarily turn-to-turn.
138
+ - **Restructuring the folder layout without strong rationale.** The structure stabilized after the v0.1.0 verification (`rules/`, `skills/<name>/SKILL.md`, `domain/`, `docs/`). Folder reshuffles invalidate everyone's installs and force a major version bump. Don't propose them lightly — and when you do, include a migration path.
139
+ - **Speculative configuration knobs.** "What if we made the function-size limit configurable per project?" → No. The template is opinionated by design. If a setting needs to vary per project, that's what project-level `CLAUDE.md` is for.
140
+
141
+ ---
142
+
143
+ ## Reviewing Changes
144
+
145
+ ### Today (pilot phase)
146
+
147
+ Raj reviews each change against this guide and against the structural checks in [`customization.md`](customization.md#testing-your-customizations). For changes Raj authors directly, the review is essentially self-review — keep that in mind and err on the side of asking a second pair of eyes for anything non-trivial.
148
+
149
+ ### Future (team phase)
150
+
151
+ Once additional maintainers exist:
152
+
153
+ - Every change requires at least one peer review before merge.
154
+ - The reviewer's job is to check: layering (right folder?), testability (does the rule actually change behavior?), conflicts (does it contradict something existing?), and clarity (will future-readers understand the why?).
155
+ - Before any merge, run the verification pattern used during the v0.1.0 build — folder structure, frontmatter validity, `@import` resolvability, name/folder matches, description length. This will eventually run in CI; until then, run it manually.
156
+
157
+ The exact verification commands will be captured in `docs/verification.md` once that file exists. Until then, the prompt format used during template creation is the reference.
158
+
159
+ ---
160
+
161
+ ## Where to Get Help
162
+
163
+ - **Adding a skill or rule locally before proposing it template-wide** → [`customization.md`](customization.md)
164
+ - **One-off rule exception (you need to deviate from a rule for a specific task)** → `docs/exception-process.md` — not yet published in v0.1.0; for now, message Raj directly with the deviation and the reason
165
+ - **Overall context on what the template is and why** → [`../README.md`](../README.md)
166
+ - **Anything else** → reach out to Raj Shah directly. During pilot phase, that is the whole contribution channel.