@leeovery/claude-technical-workflows 2.0.40 → 2.0.42

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leeovery/claude-technical-workflows",
3
- "version": "2.0.40",
3
+ "version": "2.0.42",
4
4
  "description": "Technical workflow skills & commands for Claude Code",
5
5
  "license": "MIT",
6
6
  "author": "Lee Overy <me@leeovery.com>",
@@ -323,11 +323,76 @@ This section feeds into the planning phase, where dependencies become blocking r
323
323
 
324
324
  ## Final Specification Review
325
325
 
326
- After documenting dependencies, perform a **final comprehensive review** of the entire specification against all source material. This is your last chance to catch anything that was missed.
326
+ After documenting dependencies, perform a **final comprehensive review** in two phases:
327
327
 
328
- **Why this matters**: The specification is the golden document. Plans are built from it. If a detail isn't in the specification, it won't be built - regardless of whether it was in the source material.
328
+ 1. **Phase 1 - Input Review**: Compare the specification against all source material to catch anything missed from discussions, research, and requirements
329
+ 2. **Phase 2 - Gap Analysis**: Review the specification as a standalone document for gaps, ambiguity, and completeness
329
330
 
330
- ### The Review Process
331
+ **Why this matters**: The specification is the golden document. Plans are built from it, and those plans inform implementation. If a detail isn't in the specification, it won't make it to the plan, and therefore won't be built. Worse, the implementation agent may hallucinate to fill gaps, potentially getting it wrong. The goal is a specification robust enough that an agent or human could pick it up, create plans, break it into tasks, and write the code.
332
+
333
+ ### Review Tracking Files
334
+
335
+ To ensure analysis isn't lost during context refresh, create tracking files that capture your findings. These files persist your analysis so work can continue across sessions.
336
+
337
+ **Location**: Store tracking files alongside the specification:
338
+ - `docs/workflow/specification/{topic}-review-input-tracking.md` - Phase 1 findings
339
+ - `docs/workflow/specification/{topic}-review-gap-analysis-tracking.md` - Phase 2 findings
340
+
341
+ **Format**:
342
+ ```markdown
343
+ ---
344
+ status: in-progress | complete
345
+ created: YYYY-MM-DD
346
+ phase: Input Review | Gap Analysis
347
+ topic: [Topic Name]
348
+ ---
349
+
350
+ # Review Tracking: [Topic Name] - [Phase]
351
+
352
+ ## Findings
353
+
354
+ ### 1. [Brief Title]
355
+
356
+ **Source**: [Where this came from - file/section reference, or "Specification analysis" for Phase 2]
357
+ **Category**: Enhancement to existing topic | New topic | Gap/Ambiguity
358
+ **Affects**: [Which section(s) of the specification]
359
+
360
+ **Details**:
361
+ [Explanation of what was found and why it matters]
362
+
363
+ **Proposed Addition**:
364
+ [What you would add to the specification - leave blank until discussed]
365
+
366
+ **Resolution**: Pending | Approved | Adjusted | Skipped
367
+ **Notes**: [Any discussion notes or adjustments made]
368
+
369
+ ---
370
+
371
+ ### 2. [Next Finding]
372
+ ...
373
+ ```
374
+
375
+ **Workflow with Tracking Files**:
376
+ 1. Complete your analysis and create the tracking file with all findings
377
+ 2. Present the summary to the user (from the tracking file)
378
+ 3. Work through items one at a time:
379
+ - Present the item
380
+ - Discuss and refine
381
+ - Get approval
382
+ - Log to specification
383
+ - Update the tracking file: mark resolution, add notes
384
+ 4. After all items resolved, delete the tracking file
385
+ 5. Proceed to the next phase (or completion)
386
+
387
+ **Why tracking files**: If context refreshes mid-review, you can read the tracking file and continue where you left off. The tracking file shows which items are resolved and which remain. This is especially important when reviews surface 10-20 items that need individual discussion.
388
+
389
+ ---
390
+
391
+ ### Phase 1: Input Review
392
+
393
+ Compare the specification against all source material to catch anything that was missed from discussions, research, and requirements.
394
+
395
+ #### The Review Process
331
396
 
332
397
  1. **Re-read ALL source material** - Go back to every source document, discussion, research note, and reference. Don't rely on memory.
333
398
 
@@ -366,13 +431,17 @@ After documenting dependencies, perform a **final comprehensive review** of the
366
431
 
367
432
  This should be infrequent - most gaps will be caught from source material. But occasionally the sources themselves have blind spots worth surfacing.
368
433
 
369
- ### Presenting Review Findings
434
+ #### Presenting Review Findings
435
+
436
+ After completing your review (steps 1-7):
370
437
 
371
- After completing your review (steps 1-7), present findings to the user in two stages:
438
+ 1. **Create the tracking file** - Write all findings to `{topic}-review-input-tracking.md` using the format above
439
+ 2. **Commit the tracking file** - This ensures it survives context refresh
440
+ 3. **Present findings** to the user in two stages:
372
441
 
373
442
  **Stage 1: Summary of All Findings**
374
443
 
375
- First, present a numbered summary of everything you found:
444
+ Present a numbered summary of everything you found (from your tracking file):
376
445
 
