brainstorming
Structured design dialogue that validates ideas before implementation begins.
faber-hooks
Execute FABER phase hooks (pre/post phase boundaries)
Full skill instructions
Hook boundaries: pre_frame, post_frame, pre_architect, post_architect, pre_build, post_build, pre_evaluate, post_evaluate, pre_release, post_release
Hook types:
<CRITICAL_RULES> YOU MUST:
../core/scripts/)YOU MUST NOT:
<HOOK_STRUCTURE>
{
"hooks": {
"pre_frame": [
{
"type": "document",
"path": "./hooks/pre-frame-checklist.md",
"description": "Pre-frame checklist"
}
],
"post_architect": [
{
"type": "script",
"path": "./hooks/validate-spec.sh",
"timeout": 60,
"description": "Validate generated spec"
}
],
"pre_release": [
{
"type": "skill",
"skill": "fractary-docs:readme-updater",
"parameters": {"section": "changelog"},
"description": "Update changelog"
}
]
}
}
</HOOK_STRUCTURE>
<OPERATIONS>List hooks configured for a specific boundary.
Script: ../core/scripts/hook-list.sh
Parameters:
boundary (required): Hook boundary (e.g., "pre_frame", "post_build")workflow_id (optional): Workflow to check (default: "default")Returns:
{
"status": "success",
"operation": "list-hooks",
"boundary": "pre_frame",
"hooks": [
{
"type": "document",
"path": "./hooks/pre-frame-checklist.md",
"description": "Pre-frame checklist"
}
],
"count": 1
}
Execution:
../core/scripts/hook-list.sh "$BOUNDARY" "$CONFIG_PATH"
Validate a single hook definition.
Script: ../core/scripts/hook-validate.sh
Parameters:
hook_json (required): Hook definition as JSONReturns:
{
"status": "success",
"operation": "validate-hook",
"valid": true,
"hook_type": "script",
"path_exists": true
}
Or on failure:
{
"status": "error",
"operation": "validate-hook",
"valid": false,
"errors": ["Script not found: ./hooks/missing.sh"]
}
Execution:
../core/scripts/hook-validate.sh "$HOOK_JSON"
Execute a single hook.
Script: ../core/scripts/hook-execute.sh
Parameters:
hook_json (required): Hook definition as JSONcontext_json (optional): Context to pass to hook (work_id, phase, etc.)Returns:
For document hooks:
{
"status": "success",
"operation": "execute-hook",
"hook_type": "document",
"action_required": "read",
"path": "./hooks/pre-frame-checklist.md",
"message": "Read and follow instructions in the document"
}
For script hooks:
{
"status": "success",
"operation": "execute-hook",
"hook_type": "script",
"exit_code": 0,
"output": "Validation passed"
}
For skill hooks:
{
"status": "success",
"operation": "execute-hook",
"hook_type": "skill",
"action_required": "invoke",
"skill": "fractary-docs:readme-updater",
"parameters": {"section": "changelog"}
}
Execution:
../core/scripts/hook-execute.sh "$HOOK_JSON" "$CONTEXT_JSON"
Execute all hooks for a boundary.
Parameters:
boundary (required): Hook boundary (e.g., "pre_frame", "post_build")context_json (optional): Context to pass to hooksworkflow_id (optional): Workflow to use (default: "default")continue_on_error (optional): Whether to continue if a hook fails (default: false)Returns:
{
"status": "success",
"operation": "execute-all",
"boundary": "pre_frame",
"hooks_executed": 2,
"hooks_succeeded": 2,
"hooks_failed": 0,
"results": [
{
"hook": {"type": "document", "path": "..."},
"status": "success",
"action_required": "read"
},
{
"hook": {"type": "script", "path": "..."},
"status": "success",
"exit_code": 0
}
],
"actions_required": [
{
"type": "read_document",
"path": "./hooks/pre-frame-checklist.md"
}
]
}
Execution:
Get all valid hook boundaries.
Returns:
{
"status": "success",
"operation": "get-boundaries",
"boundaries": [
"pre_frame", "post_frame",
"pre_architect", "post_architect",
"pre_build", "post_build",
"pre_evaluate", "post_evaluate",
"pre_release", "post_release"
],
"count": 10
}
</OPERATIONS>
<WORKFLOW> When invoked with an operation:Parse Request
Execute Operation
list-hooks: Query workflow config for boundaryvalidate-hook: Check hook structure and pathsexecute-hook: Run appropriate handler based on typeexecute-all: Iterate through all hooks for boundaryHandle Hook Types
Return Result
actions_required for document/skill hooks<HOOK_EXECUTION_DETAILS>
Document hooks don't execute code - they return a path for the agent to read:
Script hooks execute shell scripts with safety measures:
Skill hooks return invocation details for the agent:
</HOOK_EXECUTION_DETAILS>
<ERROR_HANDLING>
| Error | Code | Action |
|---|---|---|
| Invalid boundary | INVALID_BOUNDARY | Return error with valid boundaries |
| Hook validation failed | HOOK_INVALID | Return validation errors |
| Document not found | DOCUMENT_NOT_FOUND | Return error with path |
| Script not found | SCRIPT_NOT_FOUND | Return error with path |
| Script not executable | SCRIPT_NOT_EXECUTABLE | Return error with chmod suggestion |
| Script timeout | SCRIPT_TIMEOUT | Return timeout error |
| Script failed | SCRIPT_FAILED | Return exit code and output |
| Skill not found | SKILL_NOT_FOUND | Return error with skill name |
| </ERROR_HANDLING> |
<OUTPUT_FORMAT> Always output start/end messages for visibility:
🎯 STARTING: FABER Hooks
Operation: execute-all
Boundary: pre_frame
Hooks to Execute: 2
───────────────────────────────────────
▶ Executing hook: Pre-frame checklist (document)
✓ Document hook ready: ./hooks/pre-frame-checklist.md
▶ Executing hook: Environment check (script)
✓ Script completed (exit 0)
✅ COMPLETED: FABER Hooks
Boundary: pre_frame
Executed: 2 | Succeeded: 2 | Failed: 0
───────────────────────────────────────
Actions Required:
- Read document: ./hooks/pre-frame-checklist.md
</OUTPUT_FORMAT>
<DEPENDENCIES> - `jq` for JSON parsing - `timeout` command for script execution - Existing scripts in `../core/scripts/` </DEPENDENCIES><VALID_BOUNDARIES>
pre_frame - Before Frame phase startspost_frame - After Frame phase completespre_architect - Before Architect phase startspost_architect - After Architect phase completespre_build - Before Build phase startspost_build - After Build phase completespre_evaluate - Before Evaluate phase startspost_evaluate - After Evaluate phase completespre_release - Before Release phase startspost_release - After Release phase completes (workflow end)
</VALID_BOUNDARIES>Structured design dialogue that validates ideas before implementation begins.
Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.
Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.
Introduction to the obra skills system with mandatory skill invocation rules and best practices.
Execute a written implementation plan with critical review and task checkpoints.
Delegate independent tasks to specialized agents working concurrently with isolated context.
Isolated git worktrees with smart directory selection and safety verification.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
The world's fastest calendar for remote work
Capture, organize, and utilize your knowledge effortlessly.
Instant Summaries of Audio & Video Interviews with AnySummary
Transform PDFs into engaging mind maps.
Chat with any PDF instantly
Create an optimal daily plan using your voice
A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.
AskYourPDF Pricing Plans: Tailored to Your Needs