一键导入
doey-planned-task
Plan-first task creation — research, breakdown, risk analysis, then create tasks from approved plan. Usage: /doey-planned-task <goal>
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Plan-first task creation — research, breakdown, risk analysis, then create tasks from approved plan. Usage: /doey-planned-task <goal>
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | doey-planned-task |
| description | Plan-first task creation — research, breakdown, risk analysis, then create tasks from approved plan. Usage: /doey-planned-task <goal> |
doey task list 2>/dev/null || echo "No tasks"bash -c 'PD=$(grep "^PROJECT_DIR=" "$(tmux show-environment DOEY_RUNTIME 2>/dev/null | cut -d= -f2-)/session.env" 2>/dev/null | cut -d= -f2- | tr -d "\""); echo "${PD:-.}/.doey/plans"'bash -c 'PD=$(grep "^PROJECT_DIR=" "$(tmux show-environment DOEY_RUNTIME 2>/dev/null | cut -d= -f2-)/session.env" 2>/dev/null | cut -d= -f2- | tr -d "\""); ls "${PD:-.}/.doey/plans/"*.md 2>/dev/null | head -10 || echo "None"'Never suggest /doey-worktree, branch creation, or worktree flow in plan output. All phases commit to the session's starting branch (typically main). If — and only if — the user's literal goal text contains the word "worktree", you may surface /doey-worktree as the explicit opt-in path.
Create a plan-first task from a natural-language goal. Goal from ARGUMENTS (if empty, use AskUserQuestion to ask, then stop).
Classify the goal:
/doey-instant-task insteadBefore writing anything, research the goal:
Structure findings into a plan with:
Determine next plan ID:
PD=$(grep '^PROJECT_DIR=' "$(tmux show-environment DOEY_RUNTIME 2>/dev/null | cut -d= -f2-)/session.env" 2>/dev/null | cut -d= -f2- | tr -d '"')
PLANS_DIR="${PD:-.}/.doey/plans"
mkdir -p "$PLANS_DIR"
PLAN_ID=$(( $(ls "$PLANS_DIR"/*.md 2>/dev/null | sed 's/.*\///' | grep -E '^[0-9]+\.md$' | sed 's/\.md//' | sort -n | tail -1) + 1 )) 2>/dev/null || PLAN_ID=1
echo "Next plan ID: $PLAN_ID"
Write the plan file using the Write tool to ${PLANS_DIR}/${PLAN_ID}.md:
---
plan_id: <PLAN_ID>
title: "<Plan Title>"
status: draft
created: <ISO 8601 timestamp>
updated: <ISO 8601 timestamp>
---
# <Plan Title>
## Goal
<Original goal from user>
## Steps
- [ ] Step 1: <description> (complexity: low/medium/high)
- [ ] Step 2: <description> (complexity: low/medium/high)
...
## Risks
- <Risk 1>: <mitigation>
- <Risk 2>: <mitigation>
## Scope
- **Files**: <list of files affected>
- **Teams**: <team assignment recommendation>
- **Workers**: <estimated count>
## Acceptance Criteria
- <criterion 1>
- <criterion 2>
Use AskUserQuestion to present the plan summary and ask the user to approve, modify, or reject:
If rejected or modified, iterate. Do NOT proceed to task creation without approval.
On approval, update plan status to active:
sed -i 's/^status: draft/status: active/' "${PLANS_DIR}/${PLAN_ID}.md"
Create task(s):
TASK_ID=$(doey task create --title "TITLE" --type "TYPE" --description "DESCRIPTION")
echo "Created task #${TASK_ID}"
Link task to plan:
doey task update --id "$TASK_ID" --field "TASK_PLAN_ID" --value "$PLAN_ID"
If the plan has multiple independent steps, create subtasks:
doey task subtask add --task-id "$TASK_ID" --description "Subtask title"
Update task with plan metadata.
Success criteria format: Each criterion must describe the expected result/state, not a command to run. Criteria should be independently verifiable by automation.
doey task update --id "$TASK_ID" --field "intent" --value "..."
doey task update --id "$TASK_ID" --field "success_criteria" --value "criterion 1, criterion 2"
doey task update --id "$TASK_ID" --field "dispatch_plan" --value "standard"
Send message to Taskmaster to pick up the new task:
RD=$(tmux show-environment DOEY_RUNTIME 2>/dev/null | cut -d= -f2-)
TASKMASTER_PANE=$(grep '^TASKMASTER_PANE=' "${RD}/session.env" 2>/dev/null | cut -d= -f2-)
TASKMASTER_PANE="${TASKMASTER_PANE:-1.0}"
doey msg send --to "${SESSION_NAME}:${TASKMASTER_PANE}" --from "${DOEY_PANE_ID}" \
--subject "new_planned_task" \
--body "TASK_ID: ${TASK_ID}
PLAN_ID: ${PLAN_ID}
TITLE: ${TASK_TITLE}
PRIORITY: ${TASK_PRIORITY:-P2}
Planned task ready for dispatch. Plan: ${PLANS_DIR}/${PLAN_ID}.md"
doey msg trigger --pane "${SESSION_NAME}:${TASKMASTER_PANE}"
Report to user: task ID, plan ID, title, step count, dispatch status. Include paths to both plan and task files.
doey task create — never duplicate the logic/doey-instant-taskRequest a respawn of the current worker pane. Use when you need to "respawn me", "restart myself", "fresh context", or "reset my pane". Writes an atomic respawn request that kills the current Claude process and relaunches with a fresh context.
Discover scaffolding patterns in this project — structural fingerprints, accretion files, and refactoring patterns from git history. Returns candidates worth turning into templates.
Spawn the doey-scaffy MCP server so workers can drive the Scaffy template engine via tool calls. Loaded automatically when a task needs scaffy_run / scaffy_validate / scaffy_list / scaffy_audit / scaffy_discover / scaffy_new / scaffy_fmt or any scaffy:// resource.
Create a new scaffy template from existing files (--from-files) or interactively. Outputs to .doey/scaffy/templates/<name>.scaffy.
Manage persistent project tasks — list, add, transition, show, subtasks, decisions, notes. Tasks stored in .doey/tasks/ (survives reboot). Use when you need to "show tasks", "add a task", "mark a task done", "what are we working on", or "create a task".
Quick inline clarification loop — a few targeted AskUserQuestion rounds to sharpen a vague goal before task creation. Use when you need to "clarify", "interview the user", "sharpen a vague goal", or resolve ambiguity without spawning a full /deep-interview window.