377
446
  > "I've completed my final review against all source material. I found [N] items:
378
447
  >
@@ -407,27 +476,158 @@ For each item, follow the **same workflow as the main specification process**:
407
476
 
408
477
  4. **Wait for explicit approval** - same rules as always: "Log it" or equivalent before writing
409
478
  5. **Log verbatim** when approved
410
- 6. **Move to the next item**: "Moving to #2: [Brief title]..."
479
+ 6. **Update tracking file** - Mark the item's resolution (Approved/Adjusted/Skipped) and add any notes
480
+ 7. **Move to the next item**: "Moving to #2: [Brief title]..."
411
481
 
412
482
  > **CHECKPOINT**: Each review item requires the full present → approve → log cycle. Do not batch multiple items together. Do not proceed to the next item until the current one is resolved (approved, adjusted, or explicitly skipped by the user).
413
483
 
414
484
  For potential gaps (items not in source material), you're asking questions rather than proposing content. If the user wants to address a gap, discuss it, then present what you'd add for approval.
415
485
 
416
- ### What You're NOT Doing
486
+ #### What You're NOT Doing in Phase 1
417
487
 
418
488
  - **Not inventing requirements** - When surfacing gaps not in sources, you're asking questions, not proposing answers
419
489
  - **Not assuming gaps need filling** - If something isn't in the sources, it may have been intentionally omitted
420
490
  - **Not padding the spec** - Only add what's genuinely missing and relevant
421
491
  - **Not re-litigating decisions** - If something was discussed and rejected, it stays rejected
422
492
 
423
- ### Completing the Review
493
+ #### Completing Phase 1
424
494
 
425
495
  When you've:
426
496
  - Systematically reviewed all source material for missed content
427
497
  - Addressed any discovered gaps with the user
428
498
  - Surfaced any potential gaps not covered by sources (and resolved them)
499
+ - Updated the tracking file with all resolutions
500
+
501
+ **Delete the Phase 1 tracking file** (`{topic}-review-input-tracking.md`) - it has served its purpose.
502
+
503
+ Inform the user Phase 1 is complete and proceed to Phase 2: Gap Analysis.
504
+
505
+ ---
506
+
507
+ ### Phase 2: Gap Analysis
508
+
509
+ At this point, you've captured everything from your source materials. Phase 2 reviews the **specification as a standalone document** - looking *inward* at what's been specified, not outward at what else the product might need.
510
+
511
+ **Purpose**: Ensure that *within the defined scope*, the specification flows correctly, has sufficient detail, and leaves nothing open to interpretation or assumption. This might be a full product spec or a single feature - the scope is whatever the inputs defined. Your job is to verify that within those boundaries, an agent or human could create plans, break them into tasks, and write code without having to guess.
512
+
513
+ **Key distinction**: You're not asking "what features are missing from this product?" You're asking "within what we've decided to build, is everything clear and complete?"
514
+
515
+ #### What to Look For
516
+
517
+ Review the specification systematically for gaps *within what's specified*:
518
+
519
+ 1. **Internal Completeness**
520
+ - Workflows that start but don't show how they end
521
+ - States or transitions mentioned but not fully defined
522
+ - Behaviors referenced elsewhere but never specified
523
+ - Default values or fallback behaviors left unstated
524
+
525
+ 2. **Insufficient Detail**
526
+ - Areas where an implementer would have to guess
527
+ - Sections that are too high-level to act on
528
+ - Missing error handling for scenarios the spec introduces
529
+ - Validation rules implied but not defined
530
+ - Boundary conditions for limits the spec mentions
531
+
532
+ 3. **Ambiguity**
533
+ - Vague language that could be interpreted multiple ways
534
+ - Terms used inconsistently across sections
535
+ - "It should" without defining what "it" is
536
+ - Implicit assumptions that aren't stated
537
+
538
+ 4. **Contradictions**
539
+ - Requirements that conflict with each other
540
+ - Behaviors defined differently in different sections
541
+ - Constraints that make other requirements impossible
542
+
543
+ 5. **Edge Cases Within Scope**
544
+ - For the behaviors specified, what happens at boundaries?
545
+ - For the inputs defined, what happens when they're empty or malformed?
546
+ - For the integrations described, what happens when they're unavailable?
547
+
548
+ 6. **Planning Readiness**
549
+ - Could you break this into clear tasks?
550
+ - Would an implementer know what to build?
551
+ - Are acceptance criteria implicit or explicit?
552
+ - Are there sections that would force an implementer to make design decisions?
429
553
 
