Code One Task Group

This documentation was generated with the assistance of AI. Please report any inaccuracies.

Implement every task and sub-task in a single task group from an implementation_plan.md-style plan, dispatching each task by its declared language/framework key to the matching <key>-code-one-task-group skill — falling back to a best-effort direct implementation when its key has no matching skill installed.

Purpose

iru-code-one-task-group is the generic, language-agnostic dispatcher iru-code calls once per plan group. It resolves each task’s language/framework key, partitions the group’s tasks into per-key buckets, hands each bucket with a matching <key>-code-one-task-group skill installed off to that skill in one call — which itself captures a single quality baseline, implements the bucket’s tasks (in parallel when the group allows it), and validates the whole bucket once (iru-database-code-one-task-group is a deliberately simpler exception — see Database Code One Task Group) — and implements any remaining tasks (no resolved key, or a key with no matching group skill) directly itself, best effort, following the same implement/test/license/document/verify obligations a one-task skill would. The installed group skills are discovered at run time rather than hard-coded: first from the skills available in the current session (names matching iru--code-one-task-group, which works both for skills copied into .claude/skills/ and for plugin installs, where that directory does not exist), then, when .claude/skills exists, corroborated with find .claude/skills -maxdepth 1 -type d -name "-code-one-task-group"; the key is the skill name minus the iru- prefix and -code-one-task-group suffix. Agents (for example iru-gate-runner) are called by their bare subagent_type name when installed under .claude/agents/, or as iru-core:<agent-name> when installed as a plugin, using whichever appears in the available agent types. The catalog currently ships java, java-springboot, kotlin-springboot, quarkus, php, dotnet, typescript, nestjs, nextjs, fastapi, django, android, swift, kmp, react-native, windows, rust, go and database. It checks off each task/sub-task’s box in implementation_plan.md and notifies the user as it happens, so iru-code doesn’t need to track per-task progress itself.

Plugin

Shipped by the iru-core plugin of the ai-catalog marketplace (install with /plugin install iru-core@ai-catalog; see Plugins).

Invocation

/iru-code-one-task-group <group text>

Inputs

Argument Required Description Default

Group text

Yes

The full text of every task and sub-task in one plan group, each with its own language/framework tag if the plan sets one, the group’s Parallelizable verdict, and any relevant "Current code state" context.

None — this skill is always invoked with a specific group’s text, by iru-code.

Outputs

  • Source and test files created/modified for every task in the group, via the dispatched <key>-code-one-task-group skill (or implemented directly for tasks with no resolved/matching key).

  • implementation_plan.md with each task’s (and sub-task’s) checkbox checked ([ ] → [x]) and a progress note, updated live as each task completes rather than batched until the whole group finishes.

  • A user-facing notification per task/sub-task as it completes, in addition to the plan-file update.

  • A summary handed back to the caller (iru-code) covering the whole group: files touched, tests added/updated, coverage achieved, code-quality outcome, and any task that stopped on a blocker.

Execution flow

flowchart TD A["Start /iru-code-one-task-group"] --> B["Step 1: resolve each task's\nlanguage/framework key; discover installed\ngroup skills from the session's available\nskills, corroborated by .claude/skills"] B --> C["Partition tasks into per-key buckets\n+ a remaining/unresolved bucket"] C --> D{Bucket has a matching\n&lt;key&gt;-code-one-task-group skill?} D -- yes --> E["Step 2: invoke it once for\nthe whole bucket via Skill()"] D -- no --> F["Step 3: implement each task directly,\nbest effort (impl, tests, license,\ndocs, tests, coverage, quality)\nvia iru-gate-runner, bare or\niru-core prefixed agent name"] E -- blocker reported --> G["Record blocker for this task"] E -- clean --> H["Step 4: check off task/sub-task boxes\n+ notify user, per task, as it happens"] F --> H G --> H H --> I{More buckets/tasks\nremaining?} I -- yes --> D I -- no --> J["Step 5: report the group's\noutcome to the caller"]

Dependencies

Invokes

Each of the following is invoked directly, best effort, only for tasks whose key has no matching <key>-code-one-task-group skill installed (Step 3) — via the iru-gate-runner agent (called as iru-gate-runner, or iru-core:iru-gate-runner when installed as a plugin), so verbose report output stays out of this skill’s own context:

  • Check License — adding license headers to touched files, if this repository has a convention for them.

  • Whichever doc-comment/test/coverage/quality skills this repository has installed for the task’s actual language/framework, falling back to that language’s own generic tooling directly if none are installed.

Invoked by

  • iru-gate-runner — spawned for the best-effort fallback path (Step 3) when a task’s language/framework has no matching <key>-code-one-task-group skill installed.

Source

SKILL.md on GitHub — the file this page was generated from.