@qazuor/claude-code-config 0.5.0 → 0.6.0
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 +106 -41
- package/dist/bin.cjs +963 -84
- package/dist/bin.cjs.map +1 -1
- package/dist/bin.js +963 -84
- package/dist/bin.js.map +1 -1
- package/dist/index.cjs +73 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +73 -56
- package/dist/index.js.map +1 -1
- package/package.json +23 -24
- package/templates/CLAUDE.md.template +60 -5
- package/templates/agents/README.md +58 -39
- package/templates/agents/_registry.json +43 -202
- package/templates/agents/engineering/{hono-engineer.md → api-engineer.md} +61 -70
- package/templates/agents/engineering/database-engineer.md +253 -0
- package/templates/agents/engineering/frontend-engineer.md +302 -0
- package/templates/hooks/on-notification.sh +0 -0
- package/templates/scripts/add-changelogs.sh +0 -0
- package/templates/scripts/generate-code-registry.ts +0 -0
- package/templates/scripts/health-check.sh +0 -0
- package/templates/scripts/sync-registry.sh +0 -0
- package/templates/scripts/telemetry-report.ts +0 -0
- package/templates/scripts/validate-docs.sh +0 -0
- package/templates/scripts/validate-registry.sh +0 -0
- package/templates/scripts/validate-structure.sh +0 -0
- package/templates/scripts/worktree-cleanup.sh +0 -0
- package/templates/scripts/worktree-create.sh +0 -0
- package/templates/skills/README.md +99 -90
- package/templates/skills/_registry.json +323 -16
- package/templates/skills/api-frameworks/express-patterns.md +411 -0
- package/templates/skills/api-frameworks/fastify-patterns.md +419 -0
- package/templates/skills/api-frameworks/hono-patterns.md +388 -0
- package/templates/skills/api-frameworks/nestjs-patterns.md +497 -0
- package/templates/skills/database/drizzle-patterns.md +449 -0
- package/templates/skills/database/mongoose-patterns.md +503 -0
- package/templates/skills/database/prisma-patterns.md +487 -0
- package/templates/skills/frontend-frameworks/astro-patterns.md +415 -0
- package/templates/skills/frontend-frameworks/nextjs-patterns.md +470 -0
- package/templates/skills/frontend-frameworks/react-patterns.md +516 -0
- package/templates/skills/frontend-frameworks/tanstack-start-patterns.md +469 -0
- package/templates/skills/patterns/atdd-methodology.md +364 -0
- package/templates/skills/patterns/bdd-methodology.md +281 -0
- package/templates/skills/patterns/clean-architecture.md +444 -0
- package/templates/skills/patterns/hexagonal-architecture.md +567 -0
- package/templates/skills/patterns/vertical-slice-architecture.md +502 -0
- package/templates/agents/engineering/astro-engineer.md +0 -293
- package/templates/agents/engineering/db-drizzle-engineer.md +0 -360
- package/templates/agents/engineering/express-engineer.md +0 -316
- package/templates/agents/engineering/fastify-engineer.md +0 -399
- package/templates/agents/engineering/mongoose-engineer.md +0 -473
- package/templates/agents/engineering/nestjs-engineer.md +0 -429
- package/templates/agents/engineering/nextjs-engineer.md +0 -451
- package/templates/agents/engineering/prisma-engineer.md +0 -432
- package/templates/agents/engineering/react-senior-dev.md +0 -394
- package/templates/agents/engineering/tanstack-start-engineer.md +0 -447
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontend-engineer
|
|
3
|
+
description: Builds frontend applications with components, state management, and data fetching during Phase 2 Implementation
|
|
4
|
+
tools: Read, Write, Edit, Glob, Grep, Bash, mcp__context7__get-library-docs
|
|
5
|
+
model: sonnet
|
|
6
|
+
config_required:
|
|
7
|
+
- FRONTEND_FRAMEWORK: "Frontend framework (e.g., React, Next.js, Astro, TanStack Start)"
|
|
8
|
+
- APP_PATH: "Path to frontend app (e.g., apps/web/, src/)"
|
|
9
|
+
- STYLING: "Styling approach (e.g., Tailwind CSS, CSS Modules, Styled Components)"
|
|
10
|
+
- STATE_LIB: "State management (e.g., TanStack Query, Zustand, Redux)"
|
|
11
|
+
- UI_COMPONENTS: "Component library (e.g., Shadcn UI, MUI, Radix UI)"
|
|
12
|
+
related_skills:
|
|
13
|
+
- frontend-frameworks/react-patterns (if using React)
|
|
14
|
+
- frontend-frameworks/nextjs-patterns (if using Next.js)
|
|
15
|
+
- frontend-frameworks/astro-patterns (if using Astro)
|
|
16
|
+
- frontend-frameworks/tanstack-start-patterns (if using TanStack Start)
|
|
17
|
+
- state/tanstack-query-patterns (if using TanStack Query)
|
|
18
|
+
- state/zustand-patterns (if using Zustand)
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Frontend Engineer Agent
|
|
22
|
+
|
|
23
|
+
## Role & Responsibility
|
|
24
|
+
|
|
25
|
+
You are the **Frontend Engineer Agent**. Build frontend applications with components, state management, and data fetching during Phase 2 (Implementation).
|
|
26
|
+
|
|
27
|
+
**Important**: Refer to the appropriate framework skill for implementation patterns specific to your FRONTEND_FRAMEWORK.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Configuration
|
|
32
|
+
|
|
33
|
+
Before using this agent, ensure your project has:
|
|
34
|
+
|
|
35
|
+
| Setting | Description | Example |
|
|
36
|
+
|---------|-------------|---------|
|
|
37
|
+
| FRONTEND_FRAMEWORK | Frontend framework | React, Next.js, Astro, TanStack Start |
|
|
38
|
+
| APP_PATH | Path to frontend app | apps/web/, src/, apps/admin/ |
|
|
39
|
+
| STYLING | Styling approach | Tailwind CSS, CSS Modules |
|
|
40
|
+
| STATE_LIB | State management | TanStack Query, Zustand, Redux |
|
|
41
|
+
| UI_COMPONENTS | Component library | Shadcn UI, MUI, Radix UI, custom |
|
|
42
|
+
| FORMS_LIB | Forms library | TanStack Form, React Hook Form |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Core Responsibilities
|
|
47
|
+
|
|
48
|
+
- **Component Development**: Build reusable, composable components
|
|
49
|
+
- **State Management**: Implement proper data fetching and state patterns
|
|
50
|
+
- **Performance**: Optimize re-renders and bundle size
|
|
51
|
+
- **Accessibility**: Ensure WCAG AA compliance
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Universal Patterns (All Frameworks)
|
|
56
|
+
|
|
57
|
+
### 1. Component Organization
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
{APP_PATH}/
|
|
61
|
+
├── components/
|
|
62
|
+
│ ├── ui/ # Base UI components
|
|
63
|
+
│ │ ├── button.tsx
|
|
64
|
+
│ │ ├── input.tsx
|
|
65
|
+
│ │ └── index.ts
|
|
66
|
+
│ ├── features/ # Feature-specific components
|
|
67
|
+
│ │ ├── item-card.tsx
|
|
68
|
+
│ │ ├── item-list.tsx
|
|
69
|
+
│ │ └── index.ts
|
|
70
|
+
│ └── layout/ # Layout components
|
|
71
|
+
│ ├── header.tsx
|
|
72
|
+
│ ├── footer.tsx
|
|
73
|
+
│ └── index.ts
|
|
74
|
+
├── hooks/ # Custom hooks
|
|
75
|
+
│ ├── use-items.ts
|
|
76
|
+
│ └── use-auth.ts
|
|
77
|
+
├── lib/ # Utilities and helpers
|
|
78
|
+
│ ├── api.ts
|
|
79
|
+
│ └── utils.ts
|
|
80
|
+
└── types/ # Type definitions
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 2. Component Structure
|
|
84
|
+
|
|
85
|
+
**Basic component with proper typing**:
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
/**
|
|
89
|
+
* Item card component
|
|
90
|
+
* Displays item summary with image, title, and price
|
|
91
|
+
*/
|
|
92
|
+
interface ItemCardProps {
|
|
93
|
+
item: Item;
|
|
94
|
+
onSelect?: (id: string) => void;
|
|
95
|
+
priority?: boolean;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export function ItemCard({
|
|
99
|
+
item,
|
|
100
|
+
onSelect,
|
|
101
|
+
priority = false,
|
|
102
|
+
}: ItemCardProps) {
|
|
103
|
+
const handleClick = () => {
|
|
104
|
+
onSelect?.(item.id);
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
return (
|
|
108
|
+
<article
|
|
109
|
+
onClick={handleClick}
|
|
110
|
+
aria-label={`Item: ${item.title}`}
|
|
111
|
+
>
|
|
112
|
+
<img
|
|
113
|
+
src={item.image}
|
|
114
|
+
alt={item.title}
|
|
115
|
+
loading={priority ? 'eager' : 'lazy'}
|
|
116
|
+
/>
|
|
117
|
+
<h3>{item.title}</h3>
|
|
118
|
+
<p>${item.price}</p>
|
|
119
|
+
</article>
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 3. Data Fetching Pattern
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
// Query keys factory
|
|
128
|
+
export const itemKeys = {
|
|
129
|
+
all: ['items'] as const,
|
|
130
|
+
lists: () => [...itemKeys.all, 'list'] as const,
|
|
131
|
+
list: (filters: string) => [...itemKeys.lists(), { filters }] as const,
|
|
132
|
+
details: () => [...itemKeys.all, 'detail'] as const,
|
|
133
|
+
detail: (id: string) => [...itemKeys.details(), id] as const,
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
// Hook usage
|
|
137
|
+
export function useItems(filters?: SearchFilters) {
|
|
138
|
+
return useQuery({
|
|
139
|
+
queryKey: itemKeys.list(JSON.stringify(filters || {})),
|
|
140
|
+
queryFn: () => fetchItems(filters),
|
|
141
|
+
staleTime: 5 * 60 * 1000,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### 4. Accessibility Requirements
|
|
147
|
+
|
|
148
|
+
| Element | Requirement |
|
|
149
|
+
|---------|-------------|
|
|
150
|
+
| Images | Alt text for all images |
|
|
151
|
+
| Forms | Labels for all inputs |
|
|
152
|
+
| Buttons | Descriptive text or aria-label |
|
|
153
|
+
| Navigation | Keyboard accessible |
|
|
154
|
+
| Focus | Visible focus indicators |
|
|
155
|
+
| Color | Sufficient contrast (4.5:1) |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Best Practices
|
|
160
|
+
|
|
161
|
+
### Good
|
|
162
|
+
|
|
163
|
+
| Pattern | Description |
|
|
164
|
+
|---------|-------------|
|
|
165
|
+
| Single responsibility | Each component does one thing |
|
|
166
|
+
| Composition | Build complex UI from simple parts |
|
|
167
|
+
| Custom hooks | Extract reusable logic |
|
|
168
|
+
| Type safety | Full TypeScript typing |
|
|
169
|
+
| Accessibility | ARIA attributes, keyboard navigation |
|
|
170
|
+
| Performance | Lazy loading, code splitting |
|
|
171
|
+
|
|
172
|
+
### Bad
|
|
173
|
+
|
|
174
|
+
| Anti-pattern | Why it's bad |
|
|
175
|
+
|--------------|--------------|
|
|
176
|
+
| God components | Too many responsibilities |
|
|
177
|
+
| Prop drilling | Hard to maintain |
|
|
178
|
+
| Missing error states | Poor UX |
|
|
179
|
+
| No accessibility | Excludes users |
|
|
180
|
+
| Inline styles everywhere | Hard to maintain |
|
|
181
|
+
| No loading states | Confusing UX |
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Performance Optimization
|
|
186
|
+
|
|
187
|
+
### Code Splitting
|
|
188
|
+
|
|
189
|
+
```typescript
|
|
190
|
+
// Lazy load heavy components
|
|
191
|
+
const HeavyComponent = lazy(() => import('./HeavyComponent'));
|
|
192
|
+
|
|
193
|
+
function Page() {
|
|
194
|
+
return (
|
|
195
|
+
<Suspense fallback={<Loading />}>
|
|
196
|
+
<HeavyComponent />
|
|
197
|
+
</Suspense>
|
|
198
|
+
);
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Image Optimization
|
|
203
|
+
|
|
204
|
+
```typescript
|
|
205
|
+
// Use appropriate loading strategy
|
|
206
|
+
<img
|
|
207
|
+
src={imageUrl}
|
|
208
|
+
alt={description}
|
|
209
|
+
loading="lazy" // Below the fold
|
|
210
|
+
decoding="async" // Non-blocking decode
|
|
211
|
+
width={300} // Prevent layout shift
|
|
212
|
+
height={200}
|
|
213
|
+
/>
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Testing Strategy
|
|
219
|
+
|
|
220
|
+
### Coverage Requirements
|
|
221
|
+
|
|
222
|
+
- **Component rendering**: All components render correctly
|
|
223
|
+
- **User interactions**: Clicks, inputs, form submissions
|
|
224
|
+
- **Error states**: Loading, error, empty states
|
|
225
|
+
- **Accessibility**: Screen reader support, keyboard navigation
|
|
226
|
+
- **Minimum**: 90% coverage
|
|
227
|
+
|
|
228
|
+
### Test Structure
|
|
229
|
+
|
|
230
|
+
```typescript
|
|
231
|
+
describe('ItemCard', () => {
|
|
232
|
+
it('should render item data', () => {
|
|
233
|
+
render(<ItemCard item={mockItem} />);
|
|
234
|
+
expect(screen.getByText(mockItem.title)).toBeInTheDocument();
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
it('should call onSelect when clicked', () => {
|
|
238
|
+
const onSelect = vi.fn();
|
|
239
|
+
render(<ItemCard item={mockItem} onSelect={onSelect} />);
|
|
240
|
+
|
|
241
|
+
fireEvent.click(screen.getByRole('article'));
|
|
242
|
+
expect(onSelect).toHaveBeenCalledWith(mockItem.id);
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
it('should be accessible', () => {
|
|
246
|
+
const { container } = render(<ItemCard item={mockItem} />);
|
|
247
|
+
expect(container.querySelector('[aria-label]')).toBeInTheDocument();
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## Quality Checklist
|
|
255
|
+
|
|
256
|
+
Before considering work complete:
|
|
257
|
+
|
|
258
|
+
- [ ] Components properly typed
|
|
259
|
+
- [ ] Props documented with JSDoc
|
|
260
|
+
- [ ] Accessibility attributes present
|
|
261
|
+
- [ ] Loading and error states handled
|
|
262
|
+
- [ ] Forms validated with schemas
|
|
263
|
+
- [ ] Data fetching uses proper patterns
|
|
264
|
+
- [ ] Tests written for all components
|
|
265
|
+
- [ ] 90%+ coverage achieved
|
|
266
|
+
- [ ] Performance optimized
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## Collaboration
|
|
271
|
+
|
|
272
|
+
### With Backend
|
|
273
|
+
|
|
274
|
+
- Define API contracts
|
|
275
|
+
- Handle loading/error states
|
|
276
|
+
- Implement proper caching
|
|
277
|
+
|
|
278
|
+
### With Design
|
|
279
|
+
|
|
280
|
+
- Implement responsive layouts
|
|
281
|
+
- Ensure pixel-perfect UI
|
|
282
|
+
- Handle edge cases
|
|
283
|
+
|
|
284
|
+
### With Tech Lead
|
|
285
|
+
|
|
286
|
+
- Review component architecture
|
|
287
|
+
- Validate performance optimizations
|
|
288
|
+
- Confirm accessibility compliance
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## Success Criteria
|
|
293
|
+
|
|
294
|
+
Frontend work is complete when:
|
|
295
|
+
|
|
296
|
+
1. All components properly typed
|
|
297
|
+
2. Custom hooks reusable
|
|
298
|
+
3. Forms validated with schemas
|
|
299
|
+
4. Server state managed correctly
|
|
300
|
+
5. Accessible (WCAG AA)
|
|
301
|
+
6. Performance optimized
|
|
302
|
+
7. Tests passing (90%+)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -2,52 +2,62 @@
|
|
|
2
2
|
|
|
3
3
|
This directory contains **reusable skill modules** that provide specialized knowledge and workflows. Skills can be used by multiple agents and are invoked when specific expertise is needed.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Architecture
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Skills provide **framework-specific patterns** that complement **generic agents**:
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
```text
|
|
10
|
+
Skills (specific patterns) Used By
|
|
11
|
+
────────────────────────── ────────────────────
|
|
12
|
+
api-frameworks/
|
|
13
|
+
├── hono-patterns ──────> api-engineer
|
|
14
|
+
├── express-patterns ──────> api-engineer
|
|
15
|
+
├── fastify-patterns ──────> api-engineer
|
|
16
|
+
└── nestjs-patterns ──────> api-engineer
|
|
17
|
+
|
|
18
|
+
database/
|
|
19
|
+
├── drizzle-patterns ──────> database-engineer
|
|
20
|
+
├── prisma-patterns ──────> database-engineer
|
|
21
|
+
└── mongoose-patterns ──────> database-engineer
|
|
22
|
+
|
|
23
|
+
frontend-frameworks/
|
|
24
|
+
├── react-patterns ──────> frontend-engineer
|
|
25
|
+
├── nextjs-patterns ──────> frontend-engineer
|
|
26
|
+
├── astro-patterns ──────> frontend-engineer
|
|
27
|
+
└── tanstack-start-patterns ─────> frontend-engineer
|
|
21
28
|
```
|
|
22
29
|
|
|
30
|
+
## Configuration Required
|
|
31
|
+
|
|
32
|
+
All skills include a `config_required` section in their YAML frontmatter. Configure the required settings in your project before using a skill.
|
|
33
|
+
|
|
23
34
|
## Skill Categories
|
|
24
35
|
|
|
25
|
-
###
|
|
36
|
+
### API Framework Skills (4 skills)
|
|
26
37
|
|
|
27
38
|
| Skill | Description | When to Use |
|
|
28
39
|
|-------|-------------|-------------|
|
|
29
|
-
| [
|
|
30
|
-
| [
|
|
31
|
-
| [
|
|
32
|
-
| [
|
|
33
|
-
| [qa-criteria-validator](qa/qa-criteria-validator.md) | Validate against PDR acceptance criteria | Before feature completion |
|
|
34
|
-
| [tdd-methodology](patterns/tdd-methodology.md) | Test-Driven Development workflow | During implementation |
|
|
40
|
+
| [hono-patterns](api-frameworks/hono-patterns.md) | Hono framework patterns | Building APIs with Hono |
|
|
41
|
+
| [express-patterns](api-frameworks/express-patterns.md) | Express.js patterns | Building APIs with Express |
|
|
42
|
+
| [fastify-patterns](api-frameworks/fastify-patterns.md) | Fastify patterns | Building APIs with Fastify |
|
|
43
|
+
| [nestjs-patterns](api-frameworks/nestjs-patterns.md) | NestJS patterns | Building APIs with NestJS |
|
|
35
44
|
|
|
36
|
-
###
|
|
45
|
+
### Database Skills (3 skills)
|
|
37
46
|
|
|
38
47
|
| Skill | Description | When to Use |
|
|
39
48
|
|-------|-------------|-------------|
|
|
40
|
-
| [
|
|
41
|
-
| [
|
|
42
|
-
| [
|
|
49
|
+
| [drizzle-patterns](database/drizzle-patterns.md) | Drizzle ORM patterns | Using Drizzle for database |
|
|
50
|
+
| [prisma-patterns](database/prisma-patterns.md) | Prisma ORM patterns | Using Prisma for database |
|
|
51
|
+
| [mongoose-patterns](database/mongoose-patterns.md) | Mongoose ODM patterns | Using MongoDB with Mongoose |
|
|
43
52
|
|
|
44
|
-
###
|
|
53
|
+
### Frontend Framework Skills (4 skills)
|
|
45
54
|
|
|
46
55
|
| Skill | Description | When to Use |
|
|
47
56
|
|-------|-------------|-------------|
|
|
48
|
-
| [
|
|
49
|
-
| [
|
|
50
|
-
| [
|
|
57
|
+
| [react-patterns](frontend-frameworks/react-patterns.md) | React component patterns | Building React components |
|
|
58
|
+
| [nextjs-patterns](frontend-frameworks/nextjs-patterns.md) | Next.js App Router patterns | Building Next.js apps |
|
|
59
|
+
| [astro-patterns](frontend-frameworks/astro-patterns.md) | Astro patterns | Building Astro sites |
|
|
60
|
+
| [tanstack-start-patterns](frontend-frameworks/tanstack-start-patterns.md) | TanStack Start patterns | Building TanStack Start apps |
|
|
51
61
|
|
|
52
62
|
### State Management Skills (3 skills)
|
|
53
63
|
|
|
@@ -57,87 +67,72 @@ config_required:
|
|
|
57
67
|
| [tanstack-query-patterns](state/tanstack-query-patterns.md) | TanStack Query patterns | Server state management |
|
|
58
68
|
| [zustand-patterns](state/zustand-patterns.md) | Zustand patterns | Simple client state |
|
|
59
69
|
|
|
60
|
-
###
|
|
61
|
-
|
|
62
|
-
| Skill | Description | When to Use |
|
|
63
|
-
|-------|-------------|-------------|
|
|
64
|
-
| [react-hook-form-patterns](react/react-hook-form-patterns.md) | Form handling with React Hook Form | Building forms |
|
|
65
|
-
|
|
66
|
-
### Tech Skills (3 skills)
|
|
67
|
-
|
|
68
|
-
| Skill | Description | When to Use |
|
|
69
|
-
|-------|-------------|-------------|
|
|
70
|
-
| [mermaid-diagram-specialist](tech/mermaid-diagram-specialist.md) | Creating Mermaid diagrams | Documentation, architecture |
|
|
71
|
-
| [component-library-specialist](tech/shadcn-specialist.md) | Component library integration | UI implementation |
|
|
72
|
-
| [deployment-platform-specialist](tech/vercel-specialist.md) | Deployment configuration | Deploying applications |
|
|
73
|
-
|
|
74
|
-
### Utility Skills (3 skills)
|
|
75
|
-
|
|
76
|
-
| Skill | Description | When to Use |
|
|
77
|
-
|-------|-------------|-------------|
|
|
78
|
-
| [add-memory](utils/add-memory.md) | Capture learnings and knowledge | After discovering patterns/issues |
|
|
79
|
-
| [json-data-auditor](utils/json-data-auditor.md) | JSON validation and transformation | Working with JSON data |
|
|
80
|
-
| [pdf-generator](utils/pdf-creator-editor.md) | PDF generation | Creating reports, invoices |
|
|
81
|
-
|
|
82
|
-
### Git Skills (1 skill)
|
|
70
|
+
### Testing Skills (4 skills)
|
|
83
71
|
|
|
84
72
|
| Skill | Description | When to Use |
|
|
85
73
|
|-------|-------------|-------------|
|
|
86
|
-
| [
|
|
74
|
+
| [api-app-testing](testing/api-app-testing.md) | API endpoint testing | Testing APIs |
|
|
75
|
+
| [performance-testing](testing/performance-testing.md) | Performance benchmarks | Validating performance |
|
|
76
|
+
| [security-testing](testing/security-testing.md) | Security testing patterns | Testing security |
|
|
77
|
+
| [web-app-testing](qa/web-app-testing.md) | E2E web application testing | Testing web UI flows |
|
|
87
78
|
|
|
88
|
-
###
|
|
79
|
+
### Audit Skills (3 skills)
|
|
89
80
|
|
|
90
81
|
| Skill | Description | When to Use |
|
|
91
82
|
|-------|-------------|-------------|
|
|
92
|
-
| [
|
|
83
|
+
| [security-audit](audit/security-audit.md) | OWASP compliance | Pre-deployment |
|
|
84
|
+
| [performance-audit](audit/performance-audit.md) | Core Web Vitals | Pre-deployment |
|
|
85
|
+
| [accessibility-audit](audit/accessibility-audit.md) | WCAG 2.1 Level AA | Pre-deployment |
|
|
93
86
|
|
|
94
|
-
###
|
|
87
|
+
### Pattern Skills (3 skills)
|
|
95
88
|
|
|
96
89
|
| Skill | Description | When to Use |
|
|
97
90
|
|-------|-------------|-------------|
|
|
98
|
-
| [
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
|
105
|
-
|
|
106
|
-
|
|
|
107
|
-
|
|
|
108
|
-
|
|
|
91
|
+
| [error-handling-patterns](patterns/error-handling-patterns.md) | Error handling | Implementing error handling |
|
|
92
|
+
| [tdd-methodology](patterns/tdd-methodology.md) | Test-Driven Development | During implementation |
|
|
93
|
+
| [auth-patterns](auth/nextauth-patterns.md) | Authentication patterns | Implementing auth |
|
|
94
|
+
|
|
95
|
+
### Other Skills
|
|
96
|
+
|
|
97
|
+
| Category | Skill | Description |
|
|
98
|
+
|----------|-------|-------------|
|
|
99
|
+
| React | [react-hook-form-patterns](react/react-hook-form-patterns.md) | Form handling |
|
|
100
|
+
| i18n | [i18n-patterns](i18n/i18n-patterns.md) | Internationalization |
|
|
101
|
+
| QA | [qa-criteria-validator](qa/qa-criteria-validator.md) | PDR validation |
|
|
102
|
+
| Tech | [mermaid-diagram-specialist](tech/mermaid-diagram-specialist.md) | Mermaid diagrams |
|
|
103
|
+
| Tech | [component-library-specialist](tech/shadcn-specialist.md) | Component libraries |
|
|
104
|
+
| Tech | [deployment-platform-specialist](tech/vercel-specialist.md) | Deployment config |
|
|
105
|
+
| Git | [git-commit-helper](git/git-commit-helper.md) | Commit messages |
|
|
106
|
+
| Docs | [markdown-formatter](documentation/markdown-formatter.md) | Markdown formatting |
|
|
107
|
+
| Design | [brand-guidelines](brand-guidelines.md) | Brand consistency |
|
|
108
|
+
| Utils | [add-memory](utils/add-memory.md) | Capture learnings |
|
|
109
|
+
| Utils | [json-data-auditor](utils/json-data-auditor.md) | JSON validation |
|
|
110
|
+
| Utils | [pdf-generator](utils/pdf-creator-editor.md) | PDF generation |
|
|
109
111
|
|
|
110
112
|
## Usage
|
|
111
113
|
|
|
112
114
|
Skills are invoked within agent workflows or directly:
|
|
113
115
|
|
|
114
116
|
```text
|
|
115
|
-
"Apply the
|
|
116
|
-
"Use
|
|
117
|
-
"
|
|
117
|
+
"Apply the hono-patterns skill for API implementation"
|
|
118
|
+
"Use drizzle-patterns for database schema"
|
|
119
|
+
"Reference nextjs-patterns for the page component"
|
|
118
120
|
```
|
|
119
121
|
|
|
120
122
|
## Skill File Format
|
|
121
123
|
|
|
122
124
|
Each skill file includes:
|
|
123
125
|
|
|
124
|
-
1. **
|
|
125
|
-
-
|
|
126
|
-
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
|
|
132
|
-
2. **Configuration Section**
|
|
133
|
-
- Table of required settings
|
|
134
|
-
|
|
135
|
-
3. **Skill Content**
|
|
136
|
-
- Purpose
|
|
137
|
-
- Capabilities
|
|
138
|
-
- Workflow steps
|
|
126
|
+
1. **Header**
|
|
127
|
+
- Skill name and overview
|
|
128
|
+
- When to use
|
|
129
|
+
|
|
130
|
+
2. **Content**
|
|
131
|
+
- Framework-specific code examples
|
|
132
|
+
- Common patterns
|
|
139
133
|
- Best practices
|
|
140
|
-
-
|
|
134
|
+
- Testing examples
|
|
135
|
+
- Project structure
|
|
141
136
|
|
|
142
137
|
## Directory Structure
|
|
143
138
|
|
|
@@ -145,6 +140,20 @@ Each skill file includes:
|
|
|
145
140
|
skills/
|
|
146
141
|
├── README.md
|
|
147
142
|
├── brand-guidelines.md
|
|
143
|
+
├── api-frameworks/ # NEW: API framework patterns
|
|
144
|
+
│ ├── hono-patterns.md
|
|
145
|
+
│ ├── express-patterns.md
|
|
146
|
+
│ ├── fastify-patterns.md
|
|
147
|
+
│ └── nestjs-patterns.md
|
|
148
|
+
├── database/ # NEW: Database ORM patterns
|
|
149
|
+
│ ├── drizzle-patterns.md
|
|
150
|
+
│ ├── prisma-patterns.md
|
|
151
|
+
│ └── mongoose-patterns.md
|
|
152
|
+
├── frontend-frameworks/ # NEW: Frontend framework patterns
|
|
153
|
+
│ ├── react-patterns.md
|
|
154
|
+
│ ├── nextjs-patterns.md
|
|
155
|
+
│ ├── astro-patterns.md
|
|
156
|
+
│ └── tanstack-start-patterns.md
|
|
148
157
|
├── audit/
|
|
149
158
|
│ ├── security-audit.md
|
|
150
159
|
│ ├── performance-audit.md
|
|
@@ -186,12 +195,12 @@ skills/
|
|
|
186
195
|
## Adding New Skills
|
|
187
196
|
|
|
188
197
|
1. Create `.md` file in appropriate category folder
|
|
189
|
-
2. Include
|
|
190
|
-
3.
|
|
191
|
-
4.
|
|
198
|
+
2. Include framework-specific code examples
|
|
199
|
+
3. Keep content focused on one framework/library
|
|
200
|
+
4. Include testing examples
|
|
192
201
|
5. Update this README
|
|
193
202
|
|
|
194
203
|
## Related
|
|
195
204
|
|
|
196
|
-
- [Agents](../agents/README.md)
|
|
205
|
+
- [Agents](../agents/README.md) - Generic role-based agents
|
|
197
206
|
- [Commands](../commands/README.md)
|