start-vibing 1.1.3 → 1.1.4

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.
@@ -2,16 +2,17 @@
2
2
 
3
3
  ## Last Update
4
4
 
5
- - **Date:** 2025-12-24
6
- - **Session:** Clean template - removed project-specific content
5
+ - **Date:** 2024-12-19
6
+ - **Commit:** pending
7
+ - **Session:** Fixed all skills to use YAML frontmatter format
7
8
 
8
9
  ## Files
9
10
 
10
11
  ### Agents
11
12
 
12
13
  - `.claude/agents/analyzer.md` - Analyzes change impact, approves files
13
- - `.claude/agents/research.md` - Researches best practices before implementation
14
- - `.claude/agents/commit-manager.md` - Manages git commits
14
+ - `.claude/agents/research.md` - **NEW** Researches best practices (2024-2025) before implementation
15
+ - `.claude/agents/commit-manager.md` - Manages git commits, runs complete-task
15
16
  - `.claude/agents/documenter.md` - Creates/updates documentation
16
17
  - `.claude/agents/domain-updater.md` - Updates domain knowledge after sessions
17
18
  - `.claude/agents/final-validator.md` - Final validation with VETO power
@@ -21,34 +22,239 @@
21
22
  - `.claude/agents/tester.md` - Creates unit and E2E tests
22
23
  - `.claude/agents/ui-ux-reviewer.md` - Reviews UI/UX patterns
23
24
 
25
+ ### Hooks
26
+
27
+ - `.claude/hooks/user-prompt-submit.py` - Agent selection guidance before prompt processing
28
+
24
29
  ### Skills
25
30
 
26
31
  - `.claude/skills/codebase-knowledge/` - Domain mapping system
27
- - `.claude/skills/research-cache/` - Best practices research cache
32
+ - `.claude/skills/research-cache/` - **NEW** Best practices research cache
28
33
  - `.claude/skills/docs-tracker/` - Documentation tracking
29
34
  - `.claude/skills/final-check/` - Final validation rules
30
35
  - `.claude/skills/quality-gate/` - Quality gate definitions
31
36
  - `.claude/skills/security-scan/` - Security audit rules
32
37
  - `.claude/skills/test-coverage/` - Test coverage tracking
33
38
  - `.claude/skills/ui-ux-audit/` - UI/UX audit rules
34
- - `.claude/skills/workflow-state/` - Task state tracking
35
39
 
36
40
  ### Configuration
37
41
 
42
+ - `.claude/settings.json` - Agent registration, flows, rules
43
+ - `.claude/workflow-state.json` - Current task state
44
+ - `.claude/CLAUDE.md` - System documentation
45
+
46
+ ### Config Files (NEW - 2024-12-19)
47
+
38
48
  - `.claude/config/project-config.json` - Stack, structure, commands
39
49
  - `.claude/config/domain-mapping.json` - File patterns to domains
40
50
  - `.claude/config/quality-gates.json` - Quality check commands
41
51
  - `.claude/config/testing-config.json` - Test framework config
42
52
  - `.claude/config/security-rules.json` - Security audit rules
53
+ - `.claude/config/README.md` - Config documentation
54
+
55
+ ### Root Files
56
+
57
+ - `CLAUDE.md` - Development rules (115 lines, generalist)
58
+ - `PROJECT.md` - Project-specific details (Solana Listeners)
43
59
 
44
60
  ## Connections
45
61
 
46
62
  - **All domains:** domain-updater reads/updates domain files after sessions
47
63
  - **Infrastructure:** Hooks enforce workflow rules project-wide
48
64
 
