next
Report unfinished brief/propose/ship work in this repo and the exact command to resume each, ranked by what to do now. Use when the user asks "what's next", "what's left", "where do I resume", "/next", "la suite", or to re-orient after a context reset. Reads artifact frontmatter
Install
npx skills add https://github.com/mirkobozzetto/arsenal/tree/main/plugins/next/skills/next
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install mirkobozzetto-arsenal@llmmart
git clone https://github.com/mirkobozzetto/arsenal.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole mirkobozzetto/arsenal collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Next
Run scripts/scan.cjs from the intended repository, not the launch directory by assumption. --json is for tooling; --all includes completed work. The scanner recognizes shipped markers as terminal.
Report the most useful open action. Do not re-read every artifact body after a sufficient scan. Read a specific artifact only for a requested detail. Distinguish implemented work waiting for user acceptance from work to redo. An old todo or reminder is not evidence that a completed fix needs another diagnosis. Never execute the recommended action without a user request.
Arsenal handoff
Return the open-work result to Arsenal when it called this skill. A request to resume work authorizes Arsenal to inspect the selected artifact and choose the next step; a status-only request stops here. Never reopen shipped work.
Execution policy
Work solo. Ask before any subagent or reviewer, even in auto mode. Explain the independent scope and expected benefit first. No hidden advisor, nested delegation, model retuning, repeated successful checks, or progress spam. Use existing context before asking questions. Stop when the requested result is delivered. User stops and scope changes override pending steps.
Files (arsenal)
-
references
-
state-contract.md 2.2 KB
# State contract The frontmatter fields the brief/propose/ship skills maintain so `next` can derive the open-work board. The artifact is the single source of truth; there is no separate ledger. ## brief.md frontmatter | Field | Set by | Values | |-------|--------|--------| | `status` | brief (draft -> ready), ship (-> shipped) | `draft`, `ready`, `in_progress`, `shipped`, `superseded` | | `next_action` | brief at finalize | one line: what shipping this does | | `resume_cmd` | brief at finalize | `/ship docs/brief/<slug>` | | `shipped_at` | ship on finish | ISO timestamp | | `proposal` | propose at finalize, when it designs this brief | path to the sibling `PROPOSAL.md` | `tasks.md` checkbox counts (`- [ ]` vs `- [x]`) give progress. A brief whose HOW moved into a proposal is set `superseded` by propose at finalize: it leaves the board, and ship has ONE target for the feature instead of two. ## PROPOSAL.md frontmatter | Field | Set by | Values | |-------|--------|--------| | `status` | propose (Draft -> Review -> Accepted), ship (-> shipped) | `Draft`, `Review`, `Accepted`, `Rejected`, `shipped` | | `next_action` | propose at finalize | one line | | `resume_cmd` | propose at finalize | `/ship <path>/PROPOSAL.md` | | `source_brief` | propose at init, when a sibling brief exists | `docs/brief/<slug>/` | PROPOSAL.md is otherwise immutable. The only mutation ship makes is the `status` flip to `shipped` on finish; if that immutability must be absolute, ship instead writes a sibling `PROPOSAL.shipped` marker and the scanner treats its presence as shipped. ## The loop ship closes the loop at finish: a `shipped` run flips the upstream `status`, which removes the item from the board on the next scan. A `halted`/paused run stamps `status: in_progress` + `resume_cmd: /ship -r <artifact>`. This is what prevents a stale "ready"/"Accepted" item from lingering after the work is done. ## Buckets (how the scanner classifies) - OPEN (actionable): brief `ready`/`in_progress`, propose `Accepted`. - WIP (authoring): brief `draft`, propose `Draft`/`Review`. - DONE (hidden by default): `shipped`, `superseded`, `Rejected`. - roadmap (`type: roadmap`): OPEN when `ready`, else WIP; `superseded` is DONE.
-
-
scripts
-
scan.cjs 8.7 KB · in bundle
-
-
SKILL.md 1.4 KB
--- name: next description: Report unfinished work and the exact next action from existing artifact states. Never resume or implement automatically. argument-hint: "[--all] [feature]" --- # Next Run scripts/scan.cjs from the intended repository, not the launch directory by assumption. --json is for tooling; --all includes completed work. The scanner recognizes shipped markers as terminal. Report the most useful open action. Do not re-read every artifact body after a sufficient scan. Read a specific artifact only for a requested detail. Distinguish implemented work waiting for user acceptance from work to redo. An old todo or reminder is not evidence that a completed fix needs another diagnosis. Never execute the recommended action without a user request. ## Arsenal handoff Return the open-work result to Arsenal when it called this skill. A request to resume work authorizes Arsenal to inspect the selected artifact and choose the next step; a status-only request stops here. Never reopen shipped work. ## Execution policy Work solo. Ask before any subagent or reviewer, even in auto mode. Explain the independent scope and expected benefit first. No hidden advisor, nested delegation, model retuning, repeated successful checks, or progress spam. Use existing context before asking questions. Stop when the requested result is delivered. User stops and scope changes override pending steps.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.