From idea-to-code
Manages plan files via i2code CLI: renumbers threads/tasks after inserts/deletes/reorders, marks tasks complete/incomplete, inserts/reorders threads, lists summaries and next tasks.
npx claudepluginhub humansintheloop-dev/humansintheloop-dev-workflow-and-tools --plugin idea-to-codeThis skill uses the workspace's default tool permissions.
Structural operations on plan files such as renumbering threads and tasks.
Defines conventions for editing plan.json implementation plans, including task formats (T-X.Y IDs, complexity S/M/L), structured arrays, JSON escaping, and plan structure rules. Use when creating or modifying plan.json files.
Organizes complex tasks with persistent Markdown files (task_plan.md, findings.md, progress.md) for planning, analysis, progress tracking, and multi-step projects. Auto-recovers sessions post-/clear.
Executes tasks from PLAN.md sequentially with human oversight, handling task splitting, clarifying questions, tests, and learning persistence. Useful for deliberate progress on planned work.
Share bugs, ideas, or general feedback.
Structural operations on plan files such as renumbering threads and tasks.
All operations are subcommands of the i2code CLI tool, invoked as:
i2code plan <subcommand> <plan_file> [options]
Renumber all threads and tasks sequentially. Run this after arbitrary edits made outside the script.
i2code plan fix-numbering <path-to-plan-file>
Run this after:
Mark a task and all its steps as complete. Optionally appends to change history if rationale is provided.
i2code plan mark-task-complete <plan_file> --thread <N> --task <M> [--rationale <text>]
Errors if the task does not exist or is already complete.
Mark a completed task and all its steps as incomplete. The reverse of mark-task-complete. Optionally appends to change history if rationale is provided.
i2code plan mark-task-incomplete <plan_file> --thread <N> --task <M> [--rationale <text>]
Errors if the task does not exist or is already incomplete.
Reorder threads according to a specified ordering, then auto-renumber all threads and tasks.
i2code plan reorder-threads <plan_file> --order <comma-separated-thread-numbers> --rationale <text>
Example: --order 3,1,2 moves thread 3 to position 1, thread 1 to position 2, thread 2 to position 3.
Errors if --order does not contain exactly the set of existing thread numbers.
Insert a fully structured thread before a specified thread, then auto-renumber.
i2code plan insert-thread-before <plan_file> --before <N> --title <title> --introduction <text> --tasks <json> --rationale <text>
The --tasks argument is a JSON array of task objects (see spec for schema).
Insert a fully structured thread after a specified thread, then auto-renumber.
i2code plan insert-thread-after <plan_file> --after <N> --title <title> --introduction <text> --tasks <json> --rationale <text>
Return the first uncompleted task across the plan, with full metadata and steps. Prints a message if all tasks are complete.
i2code plan get-next-task <plan_file>
Return all threads with their numbers, titles, and task completion counts.
i2code plan list-threads <plan_file>
Return the plan's name, idea type, overview, and progress (thread count, task count, completed task count).
i2code plan get-summary <plan_file>
Return a specific thread's full content including number, title, introduction, and all tasks with their metadata and steps.
i2code plan get-thread <plan_file> --thread <N>
Errors if the thread does not exist.
Mark a single step as complete. Appends to change history.
i2code plan mark-step-complete <plan_file> --thread <N> --task <M> --step <S> --rationale <text>
Errors if the step does not exist or is already complete.
Mark a single completed step as incomplete. The reverse of mark-step-complete. Appends to change history.
i2code plan mark-step-incomplete <plan_file> --thread <N> --task <M> --step <S> --rationale <text>
Errors if the step does not exist or is already incomplete.
Replace a thread's entire content (title, introduction, tasks) in place, then auto-renumber.
i2code plan replace-thread <plan_file> --thread <N> --title <title> --introduction <text> --tasks <json> --rationale <text>
i2code plan replace-thread <plan_file> --thread <N> --title <title> --introduction <text> --tasks-file <path> --rationale <text>
Use --tasks-file instead of --tasks when the JSON is large or contains characters that are difficult to escape in the shell. Write the JSON file to the idea directory (alongside the plan file) and delete it after use. --tasks and --tasks-file are mutually exclusive; exactly one is required.
Errors if the thread does not exist.
Insert a task before a specified task within a thread, then auto-renumber tasks.
i2code plan insert-task-before <plan_file> --thread <N> --before <M> --title <title> --task-type <INFRA|OUTCOME> --entrypoint <cmd> --observable <text> --evidence <cmd> --steps <json> --rationale <text>
The --steps argument is a JSON array of step description strings.
Insert a task after a specified task within a thread, then auto-renumber tasks.
i2code plan insert-task-after <plan_file> --thread <N> --after <M> --title <title> --task-type <INFRA|OUTCOME> --entrypoint <cmd> --observable <text> --evidence <cmd> --steps <json> --rationale <text>
Reorder tasks within a thread according to a specified ordering, then auto-renumber tasks.
i2code plan reorder-tasks <plan_file> --thread <N> --order <comma-separated-task-numbers> --rationale <text>
Example: --thread 1 --order 3,1,2 moves task 1.3 to position 1.1, task 1.1 to position 1.2, task 1.2 to position 1.3.
Errors if --order does not contain exactly the set of existing task numbers in the thread, or if the thread does not exist.
Move a task to before another task within the same thread, then auto-renumber tasks.
i2code plan move-task-before <plan_file> --thread <N> --task <M> --before <P> --rationale <text>
Example: --thread 1 --task 6 --before 3 moves task 1.6 to the position before task 1.3.
Errors if the thread or either task does not exist, or if task and before are the same.
Move a task to after another task within the same thread, then auto-renumber tasks.
i2code plan move-task-after <plan_file> --thread <N> --task <M> --after <P> --rationale <text>
Example: --thread 1 --task 1 --after 3 moves task 1.1 to the position after task 1.3.
Errors if the thread or either task does not exist, or if task and after are the same.
Replace a task's content in place within a thread, then auto-renumber tasks. Equivalent to delete-task followed by insert-task but atomic.
i2code plan replace-task <plan_file> --thread <N> --task <M> --title <title> --task-type <INFRA|OUTCOME> --entrypoint <cmd> --observable <text> --evidence <cmd> --steps <json> --rationale <text>
The --steps argument is a JSON array of step description strings.
Errors if the thread or task does not exist.
Remove a task from a thread, then auto-renumber remaining tasks.
i2code plan delete-task <plan_file> --thread <N> --task <M> --rationale <text>
Errors if the thread or task does not exist.
Remove a thread entirely, then auto-renumber remaining threads and tasks.
i2code plan delete-thread <plan_file> --thread <N> --rationale <text>
Errors if the thread does not exist.