430
- ...then inform the user the final review is complete and proceed to getting sign-off on the specification.
554
+ #### The Review Process
555
+
556
+ 1. **Read the specification end-to-end** - Not scanning, but carefully reading as if you were about to implement it
557
+
558
+ 2. **For each section, ask**:
559
+ - Is this internally complete? Does it define everything it references?
560
+ - Is this clear? Would an implementer know exactly what to build?
561
+ - Is this consistent? Does it contradict anything else in the spec?
562
+ - Are there areas left open to interpretation or assumption?
563
+
564
+ 3. **Collect findings** - Note each gap, ambiguity, or area needing clarification
565
+
566
+ 4. **Prioritize** - Focus on issues that would block or confuse implementation of what's specified:
567
+ - **Critical**: Would prevent implementation or cause incorrect behavior
568
+ - **Important**: Would require implementer to guess or make design decisions
569
+ - **Minor**: Polish or clarification that improves understanding
570
+
571
+ 5. **Create the tracking file** - Write findings to `{topic}-review-gap-analysis-tracking.md`
572
+
573
+ 6. **Commit the tracking file** - Ensures it survives context refresh
574
+
575
+ #### Presenting Gap Analysis Findings
576
+
577
+ Follow the same two-stage presentation as Phase 1:
578
+
579
+ **Stage 1: Summary**
580
+
581
+ > "I've completed the gap analysis of the specification. I found [N] items:
582
+ >
583
+ > 1. **[Brief title]** (Critical/Important/Minor)
584
+ > [2-4 line explanation: what the gap is, why it matters for implementation]
585
+ >
586
+ > 2. **[Brief title]** (Critical/Important/Minor)
587
+ > [2-4 line explanation]
588
+ >
589
+ > Let's work through these one at a time, starting with #1."
590
+
591
+ **Stage 2: Process One Item at a Time**
592
+
593
+ For each item:
594
+
595
+ 1. **Present** the gap in detail - what's missing or unclear, what questions an implementer would have
596
+ 2. **Discuss** - work with the user to determine the correct specification content
597
+ 3. **Present for approval** - show exactly what will be written:
598
+
599
+ > "Here's what I'll add to the specification:
600
+ >
601
+ > [content exactly as it would appear]
602
+ >
603
+ > **To proceed, choose one:**
604
+ > - **"Log it"** - I'll add the above to the specification **verbatim**
605
+ > - **"Adjust"** - Tell me which part to change
606
+
607
+ 4. **Wait for explicit approval**
608
+ 5. **Log verbatim** when approved
609
+ 6. **Update tracking file** - Mark resolution and add notes
610
+ 7. **Move to next item**
611
+
612
+ > **CHECKPOINT**: Same rules apply - each item requires explicit approval before logging. No batching.
613
+
614
+ #### What You're NOT Doing in Phase 2
615
+
616
+ - **Not expanding scope** - You're looking for gaps *within* what's specified, not suggesting features the product should have. A feature spec for "user login" doesn't need you to ask about password reset if it wasn't in scope.
617
+ - **Not gold-plating** - Only flag gaps that would actually impact implementation of what's specified
618
+ - **Not second-guessing decisions** - The spec reflects validated decisions; you're checking for clarity and completeness, not re-opening debates
619
+ - **Not being exhaustive for its own sake** - Focus on what matters for implementing *this* specification
620
+
621
+ #### Completing Phase 2
622
+
623
+ When you've:
624
+ - Reviewed the specification for completeness, clarity, and implementation readiness
625
+ - Addressed all critical and important gaps with the user
626
+ - Updated the tracking file with all resolutions
627
+
628
+ **Delete the Phase 2 tracking file** (`{topic}-review-gap-analysis-tracking.md`).
629
+
630
+ Both review phases are now complete. Proceed to Completion.
431
631
 
432
632
  ## Completion
433
633
 
@@ -458,9 +658,20 @@ Present your assessment to the user:
458
658
 
459
659
  Wait for user confirmation before proceeding.
460
660
 
461
- ### Step 2: Sign-Off
661
+ ### Step 2: Verify Tracking Files Removed
662
+
663
+ Before proceeding to sign-off, confirm that all review tracking files have been deleted:
664
+
665
+ - `{topic}-review-input-tracking.md` - should have been deleted after Phase 1
666
+ - `{topic}-review-gap-analysis-tracking.md` - should have been deleted after Phase 2
667
+
668
+ If either file still exists, delete it now. These are temporary working files that should not persist after the review is complete.
669
+
670
+ > **CHECKPOINT**: Do not proceed to sign-off if tracking files still exist. They indicate incomplete review work.
671
+
672
+ ### Step 3: Sign-Off
462
673
 
463
- Once the type is confirmed, ask for final sign-off:
674
+ Once the type is confirmed and tracking files are removed, ask for final sign-off:
464
675
 
465
676
  > "The specification is ready for sign-off:
466
677
  > - **Type**: [feature/cross-cutting]
@@ -471,7 +682,7 @@ Once the type is confirmed, ask for final sign-off:
471
682
  >
472
683
  > Ready to mark as complete?"
473
684
 
474
- ### Step 3: Update Frontmatter
685
+ ### Step 4: Update Frontmatter
475
686
 
476
687
  After user confirms, update the specification frontmatter:
477
688
 
@@ -485,6 +696,8 @@ After user confirms, update the specification frontmatter:
485
696
 
486
697
  Specification is complete when:
487
698
  - All topics/phases have validated content
699
+ - Both review phases (Input Review and Gap Analysis) completed
700
+ - All review tracking files have been deleted
488
701
  - Type has been determined and confirmed
489
702
  - User confirms the specification is complete
490
703
  - No blocking gaps remain