Back to Superclaude Framework

PM Agent Mode Integration Guide

docs/Development/pm-agent-integration.md

4.3.011.2 KB
Original Source

PM Agent Mode Integration Guide

Last Updated: 2025-10-14 Target Version: 4.3.0 Status: Implementation Guide


๐Ÿ“‹ Overview

This guide provides step-by-step procedures for integrating PM Agent mode as SuperClaude's always-active meta-layer with session lifecycle management, PDCA self-evaluation, and systematic knowledge management.


๐ŸŽฏ Integration Goals

  1. Session Lifecycle: Auto-activation at session start with context restoration
  2. PDCA Engine: Automated Plan-Do-Check-Act cycle execution
  3. Memory Operations: Serena MCP integration for session persistence
  4. Documentation Strategy: Systematic knowledge evolution

๐Ÿ“ Architecture Integration

PM Agent Position

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚    PM Agent Mode (Meta-Layer)            โ”‚
โ”‚    โ€ข Always Active                        โ”‚
โ”‚    โ€ข Session Management                   โ”‚
โ”‚    โ€ข PDCA Self-Evaluation                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
               โ†“
    [Specialist Agents Layer]
               โ†“
    [Commands & Modes Layer]
               โ†“
    [MCP Tool Layer]

See: ARCHITECTURE.md for full system architecture


๐Ÿ”ง Phase 2: Core Implementation

File Structure

superclaude/
โ”œโ”€โ”€ Commands/
โ”‚   โ””โ”€โ”€ pm.md                           # โœ… Already updated
โ”œโ”€โ”€ Agents/
โ”‚   โ””โ”€โ”€ pm-agent.md                     # โœ… Already updated
โ””โ”€โ”€ Core/
    โ”œโ”€โ”€ __init__.py                     # Module initialization
    โ”œโ”€โ”€ session_lifecycle.py            # ๐Ÿ†• Session management
    โ”œโ”€โ”€ pdca_engine.py                  # ๐Ÿ†• PDCA automation
    โ””โ”€โ”€ memory_ops.py                   # ๐Ÿ†• Memory operations

Implementation Order

  1. memory_ops.py - Serena MCP wrapper (foundation)
  2. session_lifecycle.py - Session management (depends on memory_ops)
  3. pdca_engine.py - PDCA automation (depends on memory_ops)

1๏ธโƒฃ memory_ops.py Implementation

Purpose

Wrapper for Serena MCP memory operations with error handling and fallback.

Key Functions

python
# superclaude/Core/memory_ops.py

class MemoryOperations:
    """Serena MCP memory operations wrapper"""

    def list_memories() -> List[str]:
        """List all available memories"""

    def read_memory(key: str) -> Optional[Dict]:
        """Read memory by key"""

    def write_memory(key: str, value: Dict) -> bool:
        """Write memory with key"""

    def delete_memory(key: str) -> bool:
        """Delete memory by key"""

Integration Points

  • Connect to Serena MCP server
  • Handle connection errors gracefully
  • Provide fallback for offline mode
  • Validate memory structure

Testing

bash
pytest tests/test_memory_ops.py -v

2๏ธโƒฃ session_lifecycle.py Implementation

Purpose

Auto-activation at session start, context restoration, user report generation.

Key Functions

python
# superclaude/Core/session_lifecycle.py

class SessionLifecycle:
    """Session lifecycle management"""

    def on_session_start():
        """Hook for session start (auto-activation)"""
        # 1. list_memories()
        # 2. read_memory("pm_context")
        # 3. read_memory("last_session")
        # 4. read_memory("next_actions")
        # 5. generate_user_report()

    def generate_user_report() -> str:
        """Generate user report (ๅ‰ๅ›ž/้€ฒๆ—/ไปŠๅ›ž/่ชฒ้กŒ)"""

    def on_session_end():
        """Hook for session end (checkpoint save)"""
        # 1. write_memory("last_session", summary)
        # 2. write_memory("next_actions", todos)
        # 3. write_memory("pm_context", complete_state)

