Execute an ad-hoc task with atomic commits. Skips full plan/review.
Executes small, well-defined coding tasks with atomic commits while skipping full planning cycles.
npx claudepluginhub sienklogic/towlineThis skill is limited to using the following tools:
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: "dev:towline-executor") for execution.
Reference: skills/shared/context-budget.md for the universal orchestrator rules.
Additionally for this skill:
Task(subagent_type: "dev:towline-executor").planning/quick/{NNN}-{slug}/ and writing PLAN.md — even trivial tasks need tracking artifactsQuick 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.
Check if .planning/ directory exists
/dev:begin first for full project tracking."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
If $ARGUMENTS is provided and non-empty:
$ARGUMENTS as the task descriptionIf $ARGUMENTS is empty:
Analyze the task description. If it appears to involve:
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 /dev:plan for proper planning" - label: "Revise" description: "Let me rewrite the task description" multiSelect: false
If user selects "Quick task": continue to Step 4.
If user selects "Full plan": respond "Use /dev:plan to create a full planning cycle for this task." and stop.
If user selects "Revise": go back to Step 2 to get a new task description.
If user types something else (freeform): interpret their response and proceed accordingly.
Generate slug:
Find next task number:
.planning/quick/ directory for existing quick task directories{NNN}-{slug}/)Create: .planning/quick/{NNN}-{slug}/
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 7, 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 4-6. Do NOT proceed to spawning an executor.
Pre-spawn check — Verify .planning/quick/{NNN}-{slug}/PLAN.md exists and contains at least one <task> block. If missing, STOP and complete Steps 4-6 first.
Display to the user: ◐ Spawning executor...
Spawn a Task(subagent_type: "dev:towline-executor") with the following prompt:
You are towline-executor. Execute the following quick task plan.
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 entirelyIf 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:
docs(planning): quick task {NNN} - {slug}Artifact check — Before reporting, verify all required artifacts exist:
.planning/quick/{NNN}-{slug}/PLAN.md exists.planning/quick/{NNN}-{slug}/SUMMARY.md exists and is non-emptyIf SUMMARY.md is missing: the executor may have failed — re-read executor output and report the failure. If STATE.md entry is missing: write it now (Step 9 was skipped).
Display results to the user with branded output:
If completed:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TOWLINE ► QUICK TASK COMPLETE ✓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**Quick Task {NNN}:** {description}
Commit: {hash} — {commit message}
Files: {list of files changed}
───────────────────────────────────────────────────────────────
## ▶ Next Up
**Continue your workflow** — task complete
`/dev:status`
<sub>`/clear` first → fresh context window</sub>
───────────────────────────────────────────────────────────────
**Also available:**
- `/dev:continue` — execute next logical step
- `/dev:todo list` — see pending todos
───────────────────────────────────────────────────────────────
If partial:
⚠ Quick Task {NNN}: {description}
Completed: {N} of {M} tasks
Failed task: {task name} — {failure reason}
→ Re-run with `/dev:quick` to retry
→ `/dev: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/ directoryThese are the most common failure modes. If you violate any of these, the skill has not executed correctly.
Task(subagent_type: "dev:towline-executor"). This is the single most important rule..planning/quick/{NNN}-{slug}/ — every quick task gets a tracking directorygit add . — stage specific files only/dev:planActivates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.