brainstorming
Structured design dialogue that validates ideas before implementation begins.
checkpoint-approval
Manage user approval checkpoints with proper waiting and flag creation
Full skill instructions
Purpose: Enforce user approval checkpoints with proper presentation, waiting, flag creation, and state transitions.
Performance: Prevents checkpoint bypasses, ensures user control over critical transitions
For Plan Approval (SYNTHESIS → IMPLEMENTATION):
## Implementation Plan
[Shows synthesized plan from task.md]
### Stakeholder Requirements Summary:
- Architect: [key points]
- Tester: [key points]
- Formatter: [key points]
### Implementation Approach:
[planned approach]
### Agents to Invoke:
- architect (code implementation)
- tester (test creation)
- formatter (documentation/style)
⚠️ **APPROVAL REQUIRED**: Please review and approve to proceed.
For Change Approval (AWAITING_USER_APPROVAL → COMPLETE):
## Changes Ready for Merge
### Commit SHA: abc1234
### Changes Summary:
```bash
git diff --stat main...{task-branch}
[list of changed files]
⚠️ APPROVAL REQUIRED: Please review changes and approve merge to main.
### 2. Waits for Approval
```bash
# Skill STOPS and waits for user to respond with:
- "approved"
- "proceed"
- "looks good"
- "LGTM"
- "merge it"
# Does NOT proceed on:
- Silence
- Ambiguous responses
- Questions
After explicit approval:
# For plan approval:
touch /workspace/tasks/{task-name}/user-approved-synthesis.flag
# For change approval:
touch /workspace/tasks/{task-name}/user-approved-changes.flag
# For plan approval:
jq '.state = "IMPLEMENTATION"' task.json > tmp.json
mv tmp.json task.json
# For change approval:
jq '.state = "COMPLETE"' task.json > tmp.json
mv tmp.json task.json
# After SYNTHESIS phase completes
TASK_NAME="implement-formatter-api"
# Invoke checkpoint-approval skill with plan type
/workspace/main/.claude/scripts/checkpoint-approval.sh \
--task "$TASK_NAME" \
--type "plan" \
--plan-file "/workspace/tasks/$TASK_NAME/task.md"
# After VALIDATION phase passes
TASK_NAME="implement-formatter-api"
# Invoke checkpoint-approval skill with changes type
/workspace/main/.claude/scripts/checkpoint-approval.sh \
--task "$TASK_NAME" \
--type "changes" \
--branch "{task-name}"
Affirmative:
NOT Valid:
CLASSIFIED state
↓
Requirements gathered (3 agent reports)
↓
SYNTHESIS state: Plan created in task.md
↓
[checkpoint-approval skill invoked] ← STOPS HERE
↓
Present plan to user
↓
Wait for explicit approval
↓
User says "approved"
↓
Create user-approved-synthesis.flag
↓
Transition to IMPLEMENTATION state
↓
Invoke implementation agents
IMPLEMENTATION state
↓
Agents implement, merge to task branch
↓
VALIDATION state: Build and test
↓
All validation passes
↓
AWAITING_USER_APPROVAL state
↓
[checkpoint-approval skill invoked] ← STOPS HERE
↓
Present changes to user (diff, commit SHA)
↓
Wait for explicit approval
↓
User says "approved"
↓
Create user-approved-changes.flag
↓
Transition to COMPLETE state
↓
Squash and merge to main
Skill returns JSON after approval received:
{
"status": "approved",
"checkpoint_type": "plan",
"task_name": "implement-formatter-api",
"flag_created": "/workspace/tasks/implement-formatter-api/user-approved-synthesis.flag",
"state_transition": "SYNTHESIS → IMPLEMENTATION",
"approval_phrase": "approved",
"timestamp": "2025-11-11T12:34:56-05:00"
}
# "ok" is too ambiguous, re-prompt:
"I need explicit approval to proceed. Please respond with
'approved', 'proceed', or 'looks good' if you approve the plan."
# Answer question, then re-prompt for approval:
"[Answer to question]
Does this address your concern? If so, please approve with
'approved' or 'proceed' to continue."
# DO NOT proceed, wait indefinitely
# After reasonable time (5+ minutes), prompt:
"Waiting for approval to proceed. Please review the plan above
and respond with 'approved' if you'd like to proceed."
# Verify flag exists:
ls -la /workspace/tasks/{task-name}/*-flag
# Check flag permissions:
test -r /workspace/tasks/{task-name}/user-approved-synthesis.flag
echo $? # Should be 0
# Verify state matches:
jq -r '.state' /workspace/tasks/{task-name}/task.json
# WRONG:
"User hasn't objected, proceeding with implementation..."
# CORRECT:
"Waiting for user approval. No response yet, continuing to wait..."
# WRONG:
User: "sure"
Agent: [Creates flag and proceeds]
# CORRECT:
User: "sure"
Agent: "To confirm, are you approving the plan? Please respond
with 'approved' or 'proceed' to continue."
# WRONG:
1. Create flag
2. Transition state
3. Present plan to user
# CORRECT:
1. Present plan to user
2. Wait for approval
3. Create flag
4. Transition state
# WRONG:
"This is a straightforward task, skipping approval..."
# CORRECT:
"Presenting plan for approval (required for all tasks)..."
The checkpoint-approval script performs:
Presentation Phase
Waiting Phase
Approval Phase
Verification Phase
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