mirror of
https://github.com/SuperClaude-Org/SuperClaude_Framework.git
synced 2025-12-18 18:26:46 +00:00
456 lines
13 KiB
Markdown
456 lines
13 KiB
Markdown
|
|
# PM Agent Auto-Activation Architecture
|
|||
|
|
|
|||
|
|
## Problem Statement
|
|||
|
|
|
|||
|
|
**Current Issue**: PM Agent functionality requires manual `/sc:pm` command invocation, making it easy to forget and inconsistently applied.
|
|||
|
|
|
|||
|
|
**User Concern**: "今は、/sc:pmコマンドを毎回叩かないと、PM-modeやってくれないきがする"
|
|||
|
|
|
|||
|
|
## Solution: Behavior-Based Auto-Activation
|
|||
|
|
|
|||
|
|
PM Agent should activate automatically based on **context detection**, not manual commands.
|
|||
|
|
|
|||
|
|
### Architecture Overview
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
PM Agent Activation Layers:
|
|||
|
|
|
|||
|
|
Layer 1 - Session Start (ALWAYS):
|
|||
|
|
Trigger: Every new conversation session
|
|||
|
|
Action: Auto-restore context from docs/memory/
|
|||
|
|
Detection: Session initialization event
|
|||
|
|
|
|||
|
|
Layer 2 - Documentation Guardian (CONTINUOUS):
|
|||
|
|
Trigger: Any file operation in project
|
|||
|
|
Action: Ensure relevant docs are read before implementation
|
|||
|
|
Detection: Write/Edit tool usage
|
|||
|
|
|
|||
|
|
Layer 3 - Commander (ON-DEMAND):
|
|||
|
|
Trigger: Complex tasks (>3 steps OR >3 files)
|
|||
|
|
Action: Orchestrate sub-agents and track progress
|
|||
|
|
Detection: TodoWrite usage OR complexity keywords
|
|||
|
|
|
|||
|
|
Layer 4 - Post-Implementation (AUTO):
|
|||
|
|
Trigger: Task completion
|
|||
|
|
Action: Document learnings and update knowledge base
|
|||
|
|
Detection: Completion keywords OR test pass
|
|||
|
|
|
|||
|
|
Layer 5 - Mistake Handler (IMMEDIATE):
|
|||
|
|
Trigger: Errors or test failures
|
|||
|
|
Action: Root cause analysis and prevention documentation
|
|||
|
|
Detection: Error messages OR test failures
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Implementation Strategy
|
|||
|
|
|
|||
|
|
### 1. Session Start Auto-Activation
|
|||
|
|
|
|||
|
|
**File**: `~/.claude/superclaude/agents/pm-agent.md`
|
|||
|
|
|
|||
|
|
**Trigger Detection**:
|
|||
|
|
```yaml
|
|||
|
|
session_start_indicators:
|
|||
|
|
- First message in new conversation
|
|||
|
|
- No prior context in current session
|
|||
|
|
- Token budget reset to baseline
|
|||
|
|
- No active TodoWrite items in memory
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Auto-Execution (No Manual Command)**:
|
|||
|
|
```yaml
|
|||
|
|
Wave 1 - PARALLEL Context Restoration:
|
|||
|
|
1. Bash: git status && git branch
|
|||
|
|
2. PARALLEL Read (silent):
|
|||
|
|
- Read docs/memory/pm_context.md (if exists)
|
|||
|
|
- Read docs/memory/last_session.md (if exists)
|
|||
|
|
- Read docs/memory/next_actions.md (if exists)
|
|||
|
|
- Read docs/memory/current_plan.json (if exists)
|
|||
|
|
- Read CLAUDE.md (ALWAYS)
|
|||
|
|
- Read docs/patterns/*.md (recent 5 files)
|
|||
|
|
|
|||
|
|
Checkpoint - Confidence Check (200 tokens):
|
|||
|
|
❓ "全ファイル読めた?"
|
|||
|
|
❓ "コンテキストに矛盾ない?"
|
|||
|
|
❓ "次のアクション実行に十分な情報?"
|
|||
|
|
|
|||
|
|
IF confidence >70%:
|
|||
|
|
→ Output: 📍 [branch] | [status] | 🧠 [token]%
|
|||
|
|
→ Ready for user request
|
|||
|
|
ELSE:
|
|||
|
|
→ Report what's missing
|
|||
|
|
→ Request user clarification
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Key Change**: This happens **automatically** at session start, not via `/sc:pm` command.
|
|||
|
|
|
|||
|
|
### 2. Documentation Guardian (Continuous)
|
|||
|
|
|
|||
|
|
**Purpose**: Ensure documentation is ALWAYS read before making changes
|
|||
|
|
|
|||
|
|
**Trigger Detection**:
|
|||
|
|
```yaml
|
|||
|
|
pre_write_checks:
|
|||
|
|
- BEFORE any Write tool usage
|
|||
|
|
- BEFORE any Edit tool usage
|
|||
|
|
- BEFORE complex TodoWrite (>3 tasks)
|
|||
|
|
|
|||
|
|
detection_logic:
|
|||
|
|
IF tool_name in [Write, Edit, MultiEdit]:
|
|||
|
|
AND file_path matches project patterns:
|
|||
|
|
→ Auto-trigger Documentation Guardian
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Auto-Execution**:
|
|||
|
|
```yaml
|
|||
|
|
Documentation Guardian Protocol:
|
|||
|
|
|
|||
|
|
1. Identify Relevant Docs:
|
|||
|
|
file_path: src/auth.ts
|
|||
|
|
→ Read docs/patterns/authentication-*.md
|
|||
|
|
→ Read docs/mistakes/auth-*.md
|
|||
|
|
→ Read CLAUDE.md sections matching "auth"
|
|||
|
|
|
|||
|
|
2. Confidence Check:
|
|||
|
|
❓ "関連ドキュメント全部読んだ?"
|
|||
|
|
❓ "過去の失敗パターン把握してる?"
|
|||
|
|
❓ "既存の成功パターン確認した?"
|
|||
|
|
|
|||
|
|
IF any_missing:
|
|||
|
|
→ Read missing docs
|
|||
|
|
→ Update understanding
|
|||
|
|
→ Proceed with implementation
|
|||
|
|
ELSE:
|
|||
|
|
→ Proceed confidently
|
|||
|
|
|
|||
|
|
3. Pattern Matching:
|
|||
|
|
IF similar_mistakes_found:
|
|||
|
|
⚠️ "過去に同じミス発生: [mistake_pattern]"
|
|||
|
|
⚠️ "防止策: [prevention_checklist]"
|
|||
|
|
→ Apply prevention before implementation
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Key Change**: Automatic documentation reading BEFORE any file modification.
|
|||
|
|
|
|||
|
|
### 3. Commander Mode (On-Demand)
|
|||
|
|
|
|||
|
|
**Purpose**: Orchestrate complex multi-step tasks with sub-agents
|
|||
|
|
|
|||
|
|
**Trigger Detection**:
|
|||
|
|
```yaml
|
|||
|
|
commander_triggers:
|
|||
|
|
complexity_based:
|
|||
|
|
- TodoWrite with >3 tasks
|
|||
|
|
- Operations spanning >3 files
|
|||
|
|
- Multi-directory scope (>2 dirs)
|
|||
|
|
- Keywords: "refactor", "migrate", "redesign"
|
|||
|
|
|
|||
|
|
explicit_keywords:
|
|||
|
|
- "orchestrate"
|
|||
|
|
- "coordinate"
|
|||
|
|
- "delegate"
|
|||
|
|
- "parallel execution"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Auto-Execution**:
|
|||
|
|
```yaml
|
|||
|
|
Commander Protocol:
|
|||
|
|
|
|||
|
|
1. Task Analysis:
|
|||
|
|
- Identify independent vs dependent tasks
|
|||
|
|
- Determine parallelization opportunities
|
|||
|
|
- Select appropriate sub-agents
|
|||
|
|
|
|||
|
|
2. Orchestration Plan:
|
|||
|
|
tasks:
|
|||
|
|
- task_1: [agent-backend] → auth refactor
|
|||
|
|
- task_2: [agent-frontend] → UI updates (parallel)
|
|||
|
|
- task_3: [agent-test] → test updates (after 1+2)
|
|||
|
|
|
|||
|
|
parallelization:
|
|||
|
|
wave_1: [task_1, task_2] # parallel
|
|||
|
|
wave_2: [task_3] # sequential dependency
|
|||
|
|
|
|||
|
|
3. Execution with Tracking:
|
|||
|
|
- TodoWrite for overall plan
|
|||
|
|
- Sub-agent delegation via Task tool
|
|||
|
|
- Progress tracking in docs/memory/checkpoint.json
|
|||
|
|
- Validation gates between waves
|
|||
|
|
|
|||
|
|
4. Synthesis:
|
|||
|
|
- Collect sub-agent outputs
|
|||
|
|
- Integrate results
|
|||
|
|
- Final validation
|
|||
|
|
- Update documentation
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Key Change**: Auto-activates when complexity detected, no manual command needed.
|
|||
|
|
|
|||
|
|
### 4. Post-Implementation Auto-Documentation
|
|||
|
|
|
|||
|
|
**Trigger Detection**:
|
|||
|
|
```yaml
|
|||
|
|
completion_indicators:
|
|||
|
|
test_based:
|
|||
|
|
- "All tests passing" in output
|
|||
|
|
- pytest: X/X passed
|
|||
|
|
- ✅ keywords detected
|
|||
|
|
|
|||
|
|
task_based:
|
|||
|
|
- All TodoWrite items marked completed
|
|||
|
|
- No pending tasks remaining
|
|||
|
|
|
|||
|
|
explicit:
|
|||
|
|
- User says "done", "finished", "complete"
|
|||
|
|
- Commit message created
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Auto-Execution**:
|
|||
|
|
```yaml
|
|||
|
|
Post-Implementation Protocol:
|
|||
|
|
|
|||
|
|
1. Self-Evaluation (The Four Questions):
|
|||
|
|
❓ "テストは全てpassしてる?"
|
|||
|
|
❓ "要件を全て満たしてる?"
|
|||
|
|
❓ "思い込みで実装してない?"
|
|||
|
|
❓ "証拠はある?"
|
|||
|
|
|
|||
|
|
IF any_fail:
|
|||
|
|
❌ NOT complete
|
|||
|
|
→ Report actual status
|
|||
|
|
ELSE:
|
|||
|
|
✅ Proceed to documentation
|
|||
|
|
|
|||
|
|
2. Pattern Extraction:
|
|||
|
|
- What worked? → docs/patterns/[pattern].md
|
|||
|
|
- What failed? → docs/mistakes/[mistake].md
|
|||
|
|
- New learnings? → docs/memory/patterns_learned.jsonl
|
|||
|
|
|
|||
|
|
3. Knowledge Base Update:
|
|||
|
|
IF global_pattern_discovered:
|
|||
|
|
→ Update CLAUDE.md with new rule
|
|||
|
|
IF project_specific_pattern:
|
|||
|
|
→ Update docs/patterns/
|
|||
|
|
IF anti_pattern_identified:
|
|||
|
|
→ Update docs/mistakes/
|
|||
|
|
|
|||
|
|
4. Session State Update:
|
|||
|
|
- Write docs/memory/session_summary.json
|
|||
|
|
- Update docs/memory/next_actions.md
|
|||
|
|
- Clean up temporary docs (>7 days old)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Key Change**: Automatic documentation after task completion, no manual trigger needed.
|
|||
|
|
|
|||
|
|
### 5. Mistake Handler (Immediate)
|
|||
|
|
|
|||
|
|
**Trigger Detection**:
|
|||
|
|
```yaml
|
|||
|
|
error_indicators:
|
|||
|
|
test_failures:
|
|||
|
|
- "FAILED" in pytest output
|
|||
|
|
- "Error" in test results
|
|||
|
|
- Non-zero exit code
|
|||
|
|
|
|||
|
|
runtime_errors:
|
|||
|
|
- Exception stacktrace detected
|
|||
|
|
- Build failures
|
|||
|
|
- Linter errors (critical only)
|
|||
|
|
|
|||
|
|
validation_failures:
|
|||
|
|
- Type check errors
|
|||
|
|
- Schema validation failures
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Auto-Execution**:
|
|||
|
|
```yaml
|
|||
|
|
Mistake Handler Protocol:
|
|||
|
|
|
|||
|
|
1. STOP Current Work:
|
|||
|
|
→ Halt further implementation
|
|||
|
|
→ Do not workaround the error
|
|||
|
|
|
|||
|
|
2. Reflexion Pattern:
|
|||
|
|
a) Check Past Errors:
|
|||
|
|
→ Grep docs/memory/solutions_learned.jsonl
|
|||
|
|
→ Grep docs/mistakes/ for similar errors
|
|||
|
|
|
|||
|
|
b) IF similar_error_found:
|
|||
|
|
✅ "過去に同じエラー発生済み"
|
|||
|
|
✅ "解決策: [past_solution]"
|
|||
|
|
→ Apply known solution
|
|||
|
|
|
|||
|
|
c) ELSE (new error):
|
|||
|
|
→ Root cause investigation
|
|||
|
|
→ Document new solution
|
|||
|
|
|
|||
|
|
3. Documentation:
|
|||
|
|
Create docs/mistakes/[feature]-YYYY-MM-DD.md:
|
|||
|
|
- What Happened (現象)
|
|||
|
|
- Root Cause (根本原因)
|
|||
|
|
- Why Missed (なぜ見逃したか)
|
|||
|
|
- Fix Applied (修正内容)
|
|||
|
|
- Prevention Checklist (防止策)
|
|||
|
|
- Lesson Learned (教訓)
|
|||
|
|
|
|||
|
|
4. Update Knowledge Base:
|
|||
|
|
→ echo '{"error":"...","solution":"..."}' >> docs/memory/solutions_learned.jsonl
|
|||
|
|
→ Update prevention checklists
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Key Change**: Immediate automatic activation when errors detected, no manual trigger.
|
|||
|
|
|
|||
|
|
## Removal of Manual `/sc:pm` Command
|
|||
|
|
|
|||
|
|
### Current State
|
|||
|
|
- `/sc:pm` command in `~/.claude/commands/sc/pm.md`
|
|||
|
|
- Requires user to manually invoke every session
|
|||
|
|
- Inconsistent application
|
|||
|
|
|
|||
|
|
### Proposed Change
|
|||
|
|
- **Remove** `/sc:pm` command entirely
|
|||
|
|
- **Replace** with behavior-based auto-activation
|
|||
|
|
- **Keep** pm-agent persona for all behaviors
|
|||
|
|
|
|||
|
|
### Migration Path
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
Step 1 - Update pm-agent.md:
|
|||
|
|
Remove: "Manual Invocation: /sc:pm command"
|
|||
|
|
Add: "Auto-Activation: Behavior-based triggers (see below)"
|
|||
|
|
|
|||
|
|
Step 2 - Delete /sc:pm command:
|
|||
|
|
File: ~/.claude/commands/sc/pm.md
|
|||
|
|
Action: Archive or delete (functionality now in persona)
|
|||
|
|
|
|||
|
|
Step 3 - Update rules.md:
|
|||
|
|
Agent Orchestration section:
|
|||
|
|
- Remove references to /sc:pm command
|
|||
|
|
- Add auto-activation trigger documentation
|
|||
|
|
|
|||
|
|
Step 4 - Test Auto-Activation:
|
|||
|
|
- Start new session → Should auto-restore context
|
|||
|
|
- Make file changes → Should auto-read relevant docs
|
|||
|
|
- Complete task → Should auto-document learnings
|
|||
|
|
- Encounter error → Should auto-trigger mistake handler
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Benefits
|
|||
|
|
|
|||
|
|
### 1. No Manual Commands Required
|
|||
|
|
- ✅ PM Agent always active, never forgotten
|
|||
|
|
- ✅ Consistent documentation reading
|
|||
|
|
- ✅ Automatic knowledge base maintenance
|
|||
|
|
|
|||
|
|
### 2. Context-Aware Activation
|
|||
|
|
- ✅ Right behavior at right time
|
|||
|
|
- ✅ No unnecessary overhead
|
|||
|
|
- ✅ Efficient token usage
|
|||
|
|
|
|||
|
|
### 3. Guaranteed Documentation Quality
|
|||
|
|
- ✅ Always read relevant docs before changes
|
|||
|
|
- ✅ Automatic pattern documentation
|
|||
|
|
- ✅ Mistake prevention through Reflexion
|
|||
|
|
|
|||
|
|
### 4. Seamless Orchestration
|
|||
|
|
- ✅ Auto-detects complex tasks
|
|||
|
|
- ✅ Auto-delegates to sub-agents
|
|||
|
|
- ✅ Auto-tracks progress
|
|||
|
|
|
|||
|
|
## Token Budget Impact
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
Current (Manual /sc:pm):
|
|||
|
|
If forgotten: 0 tokens (no PM functionality)
|
|||
|
|
If remembered: 200-500 tokens per invocation
|
|||
|
|
Average: Inconsistent, user-dependent
|
|||
|
|
|
|||
|
|
Proposed (Auto-Activation):
|
|||
|
|
Session Start: 200 tokens (ALWAYS)
|
|||
|
|
Documentation Guardian: 0-100 tokens (as needed)
|
|||
|
|
Commander: 0 tokens (only if complex task)
|
|||
|
|
Post-Implementation: 200-2,500 tokens (only after completion)
|
|||
|
|
Mistake Handler: 0 tokens (only if error)
|
|||
|
|
|
|||
|
|
Total per session: 400-3,000 tokens (predictable)
|
|||
|
|
|
|||
|
|
Trade-off: Slight increase in baseline usage
|
|||
|
|
Benefit: 100% consistent PM Agent functionality
|
|||
|
|
ROI: Prevents 5K-50K token waste from wrong implementations
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Implementation Checklist
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
Phase 1 - Core Auto-Activation:
|
|||
|
|
- [ ] Update pm-agent.md with auto-activation triggers
|
|||
|
|
- [ ] Remove session start from /sc:pm command
|
|||
|
|
- [ ] Test session start auto-restoration
|
|||
|
|
- [ ] Verify token budget calculations
|
|||
|
|
|
|||
|
|
Phase 2 - Documentation Guardian:
|
|||
|
|
- [ ] Add pre-write documentation checks
|
|||
|
|
- [ ] Implement pattern matching logic
|
|||
|
|
- [ ] Test with various file operations
|
|||
|
|
- [ ] Verify no performance degradation
|
|||
|
|
|
|||
|
|
Phase 3 - Commander Mode:
|
|||
|
|
- [ ] Add complexity detection logic
|
|||
|
|
- [ ] Implement sub-agent delegation
|
|||
|
|
- [ ] Test parallel execution patterns
|
|||
|
|
- [ ] Verify progress tracking
|
|||
|
|
|
|||
|
|
Phase 4 - Post-Implementation:
|
|||
|
|
- [ ] Add completion detection logic
|
|||
|
|
- [ ] Implement auto-documentation triggers
|
|||
|
|
- [ ] Test pattern extraction
|
|||
|
|
- [ ] Verify knowledge base updates
|
|||
|
|
|
|||
|
|
Phase 5 - Mistake Handler:
|
|||
|
|
- [ ] Add error detection logic
|
|||
|
|
- [ ] Implement Reflexion pattern lookup
|
|||
|
|
- [ ] Test mistake documentation
|
|||
|
|
- [ ] Verify prevention checklist updates
|
|||
|
|
|
|||
|
|
Phase 6 - Cleanup:
|
|||
|
|
- [ ] Archive /sc:pm command
|
|||
|
|
- [ ] Update all documentation
|
|||
|
|
- [ ] Remove manual invocation references
|
|||
|
|
- [ ] Final integration testing
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Example Workflow (After Implementation)
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
User Session:
|
|||
|
|
|
|||
|
|
1. Start Conversation:
|
|||
|
|
Claude: [Auto-activates PM Agent]
|
|||
|
|
Claude: 📍 feature/auth | ✨ Clean | 🧠 15% (30K/200K)
|
|||
|
|
User: "Fix authentication bug in auth.ts"
|
|||
|
|
|
|||
|
|
2. Pre-Implementation:
|
|||
|
|
Claude: [Documentation Guardian activates]
|
|||
|
|
Claude: [Reads docs/patterns/authentication-*.md silently]
|
|||
|
|
Claude: [Reads docs/mistakes/auth-*.md silently]
|
|||
|
|
Claude: ⚠️ Past mistake found: "Missing token validation"
|
|||
|
|
Claude: Applying prevention checklist before implementation...
|
|||
|
|
|
|||
|
|
3. Implementation:
|
|||
|
|
Claude: [Makes changes with prevention applied]
|
|||
|
|
Claude: [Runs tests]
|
|||
|
|
Claude: ✅ All tests passing
|
|||
|
|
|
|||
|
|
4. Post-Implementation:
|
|||
|
|
Claude: [Auto-activates documentation]
|
|||
|
|
Claude: [Runs Four Questions self-check]
|
|||
|
|
Claude: [Extracts pattern: "Token validation pattern"]
|
|||
|
|
Claude: [Updates docs/patterns/authentication-token-validation.md]
|
|||
|
|
Claude: ✅ Task complete with documentation updated
|
|||
|
|
|
|||
|
|
User: [Never had to invoke /sc:pm manually]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Conclusion
|
|||
|
|
|
|||
|
|
This architecture ensures PM Agent functionality is **always active** through behavior-based triggers, eliminating the need for manual `/sc:pm` command invocation while maintaining clear responsibility separation and guaranteed documentation quality.
|