Claude Skill

ship

Execute a predetermined spec. Ingests a finalized brief (docs/brief/<slug>/ with brief.md status ready + tasks.md) or an Accepted propose (PROPOSAL.md), locks a definition-of-done contract, implements it on the strongest available engine (agent-teams / subagents / solo, with ultr

LLM Mart · 0 points · 18 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download mirkobozzetto-arsenal-plugins_ship_skills_ship-ca70c8a.zip · 9 KB
Part of mirkobozzetto/arsenal — 7 skills

Install

skills CLI npx skills add https://github.com/mirkobozzetto/arsenal/tree/main/plugins/ship/skills/ship
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install mirkobozzetto-arsenal@llmmart
Git 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

Ship

Own the result, not a ceremony. A clear request is sufficient authorization for its reversible, in-scope implementation. Do not ask whether to start. Do not turn a small fix into a brief, proposal, interview, or document bundle.

Execution policy

  • Work solo. Ask before every proposed delegation, including reviews. State the independent scope and expected benefit. Auto mode never grants consent.
  • Use the active model and configured routing. Do not inspect or tune models during an unrelated task. No hidden advisor or nested delegation.
  • Read the relevant existing code, fix the cause, run the smallest meaningful behavioral check, and deliver. Reuse current evidence until code or inputs relevant to that evidence change. No routine full-file read-back.
  • Keep backups and explicit approval for live data, destructive operations, publication, and deployment. A build target may install or deploy; inspect its actual effects instead of trusting its name.
  • Stop on user interruption. A completed task is not reopened by a reminder.

Efficiency plugins such as Espresso are optional. Their automatic mode does not waive Ship's per-delegation consent, solo mode, specialist/model choices, artifact gates, verification or commit rules. Do not add a parallel team or reviewer. Without the plugin, Ship behaves unchanged.

Choose the shortest sufficient path

Clear request: identify the target and success condition from the request and existing code. Ask only for a missing decision that materially changes the result. Implement directly; no mandatory artifact files or step-by-step gates.

Approved spec: read the exact artifact once. Brief requires ready; proposal requires explicit Accepted. Honor scope, dependencies, acceptance criteria and non-goals. A shipped marker means done, not another run.

Long or resumed work: load steps/step-00-init.md and maintain one per-run trace.md. Existing contract/bundle files remain readable but are not mandatory new outputs. Record completed units immediately. Native todo is a projection of progress, not another authority to arbitrate against it.

Commands and verification

One owner runs commands on a shared workspace/toolchain. Do not start a second compiler while the first exists. A timeout is not process termination. Use the existing job handle or arsenal_status before any retry.

  • Prose/prompts/simple configuration: successful edits suffice unless a check was requested. Do not start model sessions, validators, or builds for them.
  • Code: reproduce the relevant behavior and verify the fix. Use an existing targeted check or disposable smoke scenario. Ask before permanent new tests.
  • Data migration: keep the backup and real-copy verification; do not replace them with a read-only reviewer saying PASS.
  • In controlled OMP, mark a meaningful command with bash verification:true. The controller records exit status, not semantic correctness. A trivial successful command cannot prove a feature. Call arsenal_finish once done.
  • Sandbox shell networking and out-of-root writes are refused. Report an unavailable capability; do not escape the controller through another tool.

Optional branches

Load only when needed:

  • steps/step-01-ingest.md: artifact formats and task filtering.
  • steps/step-02-plan.md: complex dependencies and optional green commits.
  • steps/step-03-engine.md: user-approved delegation.
  • references/guardrails.md: hazardous operations.
  • steps/step-06-finish.md: durable status and requested Git delivery.

Flags: -a/--auto suppresses redundant questions, not safety/agent consent; -e/--economy and -m solo retain solo; another -m requests a mode, not a permission bypass. --tasks scopes to named spec tasks and completed dependencies. -r resumes. --commit requests progressive green commits; --no-commit keeps them off. --yolo requests relevant safe checks, never live-data edits, deployment or a full suite unrelated to the change.

Final response: result, exact proof, material limitation. No automatic PR offer after the user deferred it, no required HTML, no next-work expansion.

Files (arsenal)
  • references
    • guardrails.md 734 B
      # Operation boundaries
      
      Keep explicit authorization and backup for live databases, destructive
      changes, deployment, publication and security-sensitive operations. A request
      for implementation is not permission for unrelated production changes.
      Distinguish editing a migration source from executing it on a live database.
      
      Work solo unless delegation was specifically approved. Workers never approve
      other workers. Read-only tools are preferred for investigation. Use the
      smallest meaningful runtime check for code; no automatic validation of prose.
      
      One owner handles shared build resources. Inspect real command effects.
      Timeouts do not prove child exit. Runtime permissions and approval policies
      remain owned by the active harness.
      
    • help-text.md 679 B
      # ship usage
      
      /ship <clear request>
      /ship <brief-folder or PROPOSAL.md>
      /ship -r <artifact>
      /ship --tasks T01-T04 <artifact>
      
      Solo and no commits are defaults. --commit requests immediate green commits
      per coherent unit. --no-commit disables them. -e/-m solo forbid delegation;
      other modes still require explicit agent consent. -a skips redundant
      questions, never safety or agent permission. --yolo requests relevant safe
      checks, not live-data changes or deployment.
      
      On OMP and Pi, /arsenal-mode on routes every request through Arsenal without
      changing native tools or permissions. /arsenal-mode off returns to native
      behavior, and /arsenal-mode status shows the current state.
      
    • role-templates.md 976 B
      # Bounded worker contract
      
      Load only after user approval. Supply: absolute root, exact question/outcome,
      authorized files, relevant source excerpts, fixed interfaces and evidence
      required. Do not paste the full session or rediscover the whole repository.
      
      All roles: respect user stop requests, no nested agents/advisors, no Git
      operations, no live data changes, no compiler jobs, no configuration changes.
      Use native tools and absolute paths. Return one concise report with concrete
      file/line evidence, changed files, uncertainty and blockers. No progress spam.
      
      - Implementer: change only the assigned independent unit. Return ready for
        integration; the lead proves and optionally commits it.
      - Reviewer: read only the designated risk boundary. Return substantiated
        defects, or an empty result. Do not fill a finding quota.
      
      Use existing native agent profiles when they match. Missing capability or
      invalid output is handled once by the lead, not by another agent tree.
      
  • scripts
    • detect-stack.sh 1 KB
      #!/usr/bin/env bash
      set -euo pipefail
      dir="${1:-$PWD}"
      pm="unknown"; lang="unknown"
      if   [ -f "$dir/pnpm-lock.yaml" ];   then pm="pnpm";    lang="js"
      elif [ -f "$dir/bun.lockb" ] || [ -f "$dir/bun.lock" ]; then pm="bun"; lang="js"
      elif [ -f "$dir/yarn.lock" ];        then pm="yarn";    lang="js"
      elif [ -f "$dir/package-lock.json" ];then pm="npm";     lang="js"
      elif [ -f "$dir/Cargo.toml" ];       then pm="cargo";   lang="rust"
      elif [ -f "$dir/go.mod" ];           then pm="go";      lang="go"
      elif [ -f "$dir/uv.lock" ];          then pm="uv";      lang="python"
      elif [ -f "$dir/pyproject.toml" ];   then pm="poetry";  lang="python"
      elif [ -f "$dir/requirements.txt" ]; then pm="pip";     lang="python"
      elif [ -f "$dir/Gemfile" ];          then pm="bundler"; lang="ruby"
      elif [ -f "$dir/pom.xml" ];          then pm="maven";   lang="jvm"
      elif [ -f "$dir/build.gradle" ] || [ -f "$dir/build.gradle.kts" ]; then pm="gradle"; lang="jvm"
      elif [ -f "$dir/composer.json" ];    then pm="composer";lang="php"
      fi
      printf '{"language":"%s","package_manager":"%s"}\n' "$lang" "$pm"
      
    • scaffold.sh 347 B
      #!/usr/bin/env bash
      set -euo pipefail
      out="${1:?usage: scaffold.sh <output_dir>}"
      here="$(cd "$(dirname "$0")/.." && pwd)"
      mkdir -p "$out"
      for t in contract verification-bundle trace; do
        if [ -f "$out/$t.md" ]; then
          echo "skip (exists): $out/$t.md"
        else
          cp "$here/templates/$t.md" "$out/$t.md"
          echo "created: $out/$t.md"
        fi
      done
      
  • steps
    • step-00-init.md 768 B
      # Resume and scope
      
      Read the exact requested artifact and its existing trace once. Restore the
      root, completed units, current work and outstanding permissions. Do not
      re-run completed units. A terminal trace or shipped marker means done.
      
      Defaults: solo, no commits, no extra reviewers, no full suite. Ask only for
      a blocking missing decision. Use absolute target paths, never the Eval cwd.
      For multi-session work, keep one trace.md beside the spec. Inline work needs
      no durable files unless requested. A native todo mirrors this progress.
      
      If a command is still running, recover its job instead of starting another.
      The OMP controller status is authoritative for its processes and execution
      evidence; the trace stores task intent and cross-session acceptance status.
      
    • step-00-triage.md 395 B
      # Input routing
      
      Help loads references/help-text.md and stops. A clear request runs directly.
      A brief folder or PROPOSAL.md uses step-01-ingest.md. An ambiguous path is
      resolved from existing files before asking. Never require a brief for a fix.
      If a brief points to its accepted proposal, execute the proposal once, not
      both artifacts. Auto mode does not authorize agents or hazardous actions.
      
    • step-01-ingest.md 647 B
      # Read an approved specification
      
      Brief: read brief.md status ready, acceptance criteria and tasks.md.
      Proposal: read PROPOSAL.md status Accepted, design and section 10 tasks.
      Do not infer acceptance from the act of writing a proposal. Check for the
      sibling PROPOSAL.shipped marker first.
      
      Apply --tasks only to named tasks and already-satisfied dependencies. Keep
      source task identifiers. Ask only about questions that block implementation.
      Do not invent requirements or re-author an approved design. Read actual
      project commands from manifests or Makefile; stack detection is a hint, not
      a substitute for reading effects such as install/deploy.
      
    • step-02-plan.md 745 B
      # Plan only the necessary dependencies
      
      For complex work, order existing tasks by dependency. File separation alone
      does not establish independence: account for shared APIs, data and build
      resources. One lead owns integration and compilations. Do not add a DAG or
      a confirmation gate to a small fix.
      
      Commits are optional and require the user delivery workflow. If requested,
      commit each coherent unit immediately after its targeted green check, before
      starting the next unit. Preserve the existing green-commit discipline: no
      unchecked commits, no catch-all final commit, no unrelated staged changes.
      Use the project Git/Graphite conventions and preserve unrelated dirty work.
      No permission-grant file or push is inferred from a branch choice.
      
    • step-03-engine.md 698 B
      # Delegation is an explicit exception
      
      Default: the lead works solo, including verification. -e and -m solo mean
      no workers or reviewers. Never launch an advisor in their place.
      
      Before any other mode, explain the independent units and the expected benefit
      over doing them directly. Ask for approval. -a, --auto and --yolo do not
      grant it. Without approval or runtime capability, continue solo.
      
      After approval, use the active harness native agent API, at most three bounded
      workers, no nested delegation. Do not request bypassPermissions or retune
      models. Read references/role-templates.md only when actually delegating.
      Do useful non-overlapping work while workers run; collect each result once.
      
    • step-04-execute.md 749 B
      # Execute and prove
      
      Read relevant code, fix only the requested behavior, preserve unrelated work.
      Use native editing tools and explicit target paths. Do not assume a JS or
      Python kernel shares the shell working directory.
      
      Run the smallest real check after the change. One owner runs compiler/check
      commands; workers return patches and evidence, never competing builds.
      Never repeat a passing check without a relevant change. A timeout requires
      job inspection, not duplicate execution. Stop retrying without new evidence.
      
      Record completed work immediately in the existing task ledger. Separate
      implemented, checked and awaiting-user-acceptance states. If green commits
      were requested, commit the unit now; otherwise leave the changes uncommitted.
      
    • step-05-verify.md 806 B
      # Verification without extra agents
      
      The lead verifies. No mandatory creator-verifier, read-back of every file,
      full suite, new tests, or model session. Reuse evidence already obtained.
      
      Prose/simple configuration: successful edit unless the user asked to check.
      Behavioral change: execute the relevant existing command or disposable smoke
      scenario. A meaningful command, not an arbitrary zero exit, proves behavior.
      Data migration: backup and real-copy checks remain required. Ask before
      permanent tests or live-data changes.
      
      Under the OMP controller, use bash verification:true for the relevant final
      check and arsenal_finish when complete. Report unavailable native/UI/network
      capabilities honestly. A saved bundle is optional; do not make the user rerun
      checks that you already executed successfully.
      
    • step-06-finish.md 796 B
      # Finish once
      
      Close completed native todo items immediately. Keep external acceptance
      blocked separately. Report the result and exact evidence, not workflow steps.
      Never continue canceled work due to a reminder.
      
      If using durable artifacts: update trace rows; reconcile completed brief
      checkboxes and mark the brief shipped only when its entire scope is complete.
      For a fully completed proposal, write PROPOSAL.shipped and leave the accepted
      proposal unchanged. A scoped run does not close unfinished sibling work.
      
      No mandatory HTML, extra report, fresh agent, final catch-all commit or PR
      offer. Publish/push/create a PR only after explicit authorization. Preserve
      a declined/deferred Git decision. Stop approved workers through the native
      harness; do not delete unrelated team/session files.
      
  • templates
    • contract.md 173 B
      # Acceptance criteria
      
      Use only when a durable contract was requested. Reference the source spec
      rather than copying it. Record the scope, non-goals and observable outcome.
      
    • state.yaml 178 B
      artifact_path: null
      project_root: null
      run_id: ""
      task_filter: null
      engine_tier: solo
      commit_mode: false
      work_branch: null
      stepsCompleted: []
      final_status: in_progress
      tasks: []
      
    • trace.md 285 B
      ---
      artifact: ""
      project_root: ""
      run_id: ""
      task_filter: null
      engine_tier: solo
      commit_mode: false
      work_branch: null
      stepsCompleted: []
      final_status: in_progress
      ---
      
      # Progress
      
      | Unit | Status | Files | Evidence | Commit if requested |
      |---|---|---|---|---|
      
      ## Remaining decisions
      
    • verification-bundle.md 256 B
      # Verification
      
      Create only when requested or for checks unavailable to the agent.
      
      | Criterion | Command or manual action | Expected result | Observed result |
      |---|---|---|---|
      
      Separate pending user acceptance from checks already executed successfully.
      
  • SKILL.md 4.3 KB
    ---
    name: ship
    description: Implement a clear request or an approved brief/proposal. Work solo, make the smallest sufficient change, verify the changed behavior, and stop. Ask before any delegation.
    argument-hint: "<request or spec> [-r] [--tasks ids] [--commit] [--yolo]"
    ---
    
    # Ship
    
    Own the result, not a ceremony. A clear request is sufficient authorization
    for its reversible, in-scope implementation. Do not ask whether to start.
    Do not turn a small fix into a brief, proposal, interview, or document bundle.
    
    ## Execution policy
    
    - Work solo. Ask before every proposed delegation, including reviews. State
      the independent scope and expected benefit. Auto mode never grants consent.
    - Use the active model and configured routing. Do not inspect or tune models
      during an unrelated task. No hidden advisor or nested delegation.
    - Read the relevant existing code, fix the cause, run the smallest meaningful
      behavioral check, and deliver. Reuse current evidence until code or inputs
      relevant to that evidence change. No routine full-file read-back.
    - Keep backups and explicit approval for live data, destructive operations,
      publication, and deployment. A build target may install or deploy; inspect
      its actual effects instead of trusting its name.
    - Stop on user interruption. A completed task is not reopened by a reminder.
    
    Efficiency plugins such as Espresso are optional. Their automatic mode does
    not waive Ship's per-delegation consent, solo mode, specialist/model choices,
    artifact gates, verification or commit rules. Do not add a parallel team or
    reviewer. Without the plugin, Ship behaves unchanged.
    
    ## Choose the shortest sufficient path
    
    **Clear request:** identify the target and success condition from the request
    and existing code. Ask only for a missing decision that materially changes the
    result. Implement directly; no mandatory artifact files or step-by-step gates.
    
    **Approved spec:** read the exact artifact once. Brief requires `ready`;
    proposal requires explicit `Accepted`. Honor scope, dependencies, acceptance
    criteria and non-goals. A shipped marker means done, not another run.
    
    **Long or resumed work:** load `steps/step-00-init.md` and maintain one
    per-run `trace.md`. Existing contract/bundle files remain readable but are
    not mandatory new outputs. Record completed units immediately. Native todo
    is a projection of progress, not another authority to arbitrate against it.
    
    ## Commands and verification
    
    One owner runs commands on a shared workspace/toolchain. Do not start a
    second compiler while the first exists. A timeout is not process termination.
    Use the existing job handle or `arsenal_status` before any retry.
    
    - Prose/prompts/simple configuration: successful edits suffice unless a check
      was requested. Do not start model sessions, validators, or builds for them.
    - Code: reproduce the relevant behavior and verify the fix. Use an existing
      targeted check or disposable smoke scenario. Ask before permanent new tests.
    - Data migration: keep the backup and real-copy verification; do not replace
      them with a read-only reviewer saying PASS.
    - In controlled OMP, mark a meaningful command with bash `verification:true`.
      The controller records exit status, not semantic correctness. A trivial
      successful command cannot prove a feature. Call `arsenal_finish` once done.
    - Sandbox shell networking and out-of-root writes are refused. Report an
      unavailable capability; do not escape the controller through another tool.
    
    ## Optional branches
    
    Load only when needed:
    - `steps/step-01-ingest.md`: artifact formats and task filtering.
    - `steps/step-02-plan.md`: complex dependencies and optional green commits.
    - `steps/step-03-engine.md`: user-approved delegation.
    - `references/guardrails.md`: hazardous operations.
    - `steps/step-06-finish.md`: durable status and requested Git delivery.
    
    Flags: `-a/--auto` suppresses redundant questions, not safety/agent consent;
    `-e/--economy` and `-m solo` retain solo; another `-m` requests a mode,
    not a permission bypass. `--tasks` scopes to named spec tasks and completed
    dependencies. `-r` resumes. `--commit` requests progressive green commits;
    `--no-commit` keeps them off. `--yolo` requests relevant safe checks, never
    live-data edits, deployment or a full suite unrelated to the change.
    
    Final response: result, exact proof, material limitation. No automatic PR
    offer after the user deferred it, no required HTML, no next-work expansion.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related