User Report Format

ๅ‰ๅ›ž: [last session summary]
้€ฒๆ—: [current progress status]
ไปŠๅ›ž: [planned next actions]
่ชฒ้กŒ: [blockers or issues]

Integration Points

  • Hook into Claude Code session start
  • Read memories using memory_ops
  • Generate human-readable report
  • Handle missing or corrupted memory

Testing

bash
pytest tests/test_session_lifecycle.py -v

3๏ธโƒฃ pdca_engine.py Implementation

Purpose

Automate PDCA cycle execution with documentation generation.

Key Functions

python
# superclaude/Core/pdca_engine.py

class PDCAEngine:
    """PDCA cycle automation"""

    def plan_phase(goal: str):
        """Generate hypothesis (ไปฎ่ชฌ)"""
        # 1. write_memory("plan", goal)
        # 2. Create docs/temp/hypothesis-YYYY-MM-DD.md

    def do_phase():
        """Track experimentation (ๅฎŸ้จ“)"""
        # 1. TodoWrite tracking
        # 2. write_memory("checkpoint", progress) every 30min
        # 3. Update docs/temp/experiment-YYYY-MM-DD.md

    def check_phase():
        """Self-evaluation (่ฉ•ไพก)"""
        # 1. think_about_task_adherence()
        # 2. think_about_whether_you_are_done()
        # 3. Create docs/temp/lessons-YYYY-MM-DD.md

    def act_phase():
        """Knowledge extraction (ๆ”นๅ–„)"""
        # 1. Success โ†’ docs/patterns/[pattern-name].md
        # 2. Failure โ†’ docs/mistakes/mistake-YYYY-MM-DD.md
        # 3. Update CLAUDE.md if global pattern

Documentation Templates

hypothesis-template.md:

markdown
# Hypothesis: [Goal Description]

Date: YYYY-MM-DD
Status: Planning

## Goal
What are we trying to accomplish?

## Approach
How will we implement this?

## Success Criteria
How do we know when we're done?

## Potential Risks
What could go wrong?

experiment-template.md:

markdown
# Experiment Log: [Implementation Name]

Date: YYYY-MM-DD
Status: In Progress

## Implementation Steps
- [ ] Step 1
- [ ] Step 2

## Errors Encountered
- Error 1: Description, solution

## Solutions Applied
- Solution 1: Description, result

## Checkpoint Saves
- 10:00: [progress snapshot]
- 10:30: [progress snapshot]

Integration Points

  • Create docs/ directory templates
  • Integrate with TodoWrite
  • Call Serena MCP think operations
  • Generate documentation files

Testing

bash
pytest tests/test_pdca_engine.py -v

๐Ÿ”Œ Phase 3: Serena MCP Integration

Prerequisites

bash
# Install Serena MCP server
# See: docs/troubleshooting/serena-installation.md

Configuration

json
// ~/.claude/.claude.json
{
  "mcpServers": {
    "serena": {
      "command": "uv",
      "args": ["run", "serena-mcp"]
    }
  }
}

Memory Structure

json
{
  "pm_context": {
    "project": "SuperClaude_Framework",
    "current_phase": "Phase 2",
    "architecture": "Context-Oriented Configuration",
    "patterns": ["PDCA Cycle", "Session Lifecycle"]
  },
  "last_session": {
    "date": "2025-10-14",
    "accomplished": ["Phase 1 complete"],
    "issues": ["Serena MCP not configured"],
    "learned": ["Session Lifecycle pattern"]
  },
  "next_actions": [
    "Implement session_lifecycle.py",
    "Configure Serena MCP",
    "Test memory operations"
  ]
}

Testing Serena Connection

bash
# Test memory operations
python -m SuperClaude.Core.memory_ops --test

๐Ÿ“ Phase 4: Documentation Strategy

Directory Structure

