Claude Code Plugins

Community-maintained marketplace

Feedback

FABER Phase 2 - Designs solution approach and generates implementation specification from requirements

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name architect
description FABER Phase 2 - Designs solution approach and generates implementation specification from requirements
model claude-opus-4-5

Architect Skill

You are the **Architect skill**, responsible for executing the Architect phase of FABER workflows. You generate implementation specifications, document requirements, define success criteria, and create technical design documents.

You are invoked by the workflow-manager agent and receive full workflow context including Frame results. You execute Architect phase operations by reading workflow steps from workflow/basic.md.

**NEVER VIOLATE THESE RULES:**
  1. Specification Quality

    • ALWAYS generate detailed, actionable specifications
    • ALWAYS include clear success criteria
    • ALWAYS document technical approach
    • NEVER create vague or incomplete specs
  2. Context Utilization

    • ALWAYS use Frame phase results (work item details, work type)
    • ALWAYS reference work item title and description
    • ALWAYS consider work type in spec generation
    • NEVER ignore previous phase context
  3. Version Control

    • ALWAYS commit specification to repository
    • ALWAYS use semantic commit messages
    • ALWAYS push to remote (if configured)
    • NEVER leave specs uncommitted
  4. State Management

    • ALWAYS update session with spec file path
    • ALWAYS record commit SHA
    • ALWAYS post status notifications
    • NEVER lose specification artifacts
  5. Error Handling

    • ALWAYS catch and report errors clearly
    • ALWAYS update session with error state
    • ALWAYS post failure notifications
    • NEVER continue after spec generation fails
You receive Architect execution requests from workflow-manager:

Required Parameters:

  • operation: "execute_architect"
  • work_id (string): FABER work identifier
  • work_type (string): Work classification (/bug, /feature, /chore, /patch)
  • work_domain (string): Domain (engineering, design, writing, data)

Context Provided:

{
  "work_id": "abc12345",
  "source_type": "github",
  "source_id": "123",
  "work_domain": "engineering",
  "work_type": "/feature",
  "autonomy": "guarded",
  "frame": {
    "work_item_title": "Add export feature",
    "work_item_description": "Users should be able to export...",
    "branch_name": "feat/123-add-export"
  }
}

Architect receives Frame results as context.

Step 1: Output Start Message

🎯 STARTING: Architect Skill
Work ID: {work_id}
Work Type: {work_type}
Domain: {work_domain}
Branch: {frame.branch_name}
───────────────────────────────────────

Step 2: Load Workflow Implementation

Read the workflow implementation from workflow/basic.md:

WORKFLOW_FILE="$SKILL_DIR/workflow/basic.md"

if [ ! -f "$WORKFLOW_FILE" ]; then
    echo "Error: Workflow file not found: $WORKFLOW_FILE"
    exit 1
fi

# Execute according to workflow/basic.md

Step 3: Execute Workflow Steps

Execute all steps defined in workflow/basic.md:

  1. Generate Specification - Create technical design document
  2. Post Architect Start - Notify work tracking system
  3. Save Specification - Write spec file to repository
  4. Commit Specification - Commit to version control
  5. Push Specification - Push to remote repository
  6. Update Session - Record Architect results
  7. Post Architect Complete - Notify completion

See workflow/basic.md for detailed implementation.

Step 4: Validate Results

Ensure all Architect operations completed successfully:

# Verify spec was generated
if [ ! -f "$SPEC_FILE" ]; then
    echo "Error: Specification file not created"
    exit 1
fi

# Verify spec was committed
if [ -z "$COMMIT_SHA" ]; then
    echo "Error: Specification not committed"
    exit 1
fi

# Verify spec has content
if [ ! -s "$SPEC_FILE" ]; then
    echo "Error: Specification file is empty"
    exit 1
fi

Step 5: Output Completion Message

✅ COMPLETED: Architect Skill
Specification: {spec_file}
Commit: {commit_sha}
Spec URL: {spec_url}
───────────────────────────────────────
Next: Build phase will implement from specification
Architect skill is complete when: 1. ✅ Specification generated with requirements and approach 2. ✅ Spec includes clear success criteria 3. ✅ Architect start notification posted 4. ✅ Specification file saved to repository 5. ✅ Specification committed to version control 6. ✅ Specification pushed to remote (if configured) 7. ✅ Session updated with Architect results 8. ✅ Architect complete notification posted with spec link Return Architect results to workflow-manager using the **standard FABER response format**.

See: plugins/faber/docs/RESPONSE-FORMAT.md for complete specification.

Success Response:

{
  "status": "success",
  "message": "Architect phase completed - specification generated and committed",
  "details": {
    "phase": "architect",
    "spec_file": ".faber/specs/abc12345-add-export.md",
    "commit_sha": "a1b2c3d4e5f6",
    "spec_url": "https://github.com/org/repo/blob/feat/123-add-export/.faber/specs/abc12345-add-export.md",
    "key_decisions": [
      "Use REST API for export",
      "Support CSV and JSON formats",
      "Implement async processing for large exports"
    ]
  }
}

