This workflow defines how to gather requirements for creating a new skill.
Guides you through gathering all required information for creating a new skill. It prompts for missing details like description, responsibility, inputs, outputs, and plugin location, then validates everything before returning structured requirements for skill generation.
/plugin marketplace add fractary/claude-plugins/plugin install fractary-faber-agent@fractaryThis skill inherits all available tools. When active, it can use any tool Claude has access to.
agent.mdcommand.mdplugin.mdThis workflow defines how to gather requirements for creating a new skill.
Check which parameters were already provided in provided_params:
skill_name is provided: Use it (already validated by command)description is provided: Use ittools is provided: Use it, otherwise default to "Bash"plugin_name is provided: Validate plugin existshandler_type is provided: Note multi-provider skillPlease provide a brief description of the skill:
This description will appear in the frontmatter and documentation.
Examples:
• "Fetches data from external sources and validates format"
• "Deploys infrastructure using Terraform"
• "Validates code quality and runs linters"
Enter description:
Validation:
What is the primary responsibility of this skill?
This is a 1-2 sentence statement of what the skill does.
Examples:
• "fetching data from external APIs and validating response format"
• "executing Terraform operations to provision infrastructure"
• "running code quality checks and reporting violations"
Enter responsibility:
Validation:
What inputs does this skill receive?
Describe the parameters passed to the skill when invoked.
Examples:
• "source URL, authentication credentials, timeout value"
• "infrastructure specification, environment name, provider config"
• "file paths to check, linter configuration"
Enter inputs (or "none" if skill takes no parameters):
Validation:
What does this skill return as output?
Describe the structure of the response returned by the skill.
Examples:
• "JSON object with fetched data and validation status"
• "Deployment status, resource IDs, and operation logs"
• "Quality score, list of violations, and recommendations"
Enter outputs:
Validation:
Which plugin should this skill be added to?
Detected plugins in this repository:
• faber
• faber-app
• faber-cloud
• work
• repo
[list all plugins found in plugins/ directory]
Enter plugin name (or press Enter to detect from current directory):
Validation:
plugins/plugins/{plugin_name}/skills/{skill_name}/Which Claude Code tools should this skill use?
Common combinations:
• "Bash" - Standard for most skills (run scripts)
• "Bash, Read, Write" - For file manipulation skills
• "Bash, WebFetch" - For API/web interaction skills
• "Bash, Grep, Glob" - For file search skills
Enter tools (comma-separated) or press Enter for default [Bash]:
Validation:
Is this a multi-provider handler skill? (Optional)
Handler skills provide abstraction across multiple providers.
Examples: iac (terraform/pulumi/cdk), hosting (aws/gcp/azure)
Enter handler type or press Enter to skip:
Validation:
What are the high-level steps this skill will execute? (Optional)
List the major steps in order.
Examples:
• "1. Validate input, 2. Fetch data, 3. Transform, 4. Return result"
• "1. Load config, 2. Plan changes, 3. Apply, 4. Verify"
Enter steps or press Enter to skip:
What scripts does this skill need? (Optional)
List script names for deterministic operations.
Examples:
• "fetch-data.sh, validate-format.sh"
• "terraform-plan.sh, terraform-apply.sh"
Enter script names (comma-separated) or press Enter to skip:
What are the success conditions for this skill? (Optional)
Define what "complete and successful" means.
Examples:
• "Data fetched successfully and validated"
• "Infrastructure deployed without errors"
• "All quality checks passed"
Enter criteria or press Enter to skip:
Display collected requirements and confirm:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Skill Requirements Summary
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Name: {skill_name}
Description: {description}
Responsibility: {responsibility}
Tools: {tools}
Plugin: {plugin_name}
Location: plugins/{plugin_name}/skills/{skill_name}/
Inputs: {inputs}
Outputs: {outputs}
Optional:
Handler Type: {handler_type or "Not a handler"}
Workflow Steps: {steps or "Not specified"}
Scripts: {scripts or "None specified"}
Completion Criteria: {criteria or "Not specified"}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Proceed with skill creation? (y/n):
Validation:
After confirmation, return:
{
"status": "success",
"artifact_type": "skill",
"requirements": {
"name": "{skill_name}",
"description": "{description}",
"responsibility": "{responsibility}",
"tools": "{tools}",
"plugin_name": "{plugin_name}",
"output_path": "plugins/{plugin_name}/skills/{skill_name}/",
"handler_type": "{handler_type}",
"inputs": "{inputs}",
"outputs": "{outputs}",
"workflow_steps": "{steps}",
"scripts_needed": "{scripts}",
"completion_criteria": "{criteria}"
}
}
User Cancels:
Return {"status": "cancelled", "message": "Skill creation cancelled by user"}
Invalid Input:
Plugin Not Found:
Return {"status": "error", "error": "Plugin not found: {plugin_name}", "step": "plugin_validation"}
plugins/This workflow ensures all necessary information is collected before skill generation begins.