agentsclimarketplace

Ship

Skill bllshttng/footnote/skills/ship

Drive any deliverable to its finish line. The umbrella over delivery terminals: 'ship pr' is the PR lifecycle (= today's /pr), 'ship doc' ships a research brief to output_dir and grades it. Use when: 'ship this', 'ship a PR', 'ship the doc', 'ship the brief', 'deliver this'. Not for ongoing areas (budget, community) - those have no finish line; use /target.From its SKILL.md

Install
npx -y skills add bllshttng/footnote --skill ship

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.2 KB, as published. Nobody here has run it

Ship

One verb for delivering anything. /ship <type> drives a deliverable to its finish line, dispatching on the deliverable type the way /target dispatches on task type. /pr only names the code branch; /ship names the whole family.

TypeFinish line (the mechanical "green")What runs
prPR exists + CI green + required bot reviewed, no unaddressed blocking finding (DonePRGreen)the /pr router (create / check / merged)
doc (alias artifact)brief written to config.research.output_dir + fno doctor evals grade green (DoneAdvisory)doc.md, in this same context

The membership test (load-bearing)

A thing is a ship type ONLY if it has a definable green - a finish line readable mechanically. pr and doc both do. An ongoing area (budget, community) has no crisp green: it never "finishes", so it is not a deliverable. Admitting areas would make /ship mean "do stuff", which is exactly what /target already is. Route areas through /target. Types with a plausible-but-unwired green (gtm / launch) are post-MVP and rejected until each has a defined green.

Vocabulary: "ship" the verb vs the ship phase/gate

/ship (this verb) = drive a deliverable to its finish line. It is distinct from the ship phase and ship gate inside /target, from the DonePRGreen/DoneAdvisory termination reasons, from fno do pr merge, and from /ship-docs (which generates documentation and is NOT a ship type). The single canonical disambiguation lives in AGENTS.md -> "Ship vocabulary"; read it if the overlap is confusing.

Composition, not self-containment

/ship is a composing umbrella, deliberately NOT a self-contained, liftable-in-isolation skill. /ship pr routes to the co-installed /pr skill (which stays the real implementation and permanent alias - the plan's no-forced-migration rule); /pr is therefore a hard companion dependency, not reimplemented here. Only the genuinely-new doc mode is local to this folder (doc.md, loaded via Read). This skill is intentionally excluded from the marketplace self-containment lint, because folding /pr's ~400 lines of mode bodies in would tax the dominant code path for no payoff.

Step 1: Resolve the type (ALWAYS announce it)

This is a router, not a monolith. Parse the first argument token:

  • no argument -> do NOT default and do NOT guess. Print the menu and stop with a non-zero result:

    /ship needs a type. valid types:
      pr     drive a PR through its lifecycle (create | check | merged)
      doc    ship a research brief to output_dir and grade it
    
  • pr -> the PR lifecycle. Print running ship pr (PR lifecycle). The remaining tokens are the /pr mode + its arguments. Defer to the /pr skill: run /pr <remaining tokens> and follow it. (/pr is the retained, permanent alias - /pr create and /ship pr create are the same thing, byte-for-byte. /ship pr does not reimplement the PR flow; it routes to the one implementation in the pr skill.)

  • doc or artifact -> the research-doc deliverable. Print running ship doc (research brief + grade). Load doc.md and execute it in full in this context. The remaining tokens are doc's arguments.

  • budget or community -> NOT a ship type. Print and stop with a non-zero result:

    '<token>' is not a ship type: it is an ongoing area with no mechanical finish line.
    Route it through /target (one feature at a time).
    
  • gtm or launch -> a plausible deliverable, but its green is not wired yet (post-MVP). Print and stop with a non-zero result:

    'gtm' has no defined green yet (published + metric threshold) - post-MVP.
    Until then, drive launch work through /target.
    
  • any other non-empty token -> unknown type (likely a typo). Do NOT default, do NOT guess. Print:

    unknown ship type: '<token>'
    valid types: pr, doc (no default - pick a deliverable)
    

    and stop with a non-zero result. This is the locked router contract: an unknown or empty type never silently falls through to an action.

Known Limitations and Deferred Work

  • Merge consent and review must hold at merge time. See LIMITATIONS.md.

Multi-CLI

Claude-Code primary. ship pr needs everything /pr needs (fno, gh, git, a Haiku-capable provider for create). ship doc needs fno (the research + evals grade verbs). If a dependency is missing, the type fails loud and reports it - it never fakes a PR, a brief, or a grade.

Keep looking

Skills are one crate of 627,559. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.