Decouple task workflow from cbox CLI — add /cbox-task command surface
Problem
CBox is a generic sandbox/review agent manager. Task-driven execution (tasks
tasks) was previously only available through the monolithic master-plan-cbox-manager
skill. This task extracts the "execute one task" contract into a focused, invocable
/cbox-task command and shared skill, keeping cbox CLI itself task-unaware.
Context
Possible Solutions
Plan
Implementation Progress
- Add
/cbox-taskClaude Code command (.claude/commands/cbox-task.md) with contract for task path + execution constraints. - Add shared
cbox-taskskill (libs/cbox/skills/cbox-task/SKILL.md) for cross-environment reuse. - Document design rationale and usage examples in canonical docs (
docs/agent/cbox.md). - Update skill index, agent docs, and Cursor/Codex wrappers to reference the new skill.
-
Update this task file with implementation notes and tradeoffs.
-
/cbox-task <task-path>is a valid Claude Code command that agents can invoke. - Shared skill is registered in
libs/cbox/skills/INDEX.md. - CBox CLI (
libs/cbox/cbox/cli.py) is NOT modified — zero task coupling. - Canonical docs explain the task-driven workflow and design rationale.
- All touched files pass lint.
Design Decisions
Skill-first over CLI flag
Chosen: Skills/commands that compose existing cbox primitives.
Rejected: Adding --task flag to cbox new or cbox send.
Rationale:
- CBox stays generic — usable for reviews, sandboxes, ad-hoc work without task coupling.
- Teams not using tasks get no extra flags or dependencies.
- Composition over configuration — /cbox-task composes cbox new + cbox send + plans_cli.py rather than adding task-specific flags to cbox.
- If a CLI flag is needed later, it can be added as a thin passthrough without breaking the skill contract.
Single-task vs multi-task scope
/cbox-task: single-task execution — read task, launch sandbox, delegate, complete.
master-plan-cbox-manager: multi-task triage, execution queues, batch workflows.
The two are complementary. /cbox-task can be used inside the manager loop or standalone.
Files created:
- .claude/commands/cbox-task.md — Claude Code /cbox-task command
- libs/cbox/skills/cbox-task/SKILL.md — shared canonical skill
Files modified:
- docs/agent/cbox.md — added "Task-Driven Workflow (Optional)" section with rationale
- libs/cbox/skills/INDEX.md — registered cbox-task skill
- libs/cbox/CLAUDE.md — added reference to new skill
- .cursor/rules/cbox.mdc — added /cbox-task reference
- .codex/skills/cbox/SKILL.md — added task-driven execution section
- tasks/workstreams/infra-tooling/tasks/cbox-decoupled-task-workflow-command-surface.md — this file
Files NOT modified (by design):
- libs/cbox/cbox/cli.py — cbox CLI stays task-unaware
- libs/cbox/cbox/tmux.py — no changes needed
- libs/cbox/cbox/container.py — no changes needed
Open Risks
- The prompt template in
/cbox-taskis static text. If task file format changes significantly, the prompt composition may need updating. -
Incident logging reuses
master-plan-cbox-manager/scripts/log_issue.sh— if the manager skill moves or restructures, the path reference breaks. Could be mitigated by promotinglog_issue.shto a shared location. -
Related skill:
libs/cbox/skills/master-plan-cbox-manager/SKILL.md
Review Feedback
- [ ] Review cleared