65
+ ## Recent Commits
66
+
67
+ | Hash | Date | Description |
68
+ | ---- | ---- | ----------- |
69
+ | de8cda9 | 2024-12-18 | feat(hooks): add domain-updater agent and enhance Task tool guidance |
70
+ | e9b4ad3 | 2024-12-18 | fix(claude-system): move complete-task from commit-manager to domain-updater |
71
+ | 251dfad | 2024-12-18 | feat(claude-system): add domain-updater agent as final workflow step |
72
+
73
+ ## Problems & Solutions
74
+
75
+ ### 2024-12-19 - Workflow Manager Removed
76
+
77
+ **Problem:**
78
+ The workflow-manager.py script and enforcement hooks (pre-tool-use.py, post-tool-use.py, stop-validation.py) were blocking operations and adding unnecessary complexity.
79
+
80
+ **Root Cause:**
81
+ The system was designed with strict workflow enforcement that prevented Claude from working flexibly.
82
+
83
+ **Solution:**
84
+ - Deleted workflow-manager.py, pre-tool-use.py, post-tool-use.py, stop-validation.py
85
+ - Removed references from all documentation
86
+ - Simplified settings.local.json to only keep UserPromptSubmit hook
87
+ - Agents now work independently without state tracking requirements
88
+
89
+ **Prevention:**
90
+ Trust agents to coordinate naturally through Task tool invocation rather than enforcing artificial state machine.
91
+
92
+ ---
93
+ - Git tree is clean after session ends
94
+
95
+ **Prevention:**
96
+ - domain-updater priority: 9 (runs after final-validator)
97
+ - commit-manager priority: 10 (FINAL step)
98
+ - Stop hook enforces both must run before session ends
99
+
100
+ ---
101
+
102
+ ### 2024-12-18 - domain-updater Not Available as Subagent
103
+
104
+ **Problem:**
105
+ Tried to invoke domain-updater via Task tool but got "Agent type 'domain-updater' not found"
106
+
107
+ **Root Cause:**
108
+ Agents defined in `.claude/agents/*.md` are instructions for Claude to follow, not subagent_types in Claude Code system
109
+
110
+ **Solution:**
111
+ Execute domain-updater logic manually or use documenter agent which has similar capabilities
112
+
113
+ **Prevention:**
114
+ To make an agent invokable via Task tool, it needs to be registered in Claude Code's internal system (separate from .claude/agents/)
115
+
49
116
  ## Attention Points
50
117
 
