Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Execute a quick task with GSD guarantees (atomic commits, state tracking) but skip optional agents
.claude/skills/davepoon-gsd-quick/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 48% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 224% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 76% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 40% | 0% |
<objective> Execute small, ad-hoc tasks with GSD guarantees (atomic commits, STATE.md tracking).
Quick mode is the same system with a shorter path:
.planning/quick/ separate from planned phasesDefault: Skips research, discussion, plan-checker, verifier. Use when you know exactly what to do.
--discuss flag: Lightweight discussion phase before planning. Surfaces assumptions, clarifies gray areas, captures decisions in CONTEXT.md. Use when the task has ambiguity worth resolving upfront.
--full flag: Enables the complete quality pipeline — discussion + research + plan-checking + verification. One flag for everything.
--validate flag: Enables plan-checking (max 2 iterations) and post-execution verification only. Use when you want quality guarantees without discussion or research.
--research flag: Spawns a focused research agent before planning. Investigates implementation approaches, library options, and pitfalls for the task. Use when you're unsure of the best approach.
Granular flags are composable: --discuss --research --validate gives the same result as --full.
Subcommands:
list — List all quick tasks with statusstatus <slug> — Show status of a specific quick taskresume <slug> — Resume a specific quick task by slug</objective>
<execution_context> @${CLAUDE_PLUGIN_ROOT}/workflows/quick.md </execution_context>
<context> $ARGUMENTS
Context files are resolved inside the workflow (init quick) and delegated via <files_to_read> blocks. </context>
<process>
Parse $ARGUMENTS for subcommands FIRST:
Slug sanitization (for status and resume): Strip any characters not matching [a-z0-9-]. Reject slugs longer than 60 chars or containing .. or /. If invalid, output "Invalid session slug." and stop.
When SUBCMD=list:
bashls -d .planning/quick/*/ 2>/dev/null
For each directory found:
status from its frontmatter via:bash gsd-sdk query frontmatter.get .planning/quick/{dir}/SUMMARY.md status 2>/dev/null
stat -f "%SB" -t "%Y-%m-%d" (macOS) or stat -c "%w" (Linux); fall back to the date prefix in the directory name (format: YYYYMMDD- prefix)complete ✓incompletein-progressabandoned? (>7 days, no summary)SECURITY: Directory names are read from the filesystem. Before displaying any slug, sanitize: strip non-printable characters, ANSI escape sequences, and path separators using: name.replace(/[^\x20-\x7E]/g, '').replace(/[/\\]/g, ''). Never pass raw directory names to shell commands via string interpolation.
Display format:
Quick Tasks
────────────────────────────────────────────────────────────
slug date status
backup-s3-policy 2026-04-10 in-progress
auth-token-refresh-fix 2026-04-09 complete ✓
update-node-deps 2026-04-08 abandoned? (>7 days, no summary)
────────────────────────────────────────────────────────────
3 tasks (1 complete, 2 incomplete/in-progress)If no directories found: print No quick tasks found. and stop.
STOP after displaying the list. Do NOT proceed to further steps.
When SUBCMD=status and SLUG is set (already sanitized):
Find directory matching *-{SLUG} pattern:
bashdir=$(ls -d .planning/quick/*-{SLUG}/ 2>/dev/null | head -1)
If no directory found, print No quick task found with slug: {SLUG} and stop.
Read PLAN.md and SUMMARY.md (if exists) for the given slug. Display:
Quick Task: {slug}
─────────────────────────────────────
Plan file: .planning/quick/{dir}/PLAN.md
Status: {status from SUMMARY.md frontmatter, or "no summary yet"}
Description: {first non-empty line from PLAN.md after frontmatter}
Last action: {last meaningful line of SUMMARY.md, or "none"}
─────────────────────────────────────
Resume with: /gsd:quick resume {slug}No agent spawn. STOP after printing.
When SUBCMD=resume and SLUG is set (already sanitized):
*-{SLUG} pattern:bash dir=$(ls -d .planning/quick/*-{SLUG}/ 2>/dev/null | head -1)
No quick task found with slug: {SLUG} and stop. [quick] Resuming: .planning/quick/{dir}/ [quick] Plan: {description from PLAN.md} [quick] Status: {status from SUMMARY.md, or "in-progress"}
bash gsd-sdk query init.quick
When SUBCMD=run:
Execute the quick workflow from @${CLAUDE_PLUGIN_ROOT}/workflows/quick.md end-to-end. Preserve all workflow gates (validation, task description, planning, execution, state updates, commits).
</process>
<output_format> When the quick task completes (SUMMARY.md written, STATE.md updated), emit a Next Up continuation block following the pattern in references/continuation-format.md:
## ✓ Quick Task Complete — {slug})## ▶ Next Up heading suggesting the next likely action (often /gsd:next or returning to a paused phase) /clear then: before the command only for quick tasks that ran for >5 tool calls or >10 minutes — short trivial tasks don't accumulate enough context to warrant a clear/clear IS suggested, include the parenthetical: (`/clear` is safe — `/gsd:resume-work` restores position from `HANDOFF.json` if you change your mind)The skip-clear-on-trivial-tasks rule keeps the prompt cache investment intact for follow-up small fixes; the suggest-clear-on-substantial-tasks rule sheds accumulated context before a phase-scope shift. </output_format>
<notes>
.planning/quick/ — separate from phases, not tracked in ROADMAP.mdYYYYMMDD-{slug}/ directory with PLAN.md and eventually SUMMARY.mdlist to audit accumulated tasks; use resume to continue in-progress work</notes>
<security_notes>
gsd-sdk query frontmatter.get — never eval'd or shell-expanded</security_notes>
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 3,581 | 6,333 | +77% | 1 | 1 | 0% | 579 | 2,588 | +347% | 0 | 0 | — |
case-02 | fail→fail | 8,647 | 8,551 | -1% | 1 | 1 | 0% | 1,510 | 2,797 | +85% | 0 | 0 | — |
case-03 | fail→fail | 8,718 | 7,395 | -15% | 1 | 1 | 0% | 1,562 | 2,577 | +65% | 0 | 0 | — |
case-04 | fail→pass | 10,139 | 3,279 | -68% | 1 | 1 | 0% | 1,750 | 2,594 | +48% | 0 | 0 | — |
case-05 | fail→pass | 9,562 | 1,945 | -80% | 1 | 1 | 0% | 1,667 | 2,354 | +41% | 0 | 0 | — |
case-06 | fail→pass | 4,290 | 2,292 | -47% | 1 | 1 | 0% | 743 | 2,408 | +224% | 0 | 0 | — |
case-07 | fail→pass | 8,040 | 2,975 | -63% | 1 | 1 | 0% | 1,456 | 2,558 | +76% | 0 | 0 | — |
case-08 | fail→pass | 9,816 | 2,400 | -76% | 1 | 1 | 0% | 1,734 | 2,434 | +40% | 0 | 0 | — |
case-09 | pass→pass | 5,984 | 2,794 | -53% | 1 | 1 | 0% | 1,099 | 2,590 | +136% | 0 | 0 | — |
case-10 | fail→pass | 10,660 | 2,794 | -74% | 1 | 1 | 0% | 2,201 | 2,576 | +17% | 0 | 0 | — |
case-11 | fail→pass | 8,380 | 2,113 | -75% | 1 | 1 | 0% | 1,599 | 2,423 | +52% | 0 | 0 | — |
case-12 | pass→pass | 6,336 | 2,428 | -62% | 1 | 1 | 0% | 1,156 | 2,528 | +119% | 0 | 0 | — |
case-13 | pass→pass | 5,611 | 1,595 | -72% | 1 | 1 | 0% | 830 | 2,267 | +173% | 0 | 0 | — |
case-14 | pass→pass | 8,271 | 2,174 | -74% | 1 | 1 | 0% | 1,324 | 2,471 | +87% | 0 | 0 | — |
case-15 | fail→pass | 13,049 | 3,794 | -71% | 1 | 1 | 0% | 2,097 | 2,746 | +31% | 0 | 0 | — |
case-16 | fail→pass | 4,962 | 1,537 | -69% | 1 | 1 | 0% | 855 | 2,233 | +161% | 0 | 0 | — |
case-17 | fail→pass | 14,773 | 2,140 | -86% | 1 | 1 | 0% | 2,768 | 2,363 | -15% | 0 | 0 | — |
case-18 | fail→pass | 10,912 | 2,368 | -78% | 1 | 1 | 0% | 1,921 | 2,427 | +26% | 0 | 0 | — |
case-19 | fail→pass | 10,261 | 2,709 | -74% | 1 | 1 | 0% | 1,722 | 2,535 | +47% | 0 | 0 | — |
case-20 | fail→pass | 13,368 | 1,516 | -89% | 1 | 1 | 0% | 2,381 | 2,243 | -6% | 0 | 0 | — |
case-21 | pass→pass | 9,279 | 4,554 | -51% | 1 | 1 | 0% | 1,516 | 2,754 | +82% | 0 | 0 | — |
case-22 | pass→fail | 12,524 | 7,456 | -40% | 1 | 1 | 0% | 2,447 | 2,579 | +5% | 0 | 0 | — |
case-23 | pass→fail | 10,417 | 8,462 | -19% | 1 | 1 | 0% | 2,174 | 2,579 | +19% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 18 counted toward the lift figure. The other 5 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +48 percentage points is the difference between those two pass rates over the 18 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.