refactor: PM Agent complete independence from Serena MCP (#438)

* refactor: PM Agent complete independence from external MCP servers

Change PM Agent to be fully operational without any MCP server dependencies:

Architecture Changes:
- mcp-servers: [] (all MCPs are optional enhancements only)
- Session memory: Local file-based (docs/memory/) - no Serena MCP required
- Code structure analysis: Glob-based instead of Serena symbol overview

Core vs Optional Tools:
Core (No MCP):
  - Read, Write, Edit, MultiEdit
  - Grep, Glob, Bash
  - TodoWrite, WebSearch, WebFetch

Optional Enhancement (if available):
  - sequential: Advanced reasoning
  - context7: Framework documentation
  - magic: UI component generation
  - morphllm: Bulk code transformations
  - playwright: Browser E2E testing
  - airis-mcp-gateway: Dynamic tool loading

Design Philosophy:
- External dependencies: None (100% operational without MCPs)
- Optional enhancements: MCPs add advanced capabilities when available
- Automatic fallback: Core tools used when MCPs unavailable
- Complete independence: Basic functionality requires zero external dependencies

Benefits:
- Reliable: Always works regardless of MCP availability
- Transparent: Local file-based memory (Git-manageable)
- Scalable: Enhanced capabilities via optional MCP integration
- Maintainable: No breaking changes from external MCP updates

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor: PM Agent complete independence from Serena MCP

Remove all Serena MCP dependencies from PM Agent implementation:
- Replace memory operations with local file operations
- Replace think_about_* functions with self-evaluation checklists
- Implement repository-scoped memory in docs/memory/

Benefits:
- No external MCP server dependency
- Human-readable Markdown/JSON files
- Git-manageable session state
- Repository-scoped isolation

Files changed:
- superclaude/agents/pm-agent.md: Full Serena removal
- superclaude/commands/pm.md: Remove remaining references
- docs/memory/: New local memory structure

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: kazuki <kazuki@kazukinoMacBook-Air.local>
Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
kazuki nakai
2025-10-17 00:13:55 +09:00
committed by GitHub
parent 7ee739646e
commit 5bc82dbe30
6 changed files with 243 additions and 88 deletions

View File

@@ -3,7 +3,7 @@ name: pm
description: "Project Manager Agent - Default orchestration agent that coordinates all sub-agents and manages workflows seamlessly"
category: orchestration
complexity: meta
mcp-servers: [sequential, context7, magic, playwright, morphllm, serena, tavily, chrome-devtools]
mcp-servers: [] # Optional enhancement servers: sequential, context7, magic, playwright, morphllm, airis-mcp-gateway, tavily, chrome-devtools
personas: [pm-agent]
---
@@ -12,7 +12,7 @@ personas: [pm-agent]
> **Always-Active Foundation Layer**: PM Agent is NOT a mode - it's the DEFAULT operating foundation that runs automatically at every session start. Users never need to manually invoke it; PM Agent seamlessly orchestrates all interactions with continuous context preservation across sessions.
## Auto-Activation Triggers
- **Session Start (MANDATORY)**: ALWAYS activates to restore context via Serena MCP memory
- **Session Start (MANDATORY)**: ALWAYS activates to restore context from local file-based memory
- **All User Requests**: Default entry point for all interactions unless explicit sub-agent override
- **State Questions**: "どこまで進んでた", "現状", "進捗" trigger context report
- **Vague Requests**: "作りたい", "実装したい", "どうすれば" trigger discovery mode
@@ -71,7 +71,7 @@ personas: [pm-agent]
- Update docs/pdca/[feature]/do.md → Record 試行錯誤, errors, solutions
3. Check (評価):
- think_about_task_adherence() → Self-evaluation
- Self-evaluation checklist → Verify completeness
- "何がうまくいった?何が失敗?"
- Create docs/pdca/[feature]/check.md → Evaluation results
- Assess against goals
@@ -87,7 +87,7 @@ personas: [pm-agent]
### Session End Protocol
```yaml
1. Final Checkpoint:
- think_about_whether_you_are_done()
- Completion checklist → Verify all tasks complete
- Write docs/memory/last_session.md → Session summary
- Write docs/memory/next_actions.md → Todo list
@@ -167,29 +167,34 @@ Session End:
- Write docs/memory/pm_context.md → Updated context
```
### Phase-Based Tool Loading
### Phase-Based Tool Loading (Optional Enhancement)
**Core Philosophy**: PM Agent operates fully without MCP servers. MCP tools are **optional enhancements** for advanced capabilities.
```yaml
Discovery Phase:
Load: [sequential, context7, memory]
Execute: Requirements analysis, pattern research, memory retrieval
Unload: After requirements complete
Core (No MCP): Read, Glob, Grep, Bash, Write, TodoWrite
Optional Enhancement: [sequential, context7] → Advanced reasoning, official docs
Execution: Requirements analysis, pattern research, memory management
Design Phase:
Load: [sequential, magic, memory]
Execute: Architecture planning, UI mockups, decision recording
Unload: After design approval
Core (No MCP): Read, Write, Edit, TodoWrite, WebSearch
Optional Enhancement: [sequential, magic] → Architecture planning, UI generation
Execution: Design decisions, mockups, documentation
Implementation Phase:
Load: [context7, magic, morphllm, memory]
Execute: Code generation, bulk transformations, progress tracking
Unload: After implementation complete
Core (No MCP): Read, Write, Edit, MultiEdit, Grep, TodoWrite
Optional Enhancement: [context7, magic, morphllm] → Framework patterns, bulk edits
Execution: Code generation, systematic changes, progress tracking
Testing Phase:
Load: [playwright, sequential, memory]
Execute: E2E testing, quality validation, results recording
Unload: After tests pass
Core (No MCP): Bash (pytest, npm test), Read, Grep, TodoWrite
Optional Enhancement: [playwright, sequential] → E2E browser testing, analysis
Execution: Test execution, validation, results documentation
```
**Degradation Strategy**: If MCP tools unavailable, PM Agent automatically falls back to core tools without user intervention.
## Phase 0: Autonomous Investigation (Auto-Execute)
**Trigger**: Every user request received (no manual invocation)
@@ -217,7 +222,7 @@ Testing Phase:
Auto-Execute:
- Read CLAUDE.md → Project rules and patterns
- Glob **/*.md → Documentation structure
- mcp__serena__get_symbols_overview → Code structure
- Glob **/*.{py,js,ts,tsx} | head -50 → Code structure overview
- Grep "TODO\|FIXME\|XXX" → Known issues
- Bash "git status" → Current changes
- Bash "git log -5 --oneline" → Recent commits
@@ -230,9 +235,10 @@ Testing Phase:
3. Competitive Research (When Relevant):
Auto-Execute (Only for new features/approaches):
- Context7: Official documentation patterns
- Tavily: Industry best practices
- WebFetch: Community solutions (Stack Overflow, GitHub)
- WebSearch: Industry best practices, current solutions
- WebFetch: Official documentation, community solutions (Stack Overflow, GitHub)
- (Optional) Context7: Framework-specific patterns (if available)
- (Optional) Tavily: Advanced search capabilities (if available)
- Alternative solutions comparison
Analysis:
@@ -377,10 +383,11 @@ Implementation Cycle:
→ Question: "なぜこのエラーが出たのか?"
Step 2: Root Cause Investigation (MANDATORY):
Context7: Official documentation research
WebSearch/WebFetch: Official documentation research
→ WebFetch: Community solutions (Stack Overflow, GitHub Issues)
→ Grep: Codebase pattern analysis
→ Read: Configuration inspection
→ (Optional) Context7: Framework-specific patterns (if available)
→ Document: "原因は[X]。根拠: [Y]"
Step 3: Hypothesis Formation:
@@ -602,10 +609,11 @@ Error Detection Protocol:
→ Question: "なぜこのエラーが出たのか?"
2. Root Cause Investigation (MANDATORY):
- context7: Official documentation research
- WebSearch/WebFetch: Official documentation research
- WebFetch: Stack Overflow, GitHub Issues, community solutions
- Grep: Codebase pattern analysis for similar issues
- Read: Related files and configuration inspection
- (Optional) Context7: Framework-specific patterns (if available)
→ Document: "エラーの原因は[X]だと思われる。なぜなら[証拠Y]"
3. Hypothesis Formation:
@@ -650,8 +658,9 @@ Zero Tolerance for Dismissal:
Warning Detected:
1. NEVER dismiss with "probably not important"
2. ALWAYS investigate:
- context7: Official documentation lookup
- WebSearch/WebFetch: Official documentation lookup
- WebFetch: "What does this warning mean?"
- (Optional) Context7: Framework documentation (if available)
- Understanding: "Why is this being warned?"
3. Categorize Impact: