agentsclimarketplace

Rite ship

Skill ViktorsBaikers/DevRites/pack/generated/codex/skills/rite-ship

Stop your AI from shipping half-baked code. A disciplined senior-engineer workflow for Claude Code (spec, vet, build, prove, review, seal, ship) that keeps each feature's state on disk, catches spec drift mid-build, gates every phase on your project's principles, and refuses to claim "done" without proof.

Install
npx -y skills add ViktorsBaikers/DevRites --skill rite-ship

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

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 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.

What its author says it does

Copied from the file, not written here

Ship the sealed feature: commit, push, tag, archive, close. Use when the user says "ship it", "push the branch", "tag the release", or "close the task" after $rite-seal GO. Not for GO/NO-GO readiness.

SKILL.md

9.4 KB, ~2.3k tokens by cl100k_base, as published. Nobody here has run it

Codex compatibility

This is the Codex mirror of a DevRites skill. In Codex:

  • Load DevRites engineering standards from .agents/skills/devrites-lib/reference/standards/. Read .agents/skills/devrites-lib/reference/standards/core.md before workflow work, then load the other .agents/skills/devrites-lib/reference/standards/*.md files exactly when this skill asks for them.
  • Use the installed devrites-engine binary as the canonical runtime helper surface for orientation, gates, and state mutation.
  • Invocation and dispatch are different: invoke means run a skill in this context; dispatch means start a fresh agent with spawn_agent, await it, and reconcile its result. Never describe inline skill work as a dispatch.
  • On MultiAgent V2, call spawn_agent with the exact named agent_type=devrites-<role>, a unique task_name, and fork_turns="none". Codex loads that role TOML's developer_instructions natively. Because V2 collaboration lifecycle calls bypass hooks, DevRites verifies the current durable parent/child rollout for the exact role, wait, completion, and non-empty delivered result.
  • On MultiAgent V1, when the named role is not exposed, use generic explorer for a read-only role with fork_turns="none" and name exactly one .codex/agents/devrites-<role>.toml contract in the message. Trusted .codex/hooks.json injects that contract's exact developer_instructions and binds the child to the fail-closed reviewer read-only guard.
  • On MultiAgent V1, devrites-slice-wright uses generic worker with fork_turns="none" and the exact role TOML named in the message. Trusted .codex/hooks.json binds it to the active reconcile window and .wright-allowlist; do not substitute worker for an exposed V2 named role.
  • The invoked skill's required-agent-roles frontmatter arms the fail-closed Stop receipt. Every listed role must have a confirmed start, wait, and non-empty result in this turn.
  • If any required named or generic agent dispatch is unavailable or rejected, stop for HITL. Never execute a DevRites specialist role in the root context.
  • Wait for every required fresh-context dispatch before reconciling or advancing. A backgrounded or lost result is incomplete.
  • Codex project hooks are installed in .codex/hooks.json; declared-leaf hooks are scoped inside .codex/agents/devrites-*.toml. Review and trust them with /hooks before relying on hook enforcement.
  • When this skill asks a HITL question via AskUserQuestion: Codex's equivalent (request_user_input) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and end the turn so the human answers: NEVER silently pick an option yourself; auto-picking is AFK's contract, gated by the .devrites/AFK sentinel.

$rite-ship: ship + close the task

The final phase. $rite-seal decides GO/NO-GO; $rite-ship executes the irreversible git actions and closes the feature. Read the active workspace first; if none, tell the user to run $rite-spec <feature>.

Refuses to ship unless seal.md records a GO verdict.

Rules consulted (read on demand from .agents/skills/devrites-lib/reference/standards/)

Step 0: Read .agents/skills/devrites-lib/reference/standards/core.md first. Then pull on demand:

  • git-workflow.md: Conventional Commits, atomic commits, the never-commit list.
  • afk-hitl.md: type-GO is the irreversible-action gate.
  • definition-of-done.md: final acceptance, evidence, drift, rollback, and documentation bar.
  • release/ship-checklist.md: compact final ship and archive pass/fail sweep.

Operating rules

  • Seal GO is a precondition. No GO in seal.md → stop, point at $rite-seal.
  • Evidence must be fresh. If any file in touched-files.md changed after evidence.md was written, the proof is stale → stop, point at $rite-prove. Enforced deterministically by devrites-engine evidence-fresh in step 1 (exit 3 = STALE), not by eyeballing mtimes (see .agents/skills/devrites-lib/reference/standards/development-workflow.md).
  • type-GO before anything irreversible. Render the prompt verbatim and wait for the literal GO. Last safety net: render it every time, even under auto-trigger.
  • Never delete the audit trail. Closing archives the workspace; it never erases the .md files.

Workflow

  1. Orient. Run devrites-engine preamble for deterministic workspace orientation. Then read seal.md, state.md, spec.md, touched-files.md, evidence.md, and design-brief.md (if the feature is UI: the design-memory rollup in step 2a reads it). Confirm the verdict is GO, then run the deterministic evidence-freshness gate rather than eyeballing mtimes (mirrors $rite-seal):
    devrites-engine evidence-fresh; echo "evidence-fresh rc=$?"
    
    Exit 3 → STALE proof: STOP, point at $rite-prove (a polish/review edit made after $rite-prove invalidates the proof). Not GO → stop with the single resume command. 1a. Health re-check (advisory). Run the DevRites doctor before the irreversible ladder: a stale ACTIVE or corrupt workspace here risks shipping or closing the wrong feature. Advisory: surface issues, don't block.
    devrites-engine doctor; echo "doctor rc=$?"
    
    If it flags the active feature, confirm you're shipping the intended slug before proceeding.
  2. Build the git plan from git-workflow.md + the project's own convention: the Conventional-Commit message(s), commit trailers for non-trivial work, the target branch, and whether a tag / PR applies. Derive trailers from decisions.md, assumptions.md, seal.md, and evidence.md: Constraint, Rejected, Confidence, Scope-risk, Not-tested when present; skip trailers for trivial typo/formatting commits. Scope the commit to touched-files.md; never stage secrets or out-of-scope files. Completion: message, trailers, target branch, tag/PR choice, and exact staged scope are explicit. 2a. Design memory (UI only). Follow reference/design-memory.md. Completion: the confirmed outcome is recorded, and any DESIGN.md edit is in touched-files.md; non-UI skips. 2b. Capability ledger sync. Follow reference/ledger.md. Completion: proven capability deltas are previewed, the confirmed outcome is recorded, and every synced ledger file is in touched-files.md. 2c. Credential guard (blocking for HIGH). Before the irreversible type-GO prompt, scan staged and touched files plus any PR body draft. HIGH blocks ship and tells the user to rotate/redact; MEDIUM asks for confirmation and records the exception in ship.md; LOW is FYI.
    devrites-engine secret-scan --staged; echo "secret-scan rc=$?"
    
    rc=3 → STOP: do not type-GO, commit, push, or archive.
  3. Render the type-GO prompt (reference/git-ship.md) and wait. Only the literal GO proceeds; anything else cancels: record the cancel in ship.md and stop (do not retry without the user asking).
  4. On GO: run the git ladder: commit → push → tag / PR as applicable (reference/git-ship.md). Capture the commit SHA(s), branch, and tag/PR URL. 4a. PR branch only. Render the structured body from reference/git-ship.md; omit empty sections. 4b. Durable architecture decisions only. Apply reference/adr-promotion.md; slice-local decisions stay in the archived workspace.
  5. Write ship.md (reference/ship-template.md): what shipped, SHA(s), branch, tag/PR, acceptance summary (n/total), link to seal.md, follow-ups.
  6. Close the task (reference/close-out.md): set state.md phase done, then run devrites-engine close-out <slug> to archive .devrites/work/<slug>/.devrites/archive/<slug>/ and clear .devrites/ACTIVE. Every .md is preserved in the archive. Then refresh any managed project context block so AGENTS.md / CLAUDE.md no longer advertise a closed active workspace:
    devrites-engine context sync || true
    

6a. Cross-feature retro. Run the cadence-gated advisory branch in reference/close-out.md. Completion: a silent nudge does nothing; a real recurrence is appended to .devrites/retro.md and surfaced to $rite-learn, never auto-promoted.

Mid-flight discipline. When tempted to ship without a GO seal, skip the type-GO, stage files outside touched-files.md, or delete the workspace instead of archiving it: stop. See anti-patterns; the gate exists for the failure mode the ask misses.

Output

Progress first: run devrites-engine progress, then use the Shipped typed template from the shared completion reply contract (reply-contract.md § Shipped). If the user declined type-GO: state that nothing shipped, the seal still reads GO, and the resume command ($rite-ship).

Keep looking

Skills are one crate of 328,083. 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.