بنقرة واحدة
quick
Execute an ad-hoc task with atomic commits. Skips full plan/review.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Execute an ad-hoc task with atomic commits. Skips full plan/review.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Run multiple phases hands-free. Chains discuss, plan, build, and verify automatically.
Start a new project. Deep questioning, research, requirements, and roadmap.
Execute all plans in a phase. Spawns agents to build in parallel, commits atomically.
Configure settings: depth, model profiles, features, git, and gates.
Execute the next logical step automatically. No prompts, no decisions — just do it.
Systematic debugging with hypothesis testing. Persistent across sessions.
| name | quick |
| description | Execute an ad-hoc task with atomic commits. Skips full plan/review. |
| allowed-tools | Read, Write, Edit, Bash, Glob, Grep, Task, AskUserQuestion |
| argument-hint | <description> [--discuss] [--full] |
STOP -- DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 0 immediately.
You are running the quick skill. Your job is to execute a small, self-contained task outside the normal plan/build/review cycle. Quick tasks get their own tracking, atomic commits, and state integration, but skip the overhead of full planning.
This skill spawns a single Task(subagent_type: "pbr:executor") for execution.
Dual-mode flow: This skill has two execution paths controlled by the features.zero_friction_quick config toggle (default: true). The zero-friction path reaches the executor in 2 tool calls. The legacy path preserves the full pre-planning ceremony.
Before ANY tool calls, display this banner:
╔══════════════════════════════════════════════════════════════╗
║ PLAN-BUILD-RUN ► QUICK TASK ║
╚══════════════════════════════════════════════════════════════╝
Then proceed to Step 1.
references/questioning.md -- Questioning philosophy and progressive depth patternsreferences/ui-brand.md -- Status symbols, banners, checkpoint boxes, progress displayReference: skills/shared/context-budget.md for the universal orchestrator rules.
Reference: skills/shared/agent-type-resolution.md for agent type fallback when spawning Task() subagents.
Additionally for this skill:
Task(subagent_type: "pbr:executor")Parse $ARGUMENTS for optional flags before extracting the task description:
--discuss: Before spawning the executor, ask 2-3 clarifying questions about the approach. Write the Q&A results to .planning/quick/{NNN}-{slug}/CONTEXT.md as a lightweight decision record. Pass this CONTEXT.md to the executor via files_to_read.--research: Spawn a Task(subagent_type: "pbr:researcher") to investigate the task domain before execution. The researcher writes findings to .planning/quick/{NNN}-{slug}/RESEARCH.md. Pass this RESEARCH.md to the executor via files_to_read.--full: Enable plan-checker validation (max 2 iterations) before executor spawn AND post-execution verification via verifier agent. Creates VERIFICATION.md in the quick task directory. Does NOT escalate to /pbr:plan -- stays in quick pipeline.Strip these flags from $ARGUMENTS before using the remainder as the task description.
Flag combinations:
--discuss alone: Quick task with discussion + CONTEXT.md--research alone: Quick task with research + RESEARCH.md--full alone: Quick task with plan-checking + verification--discuss --research: Discussion + research before execution--discuss --full: Discussion + plan-checking + verification--research --full: Research + plan-checking + verification--discuss --research --full: All quality layersNote: --full converts the zero-friction path to use a PLAN.md so plan-checker can validate it. The executor then reads the PLAN.md instead of inline instructions. This adds 1-2 tool calls but enables structured validation.
Quick tasks are for small, well-defined work. If the user describes something that would take more than 3-5 tasks or touches multiple subsystems, suggest using the full plan/build cycle instead.
Init-first pattern: Run the init command to get config + state in a single call:
node plugins/pbr/scripts/pbr-tools.js init quick "{description}"
From the init output:
.planning/ directory exists
.planning/ and .planning/quick/ directories, then warn "No Plan-Build-Run project found. This will create a standalone quick task. Consider running /pbr:new-project first for full project tracking.".planning/ exists but .planning/quick/ does not: create .planning/quick/ nowfeatures.zero_friction_quick from config (default: true)Route decision:
--full flag: continue with the selected path below (plan-checker and verifier steps will activate later). Do NOT escalate to Skill({ skill: "pbr:plan" }).--discuss flag: go to Step 1c (ask clarifying questions, write CONTEXT.md), then continue.--research flag: go to Step 1d (spawn researcher, write RESEARCH.md), then continue.--discuss and --research: run Step 1c first, then Step 1d.features.zero_friction_quick is true (default): go to Step 2 (zero-friction path)features.zero_friction_quick is false: go to Step 5 (legacy path)DO NOT fall back to the legacy flow when zero_friction_quick is true. The zero-friction path is the intended default experience.
If $ARGUMENTS is provided and non-empty (after stripping flags):
If $ARGUMENTS is empty:
--discuss flag is set)Ask 2-3 clarifying questions about the approach, constraints, and edge cases. Use plain text prompts (not AskUserQuestion -- these require freeform answers).
After receiving answers, write the Q&A to .planning/quick/{NNN}-{slug}/CONTEXT.md:
# Quick Task Context
**Task:** {description}
**Date:** {YYYY-MM-DD}
## Discussion
{Q&A content -- each question and answer}
## Decisions
{Key decisions derived from the discussion}
Note: The task directory .planning/quick/{NNN}-{slug}/ must be created before writing CONTEXT.md. In the zero-friction path, create it now (it will be reused in Step 3). In the legacy path, it is created in Step 5e.
Continue to Step 1d if --research is also set, otherwise continue to the selected path (Step 2 or Step 5).
--research flag is set)Spawn a Task(subagent_type: "pbr:researcher") with the following prompt:
Research the following task domain for a quick task.
Task: {description}
Write findings to: .planning/quick/{NNN}-{slug}/RESEARCH.md
Focus on: existing patterns in the codebase, potential risks, recommended approach.
Keep it concise (under 500 tokens).
Note: The task directory .planning/quick/{NNN}-{slug}/ must exist before the researcher writes to it. Create it if not already created by Step 1c.
After the researcher completes, verify .planning/quick/{NNN}-{slug}/RESEARCH.md exists. If missing, log a warning and continue without research context.
Continue to the selected path (Step 2 or Step 5).
This path executes the task in 2 tool calls: init (Step 1) + spawn executor (Step 2). No PLAN.md is written before execution. No
.active-skillis set. Artifacts are created AFTER execution completes.
Generate slug via CLI (or use blob.slug from initQuick if available):
pbr-tools slug-generate "{description}"
Parse the JSON output to get the slug field. If blob.slug is available from the initQuick response, use it directly instead of calling slug-generate.
Find next task number from .planning/quick/ listing (from init output if available, else quick ls):
.planning/quick/ directory for existing quick task directories{NNN}-{slug}/)Display to the user: > Spawning executor...
Context Assembly: Build the executor prompt's files_to_read block dynamically at spawn time. Always include STATE.md and CLAUDE.md as base files. Add CONTEXT.md line only if --discuss was used AND the file was created. Add RESEARCH.md line only if --research was used AND the file was created. Only include files that exist on disk.
Spawn a Task(subagent_type: "pbr:executor") with the following inline prompt:
Completion markers: After executor completes, check for
## PLAN COMPLETEor## PLAN FAILED. Route accordingly.
You are executor. Execute this quick task directly.
<files_to_read>
CRITICAL (no hook): Read these files BEFORE any other action:
1. .planning/STATE.md -- current project state (if exists)
2. CLAUDE.md -- project instructions
{3. .planning/quick/{NNN}-{slug}/CONTEXT.md -- task context (only if --discuss was used)}
{4. .planning/quick/{NNN}-{slug}/RESEARCH.md -- research findings (only if --research was used)}
</files_to_read>
Do NOT look for a PLAN.md file. Execute based on this description:
Task: {description}
Task ID: quick-{NNN}
Commit scope: quick-{NNN}
Instructions:
1. Understand what needs to change
2. Make the changes
3. Run appropriate verification (lint, test, typecheck)
4. Commit with format: {type}(quick-{NNN}): {description}
Do NOT write SUMMARY.md -- it will be generated post-hoc.
When done, output ## PLAN COMPLETE with a list of commits made.
This is the 2nd tool call. Code is now running.
If --full flag is set in the zero-friction path, add plan-checker validation before executor spawn:
Create PLAN.md: Write a PLAN.md to .planning/quick/{NNN}-{slug}/PLAN.md using the same format as Legacy Step 5f. This is required so the plan-checker has a structured plan to validate.
Run plan-checker loop: Same logic as Legacy Step 5g-full:
iteration = 0
max_iterations = 2
while iteration < max_iterations:
Spawn Task(subagent_type: "pbr:plan-checker") with quick-mode validation profile
(same prompt as Legacy Step 5g-full)
If CHECK PASSED: break
If CHECK FAILED: fix PLAN.md, iteration += 1
If max_iterations reached: warn user and continue.
files_to_read pointing to the PLAN.md (same as Legacy Step 5h).Note: --full converts the zero-friction path to use a PLAN.md so plan-checker can validate it. The executor then reads the PLAN.md instead of inline instructions.
If --full is NOT set, skip this step entirely -- the zero-friction path proceeds directly to Step 2 executor spawn with no overhead.
After the executor completes:
CRITICAL — DO NOT SKIP: Create task directory .planning/quick/{NNN}-{slug}/ NOW. Executor output cannot be stored without this directory.
Create task directory: .planning/quick/{NNN}-{slug}/
Generate post-hoc SUMMARY.md (if features.post_hoc_artifacts is not false):
node -e "const ph=require('./plugins/pbr/scripts/lib/post-hoc.js'); ph.generateSummary(process.argv[1], process.argv[2], {commitPattern: 'quick-{NNN}', description: '{description}'})" .planning ".planning/quick/{NNN}-{slug}"
features.post_hoc_artifacts is false: skip SUMMARY.md generationUpdate STATE.md quick tasks table (same as Legacy Step 5i)
Post-execution verification (only if --full): If --full flag is set AND executor completed successfully, run the same verifier spawn as Legacy Step 5i-full. Read VERIFICATION.md result after verifier returns.
Check pending todos (same as Step 6)
Go to Step 4
If planning.commit_docs: true in config.json:
--full was used)docs(planning): quick task {NNN} - {slug}Go to Step 8 (Report Results).
This path is used when
features.zero_friction_quickisfalse. It preserves the full pre-planning ceremony: scope validation, PLAN.md creation, then executor spawn.
CRITICAL — DO NOT SKIP: Write .active-skill NOW. Write .planning/.active-skill with the content quick (single word, no newline). This registers you with the workflow enforcement hook -- it will block source code writes until PLAN.md exists.
Check if ROADMAP.md exists:
Analyze the task description. If it appears to involve:
CRITICAL -- DO NOT SKIP: Present the following choice to the user via AskUserQuestion before proceeding:
Then use the scope-confirm pattern (see skills/shared/gate-prompts.md):
Use AskUserQuestion: question: "This task looks complex. Quick tasks work best for bug fixes, small features, config changes, and single-module refactors. How would you like to proceed?" header: "Scope" options: - label: "Quick task" description: "Execute as lightweight task" - label: "Full plan" description: "Switch to /pbr:plan-phase for proper planning" - label: "Revise" description: "Let me rewrite the task description" multiSelect: false
If user selects "Quick task": continue to Step 5d.
If user selects "Full plan": clean up .active-skill if it exists, then chain directly: Skill({ skill: "pbr:plan", args: "" }). The user's task description carries over in conversation context -- the plan skill will pick it up.
If user selects "Revise": go back to Step 1b to get a new task description.
If user types something else (freeform): interpret their response and proceed accordingly.
Generate slug via CLI:
pbr-tools slug-generate "{description}"
Parse the JSON output to get the slug field.
Find next task number:
.planning/quick/ directory for existing quick task directories{NNN}-{slug}/)STOP -- Use the Write or Bash tool RIGHT NOW to create this directory. Do not skip this step.
Create: .planning/quick/{NNN}-{slug}/
Verify the directory exists with ls .planning/quick/{NNN}-{slug}/ before proceeding. If the directory doesn't exist, you have a bug -- go back and create it.
Write .planning/quick/{NNN}-{slug}/PLAN.md:
Read references/plan-format.md for the plan file format. Fill in all {variable} placeholders with actual task data from the user's description and project context.
Plan generation rules:
echo "Manual verification needed" and add a noteFor multi-task quick tasks, add sequential tasks:
<task name="{task 1}" type="auto">
...
</task>
<task name="{task 2}" type="auto">
...
</task>
PLANNING GATE -- verify before spawning executor:
Before proceeding to Step 5g, confirm these exist on disk:
.planning/quick/{NNN}-{slug}/ directory exists.planning/quick/{NNN}-{slug}/PLAN.md exists, is non-empty, and contains at least one <task> blockIf either check fails, you have skipped steps. Go back and complete Steps 5d-5f. Do NOT proceed to spawning an executor.
If --full flag is set, run the plan-checker before spawning the executor:
iteration = 0
max_iterations = 2
while iteration < max_iterations:
Spawn Task(subagent_type: "pbr:plan-checker") with prompt:
You are plan-checker validating a QUICK TASK plan (not a full phase plan).
<files_to_read>
1. .planning/quick/{NNN}-{slug}/PLAN.md
</files_to_read>
Quick-mode validation profile -- check ONLY these dimensions:
1. Task completeness: all 5 elements present (name, files, action, verify, done)
2. Verification commands: verify commands are executable
3. Scope sanity: <= 3 tasks, <= 8 files total
SKIP these full-plan-only dimensions:
- Cross-plan data contracts
- Wave/dependency correctness
- Requirement coverage (quick tasks don't have requirement IDs)
- Context compliance (no phase CONTEXT.md for quick tasks unless --discuss)
Output: ## CHECK PASSED or ## CHECK FAILED with specific issues.
If plan-checker returns CHECK PASSED: break loop, proceed to executor
If plan-checker returns CHECK FAILED:
- Read the issues
- Fix PLAN.md inline (rewrite the plan addressing issues)
- iteration += 1
- Loop again
If max_iterations reached without passing: warn user "Plan-checker did not pass after 2 iterations. Proceeding with current plan." and continue to executor.
If --full is NOT set, skip this step entirely -- zero overhead on the default path.
Pre-spawn check -- Verify .planning/quick/{NNN}-{slug}/PLAN.md exists and contains at least one <task> block. If missing, STOP and complete Steps 5d-5f first.
Display to the user: > Spawning executor...
Spawn a Task(subagent_type: "pbr:executor") with the following prompt:
Completion markers: After executor completes, check for
## PLAN COMPLETEor## PLAN FAILED. Route accordingly.
Context Assembly: Build the files_to_read block dynamically. Always include PLAN.md, STATE.md, and CLAUDE.md. Add CONTEXT.md line only if --discuss was used AND the file was created. Add RESEARCH.md line only if --research was used AND the file was created. Only include files that exist on disk.
You are executor. Execute the following quick task plan.
<files_to_read>
CRITICAL (no hook): Read these files BEFORE any other action:
1. .planning/quick/{NNN}-{slug}/PLAN.md -- the quick task plan with task details
2. .planning/STATE.md -- current project state and progress (if exists)
3. CLAUDE.md -- project instructions
{4. .planning/quick/{NNN}-{slug}/CONTEXT.md -- task context (only if --discuss was used)}
{5. .planning/quick/{NNN}-{slug}/RESEARCH.md -- research findings (only if --research was used)}
</files_to_read>
Plan file: .planning/quick/{NNN}-{slug}/PLAN.md
Phase: quick
Plan ID: {NNN}
Read the plan file and execute all tasks sequentially. Follow all executor protocols:
- Atomic commits per task
- Commit format: fix(quick-{NNN}): {description} (or feat/refactor/test as appropriate)
- Run verify commands
- Create SUMMARY.md at .planning/quick/{NNN}-{slug}/SUMMARY.md
Execute now.
After the executor completes:
.planning/quick/{NNN}-{slug}/SUMMARY.mdcompleted -- task succeededpartial -- some tasks completed, others failedfailed -- task failed entirelySpot-Check Executor Output:
.planning/quick/{NNN}-{slug}/SUMMARY.md existskey_files frontmatter exist on diskgit log --oneline -5 and verify at least one commit matches the task scope## Self-Check: FAILED in SUMMARY.md -- if present, warn the userIf ANY spot-check fails, present the user with options: Retry / Continue anyway / Abort
If --full flag is set AND executor completed successfully (status = completed or partial):
Spawn Task(subagent_type: "pbr:verifier") with prompt:
You are verifier. Verify this quick task achieved its goals.
<files_to_read>
1. .planning/quick/{NNN}-{slug}/PLAN.md -- the task plan with acceptance criteria
2. .planning/quick/{NNN}-{slug}/SUMMARY.md -- executor's completion report
</files_to_read>
Quick-mode verification:
1. Check that files listed in PLAN.md files_modified exist on disk
2. Check that verify commands from PLAN.md pass when re-run
3. Check that commits exist matching the task scope (quick-{NNN})
Write VERIFICATION.md to: .planning/quick/{NNN}-{slug}/VERIFICATION.md
Use this frontmatter format:
---
status: passed|failed
must_haves_total: {N}
must_haves_passed: {N}
gaps: []
---
Output: ## VERIFICATION COMPLETE
After verifier returns:
.planning/quick/{NNN}-{slug}/VERIFICATION.md frontmatter/pbr:debugIf --full is NOT set, skip this step entirely -- no verifier overhead on the default path.
If STATE.md exists, update the Quick Tasks section.
If the section doesn't exist, create it:
### Quick Tasks
| # | Description | Status | Commit |
|---|-------------|--------|--------|
Add the new entry:
| {NNN} | {description} | {status indicator} | {commit hash or "N/A"} |
Status indicators:
Reference: skills/shared/commit-planning-docs.md for the standard commit pattern.
If planning.commit_docs: true in config.json:
--full was used)docs(planning): quick task {NNN} - {slug}Go to Step 6 (Check Pending Todos), then Step 7 (Clean Up Active Skill), then Step 8 (Report Results).
After completing work, check if any pending todos are now satisfied:
.planning/todos/pending/ exists and contains filesstatus: done, add completed: {YYYY-MM-DD}, write to .planning/todos/done/{filename}, delete from pending/ via Bash rmAuto-closed todo {NNN}: {title} (satisfied by quick task {NNN})
d. If a todo is partially related but not fully satisfied: do NOT close it, but mention it:Related pending todo {NNN}: {title} -- may be partially addressed
e. If a todo is unrelated: skip silentlyImportant: Only auto-close todos where the match is unambiguous. When in doubt, leave it open -- false closures are worse than missed closures.
Delete .planning/.active-skill if it exists. This must happen on all paths (success, partial, and failure) before reporting results.
Note: The zero-friction path never sets .active-skill, so this is primarily needed for the legacy path. Deleting a non-existent file is harmless.
Artifact check -- Before reporting, verify all required artifacts exist:
.planning/quick/{NNN}-{slug}/ directory exists.planning/quick/{NNN}-{slug}/SUMMARY.md exists and is non-empty (or was intentionally skipped via post_hoc_artifacts: false)--full was used: .planning/quick/{NNN}-{slug}/VERIFICATION.md existsIf SUMMARY.md is missing and was expected: the executor may have failed -- re-read executor output and report the failure. If STATE.md entry is missing: write it now (Step 5j logic).
Display results to the user with branded output:
If completed:
+--------------------------------------------------------------+
| PLAN-BUILD-RUN > QUICK TASK COMPLETE |
+--------------------------------------------------------------+
**Quick Task {NNN}:** {description}
Commit: {hash} -- {commit message}
Files: {list of files changed}
{If --full was used: "Verification: PASSED" or "Verification: FAILED -- {gap details}"}
+--------------------------------------------------------------+
| > NEXT UP |
+--------------------------------------------------------------+
**Continue your workflow** -- task complete
`/pbr:progress`
`/clear` first -- fresh context window
**Also available:**
- `/pbr:continue` -- execute next logical step
- `/pbr:check-todos` -- see pending todos
If partial:
+--------------------------------------------------------------+
| PLAN-BUILD-RUN > QUICK TASK {NNN} PARTIAL |
+--------------------------------------------------------------+
Completed: {N} of {M} tasks
Failed task: {task name} -- {failure reason}
-> Re-run with `/pbr:quick` to retry
-> `/pbr:debug` to investigate the failure
If failed:
+--------------------------------------------------------------+
| ERROR |
+--------------------------------------------------------------+
Quick Task {NNN} failed: {failure details}
**To fix:** {what to try next}
When the user describes a task, infer file paths from:
Choose verification based on context:
| Context | Verification Command |
|---|---|
| TypeScript project | npx tsc --noEmit |
| Has test files | npm test or pytest |
| Has ESLint | npx eslint {files} |
| Python project | python -c "import {module}" |
| Config change | cat {file} to verify content |
| Script | Run the script with safe args |
| Unknown | echo "Manual verification needed" |
| Task Nature | Commit Type |
|---|---|
| Bug fix | fix |
| New feature/functionality | feat |
| Code restructuring | refactor |
| Adding tests | test |
| Config/tooling changes | chore |
| Documentation | docs |
.planning/ directory.planning/quick/ directory.planning/.active-skill before reporting the error (if it was set)These are the most common failure modes. If you violate any of these, the skill has not executed correctly.
Task(subagent_type: "pbr:executor"). This is the single most important rule.zero_friction_quick is true unless --full flag is set. The zero-friction path is the intended default experience..planning/quick/{NNN}-{slug}/ -- every quick task gets a tracking directory (created post-hoc in zero-friction, pre-execution in legacy)post_hoc_artifacts: false)git add . -- stage specific files only/pbr:plan-phase.active-skill in the zero-friction path -- it adds unnecessary ceremony