51
- - **Config files for project specifics** - Agents read from `.claude/config/*.json` instead of hardcoding
52
- - **CLAUDE.md < 300 lines** - Best practice from Anthropic
53
- - **SKILL.md YAML frontmatter** - ALL skills MUST have `---` frontmatter with name, description
54
- - **Skill name format** - max 64 chars, lowercase, letters/numbers/hyphens only
118
+ - [2024-12-18] **Workflow is enforced by hooks** - Cannot skip steps, hooks will block
119
+ - [2024-12-18] **domain-updater is MANDATORY** - Stop hook blocks if not executed
120
+ - [2024-12-18] **10 agents total** - domain-updater added as final step (priority 10)
121
+ - [2024-12-18] **Config files (.claude/*) don't require tests** - Excluded from source file checks
122
+ - [2024-12-18] ~~**domain-updater runs complete-task**~~ - OUTDATED: commit-manager now runs complete-task
123
+ - [2024-12-18] **.claude/agents/ vs subagent_type** - Agents in .claude/agents/ are instructions, not Claude Code subagents
124
+ - [2024-12-18] **Never bypass workflow manually** - Follow the agents properly, don't mark as executed without running
125
+ - [2024-12-18] **Use Task tool for agents** - UserPromptSubmit now reminds to use Task(subagent_type="agent-name") instead of manual execution
126
+ - [2024-12-18] **Workflow order fixed** - domain-updater runs BEFORE commit-manager (not after) for clean git
127
+ - [2024-12-18] **commit-manager is FINAL** - It runs complete-task, not domain-updater
128
+ - [2024-12-18] **Stop hook enforces commit** - Blocks if domain-updater ran but commit-manager didn't
129
+ - [2024-12-18] **Research agent added** - Mandatory for features/fixes, runs after analyzer
130
+ - [2024-12-18] **11 agents total** - research added (priority 3)
131
+ - [2024-12-18] **workflow-state.json in .gitignore** - Transient state, not tracked in git
132
+ - [2024-12-19] **Config files for project specifics** - Agents read from `.claude/config/*.json` instead of hardcoding
133
+ - [2024-12-19] **CLAUDE.md < 300 lines** - Best practice from Anthropic, ideally < 60 lines
134
+ - [2024-12-19] **PROJECT.md for project details** - Separate from generic CLAUDE.md
135
+ - [2024-12-19] **Pre-tool-use wildcard issue** - Pattern `.claude/config/*` doesn't match absolute paths, use specific files
136
+ - [2024-12-19] **Tester agent v3.0** - Complete Playwright E2E architecture with fixture-based cleanup
137
+ - [2024-12-19] **E2E cleanup is MANDATORY** - Track all created IDs, delete ONLY tracked data after tests
138
+ - [2024-12-19] **Multi-viewport testing** - Desktop (1280x800), Tablet (768x1024), iPhone SE (375x667) required
139
+ - [2024-12-19] **DB validation in E2E** - Always verify database state after UI actions
140
+ - [2024-12-19] **Real auth only** - Never mock authentication in E2E tests
141
+ - [2024-12-19] **data-testid required** - All interactive elements must have data-testid attributes
142
+ - [2024-12-19] **SKILL.md YAML frontmatter** - ALL skills MUST have `---` frontmatter with name, description
143
+ - [2024-12-19] **Skill name format** - max 64 chars, lowercase, letters/numbers/hyphens only
144
+ - [2024-12-19] **Skill description** - max 1024 chars, describes WHAT skill does and WHEN to use it
145
+ - [2024-12-19] **allowed-tools optional** - Comma-separated tool names to restrict skill capabilities
146
+ - [2024-12-19] **Hooks config correct** - settings.json hooks format is valid, uses command type with python scripts
147
+
148
+ ## Problems & Solutions (2024-12-19)
149
+
150
+ ### 2024-12-19 - CLAUDE.md Too Long and Specific
151
+
152
+ **Problem:**
153
+ CLAUDE.md had 594 lines, 95% specific to Solana Listeners project. Too long for Claude to follow consistently.
154
+
155
+ **Root Cause:**
156
+ Project-specific details (workers, docker config, path aliases examples) mixed with universal rules.
157
+
158
+ **Solution:**
159
+ 1. Reduced CLAUDE.md to 115 lines (universal rules only)
160
+ 2. Created `PROJECT.md` with project-specific details
161
+ 3. Created `.claude/config/` with JSON configs for project specifics
162
+ 4. Updated agents to read from config files
163
+
164
+ **Prevention:**
165
+ - Keep CLAUDE.md under 300 lines (ideally < 60)
166
+ - Put project specifics in PROJECT.md
167
+ - Use `.claude/config/` for things agents need to adapt to
168
+
169
+ ---
170
+
171
+ ### 2024-12-19 - Pre-Tool-Use Wildcard Pattern Not Working
172
+
173
+ **Problem:**
174
+ Approved files with pattern `.claude/config/*` but hook still blocked edits to `.claude/config/project-config.json`
175
+
176
+ **Root Cause:**
177
+ Hook checks `file_path.startswith(approved[:-1])` but file_path is absolute path `C:/Users/.../` while approved is relative `.claude/config/*`
178
+
179
+ **Solution:**
180
+ Approve each file individually instead of using wildcard patterns
181
+
182
+ **Prevention:**
183
+ When using approve-files, list specific files rather than wildcards if path matching issues occur
184
+
185
+ ---
186
+
187
+ ### 2024-12-19 - E2E Test Data Pollution
188
+
189
+ **Problem:**
190
+ E2E tests created data in the database but didn't clean up, causing test pollution and confusion with real data.
191
+
192
+ **Root Cause:**
193
+ Tests were creating users, items, etc. but not tracking or deleting them after completion.
194
+
195
+ **Solution:**
196
+ Implemented fixture-based cleanup pattern:
197
+ 1. `createdIds` fixture tracks all created document IDs by collection
198
+ 2. `trackCreated(collection, id)` function to register created data
199
+ 3. Auto-cleanup runs after each test, even on failure
200
+ 4. Only deletes tracked IDs, never affects real data
201
+
202
+ **Prevention:**
203
+ - Always use `trackCreated()` immediately after creating data
204
+ - Use the custom `test` from fixtures, not base Playwright `test`
205
+ - Verify cleanup is working with DB inspection
206
+
207
+ ---
208
+
209
+ ### 2024-12-19 - Tester Agent Missing E2E Architecture
210
+
211
+ **Problem:**
212
+ Tester agent didn't have comprehensive E2E testing patterns for Playwright.
213
+
214
+ **Root Cause:**
215
+ Previous version focused on unit tests, lacked E2E architecture.
216
+
217
+ **Solution:**
218
+ Rewrote tester.md with complete Playwright architecture:
219
+ - Fixture-based cleanup pattern
220
+ - Multi-viewport testing (desktop, tablet, mobile)
221
+ - Database validation after UI actions
222
+ - API testing (REST and tRPC)
223
+ - Real authentication flows
224
+ - Storage state for session reuse
225
+ - Security testing (forbidden requests, rate limiting)
226
+
227
+ **Prevention:**
228
+ - Always test all viewports
229
+ - Always verify DB state, don't trust UI alone
230
+ - Use real auth, never mock it
231
+
232
+ ---
233
+
234
+ ### 2024-12-19 - Skills Missing YAML Frontmatter
235
+
236
+ **Problem:**
237
+ All SKILL.md files started with `# Title` instead of YAML frontmatter, making them undiscoverable by Claude Code.
238
+
239
+ **Root Cause:**
240
+ Skills were created as plain markdown without the required YAML frontmatter that Claude Code uses to discover and load skills.
241
+
242
+ **Solution:**
243
+ Added YAML frontmatter to all 8 SKILL.md files:
244
+ ```yaml
245
+ ---
246
+ name: skill-name-lowercase
247
+ description: What skill does and when to use it
248
+ allowed-tools: Tool1, Tool2 # optional
249
+ ---
250
+ ```
251
+
252
+ **Fixed Files:**
253
+ - quality-gate, security-scan, codebase-knowledge, docs-tracker
254
+ - final-check, ui-ux-audit, research-cache, test-coverage
255
+
256
+ **Prevention:**
257
+ - Quality-checker now validates SKILL.md format
258
+ - All new skills MUST start with YAML frontmatter
259
+ - name: lowercase-with-hyphens, max 64 chars
260
+ - description: non-empty, max 1024 chars
@@ -1,63 +1,239 @@
1
1
  ---
2
2
  name: docs-tracker
3
- description: Tracks documentation that needs updating after code changes. Activates after code is written, after git commits, when files were modified, or when user says 'update docs', 'changelog', or 'document changes'.
3
+ description: Automates documentation maintenance. Detects modified files via git diff, creates docs for new files, updates docs for modified files, generates changelog. Use after implementation to keep docs current.
4
4
  allowed-tools: Read, Glob, Grep, Bash
5
5
  ---
6
6
 
7
- # Docs Tracker
7
+ # Docs Tracker - Automatic Documentation System
8
8
 
9
- ## When to Use
9
+ ## Purpose
10
10
 
11
- - After implementation completes
12
- - Before committing changes
13
- - When user asks about documentation
11
+ This skill automates documentation maintenance:
12
+
13
+ - **Detects** modified files via git diff
14
+ - **Compares** with existing documentation
15
+ - **Creates** docs for new files
16
+ - **Updates** docs for modified files
17
+ - **Removes** docs for deleted files
18
+ - **Generates** automatic changelog
19
+
20
+ ---
21
+
22
+ ## Execution Flow
23
+
24
+ ```
25
+ 1. DETECT CHANGES → git diff --name-status
26
+
27
+ 2. CLASSIFY CHANGES → A=Added, M=Modified, D=Deleted
28
+
29
+ 3. CHECK EXISTING DOCS → docs/, codebase-knowledge/domains/
30
+
31
+ 4. EXECUTE ACTIONS → Create, update, or remove docs
32
+ ```
33
+
34
+ ---
14
35
 
15
36
  ## Detection Commands
16
37
 
38
+ ### Changes Since Last Commit
39
+
17
40
  ```bash
18
- # Changes since last commit
19
41
  git diff --name-status HEAD~1
42
+ ```
43
+
44
+ ### Changes vs Main
20
45
 
21
- # Changes vs main branch
46
+ ```bash
22
47
  git diff --name-status main..HEAD
48
+ ```
23
49
 
24
- # Staged changes
25
- git diff --name-status --cached
50
+ ### Added Files
51
+
52
+ ```bash
53
+ git diff --name-status main..HEAD | grep "^A"
54
+ ```
55
+
56
+ ### Modified Files
57
+
58
+ ```bash
59
+ git diff --name-status main..HEAD | grep "^M"
60
+ ```
61
+
62
+ ### Deleted Files
63
+
64
+ ```bash
65
+ git diff --name-status main..HEAD | grep "^D"
66
+ ```
67
+
68
+ ### Detailed File Diff
69
+
70
+ ```bash
71
+ git diff main..HEAD -- path/to/file.ts
26
72
  ```
27
73
 
74
+ ---
75
+
28
76
  ## File → Doc Mapping
29
77
 
30
- | File Type | Update This |
31
- |-----------|-------------|
32
- | `server/routers/*.ts` | `domains/[domain].md` |
33
- | `server/models/*.ts` | `domains/[domain].md` |
34
- | `app/**/page.tsx` | `docs/flows/[feature].md` |
35
- | `components/**/*.tsx` | Domain file or component doc |
78
+ | File Type | Related Documentation |
79
+ | --------------------- | --------------------------------------------- |
80
+ | `server/routers/*.ts` | `codebase-knowledge/domains/[domain].md` |
81
+ | `server/models/*.ts` | `codebase-knowledge/domains/[domain].md` |
82
+ | `app/**/page.tsx` | `docs/flows/[feature].md` |
83
+ | `components/**/*.tsx` | `docs/components/[component].md` (if complex) |
84
+ | `lib/**/*.ts` | `docs/utils/[lib].md` (if exported) |
85
+
86
+ ---
87
+
88
+ ## Update Rules
89
+
90
+ ### CREATE Doc When:
36
91
 
37
- ## Workflow
92
+ - [ ] New file in `server/routers/` → Update domain
93
+ - [ ] New file in `server/models/` → Update domain
94
+ - [ ] New page in `app/` → Create flow doc if complex
95
+ - [ ] New complex component → Consider doc
38
96
 
39
- 1. **Detect** - `git diff --name-status`
40
- 2. **Classify** - Added/Modified/Deleted
41
- 3. **Update** - Relevant domain files
42
- 4. **Changelog** - Add entry if significant
97
+ ### UPDATE Doc When:
43
98
 
44
- ## Changelog Format
99
+ - [ ] tRPC procedure changed signature
100
+ - [ ] Model changed schema
101
+ - [ ] Page changed main flow
102
+ - [ ] Connections between domains changed
103
+
104
+ ### REMOVE Doc When:
105
+
106
+ - [ ] File was deleted
107
+ - [ ] Feature was completely removed
108
+ - [ ] Component was discontinued
109
+
110
+ ---
111
+
112
+ ## Changelog Template
45
113
 
46
114
  ```markdown
47
- ## [Unreleased]
115
+ ## [Unreleased] - YYYY-MM-DD
48
116
 
49
117
  ### Added
50
- - New feature X
118
+
119
+ - New feature X in `path/to/file.ts`
120
+ - New component Y
51
121
 
52
122
  ### Changed
53
- - Modified behavior of Y
123
+
124
+ - Changed behavior of Z
125
+ - Refactored module W
54
126
 
55
127
  ### Fixed
56
- - Bug in Z
128
+
129
+ - Fixed bug in A
130
+ - Resolved issue #123
131
+
132
+ ### Removed
133
+
134
+ - Removed obsolete feature B
135
+
136
+ ### Docs Updated
137
+
138
+ - Updated `codebase-knowledge/domains/[domain].md`
139
+ - Created `docs/flows/[feature].md`
140
+ ```
141
+
142
+ ---
143
+
144
+ ## Pre-Commit Checklist
145
+
146
+ ### 1. Detect Changes
147
+
148
+ ```bash
149
+ git diff --name-status --cached
150
+ ```
151
+
152
+ ### 2. For Each Modified File
153
+
154
+ - [ ] Which domain does it belong to?
155
+ - [ ] Is domain updated in `codebase-knowledge/domains/`?
156
+ - [ ] Has flow doc in `docs/flows/`? Needs update?
157
+ - [ ] Commit hash will be added to domain?
158
+
159
+ ### 3. For Added Files
160
+
161
+ - [ ] Which domain? Add to file list
162
+ - [ ] Needs own doc or just update domain?
163
+ - [ ] Connections with other domains?
164
+
165
+ ### 4. For Deleted Files
166
+
167
+ - [ ] Remove from `codebase-knowledge/domains/`
168
+ - [ ] Remove flow doc if exists
169
+ - [ ] Update connections in related domains
170
+
171
+ ---
172
+
173
+ ## Integration with Codebase-Knowledge
174
+
175
+ ### Update Domain After Change
176
+
177
+ ```markdown
178
+ ## Domain Update: [name]
179
+
180
+ ### Changes Detected
181
+
182
+ | File | Status | Description |
183
+ | ------------ | -------- | -------------- |
184
+ | path/file.ts | Modified | [what changed] |
185
+
186
+ ### Required Updates in domains/[domain].md
187
+
188
+ - [ ] Update "Last Update" with date and commit
189
+ - [ ] Add/remove files from list
190
+ - [ ] Update "Recent Commits"
191
+ - [ ] Check "Connections" if integration changed
192
+ - [ ] Update "Attention Points" if applicable
57
193
  ```
58
194
 
59
- ## Rules
195
+ ---
196
+
197
+ ## Output Format
198
+
199
+ ```markdown
200
+ ## DOCS TRACKER - Report
201
+
202
+ ### Changes Detected
203
+
204
+ - **Added:** X files
205
+ - **Modified:** Y files
206
+ - **Deleted:** Z files
207
+
208
+ ### Docs That Need Update
209
+
210
+ | Doc | Type | Action | Priority |
211
+ | ---------------- | ------ | ------ | -------- |
212
+ | domains/auth.md | domain | update | HIGH |
213
+ | flows/feature.md | flow | create | MEDIUM |
214
+
215
+ ### Actions Executed
216
+
217
+ - [x] Updated `domains/auth.md` with commit abc123
218
+ - [x] Created `flows/new-feature.md`
219
+ - [x] Removed `flows/obsolete.md`
220
+
221
+ ### Changelog Generated
222
+
223
+ [changelog preview]
224
+ ```
225
+
226
+ ---
227
+
228
+ ## Critical Rules
229
+
230
+ 1. **ALWAYS run before commit** - Outdated docs are technical debt
231
+ 2. **NEVER ignore new files** - Every file deserves documentation
232
+ 3. **KEEP changelog updated** - Facilitates releases
233
+ 4. **SYNC with codebase-knowledge** - It's the source of truth
234
+
235
+ ---
236
+
237
+ ## Version
60
238
 
61
- 1. **Run before commit** - outdated docs = tech debt
62
- 2. **Update domains** - sync with codebase-knowledge
63
- 3. **Keep changelog current** - facilitates releases
239
+ - **v2.0.0** - Generic template