Add workflow-skill-memory command and skill aggregation prompt

- Implemented the workflow-skill-memory command for generating SKILL packages from archived workflow sessions.
- Defined a 4-phase execution process for reading sessions, extracting data, organizing information, and generating SKILL files.
- Created a detailed prompt for skill aggregation, outlining tasks for analyzing archived sessions, aggregating lessons learned, conflict patterns, and implementation summaries.
- Established output formats for aggregated lessons, conflict patterns, and implementation summaries to ensure structured and actionable insights.
This commit is contained in:
catlog22
2025-11-04 21:34:36 +08:00
parent 483ab621bc
commit 779581ec3b
4 changed files with 2102 additions and 5 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,739 @@
---
name: workflow-skill-memory
description: Generate SKILL package from archived workflow sessions for progressive context loading
argument-hint: "[--regenerate] [--incremental] [--filter <topic>]"
allowed-tools: SlashCommand(*), TodoWrite(*), Bash(*), Read(*), Write(*)
---
# Workflow SKILL Memory Generator
## Orchestrator Role
**Pure Orchestrator**: Extract and aggregate workflow session history to generate SKILL package for progressive context loading.
**Auto-Continue Workflow**: This command runs **fully autonomously** once triggered. Each phase completes and automatically triggers the next phase without user interaction.
**Execution Paths**:
- **Full Path**: All 4 phases (no existing SKILL OR `--regenerate` specified)
- **Incremental Path**: Phase 1 → Phase 2 → Phase 4 (existing SKILL found AND `--incremental` flag)
- **Phase 4 Always Executes**: SKILL.md index is never skipped, always generated or updated
## Core Rules
1. **Start Immediately**: First action is TodoWrite initialization, second action is Phase 1 execution
2. **No Task JSON**: This command does not create task JSON files
3. **Parse Every Output**: Extract required data from each command output (session count, file paths)
4. **Auto-Continue**: After completing each phase, update TodoWrite and immediately execute next phase
5. **Track Progress**: Update TodoWrite after EVERY phase completion before starting next phase
6. **Direct Generation**: Phase 4 directly generates SKILL.md using Write tool
7. **No Manual Steps**: User should never be prompted for decisions between phases
---
## 4-Phase Execution
### Phase 1: Read Archived Sessions
**Goal**: Read manifest.json and list all archived workflow sessions
**Step 1.1: Check Archive Directory**
```bash
bash(test -d .workflow/.archives && echo "exists" || echo "not_exists")
```
**Step 1.2: Read Manifest**
```bash
bash(test -f .workflow/.archives/manifest.json && cat .workflow/.archives/manifest.json || echo "{}")
```
**Output**:
- `archive_exists`: `exists` or `not_exists`
- `manifest_content`: JSON content or empty object
- `session_count`: Number of archived sessions
**Step 1.3: Parse Session List**
Extract from manifest:
- Session IDs
- Descriptions
- Archived dates
- Tags
- Metrics (task_count, success_rate, duration_hours)
**Step 1.4: Apply Filters (if --filter specified)**
If user provided `--filter <topic>`:
- Filter sessions by description/tags matching topic
- Update session list to only include filtered sessions
**Step 1.5: Determine Execution Path**
**Decision Logic**:
```javascript
if (session_count === 0) {
// No archived sessions
ERROR = "No archived workflow sessions found"
SKIP_ALL = true
} else if (existing_SKILL && incremental_flag) {
// Incremental update: skip full aggregation
SKIP_AGGREGATION = true
message = "Incremental update mode, reusing existing aggregations."
} else if (regenerate_flag) {
// Force regeneration: delete existing SKILL
bash(rm -rf .claude/skills/workflow-progress 2>/dev/null || true)
SKIP_AGGREGATION = false
message = "Regenerating SKILL package from scratch."
} else {
// No existing SKILL or full generation
SKIP_AGGREGATION = false
message = "Generating new SKILL package."
}
```
**Summary Variables**:
- `SESSION_COUNT`: Total archived sessions (or filtered count)
- `SESSION_LIST`: Array of session objects [{id, description, archived_at, tags, metrics}]
- `FILTER_TOPIC`: Filter keyword (if specified)
- `INCREMENTAL`: `true` if --incremental flag
- `REGENERATE`: `true` if --regenerate flag
- `SKIP_AGGREGATION`: `true` if incremental update
- `SKIP_ALL`: `true` if no sessions found
**Completion & TodoWrite**:
- If `SKIP_ALL = true`: Mark all phases completed (error), report error
- If `SKIP_AGGREGATION = true`: Mark phase 1 completed, phase 2&3 completed (skipped), phase 4 in_progress
- If `SKIP_AGGREGATION = false`: Mark phase 1 completed, phase 2 in_progress
**Next Action**:
- If error: Display error message → Exit
- If skipping aggregation: Display skip message → Jump to Phase 4
- Otherwise: Display session list → Continue to Phase 2
---
### Phase 2: Extract Session Data
**Skip Condition**: This phase is **skipped if SKIP_AGGREGATION = true** (incremental mode with existing aggregations)
**Goal**: Traverse archived sessions and extract key data
**For Each Session**:
**Step 2.1: Read Session Metadata**
```bash
bash(cat .workflow/.archives/WFS-{session_id}/workflow-session.json)
```
**Step 2.2: Check for Key Files**
```bash
# Context package path (reference only, don't read content)
bash(test -f .workflow/.archives/WFS-{session_id}/.process/context-package.json && echo "exists" || echo "missing")
# IMPL_PLAN
bash(test -f .workflow/.archives/WFS-{session_id}/IMPL_PLAN.md && cat .workflow/.archives/WFS-{session_id}/IMPL_PLAN.md || echo "")
# TODO_LIST
bash(test -f .workflow/.archives/WFS-{session_id}/TODO_LIST.md && cat .workflow/.archives/WFS-{session_id}/TODO_LIST.md || echo "")
# Count tasks and summaries
bash(find .workflow/.archives/WFS-{session_id}/.task -name "*.json" 2>/dev/null | wc -l || echo 0)
bash(find .workflow/.archives/WFS-{session_id}/.summaries -name "*.md" 2>/dev/null | wc -l || echo 0)
```
**Step 2.3: Extract from Manifest Entry**
For each session, extract from manifest.json:
- `lessons.successes` - Success patterns
- `lessons.challenges` - Challenges encountered
- `lessons.watch_patterns` - Things to watch for
- `tags` - Functional domain tags
- `metrics` - Task count, success rate, duration
**Aggregated Data Structure**:
```javascript
{
"sessions": [
{
"session_id": "WFS-user-auth",
"description": "User authentication implementation",
"archived_at": "2025-11-03T12:00:00Z",
"tags": ["auth", "security", "jwt"],
"metrics": {
"task_count": 5,
"completed_tasks": 5,
"success_rate": 100,
"duration_hours": 4.5
},
"context_package_path": ".workflow/.archives/WFS-user-auth/.process/context-package.json",
"impl_plan_summary": "First 200 chars of IMPL_PLAN.md...",
"lessons": {
"successes": ["JWT implementation worked well", "..."],
"challenges": ["Token refresh edge cases", "..."],
"watch_patterns": ["Concurrent token validation", "..."]
}
}
],
"aggregated_lessons": {
"successes_by_category": {
"auth": ["JWT implementation", "..."],
"testing": ["Coverage reached 90%", "..."]
},
"challenges_by_severity": {
"high": ["Performance bottleneck in token validation", "..."],
"medium": ["Edge case handling", "..."]
},
"watch_patterns": ["Token concurrency", "State management", "..."]
},
"conflict_patterns": {
"architecture": [
{
"pattern": "Multiple authentication strategies conflict",
"sessions": ["WFS-user-auth", "WFS-oauth"],
"resolution": "Unified auth interface"
}
],
"dependencies": [
{
"pattern": "Version mismatch in JWT libraries",
"sessions": ["WFS-user-auth"],
"resolution": "Lock to compatible version"
}
]
}
}
```
**Completion Criteria**:
- All sessions traversed
- Data structure populated
- Aggregations computed (lessons by category, conflicts by type)
**TodoWrite**: Mark phase 2 completed, phase 3 in_progress
**Next Action**: Display extraction summary (sessions processed, lessons extracted) → Auto-continue to Phase 3
---
### Phase 3: Classify and Organize Data
**Skip Condition**: This phase is **skipped if SKIP_AGGREGATION = true** (incremental mode)
**Goal**: Organize extracted data by functional domains, timeline, and patterns
**Step 3.1: Group Sessions by Tags**
Organize sessions into functional domains:
```javascript
{
"auth": [session_objects],
"payment": [session_objects],
"ui": [session_objects],
"testing": [session_objects],
"other": [session_objects]
}
```
**Step 3.2: Sort by Timeline**
Create chronological timeline:
- Sort sessions by `archived_at` (newest first)
- Group by month/quarter for large histories
**Step 3.3: Identify Recurring Patterns**
**Lessons Analysis**:
- Successes that appear in multiple sessions → "Best Practices"
- Challenges that repeat → "Known Issues"
- Watch patterns with high frequency → "High Priority Warnings"
**Conflict Analysis**:
- Group conflicts by type (architecture, dependencies, testing)
- Mark conflicts that occurred in multiple sessions
- Link resolutions to specific sessions
**Step 3.4: Build Progressive Loading Structure**
Organize data for 4 levels:
- **Level 0**: Top 5 recent sessions + Top 3 conflict patterns
- **Level 1**: Top 10 sessions + Lessons by category
- **Level 2**: All sessions + Full conflict analysis + IMPL_PLAN summaries
- **Level 3**: All sessions + Full IMPL_PLAN + TODO_LIST + Context package references
**Completion Criteria**:
- Sessions grouped by domain
- Timeline structure created
- Recurring patterns identified
- Progressive loading structure built
**TodoWrite**: Mark phase 3 completed, phase 4 in_progress
**Next Action**: Display organization summary → Auto-continue to Phase 4
---
### Phase 4: Generate SKILL Package
**Note**: This phase is **NEVER skipped** - it always executes to generate or update the SKILL package.
**Step 4.1: Create SKILL Directory**
```bash
bash(mkdir -p .claude/skills/workflow-progress)
```
**Step 4.2: Generate sessions-timeline.md**
Create timeline document:
```markdown
# Workflow Sessions Timeline
## Recent Sessions (Last 5)
### WFS-user-auth (2025-11-03)
**Description**: User authentication implementation
**Tags**: auth, security, jwt
**Metrics**: 5 tasks, 100% success, 4.5 hours
**Context Package**: [.workflow/.archives/WFS-user-auth/.process/context-package.json](.workflow/.archives/WFS-user-auth/.process/context-package.json)
**Key Outcomes**:
- ✅ JWT implementation with refresh tokens
- ✅ Secure password hashing
- ⚠️ Watch: Token concurrency edge cases
...
## By Functional Domain
### Authentication (3 sessions)
- WFS-user-auth (2025-11-03)
- WFS-oauth (2025-10-15)
- WFS-jwt-refresh (2025-09-20)
### Payment (2 sessions)
- WFS-stripe-integration (2025-10-28)
- WFS-payment-webhooks (2025-09-10)
...
```
**Step 4.3: Generate lessons-learned.md**
Create lessons document:
```markdown
# Workflow Lessons Learned
## Best Practices (Successes)
### Authentication
- JWT implementation with refresh tokens works reliably
- Use bcrypt for password hashing (sessions: WFS-user-auth, WFS-oauth)
### Testing
- TDD approach reduced bugs by 60% (sessions: WFS-user-auth, WFS-payment)
- Mocking external APIs saves development time
...
## Known Challenges
### High Priority
- **Token refresh edge cases**: Concurrent requests can invalidate tokens prematurely
- Affected sessions: WFS-user-auth, WFS-jwt-refresh
- Resolution: Implement token refresh queue
### Medium Priority
- **Performance bottlenecks**: Large payload serialization
- Affected sessions: WFS-payment-webhooks
- Resolution: Implement streaming responses
...
## Watch Patterns
### Critical
1. **Token concurrency**: Always test concurrent token operations
2. **State management**: Redux state can become stale in async workflows
3. **Database migrations**: Always backup before schema changes
...
```
**Step 4.4: Generate conflict-patterns.md**
Create conflict patterns document:
```markdown
# Workflow Conflict Patterns
## Architecture Conflicts
### Multiple Authentication Strategies
**Pattern**: Different parts of system use incompatible auth methods
**Sessions**: WFS-user-auth, WFS-oauth
**Resolution**: Unified auth interface with strategy pattern
**Code Impact**:
- Modified: src/auth/interface.ts, src/auth/jwt.ts, src/auth/oauth.ts
- Tests: src/auth/__tests__/
...
## Dependency Conflicts
### JWT Library Version Mismatch
**Pattern**: jsonwebtoken v8 vs v9 incompatibility
**Sessions**: WFS-user-auth
**Resolution**: Lock to jsonwebtoken@^9.0.0, update all imports
...
## Testing Conflicts
### Mock Data Inconsistencies
**Pattern**: Different test suites use different user fixtures
**Sessions**: WFS-user-auth, WFS-payment
**Resolution**: Centralized test fixtures in tests/fixtures/
...
```
**Step 4.5: Generate SKILL.md**
Create main SKILL index:
```yaml
---
name: workflow-progress
description: Progressive workflow development history (located at {project_root}). Load this SKILL when continuing development, analyzing past implementations, or learning from workflow history, especially when no relevant context exists in memory.
version: 1.0.0
---
# Workflow Progress SKILL Package
## Documentation: `../../../.workflow/.archives/`
**Total Sessions**: {session_count}
**Functional Domains**: {domain_list}
**Date Range**: {earliest_date} - {latest_date}
## Progressive Loading
### Level 0: Quick Overview (~2K tokens)
- [Sessions Timeline](sessions-timeline.md#recent-sessions-last-5) - Recent 5 sessions
- [Top Conflict Patterns](conflict-patterns.md#top-patterns) - Top 3 recurring conflicts
- Quick reference for last completed work
**Use Case**: Quick context refresh before starting new task
### Level 1: Core History (~8K tokens)
- [Sessions Timeline](sessions-timeline.md) - Recent 10 sessions with details
- [Lessons Learned](lessons-learned.md#best-practices) - Success patterns by category
- [Conflict Patterns](conflict-patterns.md) - Known conflict types and resolutions
- Context package references (metadata only)
**Use Case**: Understanding recent development patterns and avoiding known pitfalls
### Level 2: Complete History (~25K tokens)
- All archived sessions with metadata
- Full lessons learned (successes, challenges, watch patterns)
- Complete conflict analysis with resolutions
- IMPL_PLAN summaries from all sessions
- Context package paths for on-demand loading
**Use Case**: Comprehensive review before major refactoring or architecture changes
### Level 3: Deep Dive (~40K tokens)
- Full IMPL_PLAN.md and TODO_LIST.md from all sessions
- Detailed task completion summaries
- Cross-session dependency analysis
- Direct context package file references
**Use Case**: Investigating specific implementation details or debugging historical decisions
---
## Quick Access
### Recent Sessions
{list of 5 most recent sessions with one-line descriptions}
### By Domain
- **Authentication**: {count} sessions
- **Payment**: {count} sessions
- **UI/UX**: {count} sessions
- **Testing**: {count} sessions
- **Other**: {count} sessions
### Top Watch Patterns
1. {most frequent watch pattern}
2. {second most frequent}
3. {third most frequent}
---
## Session Index
### Authentication Sessions
- [WFS-user-auth](../../../.workflow/.archives/WFS-user-auth/) - JWT authentication (2025-11-03)
- Context: [context-package.json](../../../.workflow/.archives/WFS-user-auth/.process/context-package.json)
- Plan: [IMPL_PLAN.md](../../../.workflow/.archives/WFS-user-auth/IMPL_PLAN.md)
- Tags: auth, security, jwt
...
---
## Usage Examples
### Loading Quick Context
```markdown
Load Level 0 from workflow-progress SKILL for overview of recent work
```
### Investigating Auth History
```markdown
Load Level 2 from workflow-progress SKILL, filter by "auth" tag
```
### Full Historical Analysis
```markdown
Load Level 3 from workflow-progress SKILL for complete development history
```
```
**Step 4.6: Write All Files**
Use Write tool to create:
1. `.claude/skills/workflow-progress/SKILL.md`
2. `.claude/skills/workflow-progress/sessions-timeline.md`
3. `.claude/skills/workflow-progress/lessons-learned.md`
4. `.claude/skills/workflow-progress/conflict-patterns.md`
**Completion Criteria**:
- SKILL.md file created
- All support documents created
- Progressive loading structure verified
- File references use relative paths
**TodoWrite**: Mark phase 4 completed
**Final Action**: Report completion summary to user
**Return to User**:
```
✅ Workflow SKILL Package Generation Complete
Sessions Processed: {session_count}
Functional Domains: {domain_count}
SKILL Location: .claude/skills/workflow-progress/SKILL.md
Generated:
- sessions-timeline.md - {session_count} sessions organized chronologically
- lessons-learned.md - {success_count} successes, {challenge_count} challenges
- conflict-patterns.md - {conflict_count} conflict patterns documented
- SKILL.md with progressive loading (4 levels)
Usage:
- Level 0: Quick refresh (~2K tokens)
- Level 1: Recent history (~8K tokens)
- Level 2: Complete analysis (~25K tokens)
- Level 3: Deep dive (~40K tokens)
Trigger: Skill() will auto-load when continuing workflow development
```
---
## Implementation Details
### Critical Rules
1. **No User Prompts Between Phases**: Never ask user questions or wait for input between phases
2. **Immediate Phase Transition**: After TodoWrite update, immediately execute next phase command
3. **Status-Driven Execution**: Check TodoList status after each phase:
- If next task is "pending" → Mark it "in_progress" and execute
- If all tasks are "completed" → Report final summary
4. **Phase Completion Pattern**:
```
Phase N completes → Update TodoWrite (N=completed, N+1=in_progress) → Execute Phase N+1
```
### TodoWrite Patterns
#### Initialization (Before Phase 1)
**FIRST ACTION**: Create TodoList with all 4 phases
```javascript
TodoWrite({todos: [
{"content": "Read archived sessions from manifest", "status": "in_progress", "activeForm": "Reading archived sessions"},
{"content": "Extract session data and lessons", "status": "pending", "activeForm": "Extracting session data"},
{"content": "Classify and organize data by domains", "status": "pending", "activeForm": "Classifying data"},
{"content": "Generate SKILL package files", "status": "pending", "activeForm": "Generating SKILL files"}
]})
```
**SECOND ACTION**: Execute Phase 1 immediately
#### Full Path (SKIP_AGGREGATION = false)
**After Phase 1**:
```javascript
TodoWrite({todos: [
{"content": "Read archived sessions from manifest", "status": "completed", "activeForm": "Reading archived sessions"},
{"content": "Extract session data and lessons", "status": "in_progress", "activeForm": "Extracting session data"},
{"content": "Classify and organize data by domains", "status": "pending", "activeForm": "Classifying data"},
{"content": "Generate SKILL package files", "status": "pending", "activeForm": "Generating SKILL files"}
]})
// Auto-continue to Phase 2
```
**After Phase 2**:
```javascript
TodoWrite({todos: [
{"content": "Read archived sessions from manifest", "status": "completed", "activeForm": "Reading archived sessions"},
{"content": "Extract session data and lessons", "status": "completed", "activeForm": "Extracting session data"},
{"content": "Classify and organize data by domains", "status": "in_progress", "activeForm": "Classifying data"},
{"content": "Generate SKILL package files", "status": "pending", "activeForm": "Generating SKILL files"}
]})
// Auto-continue to Phase 3
```
**After Phase 3**:
```javascript
TodoWrite({todos: [
{"content": "Read archived sessions from manifest", "status": "completed", "activeForm": "Reading archived sessions"},
{"content": "Extract session data and lessons", "status": "completed", "activeForm": "Extracting session data"},
{"content": "Classify and organize data by domains", "status": "completed", "activeForm": "Classifying data"},
{"content": "Generate SKILL package files", "status": "in_progress", "activeForm": "Generating SKILL files"}
]})
// Auto-continue to Phase 4
```
**After Phase 4**:
```javascript
TodoWrite({todos: [
{"content": "Read archived sessions from manifest", "status": "completed", "activeForm": "Reading archived sessions"},
{"content": "Extract session data and lessons", "status": "completed", "activeForm": "Extracting session data"},
{"content": "Classify and organize data by domains", "status": "completed", "activeForm": "Classifying data"},
{"content": "Generate SKILL package files", "status": "completed", "activeForm": "Generating SKILL files"}
]})
// Report completion summary to user
```
#### Incremental Path (SKIP_AGGREGATION = true)
**After Phase 1** (detects incremental mode, skips Phase 2 & 3):
```javascript
TodoWrite({todos: [
{"content": "Read archived sessions from manifest", "status": "completed", "activeForm": "Reading archived sessions"},
{"content": "Extract session data and lessons", "status": "completed", "activeForm": "Extracting session data"},
{"content": "Classify and organize data by domains", "status": "completed", "activeForm": "Classifying data"},
{"content": "Generate SKILL package files", "status": "in_progress", "activeForm": "Generating SKILL files"}
]})
// Display skip message: "Incremental update mode, reusing existing aggregations."
// Jump directly to Phase 4
```
**After Phase 4**:
```javascript
TodoWrite({todos: [
{"content": "Read archived sessions from manifest", "status": "completed", "activeForm": "Reading archived sessions"},
{"content": "Extract session data and lessons", "status": "completed", "activeForm": "Extracting session data"},
{"content": "Classify and organize data by domains", "status": "completed", "activeForm": "Classifying data"},
{"content": "Generate SKILL package files", "status": "completed", "activeForm": "Generating SKILL files"}
]})
// Report completion summary to user
```
### Error Handling
- If no archived sessions found, mark all tasks completed and report error
- If any phase fails, mark it as "in_progress" (not completed)
- Report error details to user
- Do NOT auto-continue to next phase on failure
---
## Parameters
```bash
/memory:workflow-skill-memory [--regenerate] [--incremental] [--filter <topic>]
```
- **--regenerate**: Force regenerate all SKILL files from scratch
- When enabled: Deletes existing `.claude/skills/workflow-progress/` before regeneration
- Ensures fresh SKILL package from archived sessions
- **--incremental**: Incremental update mode (skip Phase 2 & 3 if existing SKILL found)
- When enabled: Reuses existing aggregations, only updates SKILL files
- Faster execution for adding new sessions
- **--filter <topic>**: Filter sessions by topic/tag
- Example: `--filter auth` only processes auth-related sessions
- Uses description and tags for matching
---
## Examples
### Example 1: Generate SKILL Package (Default)
```bash
/memory:workflow-skill-memory
```
**Workflow**:
1. Phase 1: Reads manifest.json, gets all archived sessions
2. Phase 2: Extracts lessons, conflicts, and summaries from all sessions
3. Phase 3: Organizes data by domain and timeline
4. Phase 4: Generates SKILL.md at `.claude/skills/workflow-progress/SKILL.md`
### Example 2: Regenerate SKILL Package
```bash
/memory:workflow-skill-memory --regenerate
```
**Workflow**:
1. Phase 1: Deletes existing SKILL package, reads manifest
2. Phase 2-4: Full regeneration from archived sessions
### Example 3: Incremental Update (Fast)
```bash
/memory:workflow-skill-memory --incremental
```
**Workflow**:
1. Phase 1: Reads manifest, detects incremental mode
2. Display: "Incremental update mode, reusing existing aggregations."
3. Phase 4: Updates SKILL.md only (~5-10x faster)
### Example 4: Filter by Topic
```bash
/memory:workflow-skill-memory --filter auth
```
**Workflow**:
1. Phase 1: Reads manifest, filters sessions with "auth" in description/tags
2. Phase 2-4: Processes only auth-related sessions
---
## Benefits
-**Progressive Context Loading**: 4 levels (2K → 8K → 25K → 40K tokens)
-**Historical Wisdom**: Lessons learned and conflict patterns accumulated
-**Auto-Generated**: Called automatically by `/workflow:session:complete`
-**Incremental Updates**: Fast updates when adding new sessions
-**Intelligent Filtering**: Focus on specific functional domains
-**Reference-Based**: Context packages referenced by path, not duplicated
-**Lightweight**: Only aggregates lessons/conflicts, keeps original files
## Architecture
```
workflow-skill-memory (orchestrator)
├─ Phase 1: Read manifest and sessions (bash commands)
├─ Phase 2: Extract data (bash + Read, skippable)
├─ Phase 3: Organize data (in-memory, skippable)
└─ Phase 4: Write SKILL files (Write tool, always runs)
No task JSON created by this command
Smart skip logic: 5-10x faster in incremental mode
```

