@leeovery/claude-technical-workflows 2.0.11 → 2.0.13

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.
@@ -31,6 +31,15 @@ Scan the codebase for research and discussions:
31
31
  - Status values: `Exploring`, `Deciding`, or `Concluded`
32
32
  - Do NOT use bash loops - run separate commands for each file
33
33
 
34
+ 4. **Check for cached analysis** (if research files exist):
35
+ - Check if `docs/workflow/.cache/research-analysis.md` exists
36
+ - If it exists, read it to get the stored checksum from the frontmatter
37
+
38
+ 5. **Compute current research checksum** (if research files exist):
39
+ - Run: `cat $(ls docs/workflow/research/*.md | sort) 2>/dev/null | md5sum | cut -d' ' -f1`
40
+ - This creates a combined checksum of all research files (sorted alphabetically)
41
+ - Store this value to compare with the cached checksum
42
+
34
43
  ## Step 2: Present Workflow State and Options
35
44
 
36
45
  Present the workflow state and available options based on what was discovered.
@@ -81,23 +90,110 @@ Wait for the user to choose before proceeding.
81
90
 
82
91
  ## Step 3A: "From research" Path
83
92
 
93
+ This step uses caching to avoid re-analyzing unchanged research documents.
94
+
95
+ ### Step 3A.1: Check Cache Validity
96
+
97
+ Compare the current research checksum (computed in Step 1.5) with the cached checksum:
98
+
99
+ **If cache exists AND checksums match:**
100
+ ```
101
+ 📋 Using cached analysis
102
+
103
+ Research documents unchanged since last analysis ({date from cache}).
104
+ Loading {count} previously identified topics...
105
+
106
+ 💡 To force a fresh analysis, enter: refresh
107
+ ```
108
+
109
+ Then load the topics from the cache file and skip to Step 3A.3 (Cross-reference).
110
+
111
+ **If cache missing OR checksums differ:**
112
+ ```
113
+ 🔍 Analyzing research documents...
114
+ ```
115
+
116
+ Proceed to Step 3A.2 (Full Analysis).
117
+
118
+ ### Step 3A.2: Full Analysis (when cache invalid)
119
+
84
120
  Read each research file and analyze the content to extract key themes and potential discussion topics. For each theme:
85
121
  - Note the source file and relevant line numbers
86
122
  - Summarize what the theme is about in 1-2 sentences
123
+ - Identify key questions or decisions that need discussion
124
+
125
+ **Be thorough**: This analysis will be cached, so take time to identify ALL potential topics including:
126
+ - Major architectural decisions
127
+ - Technical trade-offs mentioned
128
+ - Open questions or concerns raised
129
+ - Implementation approaches discussed
130
+ - Integration points with external systems
131
+ - Security or performance considerations
132
+ - Edge cases or error handling mentioned
133
+
134
+ **Save to cache:**
135
+ After analysis, create/update `docs/workflow/.cache/research-analysis.md`:
136
+
137
+ ```markdown
138
+ ---
139
+ checksum: {computed_checksum}
140
+ generated: {ISO date}
141
+ research_files:
142
+ - {filename1}.md
143
+ - {filename2}.md
144
+ ---
145
+
146
+ # Research Analysis Cache
147
+
148
+ ## Topics
87
149
 
88
- Cross-reference with existing discussions to identify what has and hasn't been discussed.
150
+ ### {Theme name}
151
+ - **Source**: {filename}.md (lines {start}-{end})
152
+ - **Summary**: {1-2 sentence summary}
153
+ - **Key questions**: {what needs deciding}
89
154
 
90
- **Present findings:**
155
+ ### {Another theme}
156
+ - **Source**: {filename}.md (lines {start}-{end})
157
+ - **Summary**: {1-2 sentence summary}
158
+ - **Key questions**: {what needs deciding}
159
+
160
+ [... more topics ...]
91
161
  ```
92
- 🔍 Analyzing research documents...
162
+
163
+ Ensure the `.cache` directory exists: `mkdir -p docs/workflow/.cache`
164
+
165
+ ### Step 3A.3: Cross-reference with Discussions
166
+
167
+ **Always performed** (whether using cache or fresh analysis):
168
+
169
+ For each identified topic, check if a corresponding discussion already exists in `docs/workflow/discussion/`.
170
+
171
+ ### Step 3A.4: Present Findings
172
+
173
+ **If using cached analysis:**
174
+ ```
175
+ 📋 Cached analysis (research unchanged since {date})
93
176
 
94
177
  💡 Topics identified:
95
178
 
96
179
  ✨ {Theme name}
97
180
  Source: {filename}.md (lines {start}-{end})
98
- "{Brief 1-2 sentence summary of the theme and what needs deciding}"
181
+ "{Brief summary}"
99
182
 
100
- {Another theme}
183
+ {Already discussed theme} → discussed in {topic}.md
184
+ Source: {filename}.md (lines {start}-{end})
185
+ "{Brief summary}"
186
+
187
+ Which topic would you like to discuss? (Or enter 'refresh' for fresh analysis)
188
+ ```
189
+
190
+ **If fresh analysis:**
191
+ ```
192
+ 🔍 Analysis complete (cached for future sessions)
193
+
194
+ 💡 Topics identified:
195
+
196
+ ✨ {Theme name}
101
197
  Source: {filename}.md (lines {start}-{end})
102
198
  "{Brief summary}"
103
199
 
@@ -112,6 +208,13 @@ Which topic would you like to discuss? (Or describe something else)
112
208
  - ✨ = Undiscussed topic (potential new discussion)
113
209
  - ✅ = Already has a corresponding discussion
114
210
 
211
+ ### Step 3A.5: Handle "refresh" Request
212
+
213
+ If user enters `refresh`:
214
+ - Delete the cache file: `rm docs/workflow/.cache/research-analysis.md`
215
+ - Return to Step 3A.2 (Full Analysis)
216
+ - Inform user: "Refreshing analysis..."
217
+
115
218
  **Important:** Keep track of the source file and line numbers for the chosen topic - this will be passed to the skill.
116
219
 
117
220
  Wait for the user to choose before proceeding to Step 4.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leeovery/claude-technical-workflows",
3
- "version": "2.0.11",
3
+ "version": "2.0.13",
4
4
  "description": "Technical workflow skills & commands for Claude Code",
5
5
  "license": "MIT",
6
6
  "author": "Lee Overy <me@leeovery.com>",