cmp-standards 2.6.0 → 2.8.0-alpha
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.
- package/README.md +633 -633
- package/dist/cache/EmbeddingCache.d.ts +109 -0
- package/dist/cache/EmbeddingCache.d.ts.map +1 -0
- package/dist/cache/EmbeddingCache.js +239 -0
- package/dist/cache/EmbeddingCache.js.map +1 -0
- package/dist/cache/index.d.ts +6 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +6 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/db/turso-client.js +11 -11
- package/dist/eslint/rules/no-async-useeffect.js +6 -6
- package/dist/events/EventBus.d.ts +87 -0
- package/dist/events/EventBus.d.ts.map +1 -0
- package/dist/events/EventBus.js +200 -0
- package/dist/events/EventBus.js.map +1 -0
- package/dist/events/index.d.ts +7 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +9 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/types.d.ts +989 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +136 -0
- package/dist/events/types.js.map +1 -0
- package/dist/experts/ConsensusEngine.d.ts +57 -0
- package/dist/experts/ConsensusEngine.d.ts.map +1 -0
- package/dist/experts/ConsensusEngine.js +146 -0
- package/dist/experts/ConsensusEngine.js.map +1 -0
- package/dist/experts/ExpertPanelService.d.ts +84 -0
- package/dist/experts/ExpertPanelService.d.ts.map +1 -0
- package/dist/experts/ExpertPanelService.js +204 -0
- package/dist/experts/ExpertPanelService.js.map +1 -0
- package/dist/experts/ExpertRouter.d.ts +68 -0
- package/dist/experts/ExpertRouter.d.ts.map +1 -0
- package/dist/experts/ExpertRouter.js +374 -0
- package/dist/experts/ExpertRouter.js.map +1 -0
- package/dist/experts/VoteCollector.d.ts +58 -0
- package/dist/experts/VoteCollector.d.ts.map +1 -0
- package/dist/experts/VoteCollector.js +146 -0
- package/dist/experts/VoteCollector.js.map +1 -0
- package/dist/experts/index.d.ts +9 -0
- package/dist/experts/index.d.ts.map +1 -0
- package/dist/experts/index.js +13 -0
- package/dist/experts/index.js.map +1 -0
- package/dist/hooks/cloud-pre-tool-use.js +20 -20
- package/dist/hooks/expert-review.d.ts +74 -0
- package/dist/hooks/expert-review.d.ts.map +1 -0
- package/dist/hooks/expert-review.js +220 -0
- package/dist/hooks/expert-review.js.map +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -1
- package/dist/performance/Debouncer.d.ts +91 -0
- package/dist/performance/Debouncer.d.ts.map +1 -0
- package/dist/performance/Debouncer.js +198 -0
- package/dist/performance/Debouncer.js.map +1 -0
- package/dist/performance/MemoryDecay.d.ts +82 -0
- package/dist/performance/MemoryDecay.d.ts.map +1 -0
- package/dist/performance/MemoryDecay.js +153 -0
- package/dist/performance/MemoryDecay.js.map +1 -0
- package/dist/performance/index.d.ts +7 -0
- package/dist/performance/index.d.ts.map +1 -0
- package/dist/performance/index.js +9 -0
- package/dist/performance/index.js.map +1 -0
- package/dist/schema/expert-types.d.ts +395 -0
- package/dist/schema/expert-types.d.ts.map +1 -0
- package/dist/schema/expert-types.js +250 -0
- package/dist/schema/expert-types.js.map +1 -0
- package/dist/schema/plans.d.ts +16 -16
- package/dist/schema/tracking.d.ts +90 -90
- package/dist/services/ContextGenerator.js +7 -7
- package/dist/services/ProjectScaffold.js +76 -76
- package/dist/services/context-injector.d.ts +6 -0
- package/dist/services/context-injector.d.ts.map +1 -1
- package/dist/services/context-injector.js +43 -3
- package/dist/services/context-injector.js.map +1 -1
- package/dist/services/memory-router.d.ts +25 -1
- package/dist/services/memory-router.d.ts.map +1 -1
- package/dist/services/memory-router.js +176 -32
- package/dist/services/memory-router.js.map +1 -1
- package/dist/services/pattern-tracker.d.ts +5 -1
- package/dist/services/pattern-tracker.d.ts.map +1 -1
- package/dist/services/pattern-tracker.js +114 -36
- package/dist/services/pattern-tracker.js.map +1 -1
- package/dist/services/semantic-search.js +2 -2
- package/dist/types/index.d.ts +329 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +186 -9
- package/dist/types/index.js.map +1 -1
- package/package.json +105 -100
- package/standards/README.md +50 -50
- package/standards/experts/expert-routing.md +215 -215
- package/standards/general/code-quality.md +86 -86
- package/standards/general/memory-usage.md +205 -205
- package/standards/general/sync-workflow.md +235 -235
- package/standards/general/workflow.md +82 -82
- package/standards/hooks/mandatory-tracking.md +446 -446
- package/standards/infrastructure/cloud-database.md +287 -287
- package/standards/mcp/server-design.md +243 -243
- package/standards/mcp/tool-patterns.md +354 -354
- package/standards/skills/skill-structure.md +286 -286
- package/standards/skills/workflow-design.md +323 -323
- package/standards/tools/tool-design.md +297 -297
- package/templates/agents/architecture-expert.md +61 -61
- package/templates/agents/database-expert.md +62 -62
- package/templates/agents/documentation-expert.md +57 -57
- package/templates/agents/memory-expert.md +88 -88
- package/templates/agents/performance-expert.md +61 -61
- package/templates/agents/security-expert.md +59 -59
- package/templates/agents/ux-expert.md +63 -63
- package/templates/agents/worker.md +75 -75
- package/templates/ai-skills/SKILL_TEMPLATE.md +55 -55
- package/templates/claude-settings.json +72 -72
- package/templates/commands/experts.md +138 -138
- package/templates/hooks/README.md +158 -158
- package/templates/hooks/project.config.json.template +77 -77
- package/templates/hooks/settings.local.json.template +57 -57
- package/templates/memory-config.json +56 -56
- package/templates/memory-config.schema.json +212 -212
- package/templates/settings.json +58 -58
- package/templates/skills/continue.md +205 -205
- package/templates/workflows/business-improvement.md +264 -264
- package/templates/workflows/expert-review.md +153 -153
- package/templates/workflows/internal-app.md +245 -245
- package/templates/workflows/sync-docs.md +187 -187
|
@@ -1,286 +1,286 @@
|
|
|
1
|
-
# Estructura de Skills
|
|
2
|
-
|
|
3
|
-
## Qué es una Skill
|
|
4
|
-
|
|
5
|
-
Una **Skill** es un conjunto de instrucciones que Claude Code puede ejecutar. Se invocan con `/skill-name` y expanden a un prompt completo.
|
|
6
|
-
|
|
7
|
-
## Ubicaciones
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
.claude/
|
|
11
|
-
├── skills/ # Project skills
|
|
12
|
-
│ ├── commit.md
|
|
13
|
-
│ ├── review-pr.md
|
|
14
|
-
│ └── create-component.md
|
|
15
|
-
└── settings.json # Skill registration
|
|
16
|
-
|
|
17
|
-
~/.claude/
|
|
18
|
-
└── skills/ # Global skills
|
|
19
|
-
└── my-global-skill.md
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Anatomía de una Skill
|
|
23
|
-
|
|
24
|
-
```markdown
|
|
25
|
-
---
|
|
26
|
-
name: create-component
|
|
27
|
-
description: Create a new React component with tests
|
|
28
|
-
arguments:
|
|
29
|
-
- name: componentName
|
|
30
|
-
description: Name of the component
|
|
31
|
-
required: true
|
|
32
|
-
- name: type
|
|
33
|
-
description: Component type
|
|
34
|
-
enum: [page, feature, ui]
|
|
35
|
-
default: feature
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
# Create Component: {{componentName}}
|
|
39
|
-
|
|
40
|
-
## Instructions
|
|
41
|
-
|
|
42
|
-
1. Create the component file at `src/components/{{type}}/{{componentName}}.tsx`
|
|
43
|
-
2. Create the test file at `src/components/{{type}}/{{componentName}}.test.tsx`
|
|
44
|
-
3. Export from barrel file
|
|
45
|
-
|
|
46
|
-
## Component Template
|
|
47
|
-
|
|
48
|
-
```tsx
|
|
49
|
-
export function {{componentName}}() {
|
|
50
|
-
return <div>{{componentName}}</div>
|
|
51
|
-
}
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Test Template
|
|
55
|
-
|
|
56
|
-
```tsx
|
|
57
|
-
import { render, screen } from '@testing-library/react'
|
|
58
|
-
import { {{componentName}} } from './{{componentName}}'
|
|
59
|
-
|
|
60
|
-
describe('{{componentName}}', () => {
|
|
61
|
-
it('renders', () => {
|
|
62
|
-
render(<{{componentName}} />)
|
|
63
|
-
expect(screen.getByText('{{componentName}}')).toBeInTheDocument()
|
|
64
|
-
})
|
|
65
|
-
})
|
|
66
|
-
```
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## Frontmatter
|
|
70
|
-
|
|
71
|
-
```yaml
|
|
72
|
-
---
|
|
73
|
-
name: skill-name # Required: kebab-case
|
|
74
|
-
description: Brief desc # Required: <100 chars
|
|
75
|
-
arguments: # Optional: arguments
|
|
76
|
-
- name: argName
|
|
77
|
-
description: What it is
|
|
78
|
-
required: true/false
|
|
79
|
-
default: value
|
|
80
|
-
enum: [opt1, opt2]
|
|
81
|
-
---
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## Variables
|
|
85
|
-
|
|
86
|
-
Usar `{{variable}}` para interpolación:
|
|
87
|
-
|
|
88
|
-
```markdown
|
|
89
|
-
# Task: {{taskName}}
|
|
90
|
-
|
|
91
|
-
Working on component {{componentName}} in {{directory}}.
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
## Categorías de Skills
|
|
95
|
-
|
|
96
|
-
### 1. Workflow Skills
|
|
97
|
-
|
|
98
|
-
Automatizan flujos de trabajo comunes:
|
|
99
|
-
|
|
100
|
-
```markdown
|
|
101
|
-
---
|
|
102
|
-
name: commit
|
|
103
|
-
description: Create a git commit with conventional format
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
# Commit Changes
|
|
107
|
-
|
|
108
|
-
1. Run `git status` to see changes
|
|
109
|
-
2. Run `git diff` to review changes
|
|
110
|
-
3. Create commit message following conventional commits
|
|
111
|
-
4. Execute `git commit -m "message"`
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### 2. Generator Skills
|
|
115
|
-
|
|
116
|
-
Crean código/archivos:
|
|
117
|
-
|
|
118
|
-
```markdown
|
|
119
|
-
---
|
|
120
|
-
name: create-router
|
|
121
|
-
description: Create a new TRPC router
|
|
122
|
-
arguments:
|
|
123
|
-
- name: routerName
|
|
124
|
-
required: true
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
# Create Router: {{routerName}}
|
|
128
|
-
|
|
129
|
-
Create file at `src/server/api/routers/{{routerName}}.ts`
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### 3. Analysis Skills
|
|
133
|
-
|
|
134
|
-
Analizan código/proyecto:
|
|
135
|
-
|
|
136
|
-
```markdown
|
|
137
|
-
---
|
|
138
|
-
name: review-pr
|
|
139
|
-
description: Review pull request changes
|
|
140
|
-
arguments:
|
|
141
|
-
- name: prNumber
|
|
142
|
-
required: true
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
# Review PR #{{prNumber}}
|
|
146
|
-
|
|
147
|
-
1. Fetch PR changes
|
|
148
|
-
2. Analyze for security issues
|
|
149
|
-
3. Check code quality
|
|
150
|
-
4. Provide feedback
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### 4. Documentation Skills
|
|
154
|
-
|
|
155
|
-
Generan documentación:
|
|
156
|
-
|
|
157
|
-
```markdown
|
|
158
|
-
---
|
|
159
|
-
name: document-api
|
|
160
|
-
description: Generate API documentation
|
|
161
|
-
---
|
|
162
|
-
|
|
163
|
-
# Document API
|
|
164
|
-
|
|
165
|
-
1. Scan all TRPC routers
|
|
166
|
-
2. Extract procedure signatures
|
|
167
|
-
3. Generate markdown docs
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
## Registrar Skills
|
|
171
|
-
|
|
172
|
-
En `.claude/settings.json`:
|
|
173
|
-
|
|
174
|
-
```json
|
|
175
|
-
{
|
|
176
|
-
"skills": [
|
|
177
|
-
{
|
|
178
|
-
"name": "create-component",
|
|
179
|
-
"file": ".claude/skills/create-component.md"
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
"name": "commit",
|
|
183
|
-
"file": ".claude/skills/commit.md"
|
|
184
|
-
}
|
|
185
|
-
]
|
|
186
|
-
}
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
## Best Practices
|
|
190
|
-
|
|
191
|
-
### 1. Instrucciones Claras
|
|
192
|
-
|
|
193
|
-
```markdown
|
|
194
|
-
# BIEN
|
|
195
|
-
1. First, read the existing component at `src/components/Button.tsx`
|
|
196
|
-
2. Create new variant following the same pattern
|
|
197
|
-
3. Add to exports in `src/components/index.ts`
|
|
198
|
-
|
|
199
|
-
# MAL
|
|
200
|
-
Create a component somehow and put it somewhere.
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### 2. Contexto Necesario
|
|
204
|
-
|
|
205
|
-
```markdown
|
|
206
|
-
# BIEN
|
|
207
|
-
## Context
|
|
208
|
-
This project uses:
|
|
209
|
-
- React 19 with Server Components
|
|
210
|
-
- Tailwind CSS for styling
|
|
211
|
-
- Shadcn UI components
|
|
212
|
-
|
|
213
|
-
## Task
|
|
214
|
-
Create component following these conventions.
|
|
215
|
-
|
|
216
|
-
# MAL
|
|
217
|
-
Create a component.
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
### 3. Ejemplos Concretos
|
|
221
|
-
|
|
222
|
-
```markdown
|
|
223
|
-
## Example
|
|
224
|
-
|
|
225
|
-
Input: `/create-component UserProfile page`
|
|
226
|
-
|
|
227
|
-
Creates:
|
|
228
|
-
- `src/components/page/UserProfile.tsx`
|
|
229
|
-
- `src/components/page/UserProfile.test.tsx`
|
|
230
|
-
- Updates `src/components/page/index.ts`
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
### 4. Manejo de Errores
|
|
234
|
-
|
|
235
|
-
```markdown
|
|
236
|
-
## If errors occur
|
|
237
|
-
|
|
238
|
-
1. If component already exists: ask user to confirm overwrite
|
|
239
|
-
2. If directory missing: create it
|
|
240
|
-
3. If imports fail: check barrel exports exist
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
## Anti-Patterns
|
|
244
|
-
|
|
245
|
-
### NO: Skills demasiado genéricas
|
|
246
|
-
|
|
247
|
-
```markdown
|
|
248
|
-
# MAL
|
|
249
|
-
---
|
|
250
|
-
name: do-stuff
|
|
251
|
-
description: Does things
|
|
252
|
-
---
|
|
253
|
-
|
|
254
|
-
Do whatever the user wants.
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
### NO: Sin estructura clara
|
|
258
|
-
|
|
259
|
-
```markdown
|
|
260
|
-
# MAL
|
|
261
|
-
Create component and test and export and also maybe some types.
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
### NO: Hardcoded values
|
|
265
|
-
|
|
266
|
-
```markdown
|
|
267
|
-
# MAL
|
|
268
|
-
Create file at `/Users/carlos/project/src/Component.tsx`
|
|
269
|
-
|
|
270
|
-
# BIEN
|
|
271
|
-
Create file at `src/components/{{componentName}}.tsx`
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
## Testing Skills
|
|
275
|
-
|
|
276
|
-
Antes de registrar una skill:
|
|
277
|
-
|
|
278
|
-
1. Probar con diferentes argumentos
|
|
279
|
-
2. Verificar que maneja edge cases
|
|
280
|
-
3. Confirmar que sigue los estándares del proyecto
|
|
281
|
-
|
|
282
|
-
```bash
|
|
283
|
-
# Test skill manually
|
|
284
|
-
/create-component TestComponent feature
|
|
285
|
-
# Verify output matches expectations
|
|
286
|
-
```
|
|
1
|
+
# Estructura de Skills
|
|
2
|
+
|
|
3
|
+
## Qué es una Skill
|
|
4
|
+
|
|
5
|
+
Una **Skill** es un conjunto de instrucciones que Claude Code puede ejecutar. Se invocan con `/skill-name` y expanden a un prompt completo.
|
|
6
|
+
|
|
7
|
+
## Ubicaciones
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
.claude/
|
|
11
|
+
├── skills/ # Project skills
|
|
12
|
+
│ ├── commit.md
|
|
13
|
+
│ ├── review-pr.md
|
|
14
|
+
│ └── create-component.md
|
|
15
|
+
└── settings.json # Skill registration
|
|
16
|
+
|
|
17
|
+
~/.claude/
|
|
18
|
+
└── skills/ # Global skills
|
|
19
|
+
└── my-global-skill.md
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Anatomía de una Skill
|
|
23
|
+
|
|
24
|
+
```markdown
|
|
25
|
+
---
|
|
26
|
+
name: create-component
|
|
27
|
+
description: Create a new React component with tests
|
|
28
|
+
arguments:
|
|
29
|
+
- name: componentName
|
|
30
|
+
description: Name of the component
|
|
31
|
+
required: true
|
|
32
|
+
- name: type
|
|
33
|
+
description: Component type
|
|
34
|
+
enum: [page, feature, ui]
|
|
35
|
+
default: feature
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
# Create Component: {{componentName}}
|
|
39
|
+
|
|
40
|
+
## Instructions
|
|
41
|
+
|
|
42
|
+
1. Create the component file at `src/components/{{type}}/{{componentName}}.tsx`
|
|
43
|
+
2. Create the test file at `src/components/{{type}}/{{componentName}}.test.tsx`
|
|
44
|
+
3. Export from barrel file
|
|
45
|
+
|
|
46
|
+
## Component Template
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
export function {{componentName}}() {
|
|
50
|
+
return <div>{{componentName}}</div>
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Test Template
|
|
55
|
+
|
|
56
|
+
```tsx
|
|
57
|
+
import { render, screen } from '@testing-library/react'
|
|
58
|
+
import { {{componentName}} } from './{{componentName}}'
|
|
59
|
+
|
|
60
|
+
describe('{{componentName}}', () => {
|
|
61
|
+
it('renders', () => {
|
|
62
|
+
render(<{{componentName}} />)
|
|
63
|
+
expect(screen.getByText('{{componentName}}')).toBeInTheDocument()
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
```
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Frontmatter
|
|
70
|
+
|
|
71
|
+
```yaml
|
|
72
|
+
---
|
|
73
|
+
name: skill-name # Required: kebab-case
|
|
74
|
+
description: Brief desc # Required: <100 chars
|
|
75
|
+
arguments: # Optional: arguments
|
|
76
|
+
- name: argName
|
|
77
|
+
description: What it is
|
|
78
|
+
required: true/false
|
|
79
|
+
default: value
|
|
80
|
+
enum: [opt1, opt2]
|
|
81
|
+
---
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Variables
|
|
85
|
+
|
|
86
|
+
Usar `{{variable}}` para interpolación:
|
|
87
|
+
|
|
88
|
+
```markdown
|
|
89
|
+
# Task: {{taskName}}
|
|
90
|
+
|
|
91
|
+
Working on component {{componentName}} in {{directory}}.
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Categorías de Skills
|
|
95
|
+
|
|
96
|
+
### 1. Workflow Skills
|
|
97
|
+
|
|
98
|
+
Automatizan flujos de trabajo comunes:
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
---
|
|
102
|
+
name: commit
|
|
103
|
+
description: Create a git commit with conventional format
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
# Commit Changes
|
|
107
|
+
|
|
108
|
+
1. Run `git status` to see changes
|
|
109
|
+
2. Run `git diff` to review changes
|
|
110
|
+
3. Create commit message following conventional commits
|
|
111
|
+
4. Execute `git commit -m "message"`
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 2. Generator Skills
|
|
115
|
+
|
|
116
|
+
Crean código/archivos:
|
|
117
|
+
|
|
118
|
+
```markdown
|
|
119
|
+
---
|
|
120
|
+
name: create-router
|
|
121
|
+
description: Create a new TRPC router
|
|
122
|
+
arguments:
|
|
123
|
+
- name: routerName
|
|
124
|
+
required: true
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
# Create Router: {{routerName}}
|
|
128
|
+
|
|
129
|
+
Create file at `src/server/api/routers/{{routerName}}.ts`
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### 3. Analysis Skills
|
|
133
|
+
|
|
134
|
+
Analizan código/proyecto:
|
|
135
|
+
|
|
136
|
+
```markdown
|
|
137
|
+
---
|
|
138
|
+
name: review-pr
|
|
139
|
+
description: Review pull request changes
|
|
140
|
+
arguments:
|
|
141
|
+
- name: prNumber
|
|
142
|
+
required: true
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
# Review PR #{{prNumber}}
|
|
146
|
+
|
|
147
|
+
1. Fetch PR changes
|
|
148
|
+
2. Analyze for security issues
|
|
149
|
+
3. Check code quality
|
|
150
|
+
4. Provide feedback
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### 4. Documentation Skills
|
|
154
|
+
|
|
155
|
+
Generan documentación:
|
|
156
|
+
|
|
157
|
+
```markdown
|
|
158
|
+
---
|
|
159
|
+
name: document-api
|
|
160
|
+
description: Generate API documentation
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
# Document API
|
|
164
|
+
|
|
165
|
+
1. Scan all TRPC routers
|
|
166
|
+
2. Extract procedure signatures
|
|
167
|
+
3. Generate markdown docs
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Registrar Skills
|
|
171
|
+
|
|
172
|
+
En `.claude/settings.json`:
|
|
173
|
+
|
|
174
|
+
```json
|
|
175
|
+
{
|
|
176
|
+
"skills": [
|
|
177
|
+
{
|
|
178
|
+
"name": "create-component",
|
|
179
|
+
"file": ".claude/skills/create-component.md"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"name": "commit",
|
|
183
|
+
"file": ".claude/skills/commit.md"
|
|
184
|
+
}
|
|
185
|
+
]
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## Best Practices
|
|
190
|
+
|
|
191
|
+
### 1. Instrucciones Claras
|
|
192
|
+
|
|
193
|
+
```markdown
|
|
194
|
+
# BIEN
|
|
195
|
+
1. First, read the existing component at `src/components/Button.tsx`
|
|
196
|
+
2. Create new variant following the same pattern
|
|
197
|
+
3. Add to exports in `src/components/index.ts`
|
|
198
|
+
|
|
199
|
+
# MAL
|
|
200
|
+
Create a component somehow and put it somewhere.
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### 2. Contexto Necesario
|
|
204
|
+
|
|
205
|
+
```markdown
|
|
206
|
+
# BIEN
|
|
207
|
+
## Context
|
|
208
|
+
This project uses:
|
|
209
|
+
- React 19 with Server Components
|
|
210
|
+
- Tailwind CSS for styling
|
|
211
|
+
- Shadcn UI components
|
|
212
|
+
|
|
213
|
+
## Task
|
|
214
|
+
Create component following these conventions.
|
|
215
|
+
|
|
216
|
+
# MAL
|
|
217
|
+
Create a component.
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### 3. Ejemplos Concretos
|
|
221
|
+
|
|
222
|
+
```markdown
|
|
223
|
+
## Example
|
|
224
|
+
|
|
225
|
+
Input: `/create-component UserProfile page`
|
|
226
|
+
|
|
227
|
+
Creates:
|
|
228
|
+
- `src/components/page/UserProfile.tsx`
|
|
229
|
+
- `src/components/page/UserProfile.test.tsx`
|
|
230
|
+
- Updates `src/components/page/index.ts`
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### 4. Manejo de Errores
|
|
234
|
+
|
|
235
|
+
```markdown
|
|
236
|
+
## If errors occur
|
|
237
|
+
|
|
238
|
+
1. If component already exists: ask user to confirm overwrite
|
|
239
|
+
2. If directory missing: create it
|
|
240
|
+
3. If imports fail: check barrel exports exist
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## Anti-Patterns
|
|
244
|
+
|
|
245
|
+
### NO: Skills demasiado genéricas
|
|
246
|
+
|
|
247
|
+
```markdown
|
|
248
|
+
# MAL
|
|
249
|
+
---
|
|
250
|
+
name: do-stuff
|
|
251
|
+
description: Does things
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
Do whatever the user wants.
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### NO: Sin estructura clara
|
|
258
|
+
|
|
259
|
+
```markdown
|
|
260
|
+
# MAL
|
|
261
|
+
Create component and test and export and also maybe some types.
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### NO: Hardcoded values
|
|
265
|
+
|
|
266
|
+
```markdown
|
|
267
|
+
# MAL
|
|
268
|
+
Create file at `/Users/carlos/project/src/Component.tsx`
|
|
269
|
+
|
|
270
|
+
# BIEN
|
|
271
|
+
Create file at `src/components/{{componentName}}.tsx`
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
## Testing Skills
|
|
275
|
+
|
|
276
|
+
Antes de registrar una skill:
|
|
277
|
+
|
|
278
|
+
1. Probar con diferentes argumentos
|
|
279
|
+
2. Verificar que maneja edge cases
|
|
280
|
+
3. Confirmar que sigue los estándares del proyecto
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
# Test skill manually
|
|
284
|
+
/create-component TestComponent feature
|
|
285
|
+
# Verify output matches expectations
|
|
286
|
+
```
|