[WHAT] Workshop lifecycle for building and evolving plugins, hooks, and integrations
[HOW] Four phases: intake (capture ideas), analysis (scope/approach), POC (build prototype), poly integration (promote to production targets)
[WHEN] Use when developing new lev capabilities, promoting POCs to production, or systematically building hooks/plugins
[WHY] Ensures systematic development from idea to production with quality gates at each phase
Triggers: "workshop this", "analyze for workshop", "poc this", "integrate to poly", "workshop status", "build capability", "new hook"
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Um comando direto ignora o prompt de revisão. Verifique a origem antes de executá-lo.
Instruções da origem · Visualização somente leitura
name
lev-workshop
description
[WHAT] Workshop lifecycle for building and evolving plugins, hooks, and integrations
[HOW] Four phases: intake (capture ideas), analysis (scope/approach), POC (build prototype), poly integration (promote to production targets)
[WHEN] Use when developing new lev capabilities, promoting POCs to production, or systematically building hooks/plugins
[WHY] Ensures systematic development from idea to production with quality gates at each phase
Triggers: "workshop this", "analyze for workshop", "poc this", "integrate to poly", "workshop status", "build capability", "new hook"
Purpose: Capture raw ideas, requirements, or problems that need solving.
Input: Natural language description, error message, feature request, or observed pattern.
Process:
config_loader - Load relevant domain context
error_handler - If intake is from error, parse and classify
Classify intake type:
hook - Lifecycle hook meta-prompt
plugin - External integration
pattern - Reusable workflow
fix - Bug fix or improvement
Output: Workshop item in ~/lev/workshop/intake/
# ~/lev/workshop/intake/item-001.yaml
id:
ws-001
type:
hook
title:
"Retry with circuit breaker"
source:
"Observed repeated failures in CB3 scraping"
created:
"2026-01-13T10:00:00Z"
status:
intake
raw_input:
|
CB3 keeps hitting rate limits and retrying forever.
Need a circuit breaker pattern.
Phase 2: Analysis
Purpose: Understand scope, dependencies, and approach before building.
Process:
dependency_checker - What does this need?
progress_reporter - Track analysis progress
Research existing implementations
Define success criteria
quality_gate - Is analysis complete enough to proceed?
Questions to answer:
What existing hooks/plugins does this interact with?
What's the minimal viable implementation?
What are the edge cases?
How will we test it?
Output: Analysis document added to workshop item
# Updated item-001.yamlanalysis:dependencies:-error_handler(hook)-checkpoint_manager(hook)approach:|
1. Track failure count per operation
2. Open circuit after N failures
3. Half-open state for testing
4. Auto-close after cooldown
success_criteria:-Circuitopensafter3failures-Half-openafter30s-Fullcloseafter3successesestimated_complexity:mediumanalysis_complete:true
Phase 3: POC (Proof of Concept)
Purpose: Build a working prototype to validate the approach.
Process:
checkpoint_manager - Save state frequently during development
Project-specific - CB3, TimeTravel, josh-imessage, etc.
System - ~/lev/plugins/ and project hooks for automated workflows
Poly routing abstraction:
# Integration targets can register as recipientsintegration_targets:lev_hooks:type:hooklocation:~/.claude/skills/lev-lifecycle/references/hooks.mdformat:yaml_blockagent_sdk_patterns:type:patternlocation:~/.claude/skills/claude-agent-sdk/references/patterns.mdformat:python_codecb3_tools:type:toollocation:~/cb3/src/tools/format:python_moduletimetravel_adapters:type:adapterlocation:~/lev/research/timetravel/src/adapters/format:typescript_module
id:ws-XXXtype:hook|plugin|pattern|fixtitle:stringsource:string# where this came fromcreated:timestampstatus:intake|analysis|poc|integrating|complete|archived# Phase outputsraw_input:stringanalysis:dependencies:arrayapproach:stringsuccess_criteria:arrayestimated_complexity:low|medium|highanalysis_complete:booleanpoc:location:pathfiles:arraytest_results:objectdemo_command:stringpoc_complete:booleanintegration:status:pending|in_progress|complete|failedintegrated_to:arrayrouting_rules:arraypost_integration_hooks:array# Metadatabd_issue:string# linked bd beadrelated_items:arraytags:array
Process Tracking
Workshop items are tracked in bd for visibility across sessions:
# Create bd issue for workshop item
bd create "Workshop: Circuit Breaker Hook" -t feature -p 2 \
-d "Build circuit breaker pattern for retry logic"# Link workshop item to bd# In item-001.yaml:# bd_issue: ws-circuit-breaker-001# Query workshop status
bd list --label workshop --status open
CLI Commands
# Start new workshop item
lev workshop intake "Need circuit breaker for retries"# Check workshop status
lev workshop status
# List items by phase
lev workshop list --phase poc
# Promote to next phase
lev workshop promote ws-001 --to analysis
lev workshop promote ws-001 --to poc
lev workshop promote ws-001 --to integration
# Run POC tests
lev workshop test ws-001
# Integrate to target
lev workshop integrate ws-001 --target lev_hooks
# Archive completed item
lev workshop archive ws-001
Example: Building a New Hook
# 1. Intake
lev workshop intake "Error handler should support circuit breaker pattern"# → Creates ws-001 in intake phase# 2. Analysis
lev workshop analyze ws-001
# Agent asks questions, researches existing hooks# → Adds analysis section, promotes to analysis phase# 3. POC
lev workshop poc ws-001
# Agent builds prototype in poc/ws-001/# → Creates files, runs tests, promotes to poc phase# 4. Integration
lev workshop integrate ws-001 --target lev_hooks
# Agent adds to hooks.md, updates references# → Routes to all configured targets# 5. Complete
lev workshop complete ws-001
# Archives item, updates bd issue
Integration with Claude Agent SDK
Workshop items that involve LLM decision points use the Claude Agent SDK:
from claude_agent_sdk import query, ClaudeAgentOptions
asyncdefanalyze_workshop_item(item_id: str):
"""Use agent to analyze workshop item requirements"""asyncfor msg in query(
prompt=f"""
Analyze workshop item {item_id} for implementation:
1. Read the raw input
2. Identify dependencies on existing hooks/plugins
3. Propose minimal implementation approach
4. Define success criteria
5. Estimate complexity
""",
options=ClaudeAgentOptions(
allowed_tools=["Read", "Grep", "Glob"],
permission_mode="bypassPermissions"
)
):
ifhasattr(msg, "result"):
return msg.result
~/.claude/skills/claude-agent-sdk/ - Agent patterns for LLM integration
~/lev/workshop/ - Workshop storage
Relates
Master Router
Lev Master Router (lev/SKILL.md) - Routes all lev-* skills
Parent skill that dispatches to this skill based on keywords/context
Technique Map
Role definition - Clarifies operating scope and prevents ambiguous execution.
Context enrichment - Captures required inputs before actions.
Output structuring - Standardizes deliverables for consistent reuse.
Step-by-step workflow - Reduces errors by making execution order explicit.
Edge-case handling - Documents safe fallbacks when assumptions fail.
Technique Notes
These techniques improve reliability by making intent, inputs, outputs, and fallback paths explicit. Keep this section concise and additive so existing domain guidance remains primary.
Prompt Architect Overlay
Role Definition
You are the prompt-architect-enhanced specialist for lev-workshop, responsible for deterministic execution of this skill's guidance while preserving existing workflow and constraints.
Input Contract
Required: clear user intent and relevant context for this skill.
Preferred: repository/project constraints, existing artifacts, and success criteria.
If context is missing, ask focused questions before proceeding.
Output Contract
Provide structured, actionable outputs aligned to this skill's existing format.
Include assumptions and next steps when appropriate.
Preserve compatibility with existing sections and related skills.
Edge Cases & Fallbacks
If prerequisites are missing, provide a minimal safe path and request missing inputs.
If scope is ambiguous, narrow to the highest-confidence sub-task.
If a requested action conflicts with existing constraints, explain and offer compliant alternatives.