mcpbeat Sign in

Issue Driven Workflow Agent Skill

Turn a large task into a persistent plan file and a trackable Issue CSV (local files, not an external issue tracker), then execute the issues autonomously with per-row status updates. Use when work must survive across sessions or hand off between agents, when you need an auditable record of multi-step execution, or to resume a plans/ and issues/ pair from an earlier session. Do not use for single-session tasks that your harness's built-in plan or todo tracking already covers.

12k tokens
context cost
the whole folder, loaded on every use
13
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
130
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/appautomaton/agent-designer --skill issue-driven-workflow

What comes with it

39 798 bytes besides the instruction
assets/_template.csv
assets/_template.md
references/issue-csv-spec.md
references/testing-policy.md
scripts/create_issues.py
scripts/create_plan.py
scripts/issue_utils.py
scripts/list_plans.py
scripts/plan_utils.py
scripts/read_plan_frontmatter.py
scripts/update_issue.py
scripts/validate_issues_csv.py

The instruction itself

10 sections, as written by the author

Issue-Driven Workflow

Philosophy

The plan and Issue CSV are a work amplifier. Front-load the thinking so the agent has a full plate of actionable work to execute autonomously. More rows means more useful work per run.

  • Planning (interactive): search the web, read docs, ask questions, gather context. A thorough plan means more work the agent can do without stopping.
  • Execution (autonomous): be proactive, not passive. Work through the CSV end to end and do not wait for permission on routine decisions.

The quality bar: every CSV row is completable, testable, and markable DONE without further clarification.

E2E loop

plan → issues → implement → test → review

Paths

Commands below write <skill_dir> for the absolute path of the directory containing this SKILL.md. Your harness usually reports that path when it loads the skill. If it does not, use this SKILL.md's own location. Substitute it before running.

Run the scripts from inside the target project. They resolve the project root from the working directory (nearest .git, then AGENTS.md), and artifacts land at that root: plans in plans/, issue CSVs in issues/.

Planning (interactive)

  • Restate the task and assumptions.
  • Gather context: search the web, read project files, inspect dependencies. Make every plan section concrete, not aspirational.
  • Ask up to 2 clarification questions if unclear, then proceed with stated assumptions.
  • Draft the plan body using the structure of assets/_template.md and choose a complexity tier.
  • Get the plan approved before writing it. Use the host's plan approval mechanism when one exists. In an interactive session without one, ask once in conversation. In a headless or autonomous run, proceed and record the assumptions in the plan's Assumptions section.
  • Save the drafted body to a temp file, then write the plan:
   python3 <skill_dir>/scripts/create_plan.py \
     --task "<title>" --complexity <simple|medium|complex> --body-file <tmpfile>

A single-quoted heredoc piped to stdin also works. Use --template only to start from the blank scaffold. The script prints the plan path. Keep it for the next step.

  • Do not edit code while planning.

Creating the CSV (interactive)

  • Generate after the plan is approved.
  • Break the plan into granular, independently actionable rows. Fill all required columns per references/issue-csv-spec.md, order rows by dependency chain, and set Dependencies so execution order is unambiguous.
  • Draft the rows, canonical header included, to a temp file, then:
   python3 <skill_dir>/scripts/create_issues.py --plan <plan-path> --rows-file <tmpfile>

The script derives issues/<timestamp>-<slug>.csv from the plan filename, validates every row, and writes nothing on any error.

Executing the CSV (autonomous)

The CSV is your execution state. Read it and update it through the scripts, and keep driving forward. Never string-edit the CSV: quoting rules and repeated status cells make hand edits corruption-prone. If validation reports the file itself as broken, rebuild it instead: correct the drafted rows and rerun create_issues.py with --overwrite.

  • Pick work: python3 <skill_dir>/scripts/update_issue.py <csv> --next
  • Mark it started: python3 <skill_dir>/scripts/update_issue.py <csv> --id A2 --dev-status DOING
  • Complete the row. Search, read, write, test, whatever it requires.
  • When Acceptance is met and Test_Method passes, set --id A2 --dev-status DONE.
  • Self-review, then set --id A2 --review-status DONE. The script rejects incoherent transitions, for example review marked DONE before implementation.
  • Immediately pick the next row with --next and keep going.
  • After all rows are DONE, run the regression pass and set --id <ID> --regression-status DONE per row.
  • Report progress briefly as you complete rows.
  • Only stop for genuinely blocking unknowns that affect correctness, safety, or irreversible actions.

If a row is too large, split it. If a row fails, fix it or flag it with --note. If in a git repo, commit at natural boundaries.

Scripts

| Script | Purpose | Key flags |

|---|---|---|

| create_plan.py | Write a plan file with frontmatter under plans/ | --task, --complexity, --body-file, --template, --overwrite |

| create_issues.py | Write the paired Issue CSV, fully validated | --plan, --rows-file, --overwrite |

| update_issue.py | Row-addressable status and note updates, plus queries | <csv>, --id, --dev-status, --review-status, --regression-status, --note, --next, --show, --json |

| validate_issues_csv.py | Validate schema and semantics, all errors in one run | <csv> |

| list_plans.py | List existing plans | --query, --json |

| read_plan_frontmatter.py | Read one plan's frontmatter | <plan-path>, --json |

Every script prints usage with --help.

Naming and persistence

Plans: plans/YYYY-MM-DD_HH-mm-ss-<slug>.md. Issue CSVs: issues/YYYY-MM-DD_HH-mm-ss-<slug>.csv with the same timestamp and slug, enforced by create_issues.py. A project with an existing plan/ directory from older runs keeps using it. Commit plans/ and issues/ in the consuming repo when tracking should survive sessions or hand off between agents. Gitignore them for scratch work.

References

  • Issue CSV spec: read when creating or validating CSVs
  • Testing policy: read when filling Test_Method
  • Plan template: structure with complexity tiers
  • CSV template: example rows, coherent stack, varied statuses

Other skills for the same job

different authors, same section of the catalogue
Doc Coauthoring
by anthropics
vendor ×10

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.

4k tokens
File Organizer
by frostant
×10

Intelligently organizes your files and folders across your computer by understanding context, finding duplicates, suggesting better structures, and automating cleanup tasks. Reduces cognitive load and keeps your digital workspace tidy without manual effort.

3k tokens
Domain Name Brainstormer
by frostant
×8

Generates creative domain name ideas for your project and checks availability across multiple TLDs (.com, .io, .dev, .ai, etc.). Saves hours of brainstorming and manual checking.

1k tokens
Brainstorming
by ZhanlinCui
×4

You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.

626 tokens
Planning With Files
by ZhanlinCui
×3

Implements Manus-style file-based planning for complex tasks. Creates task_plan.md, findings.md, and progress.md. Use when starting complex multi-step tasks, research projects, or any task requiring >5 tool calls.

9k tokens scripts
Scientific Brainstorming
by christophacham
×3

Creative research ideation and exploration. Use for open-ended brainstorming sessions, exploring interdisciplinary connections, challenging assumptions, or identifying research gaps. Best for early-stage research planning when you do not have specific observations yet. For formulating testable hypotheses from data use hypothesis-generation.

5k tokens
GitHub Project Management
by ComeOnOliver
×3

Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning

14k tokens
Grill Me
by ComeOnOliver
×3

Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".

3k tokens

How to use it

Copy the folder

Take appautomaton/issue-driven-workflow from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.