@pjmendonca/devflow 1.13.2 → 1.19.0
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/commands/agent.md +1 -1
- package/.claude/commands/brainstorm.md +28 -0
- package/.claude/commands/bugfix.md +21 -0
- package/.claude/commands/checkpoint.md +0 -1
- package/.claude/commands/collab.md +0 -1
- package/.claude/commands/costs.md +88 -18
- package/.claude/commands/devflow.md +26 -0
- package/.claude/commands/handoff.md +0 -1
- package/.claude/commands/init.md +383 -0
- package/.claude/commands/memory.md +0 -1
- package/.claude/commands/pair.md +0 -1
- package/.claude/commands/review.md +27 -0
- package/.claude/commands/route.md +0 -1
- package/.claude/commands/swarm.md +0 -1
- package/.claude/commands/validate.md +55 -0
- package/.claude/hooks/session-notification.sh +44 -0
- package/.claude/hooks/session-startup.sh +427 -0
- package/.claude/hooks/session-stop.sh +38 -0
- package/.claude/hooks/session_tracker.py +272 -0
- package/.claude/settings.json +38 -0
- package/.claude/skills/brainstorm/SKILL.md +531 -0
- package/.claude/skills/costs/SKILL.md +156 -0
- package/.claude/skills/validate/SKILL.md +101 -0
- package/CHANGELOG.md +284 -0
- package/README.md +207 -10
- package/bin/devflow-install.js +2 -1
- package/bin/devflow.js +4 -0
- package/lib/constants.js +0 -1
- package/lib/exec-python.js +1 -1
- package/package.json +1 -1
- package/tooling/.automation/.checkpoint_lock +1 -0
- package/tooling/.automation/agents/architect.md +19 -0
- package/tooling/.automation/agents/ba.md +19 -0
- package/tooling/.automation/agents/maintainer.md +19 -0
- package/tooling/.automation/agents/pm.md +19 -0
- package/tooling/.automation/agents/reviewer.md +1 -1
- package/tooling/.automation/agents/writer.md +19 -0
- package/tooling/.automation/benchmarks/benchmark_20251230_100119.json +314 -0
- package/tooling/.automation/benchmarks/benchmark_20251230_100216.json +314 -0
- package/tooling/.automation/costs/config.json +31 -0
- package/tooling/.automation/costs/sessions/2025-12-29_20251229_164128.json +22 -0
- package/tooling/.automation/memory/knowledge/kg_integration-test.json +738 -1
- package/tooling/.automation/memory/knowledge/kg_test-story.json +3381 -2
- package/tooling/.automation/memory/shared/shared_integration-test.json +193 -1
- package/tooling/.automation/memory/shared/shared_test-story.json +757 -1
- package/tooling/.automation/memory/shared/shared_test.json +1332 -0
- package/tooling/.automation/memory/shared/shared_validation-check.json +240 -0
- package/tooling/.automation/overrides/templates/architect/cloud-native.yaml +5 -5
- package/tooling/.automation/overrides/templates/architect/enterprise-architect.yaml +23 -5
- package/tooling/.automation/overrides/templates/architect/pragmatic-minimalist.yaml +24 -6
- package/tooling/.automation/overrides/templates/ba/agile-storyteller.yaml +4 -4
- package/tooling/.automation/overrides/templates/ba/domain-expert.yaml +4 -4
- package/tooling/.automation/overrides/templates/ba/requirements-engineer.yaml +4 -4
- package/tooling/.automation/overrides/templates/dev/performance-engineer.yaml +18 -0
- package/tooling/.automation/overrides/templates/dev/rapid-prototyper.yaml +19 -1
- package/tooling/.automation/overrides/templates/dev/security-focused.yaml +18 -0
- package/tooling/.automation/overrides/templates/dev/user-advocate.yaml +54 -0
- package/tooling/.automation/overrides/templates/maintainer/devops-maintainer.yaml +4 -4
- package/tooling/.automation/overrides/templates/maintainer/legacy-steward.yaml +4 -4
- package/tooling/.automation/overrides/templates/maintainer/oss-maintainer.yaml +4 -4
- package/tooling/.automation/overrides/templates/maintainer/reliability-engineer.yaml +55 -0
- package/tooling/.automation/overrides/templates/pm/agile-pm.yaml +4 -4
- package/tooling/.automation/overrides/templates/pm/hybrid-delivery.yaml +3 -3
- package/tooling/.automation/overrides/templates/pm/traditional-pm.yaml +4 -4
- package/tooling/.automation/overrides/templates/reviewer/quick-sanity.yaml +18 -0
- package/tooling/.automation/overrides/templates/reviewer/thorough-critic.yaml +18 -0
- package/tooling/.automation/overrides/templates/sm/agile-coach.yaml +2 -2
- package/tooling/.automation/overrides/templates/sm/startup-pm.yaml +3 -3
- package/tooling/.automation/overrides/templates/writer/api-documentarian.yaml +5 -5
- package/tooling/.automation/overrides/templates/writer/docs-as-code.yaml +4 -4
- package/tooling/.automation/overrides/templates/writer/user-guide-author.yaml +5 -5
- package/tooling/.automation/validation/history/2025-12-29_val_002a28c1.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_01273bb1.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_03369914.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_07a449ba.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_0df1f0a2.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_10ff3d34.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_110771d7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_13f3a7f9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_17ba9d21.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_22247089.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_227ea6a4.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2335d5ae.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_246824bb.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_28b4b9cd.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2abd12cc.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2c801b2f.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2c8cfa8e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2ce76eb0.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_30351948.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_30eb7229.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_34df0e77.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_376e4d6a.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_3a4e8a1a.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_3b77a628.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_3ea4e1cf.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_44aacdb4.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_457ddfa8.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_45af6238.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_4735dba1.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_486b203c.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_49dc56cd.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_4d863d6d.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_5149a808.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_52e0bb43.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_585d6319.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_5b2d859a.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_635a7081.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_64df4905.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_70634cee.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_714553f9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_7f7bfdbf.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_7faad91d.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_81821f8f.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8249f3c9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8422b50f.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8446c134.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_879f4e26.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8b6d5bd7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8c5cd787.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_91d20bc7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_958a12b7.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_95d91108.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_980dbb74.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_9e40c79b.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_9f499b7c.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_9f7c3b57.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_a30d5bd4.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_a6eb09c7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_a86f7b83.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_ad5347e1.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_b0a5a993.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_bcb0192e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_bf3c9aaa.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_c461ff88.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_c4f4e258.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_c7f0fa6d.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_c911b0e6.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_cc581964.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_cdd5a33b.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_cfd42495.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d1c7a4ee.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d2280d0e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d2a6ff69.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d8c53ab2.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d9c1247a.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d9d58569.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_dabb4fd9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_dd8fe359.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_decdffc9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_e3a95476.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_e776dfca.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_ea70969f.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_ef41ea95.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_f384f9b1.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_f8adc38c.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_fa40b69e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_fc538d54.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_fe814665.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_ffea4b12.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_02d001e5.json +59 -0
- package/tooling/.automation/validation/history/2025-12-30_val_0b8966dc.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_15455fbf.json +59 -0
- package/tooling/.automation/validation/history/2025-12-30_val_157e34b9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_28d1d933.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_3442a52c.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_37f1ce1e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_4f1d8a93.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_56ff1de3.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_664fd4e2.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_66afb0a7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_7634663c.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_8ea830c3.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_998957c2.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_a52177db.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_a5b65a63.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_ae391d0e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_c7895339.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_ca416593.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_cee19422.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_ddd4f4e6.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_f2e1394b.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_f4a7fa06.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_ffea3369.json +32 -0
- package/tooling/.automation/validation/history/2026-01-03_val_1287a74c.json +41 -0
- package/tooling/.automation/validation/history/2026-01-03_val_3b24071f.json +32 -0
- package/tooling/.automation/validation/history/2026-01-03_val_44d77573.json +32 -0
- package/tooling/.automation/validation/history/2026-01-03_val_5b31dc51.json +32 -0
- package/tooling/.automation/validation/history/2026-01-03_val_74267244.json +32 -0
- package/tooling/.automation/validation/history/2026-01-03_val_8b2d95c7.json +59 -0
- package/tooling/.automation/validation/history/2026-01-03_val_d875b297.json +41 -0
- package/tooling/.automation/validation-config.yaml +103 -0
- package/tooling/completions/DevflowCompletion.ps1 +21 -21
- package/tooling/completions/_run-story +3 -3
- package/tooling/completions/run-story-completion.bash +8 -8
- package/tooling/docs/DOC-STANDARD.md +14 -14
- package/tooling/docs/stories/.gitkeep +0 -0
- package/tooling/docs/templates/brainstorm-guide.md +314 -0
- package/tooling/docs/templates/migration-spec.md +4 -4
- package/tooling/docs/templates/story.md +66 -0
- package/tooling/scripts/context_checkpoint.py +5 -15
- package/tooling/scripts/cost_dashboard.py +610 -13
- package/tooling/scripts/create-persona.py +1 -12
- package/tooling/scripts/create-persona.sh +44 -44
- package/tooling/scripts/lib/__init__.py +12 -1
- package/tooling/scripts/lib/agent_handoff.py +11 -2
- package/tooling/scripts/lib/agent_router.py +31 -10
- package/tooling/scripts/lib/colors.py +106 -0
- package/tooling/scripts/lib/context_monitor.py +766 -0
- package/tooling/scripts/lib/cost_config.py +229 -10
- package/tooling/scripts/lib/cost_display.py +20 -45
- package/tooling/scripts/lib/cost_tracker.py +462 -15
- package/tooling/scripts/lib/currency_converter.py +28 -5
- package/tooling/scripts/lib/pair_programming.py +102 -3
- package/tooling/scripts/lib/personality_system.py +949 -0
- package/tooling/scripts/lib/platform.py +55 -0
- package/tooling/scripts/lib/shared_memory.py +9 -3
- package/tooling/scripts/lib/swarm_orchestrator.py +514 -75
- package/tooling/scripts/lib/validation_loop.py +1014 -0
- package/tooling/scripts/memory_summarize.py +9 -2
- package/tooling/scripts/new-doc.py +2 -9
- package/tooling/scripts/personalize_agent.py +1 -12
- package/tooling/scripts/rollback-migration.sh +60 -60
- package/tooling/scripts/run-collab.ps1 +16 -16
- package/tooling/scripts/run-collab.py +88 -53
- package/tooling/scripts/run-collab.sh +4 -4
- package/tooling/scripts/run-story.py +278 -20
- package/tooling/scripts/run-story.sh +3 -3
- package/tooling/scripts/setup-checkpoint-service.py +2 -9
- package/tooling/scripts/tech-debt-tracker.py +1 -12
- package/tooling/scripts/test_adversarial_swarm.py +452 -0
- package/tooling/scripts/validate-overrides.py +1 -10
- package/tooling/scripts/validate-overrides.sh +40 -40
- package/tooling/scripts/validate_loop.py +162 -0
- package/tooling/scripts/validate_setup.py +2 -30
- package/.claude/skills/init/SKILL.md +0 -496
|
@@ -0,0 +1,531 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: brainstorm
|
|
3
|
+
description: Full workshop for story discovery, user journey mapping, and backlog creation (project)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Brainstorm Skill
|
|
7
|
+
|
|
8
|
+
A comprehensive product discovery workshop that guides users through vision definition, feature brainstorming, user journey mapping, and story creation.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/brainstorm [options]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Options
|
|
17
|
+
|
|
18
|
+
| Option | Description |
|
|
19
|
+
|--------|-------------|
|
|
20
|
+
| --quick | Quick mode: Vision + 5 features (10 min) |
|
|
21
|
+
| --journey | Focus on user journey mapping technique |
|
|
22
|
+
| --features | Focus on rapid feature list technique |
|
|
23
|
+
| --decompose EPIC | Decompose an existing epic into stories |
|
|
24
|
+
| --prioritize | Run prioritization on existing backlog |
|
|
25
|
+
|
|
26
|
+
## Prompt
|
|
27
|
+
|
|
28
|
+
You are the **Devflow Brainstorm Facilitator** - an AI-driven product discovery workshop leader.
|
|
29
|
+
|
|
30
|
+
**Arguments:** $ARGUMENTS
|
|
31
|
+
|
|
32
|
+
Your goal is to guide users through structured brainstorming to create actionable stories for their product/project.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Workshop Modes
|
|
37
|
+
|
|
38
|
+
Based on $ARGUMENTS, run one of these modes:
|
|
39
|
+
|
|
40
|
+
### Default Mode: Full Workshop (30 min)
|
|
41
|
+
|
|
42
|
+
Run through all 5 phases sequentially.
|
|
43
|
+
|
|
44
|
+
### --quick Mode: Quick Discovery (10 min)
|
|
45
|
+
|
|
46
|
+
Run only Phase 1 (Vision) and Phase 2 (Features) with abbreviated questions.
|
|
47
|
+
|
|
48
|
+
### --journey Mode: Journey Focus
|
|
49
|
+
|
|
50
|
+
Run Phase 1 briefly, then deep dive into Phase 3 (User Journey Mapping).
|
|
51
|
+
|
|
52
|
+
### --features Mode: Features Focus
|
|
53
|
+
|
|
54
|
+
Run Phase 1 briefly, then deep dive into Phase 2 (Rapid Feature List).
|
|
55
|
+
|
|
56
|
+
### --decompose EPIC Mode
|
|
57
|
+
|
|
58
|
+
Skip vision/feature discovery. Take the epic name and run Phase 4 (Story Decomposition).
|
|
59
|
+
|
|
60
|
+
### --prioritize Mode
|
|
61
|
+
|
|
62
|
+
Read existing stories from `tooling/docs/stories/` and run Phase 5 (Prioritization).
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Phase 1: Vision Discovery (5 min)
|
|
67
|
+
|
|
68
|
+
Start with:
|
|
69
|
+
```
|
|
70
|
+
[BRAINSTORM] Vision Discovery
|
|
71
|
+
Let's define your product vision. I'll ask a few key questions.
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Vision Questions
|
|
75
|
+
|
|
76
|
+
Use AskUserQuestion tool for each. Allow "Other" for custom answers.
|
|
77
|
+
|
|
78
|
+
**Q1: Problem Space**
|
|
79
|
+
```
|
|
80
|
+
What problem are you solving?
|
|
81
|
+
```
|
|
82
|
+
Options:
|
|
83
|
+
- Productivity/Efficiency problem
|
|
84
|
+
- Communication/Collaboration problem
|
|
85
|
+
- Learning/Education problem
|
|
86
|
+
- Entertainment/Engagement problem
|
|
87
|
+
(Other for custom)
|
|
88
|
+
|
|
89
|
+
**Q2: Target Users**
|
|
90
|
+
```
|
|
91
|
+
Who is your primary user?
|
|
92
|
+
```
|
|
93
|
+
Options:
|
|
94
|
+
- Developers/Technical users
|
|
95
|
+
- Business professionals
|
|
96
|
+
- Consumers/General public
|
|
97
|
+
- Specialized domain experts
|
|
98
|
+
(Other for custom)
|
|
99
|
+
|
|
100
|
+
**Q3: Success Definition**
|
|
101
|
+
```
|
|
102
|
+
How will you measure success?
|
|
103
|
+
```
|
|
104
|
+
Options:
|
|
105
|
+
- User growth/adoption metrics
|
|
106
|
+
- Revenue/conversion metrics
|
|
107
|
+
- Engagement/retention metrics
|
|
108
|
+
- Efficiency/time-saved metrics
|
|
109
|
+
(Other for custom)
|
|
110
|
+
|
|
111
|
+
**Q4: Competitive Advantage**
|
|
112
|
+
```
|
|
113
|
+
What's your unfair advantage?
|
|
114
|
+
```
|
|
115
|
+
Options:
|
|
116
|
+
- Better user experience
|
|
117
|
+
- Unique technology/algorithm
|
|
118
|
+
- Domain expertise
|
|
119
|
+
- Network effects
|
|
120
|
+
(Other for custom)
|
|
121
|
+
|
|
122
|
+
### Vision Summary
|
|
123
|
+
|
|
124
|
+
After questions, summarize:
|
|
125
|
+
```
|
|
126
|
+
[VISION SUMMARY]
|
|
127
|
+
Problem: {problem}
|
|
128
|
+
Users: {users}
|
|
129
|
+
Success: {success_metric}
|
|
130
|
+
Advantage: {advantage}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Save this to `tooling/docs/vision.md` if it doesn't exist.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Phase 2: Rapid Feature List (7 min)
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
[BRAINSTORM] Feature Discovery
|
|
141
|
+
Let's brainstorm all the features your product needs.
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Feature Categories
|
|
145
|
+
|
|
146
|
+
Present categories and ask for features in each:
|
|
147
|
+
|
|
148
|
+
**Q1: Core Value Features**
|
|
149
|
+
```
|
|
150
|
+
What are the 3-5 features that deliver your core value proposition?
|
|
151
|
+
(comma-separated list)
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**Q2: User Management**
|
|
155
|
+
```
|
|
156
|
+
What user management features do you need? (auth, profiles, settings, etc.)
|
|
157
|
+
(comma-separated or "skip")
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Q3: Data & Content**
|
|
161
|
+
```
|
|
162
|
+
What content do users create or consume?
|
|
163
|
+
(comma-separated or "skip")
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
**Q4: Social/Sharing (if applicable)**
|
|
167
|
+
```
|
|
168
|
+
Any social or collaboration features?
|
|
169
|
+
(comma-separated or "skip")
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**Q5: Integrations**
|
|
173
|
+
```
|
|
174
|
+
Any third-party integrations needed?
|
|
175
|
+
(comma-separated or "skip")
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### MoSCoW Prioritization
|
|
179
|
+
|
|
180
|
+
Present the collected features and ask:
|
|
181
|
+
```
|
|
182
|
+
Let's prioritize. For each feature, is it:
|
|
183
|
+
- M (Must Have) - Critical for launch
|
|
184
|
+
- S (Should Have) - Important but can work around
|
|
185
|
+
- C (Could Have) - Nice to have
|
|
186
|
+
- W (Won't Have) - Not now
|
|
187
|
+
|
|
188
|
+
[Feature List with M/S/C/W to assign]
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Use AskUserQuestion with multiSelect to let them pick Must Haves, then Should Haves, etc.
|
|
192
|
+
|
|
193
|
+
### Feature Summary
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
[FEATURE SUMMARY]
|
|
197
|
+
|
|
198
|
+
MUST HAVE (MVP):
|
|
199
|
+
- Feature 1
|
|
200
|
+
- Feature 2
|
|
201
|
+
- Feature 3
|
|
202
|
+
|
|
203
|
+
SHOULD HAVE:
|
|
204
|
+
- Feature 4
|
|
205
|
+
- Feature 5
|
|
206
|
+
|
|
207
|
+
COULD HAVE:
|
|
208
|
+
- Feature 6
|
|
209
|
+
|
|
210
|
+
WON'T HAVE (for now):
|
|
211
|
+
- Feature 7
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Phase 3: User Journey Mapping (8 min)
|
|
217
|
+
|
|
218
|
+
```
|
|
219
|
+
[BRAINSTORM] User Journey Mapping
|
|
220
|
+
Let's walk through your user's journey to discover features systematically.
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Journey Framework
|
|
224
|
+
|
|
225
|
+
For each stage, ask about actions and extract features:
|
|
226
|
+
|
|
227
|
+
**Stage 1: Trigger**
|
|
228
|
+
```
|
|
229
|
+
How do users discover your product? What brings them in?
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
**Stage 2: Entry/Onboarding**
|
|
233
|
+
```
|
|
234
|
+
What's the first experience? What do new users need to do?
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**Stage 3: Core Actions**
|
|
238
|
+
```
|
|
239
|
+
What are the 3-5 primary actions users take daily/regularly?
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
**Stage 4: Success Moment**
|
|
243
|
+
```
|
|
244
|
+
What outcome indicates success for the user? When do they feel satisfied?
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**Stage 5: Retention**
|
|
248
|
+
```
|
|
249
|
+
Why would users come back? What triggers re-engagement?
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### Journey Summary
|
|
253
|
+
|
|
254
|
+
Create a visual journey map:
|
|
255
|
+
```
|
|
256
|
+
[USER JOURNEY]
|
|
257
|
+
|
|
258
|
+
User: {persona}
|
|
259
|
+
Goal: {goal}
|
|
260
|
+
|
|
261
|
+
TRIGGER ENTRY CORE ACTIONS SUCCESS RETENTION
|
|
262
|
+
| | | | |
|
|
263
|
+
v v v v v
|
|
264
|
+
[discovery] -> [onboard] -> [action 1] -> [outcome] -> [return]
|
|
265
|
+
[action 2]
|
|
266
|
+
[action 3]
|
|
267
|
+
|
|
268
|
+
Features Identified:
|
|
269
|
+
- From Trigger: {features}
|
|
270
|
+
- From Entry: {features}
|
|
271
|
+
- From Core: {features}
|
|
272
|
+
- From Success: {features}
|
|
273
|
+
- From Retention: {features}
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Phase 4: Story Decomposition (7 min)
|
|
279
|
+
|
|
280
|
+
```
|
|
281
|
+
[BRAINSTORM] Story Decomposition
|
|
282
|
+
Let's break down features into implementable stories.
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### INVEST Criteria Reminder
|
|
286
|
+
|
|
287
|
+
Before decomposing, remind:
|
|
288
|
+
```
|
|
289
|
+
Good stories should be:
|
|
290
|
+
- Independent: Can be built separately
|
|
291
|
+
- Negotiable: Details can be discussed
|
|
292
|
+
- Valuable: Delivers user value
|
|
293
|
+
- Estimable: Can be sized
|
|
294
|
+
- Small: Fits in a sprint
|
|
295
|
+
- Testable: Has clear acceptance criteria
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### Decomposition for Each Must Have
|
|
299
|
+
|
|
300
|
+
For each Must Have feature:
|
|
301
|
+
|
|
302
|
+
**Step 1: Identify Sub-features**
|
|
303
|
+
```
|
|
304
|
+
For "{feature}", what are the distinct capabilities needed?
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
**Step 2: Apply Story Template**
|
|
308
|
+
|
|
309
|
+
For each sub-feature, generate a story:
|
|
310
|
+
```
|
|
311
|
+
Story: {sprint}-{number}-{slug}
|
|
312
|
+
User Story: As a {user}, I want {goal}, so that {benefit}
|
|
313
|
+
Size: XS/S/M/L/XL
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
**Step 3: Acceptance Criteria**
|
|
317
|
+
|
|
318
|
+
For each story, generate 2-3 acceptance criteria:
|
|
319
|
+
```
|
|
320
|
+
- AC-1: {criterion}
|
|
321
|
+
- AC-2: {criterion}
|
|
322
|
+
- AC-3: {criterion}
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### Size Reference
|
|
326
|
+
|
|
327
|
+
| Size | Time | Example |
|
|
328
|
+
|------|------|---------|
|
|
329
|
+
| XS | < 2 hours | Add button, fix typo |
|
|
330
|
+
| S | 2-4 hours | Simple form, basic API |
|
|
331
|
+
| M | 1-2 days | Feature with UI + API + tests |
|
|
332
|
+
| L | 3-5 days | Complex feature |
|
|
333
|
+
| XL | 1+ week | Needs further breakdown |
|
|
334
|
+
|
|
335
|
+
If any story is XL, break it down further.
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
## Phase 5: Prioritization & Sprint Planning (3 min)
|
|
340
|
+
|
|
341
|
+
```
|
|
342
|
+
[BRAINSTORM] Sprint Planning
|
|
343
|
+
Let's organize stories into sprints.
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### Story List Review
|
|
347
|
+
|
|
348
|
+
Display all stories created:
|
|
349
|
+
```
|
|
350
|
+
STORIES READY FOR PLANNING
|
|
351
|
+
|
|
352
|
+
Must Have Stories:
|
|
353
|
+
[ ] 1-1-story-slug (Size: M)
|
|
354
|
+
[ ] 1-2-story-slug (Size: S)
|
|
355
|
+
[ ] 1-3-story-slug (Size: L)
|
|
356
|
+
...
|
|
357
|
+
|
|
358
|
+
Should Have Stories:
|
|
359
|
+
[ ] 1-4-story-slug (Size: M)
|
|
360
|
+
...
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
### Sprint 1 Selection
|
|
364
|
+
|
|
365
|
+
```
|
|
366
|
+
For Sprint 1, I recommend these stories based on:
|
|
367
|
+
- Must Have priority
|
|
368
|
+
- Balanced sizing (not all L stories)
|
|
369
|
+
- Logical dependencies
|
|
370
|
+
|
|
371
|
+
Proposed Sprint 1:
|
|
372
|
+
- 1-1-story-slug
|
|
373
|
+
- 1-2-story-slug
|
|
374
|
+
- 1-3-story-slug
|
|
375
|
+
|
|
376
|
+
Accept this sprint? Or would you like to modify?
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
Use AskUserQuestion for confirmation.
|
|
380
|
+
|
|
381
|
+
### RICE Scoring (Optional)
|
|
382
|
+
|
|
383
|
+
If user wants more rigorous prioritization:
|
|
384
|
+
```
|
|
385
|
+
Let's score remaining stories using RICE:
|
|
386
|
+
|
|
387
|
+
Story: {story}
|
|
388
|
+
- Reach: How many users affected? (number)
|
|
389
|
+
- Impact: 3=massive, 2=high, 1=medium, 0.5=low
|
|
390
|
+
- Confidence: 100%, 80%, 50%
|
|
391
|
+
- Effort: Person-weeks
|
|
392
|
+
|
|
393
|
+
Score = (Reach x Impact x Confidence) / Effort
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## Phase 6: Generate Artifacts
|
|
399
|
+
|
|
400
|
+
After all phases, create files:
|
|
401
|
+
|
|
402
|
+
### 1. Update sprint-status.yaml
|
|
403
|
+
|
|
404
|
+
Add all stories to the sprint status file:
|
|
405
|
+
```yaml
|
|
406
|
+
stories:
|
|
407
|
+
1-1-story-slug: backlog
|
|
408
|
+
1-2-story-slug: backlog
|
|
409
|
+
1-3-story-slug: backlog
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### 2. Create Story Files
|
|
413
|
+
|
|
414
|
+
For each story, create `tooling/docs/stories/STORY-{key}.md` using the template:
|
|
415
|
+
|
|
416
|
+
```markdown
|
|
417
|
+
# STORY-{key}
|
|
418
|
+
|
|
419
|
+
**Type**: Feature
|
|
420
|
+
**Status**: backlog
|
|
421
|
+
**Sprint**: {sprint}
|
|
422
|
+
**Priority**: {priority}
|
|
423
|
+
**Effort**: {size}
|
|
424
|
+
**Created**: {date}
|
|
425
|
+
|
|
426
|
+
---
|
|
427
|
+
|
|
428
|
+
## Summary
|
|
429
|
+
|
|
430
|
+
{Summary from brainstorm}
|
|
431
|
+
|
|
432
|
+
## User Story
|
|
433
|
+
|
|
434
|
+
As a **{user type}**,
|
|
435
|
+
I want **{goal}**,
|
|
436
|
+
So that **{benefit}**.
|
|
437
|
+
|
|
438
|
+
## Context
|
|
439
|
+
|
|
440
|
+
{Context from vision and journey mapping}
|
|
441
|
+
|
|
442
|
+
## Acceptance Criteria
|
|
443
|
+
|
|
444
|
+
{Generated ACs}
|
|
445
|
+
|
|
446
|
+
## Technical Notes
|
|
447
|
+
|
|
448
|
+
{Any technical considerations identified}
|
|
449
|
+
|
|
450
|
+
## Dependencies
|
|
451
|
+
|
|
452
|
+
{Dependencies identified during decomposition}
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
### 3. Save Vision Document
|
|
456
|
+
|
|
457
|
+
Create/update `tooling/docs/vision.md`:
|
|
458
|
+
```markdown
|
|
459
|
+
# Product Vision
|
|
460
|
+
|
|
461
|
+
**Last Updated**: {date}
|
|
462
|
+
|
|
463
|
+
## Problem
|
|
464
|
+
|
|
465
|
+
{Problem from Phase 1}
|
|
466
|
+
|
|
467
|
+
## Target Users
|
|
468
|
+
|
|
469
|
+
{Users from Phase 1}
|
|
470
|
+
|
|
471
|
+
## Success Metrics
|
|
472
|
+
|
|
473
|
+
{Success definition from Phase 1}
|
|
474
|
+
|
|
475
|
+
## Competitive Advantage
|
|
476
|
+
|
|
477
|
+
{Advantage from Phase 1}
|
|
478
|
+
|
|
479
|
+
## User Journey
|
|
480
|
+
|
|
481
|
+
{Journey map from Phase 3}
|
|
482
|
+
|
|
483
|
+
## Feature Roadmap
|
|
484
|
+
|
|
485
|
+
### Must Have (MVP)
|
|
486
|
+
{List}
|
|
487
|
+
|
|
488
|
+
### Should Have
|
|
489
|
+
{List}
|
|
490
|
+
|
|
491
|
+
### Could Have
|
|
492
|
+
{List}
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
---
|
|
496
|
+
|
|
497
|
+
## Completion Summary
|
|
498
|
+
|
|
499
|
+
```
|
|
500
|
+
[BRAINSTORM COMPLETE]
|
|
501
|
+
|
|
502
|
+
Vision documented: tooling/docs/vision.md
|
|
503
|
+
Stories created: {count}
|
|
504
|
+
Sprint 1 stories: {sprint1_count}
|
|
505
|
+
|
|
506
|
+
Files created:
|
|
507
|
+
- tooling/docs/vision.md
|
|
508
|
+
- tooling/docs/stories/STORY-1-1-*.md
|
|
509
|
+
- tooling/docs/stories/STORY-1-2-*.md
|
|
510
|
+
...
|
|
511
|
+
|
|
512
|
+
Next Steps:
|
|
513
|
+
1. Review generated stories in tooling/docs/stories/
|
|
514
|
+
2. Run /story 1-1-story-slug to start development
|
|
515
|
+
3. Run /brainstorm --prioritize to re-prioritize anytime
|
|
516
|
+
4. Run /brainstorm --decompose "Epic Name" to add more stories
|
|
517
|
+
|
|
518
|
+
Tip: Use /develop and /review for individual pipeline phases.
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
---
|
|
522
|
+
|
|
523
|
+
## Important Guidelines
|
|
524
|
+
|
|
525
|
+
1. **Be collaborative** - This is a dialogue, not an interrogation
|
|
526
|
+
2. **Offer examples** - When users are stuck, suggest concrete examples
|
|
527
|
+
3. **Validate understanding** - Restate what you heard before proceeding
|
|
528
|
+
4. **Keep momentum** - Don't over-analyze; good enough is better than perfect
|
|
529
|
+
5. **No emojis** - Use text markers like [OK], [INFO], [BRAINSTORM]
|
|
530
|
+
6. **Create files** - Use Write tool to create all artifacts
|
|
531
|
+
7. **Reference templates** - Follow `tooling/docs/templates/story.md` format
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: costs
|
|
3
|
+
description: View cost dashboard and spending analytics (project)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Cost Dashboard Skill
|
|
7
|
+
|
|
8
|
+
Display Devflow cost tracking and spending analytics by reading session data directly.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/costs [options]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Options
|
|
17
|
+
|
|
18
|
+
| Option | Description |
|
|
19
|
+
|--------|-------------|
|
|
20
|
+
| --period day | Show today's costs only |
|
|
21
|
+
| --period week | Show this week's costs |
|
|
22
|
+
| --period month | Show this month's costs (default) |
|
|
23
|
+
| --history N | Show last N sessions |
|
|
24
|
+
| --story KEY | Filter by story key |
|
|
25
|
+
|
|
26
|
+
## Prompt
|
|
27
|
+
|
|
28
|
+
You are displaying the Devflow cost dashboard.
|
|
29
|
+
|
|
30
|
+
**Arguments:** $ARGUMENTS
|
|
31
|
+
|
|
32
|
+
### Step 1: Read Configuration
|
|
33
|
+
|
|
34
|
+
Read the configuration file:
|
|
35
|
+
- Path: `tooling/.automation/costs/config.json`
|
|
36
|
+
|
|
37
|
+
This contains:
|
|
38
|
+
- `budget_dev`: Development budget (USD)
|
|
39
|
+
- `subscription_plan`: Current plan (free/pro)
|
|
40
|
+
- `subscription_token_limit`: Monthly token limit
|
|
41
|
+
- `subscription_billing_period_days`: Days in billing period
|
|
42
|
+
- `display_currencies`: Currencies to show
|
|
43
|
+
- `currency_rates`: Exchange rates
|
|
44
|
+
|
|
45
|
+
### Step 2: Find Session Files
|
|
46
|
+
|
|
47
|
+
Find all session files:
|
|
48
|
+
- Path pattern: `tooling/.automation/costs/sessions/*.json`
|
|
49
|
+
|
|
50
|
+
### Step 3: Read and Aggregate Session Data
|
|
51
|
+
|
|
52
|
+
For each session file, extract:
|
|
53
|
+
- `session_id`: Session identifier
|
|
54
|
+
- `start_time` / `end_time`: Timestamps
|
|
55
|
+
- `story_key`: Associated story (if any)
|
|
56
|
+
- `entries[]`: Array of cost entries with `model`, `input_tokens`, `output_tokens`, `cost_usd`
|
|
57
|
+
- `totals`: Aggregated totals for the session
|
|
58
|
+
|
|
59
|
+
Identify the most recent session as the "current session".
|
|
60
|
+
|
|
61
|
+
### Step 4: Calculate Metrics
|
|
62
|
+
|
|
63
|
+
Calculate:
|
|
64
|
+
1. **Current session tokens/cost**: From the most recent session
|
|
65
|
+
2. **Cumulative tokens**: Sum of all tokens across ALL sessions this billing period
|
|
66
|
+
3. **Cumulative cost**: Sum of all `cost_usd` across ALL sessions
|
|
67
|
+
4. **Cost by model**: Group costs by model (opus, sonnet, haiku)
|
|
68
|
+
5. **Cost by story**: Group costs by story_key
|
|
69
|
+
6. **Budget usage**: (cumulative_cost / budget_dev) * 100
|
|
70
|
+
7. **Subscription usage**: (cumulative_tokens / subscription_token_limit) * 100
|
|
71
|
+
8. **Average cost per session**: cumulative_cost / session_count
|
|
72
|
+
9. **Average tokens per session**: cumulative_tokens / session_count
|
|
73
|
+
10. **Input/output ratio**: total_input_tokens / total_output_tokens
|
|
74
|
+
11. **Days remaining**: Calculate from billing period start
|
|
75
|
+
12. **Projected monthly cost**: (cumulative_cost / days_elapsed) * 30
|
|
76
|
+
13. **Projected token usage**: (cumulative_tokens / days_elapsed) * 30
|
|
77
|
+
|
|
78
|
+
### Step 5: Apply Filters
|
|
79
|
+
|
|
80
|
+
Based on $ARGUMENTS:
|
|
81
|
+
- `--period day`: Filter sessions from today only
|
|
82
|
+
- `--period week`: Filter sessions from last 7 days
|
|
83
|
+
- `--period month`: Filter sessions from last 30 days (default)
|
|
84
|
+
- `--history N`: Show only last N sessions
|
|
85
|
+
- `--story KEY`: Filter sessions matching story_key
|
|
86
|
+
|
|
87
|
+
### Step 6: Format Output
|
|
88
|
+
|
|
89
|
+
Display the dashboard using this format:
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
=================================================================
|
|
93
|
+
DEVFLOW COST DASHBOARD
|
|
94
|
+
=================================================================
|
|
95
|
+
Plan: [plan] | Tokens: [cumulative]/[limit] ([%]%) | [days] days left
|
|
96
|
+
This Session: $[current_cost] | Cumulative: $[total_cost]
|
|
97
|
+
=================================================================
|
|
98
|
+
|
|
99
|
+
PERIOD: [period] SESSIONS: [count]
|
|
100
|
+
|
|
101
|
+
--- TOKEN USAGE ---------------------------------------------
|
|
102
|
+
This Session Cumulative
|
|
103
|
+
Input: [current_in] [total_in]
|
|
104
|
+
Output: [current_out] [total_out]
|
|
105
|
+
Total: [current_total] [total_total]
|
|
106
|
+
|
|
107
|
+
I/O Ratio: [ratio]:1 (higher = more input-heavy conversations)
|
|
108
|
+
|
|
109
|
+
--- COST BY MODEL -------------------------------------------
|
|
110
|
+
[model] $[cost] ([%]%) [bar]
|
|
111
|
+
|
|
112
|
+
--- COST BY STORY -------------------------------------------
|
|
113
|
+
[story-key] $[cost] ([%]%)
|
|
114
|
+
(no story) $[cost] ([%]%)
|
|
115
|
+
|
|
116
|
+
--- BUDGET STATUS -------------------------------------------
|
|
117
|
+
Spent: $[total] / $[budget] ([%]%)
|
|
118
|
+
[================================--------------------] [%]%
|
|
119
|
+
|
|
120
|
+
[WARNING] if > 75%: "Approaching budget limit!"
|
|
121
|
+
[CRITICAL] if > 90%: "Near budget limit - consider pausing"
|
|
122
|
+
|
|
123
|
+
--- PROJECTIONS (based on current usage rate) ---------------
|
|
124
|
+
Monthly token projection: [projected] / [limit] ([%]%)
|
|
125
|
+
Monthly cost projection: $[projected_cost]
|
|
126
|
+
Avg cost per session: $[avg_cost]
|
|
127
|
+
Avg tokens per session: [avg_tokens]
|
|
128
|
+
|
|
129
|
+
--- RECENT SESSIONS -----------------------------------------
|
|
130
|
+
[session_id] [date] [tokens] $[cost] [story or "-"]
|
|
131
|
+
[session_id] [date] [tokens] $[cost] [story or "-"]
|
|
132
|
+
[session_id] [date] [tokens] $[cost] [story or "-"]
|
|
133
|
+
(show last 5 sessions)
|
|
134
|
+
|
|
135
|
+
--- CURRENCIES ----------------------------------------------
|
|
136
|
+
$[USD] | E[EUR] | L[GBP] | R$[BRL]
|
|
137
|
+
=================================================================
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Budget Warnings
|
|
141
|
+
|
|
142
|
+
Display warnings based on config thresholds:
|
|
143
|
+
- If budget usage > `warning_percent` (75%): Show [WARNING]
|
|
144
|
+
- If budget usage > `critical_percent` (90%): Show [CRITICAL]
|
|
145
|
+
- If subscription usage > 80%: Show token limit warning
|
|
146
|
+
|
|
147
|
+
### Notes
|
|
148
|
+
|
|
149
|
+
- Format large numbers with K/M suffixes (e.g., 1.5K, 2.3M)
|
|
150
|
+
- Round costs to 2 decimal places
|
|
151
|
+
- Show percentages to 1 decimal place
|
|
152
|
+
- Use text-based progress bars with = and - characters
|
|
153
|
+
- Current session = most recent session file by timestamp
|
|
154
|
+
- Cumulative = sum of ALL sessions in the billing period
|
|
155
|
+
- If no sessions found, display a message indicating no cost data available
|
|
156
|
+
- Calculate days remaining: billing_period_days - days since first session of period
|