FABER Phase 1 - Fetches work item, classifies work type, sets up environment, and initializes workflow context
Fetches work items from tracking systems, classifies work types, and prepares domain-specific environments. Used when workflow-manager initiates FABER workflows with work_id, source_type, and source_domain parameters.
/plugin marketplace add fractary/claude-plugins/plugin install fractary-faber@fractaryThis skill inherits all available tools. When active, it can use any tool Claude has access to.
workflow/basic.mdYou are invoked by the workflow-manager agent and receive full workflow context. You execute Frame phase operations by reading workflow steps from workflow/basic.md and using deterministic scripts.
</CONTEXT>
<CRITICAL_RULES> NEVER VIOLATE THESE RULES:
Complete Execution
State Management
Work Item Integration
Environment Setup
Error Handling
Required Parameters:
operation: "execute_frame"work_id (string): FABER work identifiersource_type (string): Issue tracker (github, jira, linear, manual)source_id (string): External issue IDwork_domain (string): Domain (engineering, design, writing, data)Context Provided:
{
"work_id": "abc12345",
"source_type": "github",
"source_id": "123",
"work_domain": "engineering",
"autonomy": "guarded"
}
Frame is the first phase, so no previous phase context is available. </INPUTS>
<WORKFLOW>šÆ STARTING: Frame Skill
Work ID: {work_id}
Source: {source_type}/{source_id}
Domain: {work_domain}
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
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
# The workflow file contains the implementation steps
# Read and execute according to workflow/basic.md
Execute all steps defined in workflow/basic.md:
See workflow/basic.md for detailed implementation.
Ensure all Frame operations completed successfully:
# Verify work item was fetched
if [ -z "$WORK_ITEM_TITLE" ]; then
echo "Error: Failed to fetch work item"
exit 1
fi
# Verify work type was classified
if [ -z "$WORK_TYPE" ]; then
echo "Error: Failed to classify work type"
exit 1
fi
# Verify environment was prepared
if [ -z "$BRANCH_NAME" ]; then
echo "Warning: No branch created (may be intentional for some domains)"
fi
ā
COMPLETED: Frame Skill
Work Type: {work_type}
Branch: {branch_name}
Environment: Ready
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Next: Architect phase will generate specification
</WORKFLOW>
<COMPLETION_CRITERIA> Frame skill is complete when:
See: plugins/faber/docs/RESPONSE-FORMAT.md for complete specification.
Success Response:
{
"status": "success",
"message": "Frame phase completed - work item fetched and environment prepared",
"details": {
"phase": "frame",
"work_type": "/feature",
"work_item": {
"title": "Add export feature",
"description": "Users should be able to export data...",
"labels": ["feature", "enhancement"]
},
"environment": {
"branch_name": "feat/123-add-export",
"worktree_path": "/path/to/worktree",
"ready": true
}
}
}
Warning Response (environment setup had minor issues):
{
"status": "warning",
"message": "Frame phase completed with warnings",
"details": {
"phase": "frame",
"work_type": "/feature",
"work_item": {...}
},
"warnings": [
"Branch already exists, using existing branch",
"Optional dependency 'foo' not installed"
],
"warning_analysis": "The work can proceed but some optional features may not be available",
"suggested_fixes": [
"Run 'npm install foo' to enable optional features"
]
}
Failure Response:
{
"status": "failure",
"message": "Frame phase failed - could not fetch work item",
"details": {
"phase": "frame"
},
"errors": [
"Work item #123 not found in GitHub Issues",
"HTTP 404: Resource not found"
],
"error_analysis": "The specified issue ID does not exist or you may not have permission to access it",
"suggested_fixes": [
"Verify the issue ID is correct",
"Check that you have access to the repository",
"Ensure GitHub token has 'issues:read' scope"
]
}
</OUTPUTS>
<HANDLERS>
This skill uses the basic workflow implementation:
Domain plugins can override by providing:
The workflow is selected based on configuration or defaults to basic.md.
</HANDLERS>
.fractary/plugins/faber/state.jsonAll documentation is created during execution - no separate step required. </DOCUMENTATION>
<ERROR_HANDLING>
Cause: Invalid source_id or work tracking system unavailable Action: Update session with error, post notification, exit
Cause: No labels or unclear work item description Action: Default to /feature, post warning, continue
Cause: Missing dependencies or resource constraints Action: Update session with error, post notification, exit
Cause: Invalid session file or permission issues Action: Log error, attempt retry, exit if persistent
</ERROR_HANDLING>
Invoked By:
Invokes:
Workflow Files:
workflow/basic.md - Default implementationScripts:
scripts/ - Deterministic operations (if needed)Frame skill respects configuration:
[workflow.skills]
frame = "fractary-faber:frame" # Use built-in
# Or domain override:
# frame = "fractary-faber-app:frame" # Use domain-specific
Frame skill updates these session fields:
{
"stages": {
"frame": {
"status": "completed",
"data": {
"work_type": "/feature",
"title": "Add export feature",
"description": "...",
"labels": ["feature"],
"branch_name": "feat/123-add-export",
"worktree_path": "/path/to/worktree"
}
}
}
}
This Frame skill provides the first phase of FABER workflows, ensuring consistent work item intake and environment preparation across all domains.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.