claude-code-workflow 6.3.48 → 6.3.49
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/.claude/CLAUDE.md +6 -8
- package/.claude/agents/action-planning-agent.md +28 -45
- package/.claude/agents/cli-lite-planning-agent.md +93 -1
- package/.claude/agents/code-developer.md +144 -27
- package/.claude/commands/ccw-coordinator.md +175 -21
- package/.claude/commands/ccw-debug.md +832 -0
- package/.claude/commands/ccw.md +90 -9
- package/.claude/commands/cli/cli-init.md +1 -0
- package/.claude/commands/issue/convert-to-plan.md +718 -0
- package/.claude/commands/issue/from-brainstorm.md +382 -0
- package/.claude/commands/memory/tips.md +332 -0
- package/.claude/commands/workflow/analyze-with-file.md +804 -0
- package/.claude/commands/workflow/brainstorm/auto-parallel.md +18 -43
- package/.claude/commands/workflow/brainstorm/role-analysis.md +705 -0
- package/.claude/commands/workflow/brainstorm-with-file.md +1153 -0
- package/.claude/commands/workflow/debug-with-file.md +7 -5
- package/.claude/commands/workflow/execute.md +6 -4
- package/.claude/commands/workflow/lite-plan.md +2 -2
- package/.claude/commands/workflow/plan-verify.md +162 -327
- package/.claude/commands/workflow/plan.md +162 -26
- package/.claude/commands/workflow/replan.md +78 -2
- package/.claude/commands/workflow/{review-fix.md → review-cycle-fix.md} +6 -6
- package/.claude/commands/workflow/review-module-cycle.md +2 -2
- package/.claude/commands/workflow/review-session-cycle.md +2 -2
- package/.claude/commands/workflow/tools/conflict-resolution.md +16 -26
- package/.claude/commands/workflow/tools/context-gather.md +81 -118
- package/.claude/commands/workflow/tools/task-generate-agent.md +94 -10
- package/.claude/skills/ccw-help/command.json +4 -4
- package/.claude/skills/lite-skill-generator/SKILL.md +650 -0
- package/.claude/skills/lite-skill-generator/templates/simple-skill.md +68 -0
- package/.claude/skills/lite-skill-generator/templates/style-guide.md +64 -0
- package/.claude/skills/skill-generator/SKILL.md +277 -85
- package/.claude/skills/skill-generator/phases/01-requirements-discovery.md +4 -15
- package/.claude/skills/skill-generator/phases/02-structure-generation.md +72 -17
- package/.claude/skills/skill-generator/phases/03-phase-generation.md +218 -51
- package/.claude/skills/skill-generator/phases/04-specs-templates.md +111 -41
- package/.claude/skills/skill-generator/phases/05-validation.md +139 -56
- package/.claude/skills/skill-generator/templates/autonomous-action.md +78 -268
- package/.claude/skills/skill-generator/templates/autonomous-orchestrator.md +14 -0
- package/.claude/skills/skill-generator/templates/code-analysis-action.md +12 -0
- package/.claude/skills/skill-generator/templates/llm-action.md +12 -0
- package/.claude/skills/skill-generator/templates/script-template.md +368 -0
- package/.claude/skills/skill-generator/templates/sequential-phase.md +14 -0
- package/.claude/skills/skill-generator/templates/skill-md.md +14 -0
- package/.claude/skills/skill-tuning/SKILL.md +130 -266
- package/.claude/skills/skill-tuning/phases/orchestrator.md +95 -283
- package/.claude/skills/skill-tuning/specs/problem-taxonomy.md +90 -198
- package/.claude/skills/skill-tuning/specs/tuning-strategies.md +193 -1345
- package/.claude/workflows/cli-templates/schemas/plan-verify-agent-schema.json +47 -0
- package/.claude/workflows/cli-templates/schemas/verify-json-schema.json +158 -0
- package/.claude/workflows/cli-tools-usage.md +1 -1
- package/.codex/AGENTS.md +1 -3
- package/.codex/prompts/analyze-with-file.md +607 -0
- package/.codex/prompts/brainstorm-to-cycle.md +455 -0
- package/.codex/prompts/brainstorm-with-file.md +933 -0
- package/.codex/prompts/debug-with-file.md +15 -20
- package/.codex/skills/ccw-cli-tools/SKILL.md +559 -0
- package/ccw/dist/commands/cli.d.ts.map +1 -1
- package/ccw/dist/commands/cli.js +29 -5
- package/ccw/dist/commands/cli.js.map +1 -1
- package/ccw/dist/commands/issue.d.ts +2 -0
- package/ccw/dist/commands/issue.d.ts.map +1 -1
- package/ccw/dist/commands/issue.js +62 -20
- package/ccw/dist/commands/issue.js.map +1 -1
- package/ccw/dist/config/litellm-api-config-manager.d.ts.map +1 -1
- package/ccw/dist/config/litellm-api-config-manager.js +5 -3
- package/ccw/dist/config/litellm-api-config-manager.js.map +1 -1
- package/ccw/dist/config/litellm-provider-models.d.ts +73 -0
- package/ccw/dist/config/litellm-provider-models.d.ts.map +1 -0
- package/ccw/dist/config/litellm-provider-models.js +172 -0
- package/ccw/dist/config/litellm-provider-models.js.map +1 -0
- package/ccw/dist/config/provider-models.d.ts +25 -51
- package/ccw/dist/config/provider-models.d.ts.map +1 -1
- package/ccw/dist/config/provider-models.js +84 -149
- package/ccw/dist/config/provider-models.js.map +1 -1
- package/ccw/dist/config/storage-paths.d.ts.map +1 -1
- package/ccw/dist/config/storage-paths.js +23 -5
- package/ccw/dist/config/storage-paths.js.map +1 -1
- package/ccw/dist/core/auth/csrf-middleware.js +3 -3
- package/ccw/dist/core/auth/csrf-middleware.js.map +1 -1
- package/ccw/dist/core/dashboard-generator.d.ts.map +1 -1
- package/ccw/dist/core/dashboard-generator.js +3 -1
- package/ccw/dist/core/dashboard-generator.js.map +1 -1
- package/ccw/dist/core/routes/claude-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/claude-routes.js +206 -14
- package/ccw/dist/core/routes/claude-routes.js.map +1 -1
- package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/cli-routes.js.map +1 -1
- package/ccw/dist/core/routes/commands-routes.d.ts +7 -0
- package/ccw/dist/core/routes/commands-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/commands-routes.js +480 -0
- package/ccw/dist/core/routes/commands-routes.js.map +1 -0
- package/ccw/dist/core/routes/model-routes.d.ts +11 -0
- package/ccw/dist/core/routes/model-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/model-routes.js +112 -0
- package/ccw/dist/core/routes/model-routes.js.map +1 -0
- package/ccw/dist/core/routes/nav-status-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/nav-status-routes.js +84 -1
- package/ccw/dist/core/routes/nav-status-routes.js.map +1 -1
- package/ccw/dist/core/routes/provider-routes.d.ts +11 -0
- package/ccw/dist/core/routes/provider-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/provider-routes.js +67 -0
- package/ccw/dist/core/routes/provider-routes.js.map +1 -0
- package/ccw/dist/core/routes/skills-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/skills-routes.js +219 -7
- package/ccw/dist/core/routes/skills-routes.js.map +1 -1
- package/ccw/dist/core/routes/system-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/system-routes.js +58 -6
- package/ccw/dist/core/routes/system-routes.js.map +1 -1
- package/ccw/dist/core/server.d.ts.map +1 -1
- package/ccw/dist/core/server.js +13 -0
- package/ccw/dist/core/server.js.map +1 -1
- package/ccw/dist/mcp-server/index.js +2 -2
- package/ccw/dist/mcp-server/index.js.map +1 -1
- package/ccw/dist/tools/claude-cli-tools.d.ts +48 -11
- package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
- package/ccw/dist/tools/claude-cli-tools.js +146 -50
- package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
- package/ccw/dist/tools/cli-config-manager.d.ts +1 -13
- package/ccw/dist/tools/cli-config-manager.d.ts.map +1 -1
- package/ccw/dist/tools/cli-config-manager.js +3 -27
- package/ccw/dist/tools/cli-config-manager.js.map +1 -1
- package/ccw/dist/tools/cli-executor-core.d.ts.map +1 -1
- package/ccw/dist/tools/cli-executor-core.js +7 -2
- package/ccw/dist/tools/cli-executor-core.js.map +1 -1
- package/ccw/dist/tools/cli-executor-state.d.ts.map +1 -1
- package/ccw/dist/tools/cli-history-store.d.ts +11 -0
- package/ccw/dist/tools/cli-history-store.d.ts.map +1 -1
- package/ccw/dist/tools/cli-history-store.js +82 -2
- package/ccw/dist/tools/cli-history-store.js.map +1 -1
- package/ccw/dist/tools/command-registry.d.ts +7 -0
- package/ccw/dist/tools/command-registry.d.ts.map +1 -1
- package/ccw/dist/tools/command-registry.js +14 -1
- package/ccw/dist/tools/command-registry.js.map +1 -1
- package/ccw/dist/tools/generate-module-docs.d.ts.map +1 -1
- package/ccw/dist/tools/generate-module-docs.js +11 -7
- package/ccw/dist/tools/generate-module-docs.js.map +1 -1
- package/ccw/dist/tools/litellm-executor.d.ts +1 -0
- package/ccw/dist/tools/litellm-executor.d.ts.map +1 -1
- package/ccw/dist/tools/litellm-executor.js +11 -9
- package/ccw/dist/tools/litellm-executor.js.map +1 -1
- package/ccw/dist/types/skill-types.d.ts +97 -0
- package/ccw/dist/types/skill-types.d.ts.map +1 -0
- package/ccw/dist/types/skill-types.js +6 -0
- package/ccw/dist/types/skill-types.js.map +1 -0
- package/ccw/src/commands/cli.ts +36 -5
- package/ccw/src/commands/issue.ts +81 -26
- package/ccw/src/config/litellm-api-config-manager.ts +5 -3
- package/ccw/src/config/litellm-provider-models.ts +222 -0
- package/ccw/src/config/provider-models.ts +91 -190
- package/ccw/src/config/storage-paths.ts +20 -5
- package/ccw/src/core/auth/csrf-middleware.ts +3 -3
- package/ccw/src/core/dashboard-generator.ts +3 -1
- package/ccw/src/core/routes/claude-routes.ts +233 -15
- package/ccw/src/core/routes/cli-routes.ts +2 -3
- package/ccw/src/core/routes/commands-routes.ts +620 -0
- package/ccw/src/core/routes/nav-status-routes.ts +95 -1
- package/ccw/src/core/routes/provider-routes.ts +78 -0
- package/ccw/src/core/routes/skills-routes.ts +266 -45
- package/ccw/src/core/routes/system-routes.ts +102 -50
- package/ccw/src/core/server.ts +13 -0
- package/ccw/src/mcp-server/index.ts +2 -2
- package/ccw/src/templates/dashboard-css/18-cli-settings.css +35 -0
- package/ccw/src/templates/dashboard-css/37-commands.css +193 -0
- package/ccw/src/templates/dashboard-js/components/navigation.js +4 -0
- package/ccw/src/templates/dashboard-js/i18n.js +116 -0
- package/ccw/src/templates/dashboard-js/views/cli-manager.js +249 -4
- package/ccw/src/templates/dashboard-js/views/commands-manager.js +503 -0
- package/ccw/src/templates/dashboard-js/views/issue-manager.js +7 -7
- package/ccw/src/templates/dashboard-js/views/mcp-manager.js +2 -7
- package/ccw/src/templates/dashboard-js/views/skills-manager.js +164 -23
- package/ccw/src/templates/dashboard.html +7 -0
- package/ccw/src/tools/claude-cli-tools.ts +170 -56
- package/ccw/src/tools/cli-config-manager.ts +2 -33
- package/ccw/src/tools/cli-executor-core.ts +8 -2
- package/ccw/src/tools/cli-history-store.ts +92 -2
- package/ccw/src/tools/command-registry.ts +16 -1
- package/ccw/src/tools/generate-module-docs.ts +11 -7
- package/ccw/src/tools/litellm-executor.ts +13 -9
- package/ccw/src/types/skill-types.ts +99 -0
- package/package.json +1 -1
- package/.claude/commands/enhance-prompt.md +0 -93
- package/.claude/commands/memory/code-map-memory.md +0 -687
- package/.claude/commands/memory/docs.md +0 -615
- package/.claude/commands/memory/load-skill-memory.md +0 -182
- package/.claude/commands/memory/skill-memory.md +0 -525
- package/.claude/commands/memory/swagger-docs.md +0 -773
- package/.claude/commands/memory/tech-research-rules.md +0 -310
- package/.claude/commands/memory/workflow-skill-memory.md +0 -517
- package/.claude/commands/task/breakdown.md +0 -208
- package/.claude/commands/task/create.md +0 -152
- package/.claude/commands/task/execute.md +0 -270
- package/.claude/commands/task/replan.md +0 -441
- package/.claude/commands/version.md +0 -254
- package/.claude/commands/workflow/action-plan-verify.md +0 -485
- package/.claude/commands/workflow/brainstorm/api-designer.md +0 -587
- package/.claude/commands/workflow/brainstorm/data-architect.md +0 -220
- package/.claude/commands/workflow/brainstorm/product-manager.md +0 -200
- package/.claude/commands/workflow/brainstorm/product-owner.md +0 -200
- package/.claude/commands/workflow/brainstorm/scrum-master.md +0 -200
- package/.claude/commands/workflow/brainstorm/subject-matter-expert.md +0 -200
- package/.claude/commands/workflow/brainstorm/system-architect.md +0 -389
- package/.claude/commands/workflow/brainstorm/ui-designer.md +0 -221
- package/.claude/commands/workflow/brainstorm/ux-expert.md +0 -221
- package/.claude/commands/workflow/debug.md +0 -331
- package/.claude/commands/workflow/develop-with-file.md +0 -1044
- package/.claude/skills/ccw-loop/README.md +0 -303
- package/.claude/skills/skill-generator/templates/script-bash.md +0 -277
- package/.claude/skills/skill-generator/templates/script-python.md +0 -198
- package/.codex/prompts/debug.md +0 -318
- package/ccw/src/core/routes/mcp-routes.ts.backup +0 -549
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: from-brainstorm
|
|
3
|
+
description: Convert brainstorm session ideas into issue with executable solution for parallel-dev-cycle
|
|
4
|
+
argument-hint: "SESSION=\"<session-id>\" [--idea=<index>] [--auto] [-y|--yes]"
|
|
5
|
+
allowed-tools: TodoWrite(*), Bash(*), Read(*), Write(*), Glob(*), AskUserQuestion(*)
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Auto Mode
|
|
9
|
+
|
|
10
|
+
When `--yes` or `-y`: Auto-select highest-scored idea, skip confirmations, create issue directly.
|
|
11
|
+
|
|
12
|
+
# Issue From-Brainstorm Command (/issue:from-brainstorm)
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
Bridge command that converts **brainstorm-with-file** session output into executable **issue + solution** for parallel-dev-cycle consumption.
|
|
17
|
+
|
|
18
|
+
**Core workflow**: Load Session → Select Idea → Convert to Issue → Generate Solution → Bind & Ready
|
|
19
|
+
|
|
20
|
+
**Input sources**:
|
|
21
|
+
- **synthesis.json** - Main brainstorm results with top_ideas
|
|
22
|
+
- **perspectives.json** - Multi-CLI perspectives (creative/pragmatic/systematic)
|
|
23
|
+
- **.brainstorming/** - Synthesis artifacts (clarifications, enhancements from role analyses)
|
|
24
|
+
|
|
25
|
+
**Output**:
|
|
26
|
+
- **Issue** (ISS-YYYYMMDD-NNN) - Full context with clarifications
|
|
27
|
+
- **Solution** (SOL-{issue-id}-{uid}) - Structured tasks for parallel-dev-cycle
|
|
28
|
+
|
|
29
|
+
## Quick Reference
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Interactive mode - select idea, confirm before creation
|
|
33
|
+
/issue:from-brainstorm SESSION="BS-rate-limiting-2025-01-28"
|
|
34
|
+
|
|
35
|
+
# Pre-select idea by index
|
|
36
|
+
/issue:from-brainstorm SESSION="BS-auth-system-2025-01-28" --idea=0
|
|
37
|
+
|
|
38
|
+
# Auto mode - select highest scored, no confirmations
|
|
39
|
+
/issue:from-brainstorm SESSION="BS-caching-2025-01-28" --auto -y
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Arguments
|
|
43
|
+
|
|
44
|
+
| Argument | Required | Type | Default | Description |
|
|
45
|
+
|----------|----------|------|---------|-------------|
|
|
46
|
+
| SESSION | Yes | String | - | Session ID or path to `.workflow/.brainstorm/BS-xxx` |
|
|
47
|
+
| --idea | No | Integer | - | Pre-select idea by index (0-based) |
|
|
48
|
+
| --auto | No | Flag | false | Auto-select highest-scored idea |
|
|
49
|
+
| -y, --yes | No | Flag | false | Skip all confirmations |
|
|
50
|
+
|
|
51
|
+
## Data Structures
|
|
52
|
+
|
|
53
|
+
### Issue Schema (Output)
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
interface Issue {
|
|
57
|
+
id: string; // ISS-YYYYMMDD-NNN
|
|
58
|
+
title: string; // From idea.title
|
|
59
|
+
status: 'planned'; // Auto-set after solution binding
|
|
60
|
+
priority: number; // 1-5 (derived from idea.score)
|
|
61
|
+
context: string; // Full description with clarifications
|
|
62
|
+
source: 'brainstorm';
|
|
63
|
+
labels: string[]; // ['brainstorm', perspective, feasibility]
|
|
64
|
+
|
|
65
|
+
// Structured fields
|
|
66
|
+
expected_behavior: string; // From key_strengths
|
|
67
|
+
actual_behavior: string; // From main_challenges
|
|
68
|
+
affected_components: string[]; // Extracted from description
|
|
69
|
+
|
|
70
|
+
_brainstorm_metadata: {
|
|
71
|
+
session_id: string;
|
|
72
|
+
idea_score: number;
|
|
73
|
+
novelty: number;
|
|
74
|
+
feasibility: string;
|
|
75
|
+
clarifications_count: number;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Solution Schema (Output)
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
interface Solution {
|
|
84
|
+
id: string; // SOL-{issue-id}-{4-char-uid}
|
|
85
|
+
description: string; // idea.title
|
|
86
|
+
approach: string; // idea.description
|
|
87
|
+
tasks: Task[]; // Generated from idea.next_steps
|
|
88
|
+
|
|
89
|
+
analysis: {
|
|
90
|
+
risk: 'low' | 'medium' | 'high';
|
|
91
|
+
impact: 'low' | 'medium' | 'high';
|
|
92
|
+
complexity: 'low' | 'medium' | 'high';
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
is_bound: boolean; // true
|
|
96
|
+
created_at: string;
|
|
97
|
+
bound_at: string;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
interface Task {
|
|
101
|
+
id: string; // T1, T2, T3...
|
|
102
|
+
title: string; // Actionable task name
|
|
103
|
+
scope: string; // design|implementation|testing|documentation
|
|
104
|
+
action: string; // Implement|Design|Research|Test|Document
|
|
105
|
+
description: string;
|
|
106
|
+
|
|
107
|
+
implementation: string[]; // Step-by-step guide
|
|
108
|
+
acceptance: {
|
|
109
|
+
criteria: string[]; // What defines success
|
|
110
|
+
verification: string[]; // How to verify
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
priority: number; // 1-5
|
|
114
|
+
depends_on: string[]; // Task dependencies
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Execution Flow
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
Phase 1: Session Loading
|
|
122
|
+
├─ Validate session path
|
|
123
|
+
├─ Load synthesis.json (required)
|
|
124
|
+
├─ Load perspectives.json (optional - multi-CLI insights)
|
|
125
|
+
├─ Load .brainstorming/** (optional - synthesis artifacts)
|
|
126
|
+
└─ Validate top_ideas array exists
|
|
127
|
+
|
|
128
|
+
Phase 2: Idea Selection
|
|
129
|
+
├─ Auto mode: Select highest scored idea
|
|
130
|
+
├─ Pre-selected: Use --idea=N index
|
|
131
|
+
└─ Interactive: Display table, ask user to select
|
|
132
|
+
|
|
133
|
+
Phase 3: Enrich Issue Context
|
|
134
|
+
├─ Base: idea.description + key_strengths + main_challenges
|
|
135
|
+
├─ Add: Relevant clarifications (Requirements/Architecture/Feasibility)
|
|
136
|
+
├─ Add: Multi-perspective insights (creative/pragmatic/systematic)
|
|
137
|
+
└─ Add: Session metadata (session_id, completion date, clarification count)
|
|
138
|
+
|
|
139
|
+
Phase 4: Create Issue
|
|
140
|
+
├─ Generate issue data with enriched context
|
|
141
|
+
├─ Calculate priority from idea.score (0-10 → 1-5)
|
|
142
|
+
├─ Create via: ccw issue create (heredoc for JSON)
|
|
143
|
+
└─ Returns: ISS-YYYYMMDD-NNN
|
|
144
|
+
|
|
145
|
+
Phase 5: Generate Solution Tasks
|
|
146
|
+
├─ T1: Research & Validate (if main_challenges exist)
|
|
147
|
+
├─ T2: Design & Specification (if key_strengths exist)
|
|
148
|
+
├─ T3+: Implementation tasks (from idea.next_steps)
|
|
149
|
+
└─ Each task includes: implementation steps + acceptance criteria
|
|
150
|
+
|
|
151
|
+
Phase 6: Bind Solution
|
|
152
|
+
├─ Write solution to .workflow/issues/solutions/{issue-id}.jsonl
|
|
153
|
+
├─ Bind via: ccw issue bind {issue-id} {solution-id}
|
|
154
|
+
├─ Update issue status to 'planned'
|
|
155
|
+
└─ Returns: SOL-{issue-id}-{uid}
|
|
156
|
+
|
|
157
|
+
Phase 7: Next Steps
|
|
158
|
+
└─ Offer: Form queue | Convert another idea | View details | Done
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Context Enrichment Logic
|
|
162
|
+
|
|
163
|
+
### Base Context (Always Included)
|
|
164
|
+
|
|
165
|
+
- **Description**: `idea.description`
|
|
166
|
+
- **Why This Idea**: `idea.key_strengths[]`
|
|
167
|
+
- **Challenges to Address**: `idea.main_challenges[]`
|
|
168
|
+
- **Implementation Steps**: `idea.next_steps[]`
|
|
169
|
+
|
|
170
|
+
### Enhanced Context (If Available)
|
|
171
|
+
|
|
172
|
+
**From Synthesis Artifacts** (`.brainstorming/*/analysis*.md`):
|
|
173
|
+
- Extract clarifications matching categories: Requirements, Architecture, Feasibility
|
|
174
|
+
- Format: `**{Category}** ({role}): {question} → {answer}`
|
|
175
|
+
- Limit: Top 3 most relevant
|
|
176
|
+
|
|
177
|
+
**From Perspectives** (`perspectives.json`):
|
|
178
|
+
- **Creative**: First insight from `perspectives.creative.insights[0]`
|
|
179
|
+
- **Pragmatic**: First blocker from `perspectives.pragmatic.blockers[0]`
|
|
180
|
+
- **Systematic**: First pattern from `perspectives.systematic.patterns[0]`
|
|
181
|
+
|
|
182
|
+
**Session Metadata**:
|
|
183
|
+
- Session ID, Topic, Completion Date
|
|
184
|
+
- Clarifications count (if synthesis artifacts loaded)
|
|
185
|
+
|
|
186
|
+
## Task Generation Strategy
|
|
187
|
+
|
|
188
|
+
### Task 1: Research & Validation
|
|
189
|
+
**Trigger**: `idea.main_challenges.length > 0`
|
|
190
|
+
- **Title**: "Research & Validate Approach"
|
|
191
|
+
- **Scope**: design
|
|
192
|
+
- **Action**: Research
|
|
193
|
+
- **Implementation**: Investigate blockers, review similar implementations, validate with team
|
|
194
|
+
- **Acceptance**: Blockers documented, feasibility assessed, approach validated
|
|
195
|
+
|
|
196
|
+
### Task 2: Design & Specification
|
|
197
|
+
**Trigger**: `idea.key_strengths.length > 0`
|
|
198
|
+
- **Title**: "Design & Create Specification"
|
|
199
|
+
- **Scope**: design
|
|
200
|
+
- **Action**: Design
|
|
201
|
+
- **Implementation**: Create design doc, define success criteria, plan phases
|
|
202
|
+
- **Acceptance**: Design complete, metrics defined, plan outlined
|
|
203
|
+
|
|
204
|
+
### Task 3+: Implementation Tasks
|
|
205
|
+
**Trigger**: `idea.next_steps[]`
|
|
206
|
+
- **Title**: From `next_steps[i]` (max 60 chars)
|
|
207
|
+
- **Scope**: Inferred from keywords (test→testing, api→backend, ui→frontend)
|
|
208
|
+
- **Action**: Detected from verbs (implement, create, update, fix, test, document)
|
|
209
|
+
- **Implementation**: Execute step + follow design + write tests
|
|
210
|
+
- **Acceptance**: Step implemented + tests passing + code reviewed
|
|
211
|
+
|
|
212
|
+
### Fallback Task
|
|
213
|
+
**Trigger**: No tasks generated from above
|
|
214
|
+
- **Title**: `idea.title`
|
|
215
|
+
- **Scope**: implementation
|
|
216
|
+
- **Action**: Implement
|
|
217
|
+
- **Generic implementation + acceptance criteria**
|
|
218
|
+
|
|
219
|
+
## Priority Calculation
|
|
220
|
+
|
|
221
|
+
### Issue Priority (1-5)
|
|
222
|
+
```
|
|
223
|
+
idea.score: 0-10
|
|
224
|
+
priority = max(1, min(5, ceil((10 - score) / 2)))
|
|
225
|
+
|
|
226
|
+
Examples:
|
|
227
|
+
score 9-10 → priority 1 (critical)
|
|
228
|
+
score 7-8 → priority 2 (high)
|
|
229
|
+
score 5-6 → priority 3 (medium)
|
|
230
|
+
score 3-4 → priority 4 (low)
|
|
231
|
+
score 0-2 → priority 5 (lowest)
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Task Priority (1-5)
|
|
235
|
+
- Research task: 1 (highest)
|
|
236
|
+
- Design task: 2
|
|
237
|
+
- Implementation tasks: 3 by default, decrement for later tasks
|
|
238
|
+
- Testing/documentation: 4-5
|
|
239
|
+
|
|
240
|
+
### Complexity Analysis
|
|
241
|
+
```
|
|
242
|
+
risk: main_challenges.length > 2 ? 'high' : 'medium'
|
|
243
|
+
impact: score >= 8 ? 'high' : score >= 6 ? 'medium' : 'low'
|
|
244
|
+
complexity: main_challenges > 3 OR tasks > 5 ? 'high'
|
|
245
|
+
tasks > 3 ? 'medium' : 'low'
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
## CLI Integration
|
|
249
|
+
|
|
250
|
+
### Issue Creation
|
|
251
|
+
```bash
|
|
252
|
+
# Uses heredoc to avoid shell escaping
|
|
253
|
+
ccw issue create << 'EOF'
|
|
254
|
+
{
|
|
255
|
+
"title": "...",
|
|
256
|
+
"context": "...",
|
|
257
|
+
"priority": 3,
|
|
258
|
+
"source": "brainstorm",
|
|
259
|
+
"labels": ["brainstorm", "creative", "feasibility-high"],
|
|
260
|
+
...
|
|
261
|
+
}
|
|
262
|
+
EOF
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Solution Binding
|
|
266
|
+
```bash
|
|
267
|
+
# Append solution to JSONL file
|
|
268
|
+
echo '{"id":"SOL-xxx","tasks":[...]}' >> .workflow/issues/solutions/{issue-id}.jsonl
|
|
269
|
+
|
|
270
|
+
# Bind to issue
|
|
271
|
+
ccw issue bind {issue-id} {solution-id}
|
|
272
|
+
|
|
273
|
+
# Update status
|
|
274
|
+
ccw issue update {issue-id} --status planned
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
## Error Handling
|
|
278
|
+
|
|
279
|
+
| Error | Message | Resolution |
|
|
280
|
+
|-------|---------|------------|
|
|
281
|
+
| Session not found | synthesis.json missing | Check session ID, list available sessions |
|
|
282
|
+
| No ideas | top_ideas array empty | Complete brainstorm workflow first |
|
|
283
|
+
| Invalid idea index | Index out of range | Check valid range 0 to N-1 |
|
|
284
|
+
| Issue creation failed | ccw issue create error | Verify CLI endpoint working |
|
|
285
|
+
| Solution binding failed | Bind error | Check issue exists, retry |
|
|
286
|
+
|
|
287
|
+
## Examples
|
|
288
|
+
|
|
289
|
+
### Interactive Mode
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
/issue:from-brainstorm SESSION="BS-rate-limiting-2025-01-28"
|
|
293
|
+
|
|
294
|
+
# Output:
|
|
295
|
+
# | # | Title | Score | Feasibility |
|
|
296
|
+
# |---|-------|-------|-------------|
|
|
297
|
+
# | 0 | Token Bucket Algorithm | 8.5 | High |
|
|
298
|
+
# | 1 | Sliding Window Counter | 7.2 | Medium |
|
|
299
|
+
# | 2 | Fixed Window | 6.1 | High |
|
|
300
|
+
|
|
301
|
+
# User selects: #0
|
|
302
|
+
|
|
303
|
+
# Result:
|
|
304
|
+
# ✓ Created issue: ISS-20250128-001
|
|
305
|
+
# ✓ Created solution: SOL-ISS-20250128-001-ab3d
|
|
306
|
+
# ✓ Bound solution to issue
|
|
307
|
+
# → Next: /issue:queue
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Auto Mode
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
/issue:from-brainstorm SESSION="BS-caching-2025-01-28" --auto
|
|
314
|
+
|
|
315
|
+
# Result:
|
|
316
|
+
# Auto-selected: Redis Cache Layer (Score: 9.2/10)
|
|
317
|
+
# ✓ Created issue: ISS-20250128-002
|
|
318
|
+
# ✓ Solution with 4 tasks
|
|
319
|
+
# → Status: planned
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## Integration Flow
|
|
323
|
+
|
|
324
|
+
```
|
|
325
|
+
brainstorm-with-file
|
|
326
|
+
│
|
|
327
|
+
├─ synthesis.json
|
|
328
|
+
├─ perspectives.json
|
|
329
|
+
└─ .brainstorming/** (optional)
|
|
330
|
+
│
|
|
331
|
+
▼
|
|
332
|
+
/issue:from-brainstorm ◄─── This command
|
|
333
|
+
│
|
|
334
|
+
├─ ISS-YYYYMMDD-NNN (enriched issue)
|
|
335
|
+
└─ SOL-{issue-id}-{uid} (structured solution)
|
|
336
|
+
│
|
|
337
|
+
▼
|
|
338
|
+
/issue:queue
|
|
339
|
+
│
|
|
340
|
+
▼
|
|
341
|
+
/parallel-dev-cycle
|
|
342
|
+
│
|
|
343
|
+
▼
|
|
344
|
+
RA → EP → CD → VAS
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
## Session Files Reference
|
|
348
|
+
|
|
349
|
+
### Input Files
|
|
350
|
+
|
|
351
|
+
```
|
|
352
|
+
.workflow/.brainstorm/BS-{slug}-{date}/
|
|
353
|
+
├── synthesis.json # REQUIRED - Top ideas with scores
|
|
354
|
+
├── perspectives.json # OPTIONAL - Multi-CLI insights
|
|
355
|
+
├── brainstorm.md # Reference only
|
|
356
|
+
└── .brainstorming/ # OPTIONAL - Synthesis artifacts
|
|
357
|
+
├── system-architect/
|
|
358
|
+
│ └── analysis.md # Contains clarifications + enhancements
|
|
359
|
+
├── api-designer/
|
|
360
|
+
│ └── analysis.md
|
|
361
|
+
└── ...
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### Output Files
|
|
365
|
+
|
|
366
|
+
```
|
|
367
|
+
.workflow/issues/
|
|
368
|
+
├── solutions/
|
|
369
|
+
│ └── ISS-YYYYMMDD-001.jsonl # Created solution (JSONL)
|
|
370
|
+
└── (managed by ccw issue CLI)
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
## Related Commands
|
|
374
|
+
|
|
375
|
+
- `/workflow:brainstorm-with-file` - Generate brainstorm sessions
|
|
376
|
+
- `/workflow:brainstorm:synthesis` - Add clarifications to brainstorm
|
|
377
|
+
- `/issue:new` - Create issues from GitHub or text
|
|
378
|
+
- `/issue:plan` - Generate solutions via exploration
|
|
379
|
+
- `/issue:queue` - Form execution queue
|
|
380
|
+
- `/issue:execute` - Execute with parallel-dev-cycle
|
|
381
|
+
- `ccw issue status <id>` - View issue
|
|
382
|
+
- `ccw issue solution <id>` - View solution
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tips
|
|
3
|
+
description: Quick note-taking command to capture ideas, snippets, reminders, and insights for later reference
|
|
4
|
+
argument-hint: "<note content> [--tag <tag1,tag2>] [--context <context>]"
|
|
5
|
+
allowed-tools: mcp__ccw-tools__core_memory(*), Read(*)
|
|
6
|
+
examples:
|
|
7
|
+
- /memory:tips "Remember to use Redis for rate limiting"
|
|
8
|
+
- /memory:tips "Auth pattern: JWT with refresh tokens" --tag architecture,auth
|
|
9
|
+
- /memory:tips "Bug: memory leak in WebSocket handler after 24h" --context websocket-service
|
|
10
|
+
- /memory:tips "Performance: lazy loading reduced bundle by 40%" --tag performance
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Memory Tips Command (/memory:tips)
|
|
14
|
+
|
|
15
|
+
## 1. Overview
|
|
16
|
+
|
|
17
|
+
The `memory:tips` command provides **quick note-taking** for capturing:
|
|
18
|
+
- Quick ideas and insights
|
|
19
|
+
- Code snippets and patterns
|
|
20
|
+
- Reminders and follow-ups
|
|
21
|
+
- Bug notes and debugging hints
|
|
22
|
+
- Performance observations
|
|
23
|
+
- Architecture decisions
|
|
24
|
+
- Library/tool recommendations
|
|
25
|
+
|
|
26
|
+
**Core Philosophy**:
|
|
27
|
+
- **Speed First**: Minimal friction for capturing thoughts
|
|
28
|
+
- **Searchable**: Tagged for easy retrieval
|
|
29
|
+
- **Context-Aware**: Optional context linking
|
|
30
|
+
- **Lightweight**: No complex session analysis
|
|
31
|
+
|
|
32
|
+
## 2. Parameters
|
|
33
|
+
|
|
34
|
+
- `<note content>` (Required): The tip/note content to save
|
|
35
|
+
- `--tag <tags>` (Optional): Comma-separated tags for categorization
|
|
36
|
+
- `--context <context>` (Optional): Related context (file, module, feature)
|
|
37
|
+
|
|
38
|
+
**Examples**:
|
|
39
|
+
```bash
|
|
40
|
+
/memory:tips "Use Zod for runtime validation - better DX than class-validator"
|
|
41
|
+
/memory:tips "Redis connection pool: max 10, min 2" --tag config,redis
|
|
42
|
+
/memory:tips "Fix needed: race condition in payment processor" --tag bug,payment --context src/payments
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## 3. Structured Output Format
|
|
46
|
+
|
|
47
|
+
```markdown
|
|
48
|
+
## Tip ID
|
|
49
|
+
TIP-YYYYMMDD-HHMMSS
|
|
50
|
+
|
|
51
|
+
## Timestamp
|
|
52
|
+
YYYY-MM-DD HH:MM:SS
|
|
53
|
+
|
|
54
|
+
## Project Root
|
|
55
|
+
[Absolute path to project root, e.g., D:\Claude_dms3]
|
|
56
|
+
|
|
57
|
+
## Content
|
|
58
|
+
[The tip/note content exactly as provided]
|
|
59
|
+
|
|
60
|
+
## Tags
|
|
61
|
+
[Comma-separated tags, or (none)]
|
|
62
|
+
|
|
63
|
+
## Context
|
|
64
|
+
[Optional context linking - file, module, or feature reference]
|
|
65
|
+
|
|
66
|
+
## Session Link
|
|
67
|
+
[WFS-ID if workflow session active, otherwise (none)]
|
|
68
|
+
|
|
69
|
+
## Auto-Detected Context
|
|
70
|
+
[Files/topics from current conversation if relevant]
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## 4. Field Definitions
|
|
74
|
+
|
|
75
|
+
| Field | Purpose | Example |
|
|
76
|
+
|-------|---------|---------|
|
|
77
|
+
| **Tip ID** | Unique identifier with timestamp | TIP-20260128-143052 |
|
|
78
|
+
| **Timestamp** | When tip was created | 2026-01-28 14:30:52 |
|
|
79
|
+
| **Project Root** | Current project path | D:\Claude_dms3 |
|
|
80
|
+
| **Content** | The actual tip/note | "Use Redis for rate limiting" |
|
|
81
|
+
| **Tags** | Categorization labels | architecture, auth, performance |
|
|
82
|
+
| **Context** | Related code/feature | src/auth/**, payment-module |
|
|
83
|
+
| **Session Link** | Link to workflow session | WFS-auth-20260128 |
|
|
84
|
+
| **Auto-Detected Context** | Files from conversation | src/api/handler.ts |
|
|
85
|
+
|
|
86
|
+
## 5. Execution Flow
|
|
87
|
+
|
|
88
|
+
### Step 1: Parse Arguments
|
|
89
|
+
|
|
90
|
+
```javascript
|
|
91
|
+
const parseTipsCommand = (input) => {
|
|
92
|
+
// Extract note content (everything before flags)
|
|
93
|
+
const contentMatch = input.match(/^"([^"]+)"|^([^\s-]+)/);
|
|
94
|
+
const content = contentMatch ? (contentMatch[1] || contentMatch[2]) : '';
|
|
95
|
+
|
|
96
|
+
// Extract tags
|
|
97
|
+
const tagsMatch = input.match(/--tag\s+([^\s-]+)/);
|
|
98
|
+
const tags = tagsMatch ? tagsMatch[1].split(',').map(t => t.trim()) : [];
|
|
99
|
+
|
|
100
|
+
// Extract context
|
|
101
|
+
const contextMatch = input.match(/--context\s+([^\s-]+)/);
|
|
102
|
+
const context = contextMatch ? contextMatch[1] : '';
|
|
103
|
+
|
|
104
|
+
return { content, tags, context };
|
|
105
|
+
};
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Step 2: Gather Context
|
|
109
|
+
|
|
110
|
+
```javascript
|
|
111
|
+
const gatherTipContext = async () => {
|
|
112
|
+
// Get project root
|
|
113
|
+
const projectRoot = process.cwd(); // or detect from environment
|
|
114
|
+
|
|
115
|
+
// Get current session if active
|
|
116
|
+
const manifest = await mcp__ccw-tools__session_manager({
|
|
117
|
+
operation: "list",
|
|
118
|
+
location: "active"
|
|
119
|
+
});
|
|
120
|
+
const sessionId = manifest.sessions?.[0]?.id || null;
|
|
121
|
+
|
|
122
|
+
// Auto-detect files from recent conversation
|
|
123
|
+
const recentFiles = extractRecentFilesFromConversation(); // Last 5 messages
|
|
124
|
+
|
|
125
|
+
return {
|
|
126
|
+
projectRoot,
|
|
127
|
+
sessionId,
|
|
128
|
+
autoDetectedContext: recentFiles
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Step 3: Generate Structured Text
|
|
134
|
+
|
|
135
|
+
```javascript
|
|
136
|
+
const generateTipText = (parsed, context) => {
|
|
137
|
+
const timestamp = new Date().toISOString().replace('T', ' ').slice(0, 19);
|
|
138
|
+
const tipId = `TIP-${new Date().toISOString().slice(0,10).replace(/-/g, '')}-${new Date().toTimeString().slice(0,8).replace(/:/g, '')}`;
|
|
139
|
+
|
|
140
|
+
return `## Tip ID
|
|
141
|
+
${tipId}
|
|
142
|
+
|
|
143
|
+
## Timestamp
|
|
144
|
+
${timestamp}
|
|
145
|
+
|
|
146
|
+
## Project Root
|
|
147
|
+
${context.projectRoot}
|
|
148
|
+
|
|
149
|
+
## Content
|
|
150
|
+
${parsed.content}
|
|
151
|
+
|
|
152
|
+
## Tags
|
|
153
|
+
${parsed.tags.length > 0 ? parsed.tags.join(', ') : '(none)'}
|
|
154
|
+
|
|
155
|
+
## Context
|
|
156
|
+
${parsed.context || '(none)'}
|
|
157
|
+
|
|
158
|
+
## Session Link
|
|
159
|
+
${context.sessionId || '(none)'}
|
|
160
|
+
|
|
161
|
+
## Auto-Detected Context
|
|
162
|
+
${context.autoDetectedContext.length > 0
|
|
163
|
+
? context.autoDetectedContext.map(f => `- ${f}`).join('\n')
|
|
164
|
+
: '(none)'}`;
|
|
165
|
+
};
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Step 4: Save to Core Memory
|
|
169
|
+
|
|
170
|
+
```javascript
|
|
171
|
+
mcp__ccw-tools__core_memory({
|
|
172
|
+
operation: "import",
|
|
173
|
+
text: structuredText
|
|
174
|
+
})
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**Response Format**:
|
|
178
|
+
```json
|
|
179
|
+
{
|
|
180
|
+
"operation": "import",
|
|
181
|
+
"id": "CMEM-YYYYMMDD-HHMMSS",
|
|
182
|
+
"message": "Created memory: CMEM-YYYYMMDD-HHMMSS"
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Step 5: Confirm to User
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
✓ Tip saved successfully
|
|
190
|
+
|
|
191
|
+
ID: CMEM-YYYYMMDD-HHMMSS
|
|
192
|
+
Tags: architecture, auth
|
|
193
|
+
Context: src/auth/**
|
|
194
|
+
|
|
195
|
+
To retrieve: /memory:search "auth patterns"
|
|
196
|
+
Or via MCP: core_memory(operation="search", query="auth")
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## 6. Tag Categories (Suggested)
|
|
200
|
+
|
|
201
|
+
**Technical**:
|
|
202
|
+
- `architecture` - Design decisions and patterns
|
|
203
|
+
- `performance` - Optimization insights
|
|
204
|
+
- `security` - Security considerations
|
|
205
|
+
- `bug` - Bug notes and fixes
|
|
206
|
+
- `config` - Configuration settings
|
|
207
|
+
- `api` - API design patterns
|
|
208
|
+
|
|
209
|
+
**Development**:
|
|
210
|
+
- `testing` - Test strategies and patterns
|
|
211
|
+
- `debugging` - Debugging techniques
|
|
212
|
+
- `refactoring` - Refactoring notes
|
|
213
|
+
- `documentation` - Doc improvements
|
|
214
|
+
|
|
215
|
+
**Domain Specific**:
|
|
216
|
+
- `auth` - Authentication/authorization
|
|
217
|
+
- `database` - Database patterns
|
|
218
|
+
- `frontend` - UI/UX patterns
|
|
219
|
+
- `backend` - Backend logic
|
|
220
|
+
- `devops` - Infrastructure and deployment
|
|
221
|
+
|
|
222
|
+
**Organizational**:
|
|
223
|
+
- `reminder` - Follow-up items
|
|
224
|
+
- `research` - Research findings
|
|
225
|
+
- `idea` - Feature ideas
|
|
226
|
+
- `review` - Code review notes
|
|
227
|
+
|
|
228
|
+
## 7. Search Integration
|
|
229
|
+
|
|
230
|
+
Tips can be retrieved using:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
# Via command (if /memory:search exists)
|
|
234
|
+
/memory:search "rate limiting"
|
|
235
|
+
|
|
236
|
+
# Via MCP tool
|
|
237
|
+
mcp__ccw-tools__core_memory({
|
|
238
|
+
operation: "search",
|
|
239
|
+
query: "rate limiting",
|
|
240
|
+
source_type: "core_memory",
|
|
241
|
+
top_k: 10
|
|
242
|
+
})
|
|
243
|
+
|
|
244
|
+
# Via CLI
|
|
245
|
+
ccw core-memory search --query "rate limiting" --top-k 10
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
## 8. Quality Checklist
|
|
249
|
+
|
|
250
|
+
Before saving:
|
|
251
|
+
- [ ] Content is clear and actionable
|
|
252
|
+
- [ ] Tags are relevant and consistent
|
|
253
|
+
- [ ] Context provides enough reference
|
|
254
|
+
- [ ] Auto-detected context is accurate
|
|
255
|
+
- [ ] Project root is absolute path
|
|
256
|
+
- [ ] Timestamp is properly formatted
|
|
257
|
+
|
|
258
|
+
## 9. Best Practices
|
|
259
|
+
|
|
260
|
+
### Good Tips Examples
|
|
261
|
+
|
|
262
|
+
✅ **Specific and Actionable**:
|
|
263
|
+
```
|
|
264
|
+
"Use connection pooling for Redis: { max: 10, min: 2, acquireTimeoutMillis: 30000 }"
|
|
265
|
+
--tag config,redis
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
✅ **With Context**:
|
|
269
|
+
```
|
|
270
|
+
"Auth middleware must validate both access and refresh tokens"
|
|
271
|
+
--tag security,auth --context src/middleware/auth.ts
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
✅ **Problem + Solution**:
|
|
275
|
+
```
|
|
276
|
+
"Memory leak fixed by unsubscribing event listeners in componentWillUnmount"
|
|
277
|
+
--tag bug,react --context src/components/Chat.tsx
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Poor Tips Examples
|
|
281
|
+
|
|
282
|
+
❌ **Too Vague**:
|
|
283
|
+
```
|
|
284
|
+
"Fix the bug" --tag bug
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
❌ **Too Long** (use /memory:compact instead):
|
|
288
|
+
```
|
|
289
|
+
"Here's the complete implementation plan for the entire auth system... [3 paragraphs]"
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
❌ **No Context**:
|
|
293
|
+
```
|
|
294
|
+
"Remember to update this later"
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
## 10. Use Cases
|
|
298
|
+
|
|
299
|
+
### During Development
|
|
300
|
+
```bash
|
|
301
|
+
/memory:tips "JWT secret must be 256-bit minimum" --tag security,auth
|
|
302
|
+
/memory:tips "Use debounce (300ms) for search input" --tag performance,ux
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### After Bug Fixes
|
|
306
|
+
```bash
|
|
307
|
+
/memory:tips "Race condition in payment: lock with Redis SETNX" --tag bug,payment
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Code Review Insights
|
|
311
|
+
```bash
|
|
312
|
+
/memory:tips "Prefer early returns over nested ifs" --tag style,readability
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### Architecture Decisions
|
|
316
|
+
```bash
|
|
317
|
+
/memory:tips "Chose PostgreSQL over MongoDB for ACID compliance" --tag architecture,database
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### Library Recommendations
|
|
321
|
+
```bash
|
|
322
|
+
/memory:tips "Zod > Yup for TypeScript validation - better type inference" --tag library,typescript
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
## 11. Notes
|
|
326
|
+
|
|
327
|
+
- **Frequency**: Use liberally - capture all valuable insights
|
|
328
|
+
- **Retrieval**: Search by tags, content, or context
|
|
329
|
+
- **Lifecycle**: Tips persist across sessions
|
|
330
|
+
- **Organization**: Tags enable filtering and categorization
|
|
331
|
+
- **Integration**: Can reference tips in later workflows
|
|
332
|
+
- **Lightweight**: No complex session analysis required
|