wogiflow 1.0.21 → 1.0.22

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 (121) hide show
  1. package/.claude/commands/wogi-bug.md +43 -0
  2. package/.claude/commands/wogi-bulk.md +144 -0
  3. package/.claude/commands/wogi-changelog.md +36 -0
  4. package/.claude/commands/wogi-compact.md +99 -0
  5. package/.claude/commands/wogi-config.md +50 -0
  6. package/.claude/commands/wogi-context.md +68 -0
  7. package/.claude/commands/wogi-correction.md +73 -0
  8. package/.claude/commands/wogi-debt.md +128 -0
  9. package/.claude/commands/wogi-deps.md +32 -0
  10. package/.claude/commands/wogi-epics.md +145 -0
  11. package/.claude/commands/wogi-export.md +100 -0
  12. package/.claude/commands/wogi-feature.md +149 -0
  13. package/.claude/commands/wogi-guided-edit.md +83 -0
  14. package/.claude/commands/wogi-health.md +43 -0
  15. package/.claude/commands/wogi-help.md +96 -0
  16. package/.claude/commands/wogi-hybrid-edit.md +36 -0
  17. package/.claude/commands/wogi-hybrid-off.md +24 -0
  18. package/.claude/commands/wogi-hybrid-setup.md +79 -0
  19. package/.claude/commands/wogi-hybrid-status.md +45 -0
  20. package/.claude/commands/wogi-hybrid.md +54 -0
  21. package/.claude/commands/wogi-import.md +44 -0
  22. package/.claude/commands/wogi-init.md +618 -0
  23. package/.claude/commands/wogi-log.md +38 -0
  24. package/.claude/commands/wogi-map-add.md +29 -0
  25. package/.claude/commands/wogi-map-check.md +35 -0
  26. package/.claude/commands/wogi-map-index.md +98 -0
  27. package/.claude/commands/wogi-map-scan.md +38 -0
  28. package/.claude/commands/wogi-map-sync.md +91 -0
  29. package/.claude/commands/wogi-map.md +33 -0
  30. package/.claude/commands/wogi-morning.md +65 -0
  31. package/.claude/commands/wogi-onboard.md +99 -0
  32. package/.claude/commands/wogi-plan.md +173 -0
  33. package/.claude/commands/wogi-ready.md +84 -0
  34. package/.claude/commands/wogi-resume.md +95 -0
  35. package/.claude/commands/wogi-review.md +636 -0
  36. package/.claude/commands/wogi-roadmap.md +241 -0
  37. package/.claude/commands/wogi-rules.md +104 -0
  38. package/.claude/commands/wogi-search.md +33 -0
  39. package/.claude/commands/wogi-session-end.md +49 -0
  40. package/.claude/commands/wogi-setup-stack.md +151 -0
  41. package/.claude/commands/wogi-skill-learn.md +66 -0
  42. package/.claude/commands/wogi-skills.md +87 -0
  43. package/.claude/commands/wogi-standup.md +28 -0
  44. package/.claude/commands/wogi-start.md +465 -0
  45. package/.claude/commands/wogi-status.md +41 -0
  46. package/.claude/commands/wogi-statusline-setup/skill.md +109 -0
  47. package/.claude/commands/wogi-story.md +98 -0
  48. package/.claude/commands/wogi-suspend.md +87 -0
  49. package/.claude/commands/wogi-test-browser.md +43 -0
  50. package/.claude/commands/wogi-trace.md +198 -0
  51. package/.claude/docs/architecture.md +37 -0
  52. package/.claude/docs/commands.md +343 -0
  53. package/.claude/docs/knowledge-base/01-setup-onboarding/README.md +177 -0
  54. package/.claude/docs/knowledge-base/01-setup-onboarding/component-indexing.md +341 -0
  55. package/.claude/docs/knowledge-base/01-setup-onboarding/framework-detection.md +269 -0
  56. package/.claude/docs/knowledge-base/01-setup-onboarding/installation.md +146 -0
  57. package/.claude/docs/knowledge-base/01-setup-onboarding/onboarding-existing.md +317 -0
  58. package/.claude/docs/knowledge-base/01-setup-onboarding/team-setup.md +346 -0
  59. package/.claude/docs/knowledge-base/02-task-execution/01-task-planning.md +259 -0
  60. package/.claude/docs/knowledge-base/02-task-execution/02-execution-loop.md +443 -0
  61. package/.claude/docs/knowledge-base/02-task-execution/03-verification.md +417 -0
  62. package/.claude/docs/knowledge-base/02-task-execution/04-completion.md +374 -0
  63. package/.claude/docs/knowledge-base/02-task-execution/05-session-review.md +170 -0
  64. package/.claude/docs/knowledge-base/02-task-execution/README.md +173 -0
  65. package/.claude/docs/knowledge-base/02-task-execution/external-integrations.md +133 -0
  66. package/.claude/docs/knowledge-base/02-task-execution/model-management.md +202 -0
  67. package/.claude/docs/knowledge-base/02-task-execution/specification-mode.md +292 -0
  68. package/.claude/docs/knowledge-base/02-task-execution/sync-daemon.md +96 -0
  69. package/.claude/docs/knowledge-base/02-task-execution/trade-offs.md +345 -0
  70. package/.claude/docs/knowledge-base/02-task-execution/workflow-steps.md +357 -0
  71. package/.claude/docs/knowledge-base/03-self-improvement/README.md +199 -0
  72. package/.claude/docs/knowledge-base/03-self-improvement/long-input-processing.md +160 -0
  73. package/.claude/docs/knowledge-base/03-self-improvement/model-learning.md +334 -0
  74. package/.claude/docs/knowledge-base/03-self-improvement/project-learning.md +301 -0
  75. package/.claude/docs/knowledge-base/03-self-improvement/skill-learning.md +372 -0
  76. package/.claude/docs/knowledge-base/03-self-improvement/skill-matching.md +304 -0
  77. package/.claude/docs/knowledge-base/03-self-improvement/team-learning.md +342 -0
  78. package/.claude/docs/knowledge-base/04-memory-context/README.md +189 -0
  79. package/.claude/docs/knowledge-base/04-memory-context/context-management.md +308 -0
  80. package/.claude/docs/knowledge-base/04-memory-context/memory-commands.md +176 -0
  81. package/.claude/docs/knowledge-base/04-memory-context/memory-systems.md +359 -0
  82. package/.claude/docs/knowledge-base/04-memory-context/prd-management.md +115 -0
  83. package/.claude/docs/knowledge-base/04-memory-context/session-persistence.md +359 -0
  84. package/.claude/docs/knowledge-base/04-memory-context/team-history.md +317 -0
  85. package/.claude/docs/knowledge-base/05-development-tools/README.md +84 -0
  86. package/.claude/docs/knowledge-base/05-development-tools/code-traces.md +278 -0
  87. package/.claude/docs/knowledge-base/05-development-tools/figma-analyzer.md +253 -0
  88. package/.claude/docs/knowledge-base/05-development-tools/guided-edit.md +173 -0
  89. package/.claude/docs/knowledge-base/05-development-tools/mcp-integrations.md +286 -0
  90. package/.claude/docs/knowledge-base/06-safety-guardrails/README.md +153 -0
  91. package/.claude/docs/knowledge-base/06-safety-guardrails/checkpoint-rollback.md +302 -0
  92. package/.claude/docs/knowledge-base/06-safety-guardrails/commit-gates.md +309 -0
  93. package/.claude/docs/knowledge-base/06-safety-guardrails/damage-control.md +292 -0
  94. package/.claude/docs/knowledge-base/06-safety-guardrails/security-scanning.md +291 -0
  95. package/.claude/docs/knowledge-base/README.md +92 -0
  96. package/.claude/docs/knowledge-base/configuration/README.md +228 -0
  97. package/.claude/docs/knowledge-base/configuration/all-options.md +1632 -0
  98. package/.claude/docs/knowledge-base/future-features.md +277 -0
  99. package/.claude/docs/stack.md +25 -0
  100. package/.claude/docs/testing.md +71 -0
  101. package/.claude/rules/README.md +60 -0
  102. package/.claude/rules/architecture/component-reuse.md +38 -0
  103. package/.claude/rules/architecture/document-structure.md +76 -0
  104. package/.claude/rules/architecture/feature-refactoring-cleanup.md +87 -0
  105. package/.claude/rules/architecture/model-management.md +35 -0
  106. package/.claude/rules/code-style/naming-conventions.md +55 -0
  107. package/.claude/rules/security/security-patterns.md +116 -0
  108. package/.claude/skills/.gitkeep +0 -0
  109. package/.claude/skills/README.md +131 -0
  110. package/.claude/skills/_template/commands/.gitkeep +0 -0
  111. package/.claude/skills/_template/knowledge/anti-patterns.md +49 -0
  112. package/.claude/skills/_template/knowledge/learnings.md +60 -0
  113. package/.claude/skills/_template/knowledge/patterns.md +45 -0
  114. package/.claude/skills/_template/rules/.gitkeep +0 -0
  115. package/.claude/skills/_template/skill.md +99 -0
  116. package/.claude/skills/_template/templates/.gitkeep +0 -0
  117. package/.claude/skills/figma-analyzer/knowledge/anti-patterns.md +216 -0
  118. package/.claude/skills/figma-analyzer/knowledge/patterns.md +144 -0
  119. package/.claude/skills/figma-analyzer/skill.md +236 -0
  120. package/lib/installer.js +59 -19
  121. package/package.json +5 -1