View File

@@ -4,17 +4,19 @@ description: Mark the active workflow session as complete, archive it with lesso
examples:
- /workflow:session:complete
- /workflow:session:complete --detailed
- /workflow:session:complete --skip-skill
---
# Complete Workflow Session (/workflow:session:complete)
## Overview
Mark the currently active workflow session as complete, analyze it for lessons learned, move it to the archive directory, and remove the active flag marker.
Mark the currently active workflow session as complete, analyze it for lessons learned, move it to the archive directory, remove the active flag marker, and optionally update the workflow SKILL package.
## Usage
```bash
/workflow:session:complete # Complete current active session
/workflow:session:complete --detailed # Show detailed completion summary
/workflow:session:complete # Complete current active session
/workflow:session:complete --detailed # Show detailed completion summary
/workflow:session:complete --skip-skill # Complete without updating SKILL package
```
## Implementation Flow
@@ -94,9 +96,43 @@ Complete workflow session archival. Session already moved to archive location.
- Agent returns JSON result confirming successful archival
- Display completion summary to user based on agent response
### Phase 3: Auto-Generate SKILL Package (Optional)
**Purpose**: Automatically update workflow progress SKILL package with newly archived session.
**Note**: This phase can be skipped with `--skip-skill` flag.
#### Command Invocation
After Phase 2 completes successfully, invoke workflow SKILL memory generator in incremental mode:
```bash
SlashCommand(command="/memory:workflow-skill-memory --incremental")
```
**What This Does**:
- Reads updated manifest.json with new archived session
- Incrementally updates SKILL package files
- Fast execution (~5-10x faster than full regeneration)
- Updates sessions-timeline.md, lessons-learned.md, conflict-patterns.md
- Regenerates SKILL.md with latest session information
**Skip Condition**:
- If user provides `--skip-skill` flag, skip this phase entirely
- Useful when batching multiple session completions
**Error Handling**:
- If SKILL generation fails, log warning but do NOT fail the completion
- Session is still marked as completed and archived
- User can manually run `/memory:workflow-skill-memory` later
**Expected Output**:
- SKILL package updated with new session
- Confirmation message: "Workflow SKILL package updated"
## Workflow Execution Strategy
### Two-Phase Approach (Optimized)
### Three-Phase Approach (Optimized)
**Phase 1: Minimal Manual Setup** (2 simple operations)
- Find active session and extract name
@@ -114,6 +150,12 @@ Complete workflow session archival. Session already moved to archive location.
- Remove active marker
- Return success/error result
**Phase 3: SKILL Package Update** (1 slash command, optional)
- Invoke `/memory:workflow-skill-memory --incremental`
- Update workflow progress SKILL package with new session
- Fast incremental update using existing aggregations
- Can be skipped with `--skip-skill` flag
## Quick Commands
```bash
@@ -125,6 +167,9 @@ bash(mv .workflow/WFS-session-name .workflow/.archives/WFS-session-name)
# Phase 2: Agent completes archival
Task(subagent_type="universal-executor", description="Complete session archival", prompt=`...`)
# Phase 3: Update SKILL package (optional)
SlashCommand(command="/memory:workflow-skill-memory --incremental")
```
## Archive Query Commands
@@ -144,4 +189,3 @@ jq '.archives[] | select(.session_id == "WFS-user-auth")' .workflow/.archives/ma
# List all watch patterns across sessions
jq '.archives[].lessons.watch_patterns[]' .workflow/.archives/manifest.json
```

View File

@@ -0,0 +1,152 @@
You are aggregating workflow session history to generate a progressive SKILL package.
## Your Task
Analyze archived workflow sessions and aggregate:
1. **Lessons Learned** - Successes, challenges, and watch patterns
2. **Conflict Patterns** - Recurring conflicts and resolutions
3. **Implementation Summaries** - Key outcomes by functional domain
## Input Data
You will receive:
- Session metadata (session_id, description, tags, metrics)
- Lessons from each session (successes, challenges, watch_patterns)
- IMPL_PLAN summaries
- Context package metadata (keywords, tech_stack, complexity)
## Output Requirements
### 1. Aggregated Lessons
**Successes by Category**:
- Group successful patterns by functional domain (auth, testing, performance, etc.)
- Identify practices that succeeded across multiple sessions
- Mark best practices (success in 3+ sessions)
**Challenges by Severity**:
- HIGH: Blocked development for >4 hours OR repeated in 3+ sessions
- MEDIUM: Required significant rework OR repeated in 2 sessions
- LOW: Minor issues resolved quickly
**Watch Patterns**:
- Identify patterns mentioned in 2+ sessions
- Prioritize by frequency and severity
- Mark CRITICAL patterns (appeared in 3+ sessions with HIGH severity)
**Format**:
```json
{
"successes_by_category": {
"auth": ["JWT implementation with refresh tokens (3 sessions)", ...],
"testing": ["TDD reduced bugs by 60% (2 sessions)", ...]
},
"challenges_by_severity": {
"high": [
{
"challenge": "Token refresh edge cases",
"sessions": ["WFS-user-auth", "WFS-jwt-refresh"],
"frequency": 2
}
],
"medium": [...],
"low": [...]
},
"watch_patterns": [
{
"pattern": "Token concurrency issues",
"frequency": 3,
"severity": "CRITICAL",
"sessions": ["WFS-user-auth", "WFS-jwt-refresh", "WFS-oauth"]
}
]
}
```
### 2. Conflict Patterns
**Analysis**:
- Group conflicts by type (architecture, dependencies, testing, performance)
- Identify recurring patterns (same conflict in different sessions)
- Link successful resolutions to specific sessions
**Format**:
```json
{
"architecture": [
{
"pattern": "Multiple authentication strategies conflict",
"description": "Different auth methods (JWT, OAuth, session) cause integration issues",
"sessions": ["WFS-user-auth", "WFS-oauth"],
"resolution": "Unified auth interface with strategy pattern",
"code_impact": ["src/auth/interface.ts", "src/auth/jwt.ts", "src/auth/oauth.ts"],
"frequency": 2,
"severity": "high"
}
],
"dependencies": [...],
"testing": [...],
"performance": [...]
}
```
### 3. Implementation Summary
**By Functional Domain**:
- Group sessions by primary tag/domain
- Summarize key accomplishments
- Link to context packages and plans
**Format**:
```json
{
"auth": {
"session_count": 3,
"sessions": [
{
"session_id": "WFS-user-auth",
"description": "JWT authentication implementation",
"key_outcomes": [
"JWT token generation and validation",
"Refresh token mechanism",
"Secure password hashing with bcrypt"
],
"context_package": ".workflow/.archives/WFS-user-auth/.process/context-package.json",
"metrics": {"task_count": 5, "success_rate": 100, "duration_hours": 4.5}
}
],
"cumulative_metrics": {
"total_tasks": 15,
"avg_success_rate": 95,
"total_hours": 12.5
}
},
"payment": {...},
"ui": {...}
}
```
## Analysis Guidelines
1. **Identify Patterns**: Look for recurring themes across sessions
2. **Prioritize by Impact**: Focus on high-frequency, high-impact patterns
3. **Link Sessions**: Connect related sessions (same domain, similar challenges)
4. **Extract Wisdom**: Surface actionable insights from lessons learned
5. **Maintain Context**: Keep references to original sessions and files
## Quality Criteria
- ✅ All sessions processed and categorized
- ✅ Patterns identified and frequency counted
- ✅ Severity levels assigned based on impact
- ✅ Resolutions linked to specific sessions
- ✅ Output is valid JSON with no missing fields
- ✅ References (paths) are accurate and complete
## Important Notes
- **NO hallucination**: Only aggregate data from provided sessions
- **Preserve detail**: Keep specific session references for traceability
- **Smart grouping**: Group similar patterns even if wording differs slightly
- **Frequency matters**: Prioritize patterns that appear in multiple sessions
- **Context preservation**: Keep context package paths for on-demand loading