| name | btw |
| classification | workflow |
| classification-reason | Manages /btw command lifecycle: record, list, analyze, promote, stats. User-driven workflow with CRUD on btw-suggestions.json |
| deprecation-risk | none |
| effort | medium |
| description | By-The-Way: capture improvement ideas the moment they surface, without
derailing the task in progress.
Triggers: /bkit:btw, /bkit:btw list, /bkit:btw analyze, /bkit:btw promote,
/bkit:btw stats, btw, suggestion, improve, idea, feedback
|
| argument-hint | /bkit:btw {suggestion} | /bkit:btw list | /bkit:btw analyze | /bkit:btw promote {id} | /bkit:btw stats |
| user-invocable | true |
| allowed-tools | ["Read","Write","Edit","Glob","Grep","Bash"] |
/btw - By-The-Way Suggestion Collector
์์
์ค "์ด๊ฑฐ ์คํฌ๋ก ๋ง๋ค๋ฉด ์ข๊ฒ ๋ค", "์ด ํจํด ์๋ํํ๋ฉด ์ข๊ฒ ๋ค" ๋ฑ์
๊ฐ์ ์ ์์ ์ฆ์ ๊ธฐ๋กํ๊ณ ๊ด๋ฆฌํ๋ ๋๊ตฌ.
Commands
/btw {suggestion} - Record a suggestion
- Read
.bkit/btw-suggestions.json (create if not exists)
- Generate next ID:
btw-NNN (zero-padded, sequential)
- Create suggestion entry:
{
"id": "btw-001",
"timestamp": "ISO-8601",
"suggestion": "{user input}",
"context": {
"file": "{current working file if identifiable}",
"pdcaPhase": "{current PDCA phase from .bkit-memory.json or null}",
"feature": "{current feature or null}"
},
"category": "auto-detect",
"status": "pending",
"promotedTo": null,
"priority": null,
"teamContext": {
"isTeamSession": false,
"phase": "{PDCA phase or null}",
"role": "{teammate role that discovered this, or 'user'}",
"pattern": "{orchestration pattern or null}"
}
}
- Auto-detect category from suggestion text:
skill-request: mentions "skill", "์คํฌ", "์๋ํ", "automate"
bug-pattern: mentions "bug", "๋ฒ๊ทธ", "์ค๋ฅ", "error", "fix"
improvement: mentions "๊ฐ์ ", "improve", "better", "refactor"
documentation: mentions "๋ฌธ์", "doc", "์ค๋ช
", "explain"
general: default
- Update
stats.total count
- Respond: "Recorded btw-{NNN}: {truncated suggestion}. Use
/btw list to view all."
/btw list - List all suggestions
- Read
.bkit/btw-suggestions.json
- Display table:
ID | Status | Category | Suggestion (truncated)
---------|----------|----------------|----------------------
btw-001 | pending | skill-request | @Flow ๋ชจ๋ธ์์ ์ต์
๋ชฉ๋ก์ ์๋...
btw-002 | promoted | improvement | DataProxy ํจํด์ ๊ฒ์ฆ ๋ก์ง์...
- Show summary: Total: N | Pending: N | Promoted: N | Dismissed: N
/btw analyze - Analyze suggestions for skill candidates
- Read all pending suggestions from
.bkit/btw-suggestions.json
- Group by category and find patterns:
- Cluster similar suggestions (keyword overlap)
- Count frequency of similar topics
- Identify suggestions that map to existing bkit skills vs. new skill needs
- For each skill candidate:
- Estimate skill classification: workflow vs capability
- Suggest skill name and description
- Reference source suggestion IDs
- Output analysis:
Skill Candidates from /btw Analysis
=====================================
1. [NEW SKILL] hunikflow-validation (capability)
Based on: btw-001, btw-005, btw-008
Frequency: 3 mentions
Description: Validation pattern guide for @Flow entities
2. [EXISTING SKILL ENHANCEMENT] code-review
Based on: btw-003
Suggestion: Add DataProxy-specific review rules
- Save analysis timestamp to
stats.lastAnalyzed
/btw promote {id} - Promote suggestion to skill creation
- Find suggestion by ID in
.bkit/btw-suggestions.json
- Validate status is "pending" (cannot promote already promoted/dismissed)
- Update suggestion:
status: "promoted"
promotedTo: skill name (derived from suggestion)
- Trigger skill-create workflow with context from the suggestion:
- Pass suggestion text as skill description seed
- Pass context (file, feature) as project context
- Respond: "Promoted btw-{id} -> skill-create pipeline. Run
/skill-create to continue."
/btw stats - Show statistics
- Read
.bkit/btw-suggestions.json
- Calculate and display:
/btw Statistics
===============
Total suggestions: 12
By status: pending=8, promoted=3, dismissed=1
By category: skill-request=5, improvement=4, bug-pattern=2, general=1
Promotion rate: 25.0%
Last analyzed: 2026-03-13T10:00:00Z
Top keywords: @Flow(3), DataProxy(2), validation(2)
Data File: .bkit/btw-suggestions.json
Initialize with this structure if file does not exist:
{
"version": "1.0",
"suggestions": [],
"stats": {
"total": 0,
"promoted": 0,
"dismissed": 0,
"lastAnalyzed": null
}
}
Category Auto-Detection Rules
| Pattern | Category |
|---|
| skill, ์คํฌ, automate, ์๋ํ, command, ๋ช
๋ น | skill-request |
| bug, ๋ฒ๊ทธ, error, ์ค๋ฅ, fix, ์์ | bug-pattern |
| improve, ๊ฐ์ , better, refactor, ๋ฆฌํฉํ ๋ง, optimize | improvement |
| doc, ๋ฌธ์, explain, ์ค๋ช
, readme, guide | documentation |
| (default) | general |
Integration Points
- PDCA Context: Reads
.bkit-memory.json for current phase/feature
- skill-create:
/btw promote triggers skill-create workflow
- skill-needs-extractor:
/btw analyze results feed into gap analysis
- CTO Team: Phase transition triggers btw summary (see below)
CTO Team Integration
When /btw is used during a CTO Team session (/pdca team):
Auto-Detection
- Check if team session is active via
.bkit/runtime/agent-state.json
- If active: set
teamContext.isTeamSession = true and populate phase/role/pattern
- If not active: set
teamContext.isTeamSession = false (default behavior)
Phase Transition Hook
CTO Lead automatically reads btw-suggestions.json at every phase transition:
- 0 pending: Silent skip (no output, no turns spent)
- 1+ pending: Brief summary (top 3, category counts) in 1-2 turns
- CTO does NOT auto-promote โ user decides via
/btw promote {id}
Session End
cto-stop.js hook outputs btw stats at session end:
- Total suggestions collected during session
- Category breakdown
- Promotion rate
teamContext Field
Added to each suggestion entry when recorded during a team session:
"teamContext": {
"isTeamSession": true,
"phase": "do",
"role": "user",
"pattern": "swarm"
}
This enables /btw analyze to group suggestions by PDCA phase and identify phase-specific patterns.