- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환 - Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용 - pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관) - worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md) - D:\Rhino-MCP 경로 참조를 새 위치로 치환 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
196 lines
6.7 KiB
Markdown
196 lines
6.7 KiB
Markdown
---
|
|
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
|
|
description: |
|
|
By-The-Way: 작업 중 개선 제안을 즉시 수집하고 관리하는 스킬.
|
|
Triggers: /btw, /btw list, /btw analyze, /btw promote, /btw stats
|
|
Keywords: btw, 개선, 제안, suggestion, improve, idea, feedback
|
|
argument-hint: "/btw {suggestion} | /btw list | /btw analyze | /btw promote {id} | /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
|
|
|
|
1. Read `.hmcmkit/btw-suggestions.json` (create if not exists)
|
|
2. Generate next ID: `btw-NNN` (zero-padded, sequential)
|
|
3. Create suggestion entry:
|
|
```json
|
|
{
|
|
"id": "btw-001",
|
|
"timestamp": "ISO-8601",
|
|
"suggestion": "{user input}",
|
|
"context": {
|
|
"file": "{current working file if identifiable}",
|
|
"pdcaPhase": "{current PDCA phase from .hmcmkit-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}"
|
|
}
|
|
}
|
|
```
|
|
4. 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
|
|
5. Update `stats.total` count
|
|
6. Respond: "Recorded btw-{NNN}: {truncated suggestion}. Use `/btw list` to view all."
|
|
|
|
### `/btw list` - List all suggestions
|
|
|
|
1. Read `.hmcmkit/btw-suggestions.json`
|
|
2. Display table:
|
|
```
|
|
ID | Status | Category | Suggestion (truncated)
|
|
---------|----------|----------------|----------------------
|
|
btw-001 | pending | skill-request | @Flow 모델에서 옵션 목록을 자동...
|
|
btw-002 | promoted | improvement | DataProxy 패턴에 검증 로직을...
|
|
```
|
|
3. Show summary: Total: N | Pending: N | Promoted: N | Dismissed: N
|
|
|
|
### `/btw analyze` - Analyze suggestions for skill candidates
|
|
|
|
1. Read all pending suggestions from `.hmcmkit/btw-suggestions.json`
|
|
2. Group by category and find patterns:
|
|
- Cluster similar suggestions (keyword overlap)
|
|
- Count frequency of similar topics
|
|
- Identify suggestions that map to existing hmcmkit skills vs. new skill needs
|
|
3. For each skill candidate:
|
|
- Estimate skill classification: workflow vs capability
|
|
- Suggest skill name and description
|
|
- Reference source suggestion IDs
|
|
4. 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
|
|
```
|
|
5. Save analysis timestamp to `stats.lastAnalyzed`
|
|
|
|
### `/btw promote {id}` - Promote suggestion to skill creation
|
|
|
|
1. Find suggestion by ID in `.hmcmkit/btw-suggestions.json`
|
|
2. Validate status is "pending" (cannot promote already promoted/dismissed)
|
|
3. Update suggestion:
|
|
- `status`: "promoted"
|
|
- `promotedTo`: skill name (derived from suggestion)
|
|
4. Trigger skill-create workflow with context from the suggestion:
|
|
- Pass suggestion text as skill description seed
|
|
- Pass context (file, feature) as project context
|
|
5. Respond: "Promoted btw-{id} -> skill-create pipeline. Run `/skill-create` to continue."
|
|
|
|
### `/btw stats` - Show statistics
|
|
|
|
1. Read `.hmcmkit/btw-suggestions.json`
|
|
2. 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: `.hmcmkit/btw-suggestions.json`
|
|
|
|
Initialize with this structure if file does not exist:
|
|
|
|
```json
|
|
{
|
|
"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 `.hmcmkit-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 `.hmcmkit/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:
|
|
```json
|
|
"teamContext": {
|
|
"isTeamSession": true,
|
|
"phase": "do",
|
|
"role": "user",
|
|
"pattern": "swarm"
|
|
}
|
|
```
|
|
This enables `/btw analyze` to group suggestions by PDCA phase and identify phase-specific patterns.
|