Agent Skill
2/7/2026

continue-issue

Use when returning to work after /clear or new session. Fast return to an active in_progress task — finds task, resolves branch/worktree, shows task card. Use flow:start for new task selection.

N
nonameitem
0GitHub Stars
1Views
npx skills add NoNameItem/claude-tools

SKILL.md

Namecontinue-issue
DescriptionUse when returning to work after /clear or new session. Fast return to an active in_progress task — finds task, resolves branch/worktree, shows task card. Use flow:start for new task selection.

name: continue-issue description: Use when returning to work after /clear or new session. Fast return to an active in_progress task — finds task, resolves branch/worktree, shows task card. Use flow:start for new task selection.

Flow: Continue

<STOP-AND-READ>

⛔ BEFORE DOING ANYTHING

READ this ENTIRE skill FIRST. Do NOT run any commands yet.

Violation check — if ANY of these are true, STOP and apologize:

  • I already ran bd sync → VIOLATION. Apologize, start over.
  • I already ran bd list → VIOLATION. Apologize, start over.
  • I already ran bd show → VIOLATION. Apologize, start over.
  • I said "Let me check your tasks" → About to violate. STOP.

If you checked any box: Tell the user you violated the skill, apologize, and start over from Step 1 below.

Required action NOW:

  1. Read this entire skill (don't skim)
  2. Create TodoWrite checklist from the steps
  3. ONLY THEN execute Step 1
</STOP-AND-READ>

Overview

Core principle: Speed with safety.

This skill is the fast path for returning to work. Unlike flow:start which offers full task tree and branch creation, flow:continue assumes the task is already set up — it just reconnects you to it.

What this skill does:

  • Finds your active (in_progress) leaf tasks
  • Reads the saved branch name from task description
  • Finds the branch locally or in worktree
  • Switches to it
  • Shows the task card

What this skill does NOT do:

  • Create branches (no branch → exit with message)
  • Change task status (already in_progress)
  • Show full task tree (that's flow:start)
  • Create tasks

Quick Reference

StepActionKey Point
1. Syncbd syncGet latest task data
2. Find tasksRun bd-continue.py scriptLeaf in_progress tasks
3. SelectAuto or user picks1 task = confirm, N = pick
4. Extract branchRead Git: from descriptionNo Git: → exit
5. Find branchworktree → local → remotePriority order
6. Switchcd or checkoutDepends on where branch is
7. Initflow:init-worktreeOnly if new worktree created
8. CardShow task cardFinal output

Arguments

The command /flow:continue accepts:

  • <task-id> (optional) — skip task selection, go straight to branch resolution. Validates task exists and is in_progress. If not → error with suggestion to use /flow:start.
  • --all — show all users' in_progress tasks, not just current user's.

Workflow

Follow these steps in order. Do not skip steps.

1. Sync

bd sync

2. Find Active Tasks

If task-id argument provided:

bd show <task-id> --json

Validate:

  • Task exists → continue
  • Task not found → "Задача <task-id> не найдена. Используйте /flow:start."
  • Task not in_progress → "Задача <task-id> не в работе (статус: <status>). Используйте /flow:start."

Skip to Step 4.

If no task-id argument:

Run the continue script:

bd graph --all --json | python3 <skill-base-dir>/../starting-task/scripts/bd-continue.py [--all]

Pass --all if user passed --all flag.

Parse output lines. Each line is: id|issue_type|title|priority|label

3. Select Task

0 tasks found:

Нет активных задач. Используйте `/flow:start` для начала работы над новой задачей.

Exit skill.

1 task found:

Задача в работе:

[F] Оптимизация выбора задачи (claude-tools-elf.3) | P2 | #flow

Продолжить работу над этой задачей? ('new' для запуска /flow:start)

If user says 'new' → "Используйте /flow:start." Exit skill.

N tasks found:

Задачи в работе:

1. [F] Оптимизация выбора задачи (claude-tools-elf.3) | P2 | #flow
2. [F] Git module (claude-tools-c7b) | P2 | #statuskit
3. [B] Fix login error (claude-tools-abc) | P1 | #statuskit

Выберите задачу или 'new' для запуска /flow:start:

User selects by number or task ID. If 'new' → exit.

For task selection: use plain text, NOT AskUserQuestion.

4. Extract Branch Name

Read the task description and find the Git: line:

bd show <task-id> --json

Parse the JSON, extract description field, find line starting with Git:.

If Git: line found → extract branch name (everything after Git: , trimmed).

If no Git: line:

Ветка не найдена в описании задачи. Задача была создана до flow:continue.
Используйте `/flow:start <task-id>` для настройки ветки.

Exit skill.

5. Find Branch

Search for the branch in priority order:

a. Check worktrees:

git worktree list

If a worktree uses this branch → extract path, go to step 6a.

b. Check local branches:

git branch --list "<branch-name>"

If found → go to step 6b.

c. Check remote branches:

git branch -r --list "origin/<branch-name>"

If found → go to step 6b.

d. Branch not found anywhere:

Ветка `<branch-name>` не найдена ни локально, ни на удалённом сервере.
Используйте `/flow:start <task-id>` для создания новой ветки.

Exit skill.

6. Switch to Branch

6a. Worktree exists

cd <worktree-path>

"Перешёл в worktree <worktree-path>."

Skip to Step 8 (no init needed — worktree already existed).

6b. Local or remote branch

Check if already in a worktree:

pwd | grep -q "\.worktrees/" && echo "IN_WORKTREE=true" || echo "IN_WORKTREE=false"

If IN_WORKTREE=true:

git checkout <branch-name>

Or for remote:

git checkout -b <branch-name> origin/<branch-name>

"Переключился на ветку <branch-name>."

Skip to Step 8.

If IN_WORKTREE=false — offer worktree option:

Как открыть ветку `<branch-name>`?

1. Здесь (обычный checkout)
2. В worktree (для параллельной работы)

Option 1 (checkout):

git checkout <branch-name>
# or for remote:
git checkout -b <branch-name> origin/<branch-name>

Skip to Step 8.

Option 2 (worktree):

WORKTREE_DIR=".worktrees/$(echo '<branch-name>' | tr '/' '-')"
git worktree add "$WORKTREE_DIR" <branch-name>
cd "$WORKTREE_DIR"

For remote branch that doesn't exist locally:

git worktree add "$WORKTREE_DIR" -b <branch-name> origin/<branch-name>
cd "$WORKTREE_DIR"

Proceed to Step 7 (init new worktree).

7. Initialize Worktree (if newly created)

Only if a new worktree was created in Step 6b (Option 2).

Invoke the flow:init-worktree skill using the Skill tool.

8. Show Task Card

Display the task card using the script:

bd show <task-id> --json | python3 <skill-base-dir>/../starting-task/scripts/bd-card.py

Output in a ``` code block to preserve alignment.

This is the final output. The user sees it and starts working.

Red Flags

  • "I'll also create the branch if it's missing" → Out of scope. Exit with message.
  • "Let me change the task status" → Already in_progress. Don't touch.
  • "I'll show the full task tree" → flow:continue is fast path. Use flow:start for tree.
  • "I'll skip the Git: check and just search for branches" → Git: line is the source of truth.
  • "bd ready is a quick way to find tasks" → Use bd-continue.py script.
  • "AskUserQuestion for task selection" → Plain text. Numbers don't work in structured UI.

Common Rationalizations

ExcuseReality
"I'll create the missing branch"Out of scope. Suggest /flow:start.
"Task not in_progress, I'll start it"Not your job. Suggest /flow:start.
"I'll show the full tree for context"This is the fast path. Tree = /flow:start.
"Git: line is unreliable, search branches"Git: is the source of truth. No Git: → exit.
"User is in a hurry, skip confirmation"1 task still needs confirmation. N tasks need selection.
"I'll run bd ready instead of the script"Script gives exact format needed.
"I'll also sync at the end"No mutations → no sync needed.

Examples

✅ GOOD: Single task, fast return

User: /flow:continue

Agent: [runs bd sync]
       [runs bd-continue.py]

       Задача в работе:

       [F] Оптимизация выбора задачи (claude-tools-elf.3) | P2 | #flow

       Продолжить работу над этой задачей? ('new' для запуска /flow:start)

User: да

Agent: [reads Git: from description → feature/claude-tools-elf.3-task-selection-optimization]
       [finds worktree at .worktrees/feature-claude-tools-elf.3-...]
       [cd to worktree]

       Перешёл в worktree `.worktrees/feature-claude-tools-elf.3-task-selection-optimization`.

       [runs bd show claude-tools-elf.3 --json | python3 <skill-base-dir>/../starting-task/scripts/bd-card.py]

       ```
       ┌─ Feature ──────────────────────────────────────────────────────────────────┐
       │ Оптимизация выбора задачи                                                 │
       ...
       └────────────────────────────────────────────────────────────────────────────┘
       ```

✅ GOOD: Direct task-id argument

User: /flow:continue elf.3

Agent: [runs bd sync]
       [validates claude-tools-elf.3 is in_progress → OK]
       [reads Git: → feature/claude-tools-elf.3-task-selection-optimization]
       [finds branch locally]
       [offers checkout or worktree]
       ...

✅ GOOD: No Git: line in description

User: /flow:continue

Agent: [finds task claude-tools-old]

       Ветка не найдена в описании задачи. Задача была создана до flow:continue.
       Используйте `/flow:start claude-tools-old` для настройки ветки.

❌ BAD: Creates branch when missing

Agent: No branch found. Let me create one for you...

Problem: flow:continue does NOT create branches. That's flow:start's job.

Skills Info
Original Name:continue-issueAuthor:nonameitem