@@ -0,0 +1,301 @@
1
+ # Project-Level Learning
2
+
3
+ How WogiFlow learns project-specific patterns and conventions.
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ Project-level learning captures:
10
+ - Coding patterns unique to your project
11
+ - Architectural decisions
12
+ - Team conventions
13
+ - Feedback history
14
+
15
+ These are stored in `.workflow/state/` and applied to all future work.
16
+
17
+ ---
18
+
19
+ ## decisions.md
20
+
21
+ The primary store for project-specific patterns.
22
+
23
+ ### Structure
24
+
25
+ ```markdown
26
+ # Project Decisions
27
+
28
+ ## Tech Stack
29
+ - **Language**: TypeScript
30
+ - **Framework**: Next.js
31
+ - **Database**: PostgreSQL (Prisma)
32
+
33
+ ## Conventions
34
+ - Use functional components
35
+ - All API calls through `lib/api.ts`
36
+ - State management with Zustand
37
+
38
+ ## Patterns
39
+
40
+ ### API Calls
41
+ Always use the axios wrapper from `lib/api.ts`:
42
+ ```typescript
43
+ import { api } from '@/lib/api';
44
+ const data = await api.get('/users');
45
+ ```
46
+
47
+ ### Error Boundaries
48
+ Wrap page components with ErrorBoundary:
49
+ ```typescript
50
+ <ErrorBoundary fallback={<ErrorPage />}>
51
+ <PageContent />
52
+ </ErrorBoundary>
53
+ ```
54
+
55
+ ## Anti-Patterns
56
+
57
+ ### ❌ Direct fetch calls
58
+ Don't use raw fetch - use the api wrapper for error handling.
59
+
60
+ ### ❌ Class components
61
+ Use functional components with hooks.
62
+ ```
63
+
64
+ ### How It's Updated
65
+
66
+ 1. **During Correction**: AI offers to persist pattern
67
+ 2. **Manual Edit**: User adds patterns directly
68
+ 3. **Automatic Extraction**: From repeated feedback
69
+ 4. **On Onboarding**: From detected conventions
70
+
71
+ ---
72
+
73
+ ## Feedback Patterns
74
+
75
+ History of corrections stored in `feedback-patterns.md`.
76
+
77
+ ### Structure
78
+
79
+ ```markdown
80
+ # Feedback Patterns
81
+
82
+ ## 2024-01-15
83
+
84
+ ### Pattern: API Error Handling
85
+ **Trigger**: User corrected missing error handling
86
+ **Resolution**: Always wrap API calls in try/catch
87
+ **Persisted to**: decisions.md
88
+
89
+ ### Pattern: Import Ordering
90
+ **Trigger**: User preferred specific import order
91
+ **Resolution**: React imports first, then third-party, then local
92
+ **Persisted to**: decisions.md
93
+ ```
94
+
95
+ ### Purpose
96
+
97
+ - Track correction history
98
+ - Identify recurring issues
99
+ - Feed into automatic learning
100
+
101
+ ---
102
+
103
+ ## Automatic Pattern Extraction
104
+
105
+ When `autoExtract` is enabled:
106
+
107
+ ```json
108
+ {
109
+ "skillLearning": {
110
+ "autoExtract": true,
111
+ "triggers": {
112
+ "onCommit": true,
113
+ "onTaskComplete": true,
114
+ "onCompact": true
115
+ },
116
+ "minCorrectionsToLearn": 1
117
+ }
118
+ }
119
+ ```
120
+
121
+ ### Extraction Process
122
+
123
+ 1. **Trigger**: On configured events
124
+ 2. **Analyze**: Review recent corrections and feedback
125
+ 3. **Extract**: Identify patterns from corrections
126
+ 4. **Propose**: Suggest adding to decisions.md
127
+ 5. **Confirm**: User approves or rejects
128
+
129
+ ---
130
+
131
+ ## Request Log as Memory
132
+
133
+ The request log serves as institutional memory:
134
+
135
+ ```markdown
136
+ ### R-047 | 2024-01-15 14:30
137
+ **Type**: new
138
+ **Tags**: #screen:login #component:AuthService
139
+ **Request**: "Add user authentication"
140
+ **Result**: Created AuthService using existing api wrapper pattern
141
+ **Files**: src/services/AuthService.ts
142
+ ```
143
+
144
+ ### How It's Used
145
+
146
+ - **Context**: AI reads recent entries for patterns
147
+ - **Consistency**: Previous approaches inform new work
148
+ - **Audit Trail**: Track decisions over time
149
+
150
+ ---
151
+
152
+ ## Component Registry Growth
153
+
154
+ As new components are created:
155
+
156
+ 1. **Added to app-map.md**: With descriptions and usage
157
+ 2. **Preferred for Reuse**: AI checks before creating new
158
+ 3. **Variant Detection**: Suggest variants over new components
159
+
160
+ ```json
161
+ {
162
+ "componentRules": {
163
+ "preferVariants": true,
164
+ "requireAppMapEntry": true
165
+ }
166
+ }
167
+ ```
168
+
169
+ ---
170
+
171
+ ## Correction Workflow
172
+
173
+ When user corrects the AI:
174
+
175
+ ```
176
+ User: "Don't use raw fetch, use the api wrapper"
177
+
178
+ AI: "I'll fix that. Should I persist this pattern?"
179
+ Options:
180
+ 1. Add to decisions.md ← Best for project patterns
181
+ 2. Add to agents/developer.md
182
+ 3. Add to config.json
183
+ 4. Skip (one-time fix)
184
+
185
+ User: "1"
186
+
187
+ AI: Updates decisions.md with pattern
188
+ Commits change
189
+ Logs to feedback-patterns.md
190
+ ```
191
+
192
+ ---
193
+
194
+ ## Configuration
195
+
196
+ ```json
197
+ {
198
+ "corrections": {
199
+ "mode": "inline", // Where to show corrections
200
+ "detailPath": ".workflow/corrections" // Detailed reports
201
+ },
202
+ "skillLearning": {
203
+ "enabled": true,
204
+ "minCorrectionsToLearn": 1 // Min corrections before extraction
205
+ }
206
+ }
207
+ ```
208
+
209
+ ---
210
+
211
+ ## Correction Reports
212
+
213
+ For significant bugs, create detailed reports:
214
+
215
+ ```bash
216
+ /wogi-correction
217
+
218
+ # Creates detailed report with:
219
+ # - Root cause analysis
220
+ # - Fix description
221
+ # - Prevention pattern
222
+ # - Files affected
223
+ ```
224
+
225
+ ### Report Structure
226
+
227
+ ```markdown
228
+ # Correction Report: Auth Token Refresh
229
+
230
+ ## Issue
231
+ API calls failed after token expiration
232
+
233
+ ## Root Cause
234
+ No token refresh logic in api wrapper
235
+
236
+ ## Fix Applied
237
+ Added interceptor to refresh expired tokens
238
+
239
+ ## Prevention Pattern
240
+ All API wrappers should include token refresh:
241
+ ```typescript
242
+ api.interceptors.response.use(null, async (error) => {
243
+ if (error.response?.status === 401) {
244
+ await refreshToken();
245
+ return api.request(error.config);
246
+ }
247
+ throw error;
248
+ });
249
+ ```
250
+
251
+ ## Persisted To
252
+ - decisions.md (pattern added)
253
+ - lib/api.ts (code updated)
254
+ ```
255
+
256
+ ---
257
+
258
+ ## Best Practices
259
+
260
+ 1. **Persist Important Corrections**: Don't skip the prompt
261
+ 2. **Be Specific**: Include code examples when helpful
262
+ 3. **Use Categories**: Organize patterns in decisions.md
263
+ 4. **Include Anti-Patterns**: Document what NOT to do
264
+ 5. **Review Regularly**: Clean up outdated patterns
265
+
266
+ ---
267
+
268
+ ## Troubleshooting
269
+
270
+ ### Patterns Not Applied
271
+
272
+ Check if pattern is in decisions.md:
273
+ ```bash
274
+ grep -i "pattern-keyword" .workflow/state/decisions.md
275
+ ```
276
+
277
+ ### Too Many Prompts
278
+
279
+ Reduce correction prompts:
280
+ ```json
281
+ {
282
+ "corrections": {
283
+ "mode": "inline" // vs "detailed"
284
+ }
285
+ }
286
+ ```
287
+
288
+ ### Pattern Conflicts
289
+
290
+ If patterns conflict:
291
+ 1. Check decisions.md for contradictions
292
+ 2. Remove outdated patterns
293
+ 3. Clarify with specific examples
294
+
295
+ ---
296
+
297
+ ## Related
298
+
299
+ - [Skill Learning](./skill-learning.md) - Framework-level patterns
300
+ - [Model Learning](./model-learning.md) - Per-model optimization
301
+ - [Task Execution](../02-task-execution/) - Where patterns apply
@@ -0,0 +1,372 @@
1
+ # Skill-Level Learning
2
+
3
+ Framework-specific patterns, anti-patterns, and skill creation.
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ Skills encapsulate framework-specific knowledge:
10
+ - Best practices for React, NestJS, FastAPI, etc.
11
+ - Common anti-patterns to avoid
12
+ - Framework-specific code snippets
13
+ - Official documentation references
14
+
15
+ ---
16
+
17
+ ## Skill Structure
18
+
19
+ ```
20
+ .claude/skills/
21
+ ├── react/
22
+ │ ├── skill.md # Skill definition
23
+ │ └── knowledge/
24
+ │ ├── patterns.md # Best practices
25
+ │ └── anti-patterns.md # What to avoid
26
+ ├── nestjs/
27
+ │ ├── skill.md
28
+ │ └── knowledge/
29
+ │ ├── patterns.md
30
+ │ └── anti-patterns.md
31
+ └── ...
32
+ ```
33
+
34
+ ---
35
+
36
+ ## Configuration
37
+
38
+ ```json
39
+ {
40
+ "skillLearning": {
41
+ "enabled": true,
42
+ "autoExtract": true,
43
+ "triggers": {
44
+ "onCommit": true,
45
+ "onTaskComplete": true,
46
+ "onCompact": true
47
+ },
48
+ "minCorrectionsToLearn": 1,
49
+ "autoCreateSkills": "ask", // "ask" | "auto" | "off"
50
+ "autoDetectFrameworks": true,
51
+ "fetchOfficialDocs": true
52
+ },
53
+ "skills": {
54
+ "installed": ["react", "nestjs"]
55
+ }
56
+ }
57
+ ```
58
+
59
+ ---
60
+
61
+ ## Auto-Skill Creation
62
+
63
+ When a framework is detected but no skill exists:
64
+
65
+ ```json
66
+ {
67
+ "skillLearning": {
68
+ "autoCreateSkills": "ask" // Prompt before creating
69
+ }
70
+ }
71
+ ```
72
+
73
+ ### Options
74
+
75
+ | Value | Behavior |
76
+ |-------|----------|
77
+ | `"ask"` | Prompt user before creating |
78
+ | `"auto"` | Create automatically |
79
+ | `"off"` | Never auto-create |
80
+
81
+ ### Creation Flow
82
+
83
+ ```
84
+ Framework Detected: NestJS
85
+
86
+ No existing skill found
87
+
88
+ ┌─────────────────────────────────────────┐
89
+ │ Create NestJS skill? [y/n] │
90
+ │ │
91
+ │ This will create: │
92
+ │ - .claude/skills/nestjs/skill.md │
93
+ │ - .claude/skills/nestjs/knowledge/patterns.md │
94
+ │ - .claude/skills/nestjs/knowledge/anti-patterns.md
95
+ └─────────────────────────────────────────┘
96
+
97
+ User confirms → Skill created
98
+ ```
99
+
100
+ ---
101
+
102
+ ## Skill Definition (skill.md)
103
+
104
+ ```markdown
105
+ # NestJS Skill
106
+
107
+ ## Framework
108
+ NestJS - A progressive Node.js framework
109
+
110
+ ## When Active
111
+ This skill applies when working with:
112
+ - `.module.ts` files
113
+ - `.controller.ts` files
114
+ - `.service.ts` files
115
+ - `@nestjs/*` imports
116
+
117
+ ## Key Concepts
118
+ - Dependency injection via decorators
119
+ - Module-based architecture
120
+ - Guard/Interceptor/Pipe patterns
121
+
122
+ ## Official Docs
123
+ https://docs.nestjs.com
124
+ ```
125
+
126
+ ---
127
+
128
+ ## Pattern Files
129
+
130
+ ### patterns.md
131
+
132
+ ```markdown
133
+ # NestJS Patterns
134
+
135
+ ## Module Organization
136
+
137
+ Every feature should have its own module:
138
+ ```typescript
139
+ @Module({
140
+ imports: [TypeOrmModule.forFeature([User])],
141
+ controllers: [UsersController],
142
+ providers: [UsersService],
143
+ exports: [UsersService]
144
+ })
145
+ export class UsersModule {}
146
+ ```
147
+
148
+ ## Service Layer
149
+
150
+ Keep controllers thin, put logic in services:
151
+ ```typescript
152
+ @Injectable()
153
+ export class UsersService {
154
+ constructor(
155
+ @InjectRepository(User)
156
+ private usersRepository: Repository<User>,
157
+ ) {}
158
+
159
+ findAll(): Promise<User[]> {
160
+ return this.usersRepository.find();
161
+ }
162
+ }
163
+ ```
164
+
165
+ ## DTOs
166
+
167
+ Always validate input with class-validator:
168
+ ```typescript
169
+ export class CreateUserDto {
170
+ @IsString()
171
+ @IsNotEmpty()
172
+ name: string;
173
+
174
+ @IsEmail()
175
+ email: string;
176
+ }
177
+ ```
178
+ ```
179
+
180
+ ### anti-patterns.md
181
+
182
+ ```markdown
183
+ # NestJS Anti-Patterns
184
+
185
+ ## ❌ Business Logic in Controllers
186
+
187
+ Don't put business logic in controllers:
188
+ ```typescript
189
+ // BAD
190
+ @Controller('users')
191
+ export class UsersController {
192
+ @Post()
193
+ create(@Body() dto: CreateUserDto) {
194
+ // Logic here is wrong
195
+ const user = { ...dto, createdAt: new Date() };
196
+ return this.repo.save(user);
197
+ }
198
+ }
199
+
200
+ // GOOD
201
+ @Controller('users')
202
+ export class UsersController {
203
+ @Post()
204
+ create(@Body() dto: CreateUserDto) {
205
+ return this.usersService.create(dto);
206
+ }
207
+ }
208
+ ```
209
+
210
+ ## ❌ Circular Dependencies
211
+
212
+ Avoid circular module dependencies:
213
+ ```typescript
214
+ // BAD: Module A imports B, B imports A
215
+
216
+ // GOOD: Use forwardRef() or restructure
217
+ @Module({
218
+ imports: [forwardRef(() => ModuleB)]
219
+ })
220
+ export class ModuleA {}
221
+ ```
222
+ ```
223
+
224
+ ---
225
+
226
+ ## Pattern Extraction
227
+
228
+ When corrections relate to a framework:
229
+
230
+ 1. **Detect Framework**: Match against installed skills
231
+ 2. **Extract Pattern**: Identify the learning
232
+ 3. **Route Appropriately**: Skill patterns vs project decisions
233
+ 4. **Update Skill**: Add to patterns.md or anti-patterns.md
234
+
235
+ ```
236
+ User: "In NestJS, services should be @Injectable"
237
+
238
+ Detected: NestJS-specific correction
239
+
240
+ Added to: .claude/skills/nestjs/knowledge/patterns.md
241
+ ```
242
+
243
+ ---
244
+
245
+ ## Official Docs Integration
246
+
247
+ When `fetchOfficialDocs` is enabled:
248
+
249
+ ```json
250
+ {
251
+ "skillLearning": {
252
+ "fetchOfficialDocs": true,
253
+ "officialDocsUrls": {
254
+ "nestjs": "https://docs.nestjs.com",
255
+ "react": "https://react.dev"
256
+ }
257
+ }
258
+ }
259
+ ```
260
+
261
+ Benefits:
262
+ - Reference official patterns
263
+ - Stay updated with best practices
264
+ - Cite authoritative sources
265
+
266
+ ---
267
+
268
+ ## Manual Learning Trigger
269
+
270
+ ```bash
271
+ /wogi-skill-learn
272
+
273
+ # Output:
274
+ # 🎓 Skill Learning Extraction
275
+ #
276
+ # Analyzing recent commits and corrections...
277
+ #
278
+ # Found patterns:
279
+ # 1. NestJS: Use ConfigService for env vars
280
+ # 2. React: Prefer named exports for components
281
+ #
282
+ # Add to skills? [y/n]
283
+ ```
284
+
285
+ ---
286
+
287
+ ## Continual Learning Skills
288
+
289
+ Some skills continuously learn:
290
+
291
+ ```markdown
292
+ # skill.md
293
+
294
+ ## Continual Learning
295
+ This skill should:
296
+ - Track new patterns from corrections
297
+ - Update with latest best practices
298
+ - Learn from code review feedback
299
+ ```
300
+
301
+ ---
302
+
303
+ ## Skill Activation
304
+
305
+ Skills activate based on context:
306
+
307
+ ```
308
+ Working on src/users/users.module.ts
309
+
310
+ Detect: NestJS module file
311
+
312
+ Activate: nestjs skill
313
+
314
+ Apply: NestJS patterns from skill
315
+ ```
316
+
317
+ ### Activation Triggers
318
+
319
+ | File Pattern | Skill Activated |
320
+ |--------------|-----------------|
321
+ | `*.tsx`, `*.jsx` | react |
322
+ | `*.module.ts`, `*.controller.ts` | nestjs |
323
+ | `*.vue` | vue |
324
+ | `main.py` + fastapi | fastapi |
325
+
326
+ ---
327
+
328
+ ## Custom Skills
329
+
330
+ Create project-specific skills:
331
+
332
+ ```bash
333
+ mkdir -p .claude/skills/my-skill/knowledge
334
+
335
+ cat > .claude/skills/my-skill/skill.md << 'EOF'
336
+ # My Custom Skill
337
+
338
+ ## When Active
339
+ When working with internal-api patterns
340
+
341
+ ## Key Concepts
342
+ - All API calls must use v2 endpoint
343
+ - Auth tokens must be refreshed
344
+ EOF
345
+
346
+ cat > .claude/skills/my-skill/knowledge/patterns.md << 'EOF'
347
+ # Internal API Patterns
348
+
349
+ ## V2 Endpoints
350
+ Always use v2 API endpoints:
351
+ ```typescript
352
+ const response = await api.get('/api/v2/users');
353
+ ```
354
+ EOF
355
+ ```
356
+
357
+ Add to config:
358
+ ```json
359
+ {
360
+ "skills": {
361
+ "installed": ["my-skill"]
362
+ }
363
+ }
364
+ ```
365
+
366
+ ---
367
+
368
+ ## Related
369
+
370
+ - [Project Learning](./project-learning.md) - Project-specific patterns
371
+ - [Model Learning](./model-learning.md) - Per-model optimization
372
+ - [Framework Detection](../01-setup-onboarding/framework-detection.md)