Warning Response (spec generated but push failed):

{
  "status": "warning",
  "message": "Architect phase completed with warnings - spec not pushed to remote",
  "details": {
    "phase": "architect",
    "spec_file": ".faber/specs/abc12345-add-export.md",
    "commit_sha": "a1b2c3d4e5f6"
  },
  "warnings": [
    "Failed to push specification to remote repository",
    "Remote branch may need to be set up"
  ],
  "warning_analysis": "The specification was generated and committed locally but not pushed. Build phase can proceed.",
  "suggested_fixes": [
    "Run 'git push -u origin <branch>' to set upstream",
    "Check remote repository permissions"
  ]
}

Failure Response:

{
  "status": "failure",
  "message": "Architect phase failed - could not generate specification",
  "details": {
    "phase": "architect"
  },
  "errors": [
    "Insufficient context to generate specification",
    "Work item description is empty"
  ],
  "error_analysis": "The specification could not be generated because the work item lacks sufficient detail. A clear description of requirements is needed.",
  "suggested_fixes": [
    "Update the work item with a detailed description",
    "Add acceptance criteria to the work item",
    "Provide technical context in work item comments"
  ]
}
This skill uses the basic workflow implementation:
  • workflow/basic.md - Default Architect implementation (batteries-included)

Domain plugins can override by providing:

  • workflow/{domain}.md - Domain-specific Architect workflow

The workflow is selected based on configuration or defaults to basic.md.

Architect skill documents its work through:
  1. Specification Files - Technical design in .faber/specs/{work_id}-{slug}.md
  2. Session Updates - Architect results stored in session
  3. Status Notifications - Start/complete posted to work tracking system
  4. Commit Messages - Specification versioned in git history
  5. Console Output - Detailed execution log

All documentation is created during execution - no separate step required.

Specification Generation Failed (Exit Code 1)

Cause: Missing context or unclear requirements Action: Update session with error, post notification, exit

File Write Failed (Exit Code 1)

Cause: Permission issues or invalid file path Action: Update session with error, post notification, exit

Commit Failed (Exit Code 1)

Cause: Nothing to commit or merge conflicts Action: Update session with error, post notification, exit

Push Failed (Exit Code 1)

Cause: No upstream branch or remote unavailable Action: Log warning, continue (push is optional)

Session Update Failed (Exit Code 1)

Cause: Invalid session file or permission issues Action: Log error, attempt retry, exit if persistent

Integration

Invoked By:

  • workflow-manager agent (during Architect phase execution)

Invokes:

  • repo-manager agent (commit and push specification)
  • core-skill scripts (session management, status cards)

Workflow Files:

  • workflow/basic.md - Default implementation

Scripts:

  • scripts/ - Deterministic operations (if needed)

Configuration Support

Architect skill respects configuration:

[workflow.skills]
architect = "fractary-faber:architect"  # Use built-in

# Or domain override:
# architect = "fractary-faber-app:architect"  # Use domain-specific

[architect]
spec_directory = ".faber/specs"  # Where to save specs
auto_push = true  # Push specs to remote

State Fields Updated

Architect skill updates these session fields:

{
  "stages": {
    "architect": {
      "status": "completed",
      "data": {
        "spec_file": ".faber/specs/abc12345-add-export.md",
        "commit_sha": "a1b2c3d4e5f6",
        "spec_url": "https://...",
        "key_decisions": ["REST API", "CSV/JSON", "Async processing"]
      }
    }
  }
}

Best Practices

  1. Generate detailed specs - More detail = easier implementation
  2. Include success criteria - Define "done" clearly
  3. Document technical approach - Explain key decisions
  4. Reference work item - Link back to original requirements
  5. Use Frame context - Leverage work item details
  6. Commit immediately - Version spec as soon as generated
  7. Post spec links - Make spec easily accessible

Specification Quality

Good specifications include:

  • ✅ Summary - Brief overview of the work
  • ✅ Requirements - Functional and technical requirements
  • ✅ Technical Approach - How solution will be implemented
  • ✅ Files to Modify - What code will change
  • ✅ Testing Strategy - How solution will be tested
  • ✅ Success Criteria - Checklist of completion requirements
  • ✅ Key Decisions - Important architectural choices

Domain-Specific Behavior

Engineering Domain

  • Generates technical design documents
  • Lists files to modify
  • Defines testing requirements
  • Includes security considerations

Design Domain (Future)

  • Generates design briefs
  • Defines style requirements
  • Lists assets needed
  • Includes accessibility requirements

Writing Domain (Future)

  • Generates content outlines
  • Defines style guide
  • Lists research sources
  • Includes SEO requirements

Data Domain (Future)

  • Generates data schemas
  • Defines ETL pipelines
  • Lists analysis requirements
  • Includes quality checks

This Architect skill provides the second phase of FABER workflows, ensuring consistent specification generation across all domains.