moai-alfred-practices
0
总安装量
1
周安装量
安装命令
npx skills add https://github.com/ajbcoding/claude-skill-eval --skill moai-alfred-practices
Agent 安装分布
amp
1
cline
1
opencode
1
cursor
1
continue
1
kimi-cli
1
Skill 文档
Enterprise Practical Workflows & Context Engineering v4.0.0
Skill Metadata
| Field | Value |
|---|---|
| Skill Name | moai-alfred-practices |
| Version | 4.0.0 Enterprise (2025-11-12) |
| Focus | Practical execution patterns, real-world scenarios |
| Auto-load | When workflow guidance or debugging help needed |
| Included Patterns | 15+ real-world scenarios |
| Lines of Content | 950+ with 20+ production examples |
| Progressive Disclosure | 3-level (quick-patterns, scenarios, advanced) |
What It Does
Provides practical workflows, context engineering strategies, real-world execution examples, and debugging solutions for moai-adk. Covers JIT context management, efficient agent usage, SPECâTDDâSync execution, and common problem resolution.
JIT (Just-In-Time) Context Strategy
Principle: Load Only What’s Needed Now
Traditional (overload):
Load entire codebase
â Context window fills immediately
â Limited reasoning capacity
â Slow, inefficient
JIT (optimized):
Load core entry points
â Identify specific function/module
â Load only that section
â Cache in thread context
â Reuse for related tasks
â Minimal context waste
Practice 1: Core Module Mapping
# 1. Get high-level structure
find src/ -type f -name "*.py" | wc -l
# Output: 145 files total
# 2. Identify entry points (only 3-5 files)
find src/ -name "__main__.py" -o -name "main.py" -o -name "run.py"
# 3. Load entry point + immediate dependencies
Glob("src/{**/}*.py")
# Load only files referenced by entry point
# 4. Cache in Task() context for reuse
Task(prompt="Task 1 using mapped modules")
Task(prompt="Task 2 reuses cached context")
Practice 2: Dependency Tree Navigation
Project Root
ââ src/
â ââ __init__.py â Entry point #1
â ââ main.py â Entry point #2
â ââ core/
â â ââ domain.py â Core models
â â ââ repository.py â Data access
â â ââ service.py â Business logic
â ââ api/
â ââ routes.py â API endpoints
â ââ handlers.py â Request handlers
Load strategy:
1. Load main.py + __init__.py (entry points)
2. When modifying API â Load api/ subtree
3. When fixing business logic â Load core/service.py
4. Cache all loaded files in context
5. Share context between related tasks
Practice 3: Context Reuse Across Tasks
# Task 1: Understand module structure
analysis = Task({
prompt="Map src/ directory structure, identify entry points, list dependencies"
})
# Task 2: Reuse analysis for implementation
implementation = Task({
prompt=f"""Using this structure:
{analysis}
Now implement feature X...
"""
})
# Task 3: Reuse analysis for testing
testing = Task({
prompt=f"""Using this structure:
{analysis}
Write tests for feature X...
"""
})
# Result: No re-mapping, efficient context reuse
SPEC â TDD â Sync Execution Pattern
Step 1: Create SPEC with /alfred:1-plan
/alfred:1-plan "Add user authentication with JWT"
# This creates:
# .moai/specs/SPEC-042/spec.md (full requirements)
# feature/SPEC-042 (git branch)
# Track with TodoWrite
Step 2: Implement with /alfred:2-run SPEC-042
RED: Test agent writes failing tests
â
GREEN: Implementer agent creates minimal code
â
REFACTOR: Quality agent improves code
â
Repeat TDD cycle for each feature component
â
All tests passing, coverage â¥85%
Step 3: Sync with /alfred:3-sync auto SPEC-042
Updates:
â Documentation
â Test coverage metrics
â Creates PR to develop
â Auto-validation of quality gates
Debugging Pattern: Issue â Root Cause â Fix
Step 1: Triage & Understand
Error message: "Cannot read property 'user_id' of undefined"
Questions:
- When does it occur? (always, intermittently, specific scenario)
- Which code path? (which endpoint/function)
- What's the state? (what data led to this)
- What changed recently? (revert to narrow down)
Step 2: Isolate Root Cause
# Method 1: Binary search
# Is it in API layer? â Yes
# Is it in route handler? â No
# Is it in service layer? â Yes
# Is it in this function? â Narrow down
# Method 2: Add logging
logger.debug(f"user_id = {user_id}") # Check where it becomes undefined
# Method 3: Test locally
# Reproduce with minimal example
# Add breakpoint in debugger
# Step through execution
Step 3: Fix with Tests
# RED: Write failing test
def test_handles_missing_user_id():
"""Should handle case when user_id is undefined."""
assert get_user(None) raises ValueError
# GREEN: Minimal fix
def get_user(user_id):
if not user_id:
raise ValueError("user_id required")
return fetch_user(user_id)
# REFACTOR: Improve
def get_user(user_id: int) -> User:
"""Get user by ID.
Args:
user_id: User identifier
Raises:
ValueError: If user_id is None or invalid
"""
if not user_id or user_id <= 0:
raise ValueError(f"Invalid user_id: {user_id}")
return self.user_repo.find(user_id)
5 Real-World Scenarios
Scenario 1: Feature Implementation (2-3 hours)
1. Create SPEC: /alfred:1-plan "Add user dashboard"
2. Clarify details: AskUserQuestion (which data to show?)
3. Implement: /alfred:2-run SPEC-XXX (TDD cycle)
4. Document: /alfred:3-sync auto SPEC-XXX
5. Result: Production-ready feature
Scenario 2: Bug Investigation (1-2 hours)
1. Reproduce: Create minimal test case
2. Isolate: Narrow down affected code
3. Debug: Add logging, trace execution
4. Fix: TDD REDâGREENâREFACTOR
5. Validate: Ensure tests pass, regression tests
Scenario 3: Large Refactoring (4-8 hours)
1. Analyze: Map current code structure
2. Plan: Design new structure with trade-offs
3. Clone pattern: Create autonomous agents for parallel refactoring
4. Integrate: Verify all pieces work together
5. Test: Comprehensive test coverage
Scenario 4: Performance Optimization (2-4 hours)
1. Profile: Identify bottleneck with profiler
2. Analyze: Understand performance characteristics
3. Design: Plan optimization approach
4. Implement: TDD REDâGREENâREFACTOR
5. Validate: Benchmark before/after
Scenario 5: Multi-Team Coordination (ongoing)
1. SPEC clarity: AskUserQuestion for ambiguous requirements
2. Agent routing: Delegate to specialist teams
3. Progress tracking: TodoWrite for coordination
4. Integration: Verify components work together
5. Documentation: Central SPEC as source of truth
Context Budget Optimization
Typical project context:
- Config files: ~50 tokens
- .moai/ structure: ~100 tokens
- Entry points (3-5 files): ~500 tokens
- SPEC document: ~200 tokens
â Total: ~850 tokens per session
Reusable context:
- Load once per session
- Share across 5-10 tasks
- Saves: 3,500-8,500 tokens per session
- Result: More reasoning capacity
Best Practices
DO
- â Load entry points first (3-5 files)
- â Identify dependencies before deep dive
- â Reuse analyzed context across tasks
- â Cache intermediate results in Task context
- â Follow SPEC â TDD â Sync workflow
- â Track progress with TodoWrite
- â Ask for clarification (AskUserQuestion)
- â Test before declaring done
DON’T
- â Load entire codebase at once
- â Reanalyze same code multiple times
- â Skip SPEC clarification (causes rework)
- â Write code without tests
- â Ignore error messages
- â Assume context understanding
- â Skip documentation updates
- â Commit without running tests
Related Skills
moai-alfred-agent-guide(Agent orchestration patterns)moai-alfred-clone-pattern(Complex task delegation)moai-essentials-debug(Debugging techniques)
For detailed workflow examples: reference.md
For real-world scenarios: examples.md
Last Updated: 2025-11-12
Status: Production Ready (Enterprise v4.0.0)