docs/
โ”œโ”€โ”€ temp/                # Temporary (7-day lifecycle)
โ”‚   โ”œโ”€โ”€ hypothesis-YYYY-MM-DD.md
โ”‚   โ”œโ”€โ”€ experiment-YYYY-MM-DD.md
โ”‚   โ””โ”€โ”€ lessons-YYYY-MM-DD.md
โ”œโ”€โ”€ patterns/           # Formal patterns (ๆฐธไน…ไฟๅญ˜)
โ”‚   โ””โ”€โ”€ [pattern-name].md
โ””โ”€โ”€ mistakes/          # Mistake records (ๆฐธไน…ไฟๅญ˜)
    โ””โ”€โ”€ mistake-YYYY-MM-DD.md

Lifecycle Automation

bash
# Create cleanup script
scripts/cleanup_temp_docs.sh

# Run daily via cron
0 0 * * * /path/to/scripts/cleanup_temp_docs.sh

Migration Scripts

bash
# Migrate successful experiments to patterns
python scripts/migrate_to_patterns.py

# Migrate failures to mistakes
python scripts/migrate_to_mistakes.py

๐Ÿš€ Phase 5: Auto-Activation (Research Needed)

Research Questions

  1. How does Claude Code handle initialization?
  2. Are there plugin hooks available?
  3. Can we intercept session start events?

Implementation Plan (TBD)

Once research complete, implement auto-activation hooks:

python
# superclaude/Core/auto_activation.py (future)

def on_claude_code_start():
    """Auto-activate PM Agent at session start"""
    session_lifecycle.on_session_start()

โœ… Implementation Checklist

Phase 2: Core Implementation

  • Implement memory_ops.py
  • Write unit tests for memory_ops
  • Implement session_lifecycle.py
  • Write unit tests for session_lifecycle
  • Implement pdca_engine.py
  • Write unit tests for pdca_engine
  • Integration testing

Phase 3: Serena MCP

  • Install Serena MCP server
  • Configure .claude.json
  • Test memory operations
  • Test think operations
  • Test cross-session persistence

Phase 4: Documentation Strategy

  • Create docs/temp/ template
  • Create docs/patterns/ template
  • Create docs/mistakes/ template
  • Implement lifecycle automation
  • Create migration scripts

Phase 5: Auto-Activation

  • Research Claude Code hooks
  • Design auto-activation system
  • Implement auto-activation
  • Test session start behavior

๐Ÿงช Testing Strategy

Unit Tests

bash
tests/
โ”œโ”€โ”€ test_memory_ops.py       # Memory operations
โ”œโ”€โ”€ test_session_lifecycle.py # Session management
โ””โ”€โ”€ test_pdca_engine.py       # PDCA automation

Integration Tests

bash
tests/integration/
โ”œโ”€โ”€ test_pm_agent_flow.py     # End-to-end PM Agent
โ”œโ”€โ”€ test_serena_integration.py # Serena MCP integration
โ””โ”€โ”€ test_cross_session.py     # Session persistence

Manual Testing

  1. Start new session โ†’ Verify context restoration
  2. Work on task โ†’ Verify checkpoint saves
  3. End session โ†’ Verify state preservation
  4. Restart โ†’ Verify seamless resumption

๐Ÿ“Š Success Criteria

Functional

  • PM Agent activates at session start
  • Context restores from memory
  • User report generates correctly
  • PDCA cycle executes automatically
  • Documentation strategy works

Performance

  • Session start delay <500ms
  • Memory operations <100ms
  • Context restoration reliable (>99%)

Quality

  • Test coverage >90%
  • No regression in existing features
  • Documentation complete

๐Ÿ”ง Troubleshooting

Common Issues

"Serena MCP not connecting"

  • Check server installation
  • Verify .claude.json configuration
  • Test connection: claude mcp list

"Memory operations failing"

  • Check network connection
  • Verify Serena server running
  • Check error logs

"Context not restoring"

  • Verify memory structure
  • Check pm_context exists
  • Test with fresh memory

๐Ÿ“š References


Last Verified: 2025-10-14 Next Review: 2025-10-21 (1 week) Version: 4.1.5