
moai-workflow-spec
by modu-ai
MoAI - Agentic Development Kit
SKILL.md
name: "moai-workflow-spec" description: "SPEC workflow orchestration with EARS format, requirement clarification, and Plan-Run-Sync integration for MoAI-ADK development methodology" version: 1.2.0 category: "workflow" modularized: true user-invocable: false context: fork agent: Plan tags: ["workflow", "spec", "ears", "requirements", "moai-adk", "planning"] updated: 2026-01-08 status: "active" author: "MoAI-ADK Team"
Progressive Disclosure Configuration
progressive_disclosure: enabled: true level1_tokens: 100 level2_tokens: 5000
Trigger Conditions for Level 2 Loading
triggers: keywords: [ "SPEC", "requirement", "EARS", "acceptance criteria", "user story", "planning", "specification", "requirements gathering", ] phases: ["plan"] agents: ["manager-spec", "manager-strategy", "Plan"]
allowed-tools:
- Read
- Write
- Edit
- Bash
- Grep
- Glob
- mcp__context7__resolve-library-id
- mcp__context7__get-library-docs
SPEC Workflow Management
Quick Reference (30 seconds)
SPEC Workflow Orchestration - Comprehensive specification management using EARS format for systematic requirement definition and Plan-Run-Sync workflow integration.
Core Capabilities:
- EARS Format Specifications: Five requirement patterns for clarity
- Requirement Clarification: Four-step systematic process
- SPEC Document Templates: Standardized structure for consistency
- Plan-Run-Sync Integration: Seamless workflow connection
- Parallel Development: Git Worktree-based SPEC isolation
- Quality Gates: TRUST 5 framework validation
EARS Five Patterns:
- Ubiquitous: The system shall always perform action - Always active
- Event-Driven: WHEN event occurs THEN action executes - Trigger-response
- State-Driven: IF condition is true THEN action executes - Conditional behavior
- Unwanted: The system shall not perform action - Prohibition
- Optional: Where possible, provide feature - Nice-to-have
When to Use:
- Feature planning and requirement definition
- SPEC document creation and maintenance
- Parallel feature development coordination
- Quality assurance and validation planning
Quick Commands:
- Create new SPEC: /moai:1-plan "user authentication system"
- Create parallel SPECs with Worktrees: /moai:1-plan "login feature" "signup feature" --worktree
- Create SPEC with new branch: /moai:1-plan "payment processing" --branch
- Update existing SPEC: /moai:1-plan SPEC-001 "add OAuth support"
Implementation Guide (5 minutes)
Core Concepts
SPEC-First Development Philosophy:
- EARS format ensures unambiguous requirements
- Requirement clarification prevents scope creep
- Systematic validation through test scenarios
- Integration with DDD workflow for implementation
- Quality gates enforce completion criteria
- Constitution reference ensures project-wide consistency
Constitution Reference (SDD 2025 Standard)
Constitution defines the project DNA that all SPECs must respect. Before creating any SPEC, verify alignment with project constitution defined in .moai/project/tech.md.
Constitution Components:
- Technology Stack: Required versions and frameworks
- Naming Conventions: Variable, function, and file naming standards
- Forbidden Libraries: Libraries explicitly prohibited with alternatives
- Architectural Patterns: Layering rules and dependency directions
- Security Standards: Authentication patterns and encryption requirements
- Logging Standards: Log format and structured logging requirements
Constitution Verification:
- All SPEC technology choices must align with Constitution stack versions
- No SPEC may introduce forbidden libraries or patterns
- SPEC must follow naming conventions defined in Constitution
- SPEC must respect architectural boundaries and layering
WHY: Constitution prevents architectural drift and ensures maintainability IMPACT: SPECs aligned with Constitution reduce integration conflicts significantly
SPEC Workflow Stages
Stage 1 - User Input Analysis: Parse natural language feature description Stage 2 - Requirement Clarification: Four-step systematic process Stage 3 - EARS Pattern Application: Structure requirements using five patterns Stage 4 - Success Criteria Definition: Establish completion metrics Stage 5 - Test Scenario Generation: Create verification test cases Stage 6 - SPEC Document Generation: Produce standardized markdown output
EARS Format Deep Dive
Ubiquitous Requirements - Always Active:
- Use case: System-wide quality attributes
- Examples: Logging, input validation, error handling
- Test strategy: Include in all feature test suites as common verification
Event-Driven Requirements - Trigger-Response:
- Use case: User interactions and inter-system communication
- Examples: Button clicks, file uploads, payment completions
- Test strategy: Event simulation with expected response verification
State-Driven Requirements - Conditional Behavior:
- Use case: Access control, state machines, conditional business logic
- Examples: Account status checks, inventory verification, permission checks
- Test strategy: State setup with conditional behavior verification
Unwanted Requirements - Prohibited Actions:
- Use case: Security vulnerabilities, data integrity protection
- Examples: No plaintext passwords, no unauthorized access, no PII in logs
- Test strategy: Negative test cases with prohibited behavior verification
Optional Requirements - Enhancement Features:
- Use case: MVP scope definition, feature prioritization
- Examples: OAuth login, dark mode, offline mode
- Test strategy: Conditional test execution based on implementation status
Requirement Clarification Process
Step 0 - Assumption Analysis (Philosopher Framework):
Before defining scope, surface and validate underlying assumptions using AskUserQuestion.
Assumption Categories:
- Technical Assumptions: Technology capabilities, API availability, performance characteristics
- Business Assumptions: User behavior, market requirements, timeline feasibility
- Team Assumptions: Skill availability, resource allocation, knowledge gaps
- Integration Assumptions: Third-party service reliability, compatibility expectations
Assumption Documentation:
- Assumption Statement: Clear description of what is assumed
- Confidence Level: High, Medium, or Low based on evidence
- Evidence Basis: What supports this assumption
- Risk if Wrong: Consequence if assumption proves false
- Validation Method: How to verify before committing significant effort
Step 0.5 - Root Cause Analysis:
For feature requests or problem-driven SPECs, apply Five Whys:
- Surface Problem: What is the user observing or requesting?
- First Why: What immediate need drives this request?
- Second Why: What underlying problem creates that need?
- Third Why: What systemic factor contributes?
- Root Cause: What fundamental issue must the solution adddess?
Step 1 - Scope Definition:
- Identify supported authentication methods
- Define validation rules and constraints
- Determine failure handling strategy
- Establish session management approach
Step 2 - Constraint Extraction:
- Performance Requirements: Response time targets
- Security Requirements: OWASP compliance, encryption standards
- Compatibility Requirements: Supported browsers and devices
- Scalability Requirements: Concurrent user targets
Step 3 - Success Criteria Definition:
- Test Coverage: Minimum percentage target
- Response Time: Percentile targets (P50, P95, P99)
- Functional Completion: All normal scenarios pass verification
- Quality Gates: Zero linter warnings, zero security vulnerabilities
Step 4 - Test Scenario Creation:
- Normal Cases: Valid inputs with expected outputs
- Error Cases: Invalid inputs with error handling
- Edge Cases: Boundary conditions and corner cases
- Security Cases: Injection attacks, privilege escalation attempts
Plan-Run-Sync Workflow Integration
PLAN Phase (/moai:1-plan):
- manager-spec agent analyzes user input
- EARS format requirements generation
- Requirement clarification with user interaction
- SPEC document creation in .moai/specs/ directory
- Git branch creation (optional --branch flag)
- Git Worktree setup (optional --worktree flag)
RUN Phase (/moai:2-run):
- manager-ddd agent loads SPEC document
- ANALYZE-PRESERVE-IMPROVE DDD cycle execution
- moai-workflow-testing skill reference for test patterns
- Domain Expert agent delegation (expert-backend, expert-frontend, etc.)
- Quality validation through manager-quality agent
SYNC Phase (/moai:3-sync):
- manager-docs agent synchronizes documentation
- API documentation generation from SPEC
- README and architecture document updates
- CHANGELOG entry creation
- Version control commit with SPEC reference
Parallel Development with Git Worktree
Worktree Concept:
- Independent working directories for multiple branches
- Each SPEC gets isolated development environment
- No branch switching needed for parallel work
- Reduced merge conflicts through feature isolation
Worktree Creation:
- Command /moai:1-plan "login feature" "signup feature" --worktree creates multiple SPECs
- Result creates project-worktrees directory with SPEC-specific subdirectories
Worktree Benefits:
- Parallel Development: Multiple features developed simultaneously
- Team Collaboration: Clear ownership boundaries per SPEC
- Dependency Isolation: Different library versions per feature
- Risk Reduction: Unstable code does not affect other features
Advanced Implementation (10+ minutes)
For advanced patterns including SPEC templates, validation automation, and workflow optimization, see:
- Advanced Patterns: Custom SPEC templates, validation automation
- Reference Guide: SPEC metadata schema, integration examples
- Examples: Real-world SPEC documents, workflow scenarios
Resources
SPEC File Organization
Directory Structure:
- .moai/specs/: SPEC document files (SPEC-001-feature-name.md)
- .moai/memory/: Session state files (last-session-state.json)
- .moai/docs/: Generated documentation (api-documentation.md)
SPEC Metadata Schema
Required Fields:
- SPEC ID: Sequential number (SPEC-001, SPEC-002, etc.)
- Title: Feature name in English
- Created: ISO 8601 timestamp
- Status: Planned, In Progress, Completed, Blocked
- Priority: High, Medium, Low
- Assigned: Agent responsible for implementation
Optional Fields:
- Related SPECs: Dependencies and related features
- Epic: Parent feature group
- Estimated Effort: Time estimate in hours or story points
- Labels: Tags for categorization
SPEC Lifecycle Management (SDD 2025 Standard)
Lifecycle Level Field:
Level 1 - spec-first:
- Description: SPEC written before implementation, discarded after completion
- Use Case: One-time features, prototypes, experiments
- Maintenance Policy: No maintenance required after implementation
Level 2 - spec-anchored:
- Description: SPEC maintained alongside implementation for evolution
- Use Case: Core features, API contracts, integration points
- Maintenance Policy: Quarterly review, update when implementation changes
Level 3 - spec-as-source:
- Description: SPEC is the single source of truth; only SPEC is edited by humans
- Use Case: Critical systems, regulated environments, code generation workflows
- Maintenance Policy: SPEC changes trigger implementation regeneration
Lifecycle Transition Rules:
- spec-first to spec-anchored: When feature becomes production-critical
- spec-anchored to spec-as-source: When compliance or regeneration workflow required
- Downgrade allowed but requires explicit justification in SPEC history
Quality Metrics
SPEC Quality Indicators:
- Requirement Clarity: All EARS patterns used appropriately
- Test Coverage: All requirements have corresponding test scenarios
- Constraint Completeness: Technical and business constraints defined
- Success Criteria Measurability: Quantifiable completion metrics
Validation Checklist:
- All EARS requirements testable
- No ambiguous language (should, might, usually)
- All error cases documented
- Performance targets quantified
- Security requirements OWASP-compliant
Works Well With
- moai-foundation-core: SPEC-First DDD methodology and TRUST 5 framework
- moai-workflow-testing: DDD implementation and test automation
- moai-workflow-project: Project initialization and configuration
- moai-workflow-worktree: Git Worktree management for parallel development
- manager-spec: SPEC creation and requirement analysis agent
- manager-ddd: DDD implementation based on SPEC requirements
- manager-quality: TRUST 5 quality validation and gate enforcement
Integration Examples
Sequential Workflow:
- Step 1 PLAN: /moai:1-plan "user authentication system"
- Step 2 RUN: /moai:2-run SPEC-001
- Step 3 SYNC: /moai:3-sync SPEC-001
Parallel Workflow:
- Create multiple SPECs: /moai:1-plan "backend API" "frontend UI" "database schema" --worktree
- Session 1: /moai:2-run SPEC-001 (backend API)
- Session 2: /moai:2-run SPEC-002 (frontend UI)
- Session 3: /moai:2-run SPEC-003 (database schema)
Token Management
Session Strategy:
- PLAN phase uses approximately 30% of session tokens
- RUN phase uses approximately 60% of session tokens
- SYNC phase uses approximately 10% of session tokens
Context Optimization:
- SPEC document persists in .moai/specs/ directory
- Session memory in .moai/memory/ for cross-session context
- Minimal context transfer through SPEC ID reference
- Agent delegation reduces token overhead
SPEC Scope and Classification (NEW)
What Belongs in .moai/specs/
The .moai/specs/ directory is EXCLUSIVELY for SPEC documents that define features to be implemented.
Valid SPEC Content:
- Feature requirements in EARS format
- Implementation plans with milestones
- Acceptance criteria with Given/When/Then scenarios
- Technical specifications for new functionality
- User stories with clear deliverables
SPEC Characteristics:
- Forward-looking: Describes what WILL be built
- Actionable: Contains implementation guidance
- Testable: Includes acceptance criteria
- Structured: Uses EARS format patterns
What Does NOT Belong in .moai/specs/
| Document Type | Why Not SPEC | Correct Location |
|---|---|---|
| Security Audit | Analyzes existing code | .moai/reports/security-audit-{DATE}/ |
| Performance Report | Documents current metrics | .moai/reports/performance-{DATE}/ |
| Dependency Analysis | Reviews existing dependencies | .moai/reports/dependency-review-{DATE}/ |
| Architecture Overview | Documents current state | .moai/docs/architecture.md |
| API Reference | Documents existing APIs | .moai/docs/api-reference.md |
| Meeting Notes | Records decisions made | .moai/reports/meeting-{DATE}/ |
| Retrospective | Analyzes past work | .moai/reports/retro-{DATE}/ |
Exclusion Rules
[HARD] Report vs SPEC Distinction:
Reports analyze what EXISTS → .moai/reports/
SPECs define what will be BUILT → .moai/specs/
[HARD] Documentation vs SPEC Distinction:
Documentation explains HOW TO USE → .moai/docs/
SPECs define WHAT TO BUILD → .moai/specs/
Migration Guide for Legacy Files
Scenario 1: Flat SPEC File → Directory Conversion
Problem: .moai/specs/SPEC-AUTH-001.md exists as single file
Solution Steps:
- Create directory:
mkdir -p .moai/specs/SPEC-AUTH-001/ - Move content:
mv .moai/specs/SPEC-AUTH-001.md .moai/specs/SPEC-AUTH-001/spec.md - Create missing files:
- Extract implementation plan →
plan.md - Extract acceptance criteria →
acceptance.md
- Extract implementation plan →
- Verify structure: All 3 files present
- Commit:
git add . && git commit -m "refactor(spec): Convert SPEC-AUTH-001 to directory structure"
Validation Command:
# Check for flat SPEC files (should return empty)
find .moai/specs -maxdepth 1 -name "SPEC-*.md" -type f
Scenario 2: Unnumbered SPEC ID → Number Assignment
Problem: SPEC-REDESIGN or SPEC-SDK-INTEGRATION without number
Solution Steps:
- Find next available number:
ls -d .moai/specs/SPEC-*-[0-9][0-9][0-9] 2>/dev/null | sort -t- -k3 -n | tail -1 - Assign number:
SPEC-REDESIGN→SPEC-REDESIGN-001 - Rename directory:
mv .moai/specs/SPEC-REDESIGN .moai/specs/SPEC-REDESIGN-001 - Update internal references in spec.md frontmatter
- Commit:
git commit -m "refactor(spec): Assign number to SPEC-REDESIGN → SPEC-REDESIGN-001"
Scenario 3: Report in SPEC Directory → Separation
Problem: Analysis/audit document in .moai/specs/
Solution Steps:
- Identify document type from content
- Create reports directory:
mkdir -p .moai/reports/security-audit-2025-01/ - Move content:
mv .moai/specs/SPEC-SECURITY-AUDIT/* .moai/reports/security-audit-2025-01/ rmdir .moai/specs/SPEC-SECURITY-AUDIT - Rename main file to report.md if needed
- Commit:
git commit -m "refactor: Move security audit from specs to reports"
Scenario 4: Duplicate SPEC ID → Resolution
Problem: Two directories with same SPEC ID
Solution Steps:
- Compare creation dates:
ls -la .moai/specs/ | grep SPEC-AUTH-001 - Determine which is canonical (usually older one)
- Renumber newer one to next available:
mv .moai/specs/SPEC-AUTH-001-duplicate .moai/specs/SPEC-AUTH-002 - Update internal references
- Commit:
git commit -m "fix(spec): Resolve duplicate SPEC-AUTH-001 → SPEC-AUTH-002"
Validation Script
Run this script to identify SPEC organization issues:
#!/bin/bash
# SPEC Organization Validator
echo "=== SPEC Organization Check ==="
# Check 1: Flat files in specs root
echo -e "\n[Check 1] Flat SPEC files (should be empty):"
find .moai/specs -maxdepth 1 -name "SPEC-*.md" -type f
# Check 2: Directories without required files
echo -e "\n[Check 2] SPEC directories missing required files:"
for dir in .moai/specs/SPEC-*/; do
if [ -d "$dir" ]; then
missing=""
[ ! -f "${dir}spec.md" ] && missing="${missing}spec.md "
[ ! -f "${dir}plan.md" ] && missing="${missing}plan.md "
[ ! -f "${dir}acceptance.md" ] && missing="${missing}acceptance.md "
[ -n "$missing" ] && echo "$dir: Missing $missing"
fi
done
# Check 3: SPECs without numbers
echo -e "\n[Check 3] SPECs without proper numbering:"
ls -d .moai/specs/SPEC-*/ 2>/dev/null | grep -v -E 'SPEC-[A-Z]+-[0-9]{3}'
# Check 4: Potential reports in specs
echo -e "\n[Check 4] Potential reports in specs (check manually):"
grep -l -r "findings\|recommendations\|audit\|analysis" .moai/specs/*/spec.md 2>/dev/null
echo -e "\n=== Check Complete ==="
Version: 1.3.0 (SDD 2025 Standard Integration + SPEC Scope Classification) Last Updated: 2026-01-21 Integration Status: Complete - Full Plan-Run-Sync workflow with SDD 2025 features and Migration Guide
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 500以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon
