agentsclimarketplace

Preflight

Skill easyinplay/harnessed/workflows/ship/preflight

AI coding harness composition orchestrator — manifest-described upstreams, composition skill workflows. Apache-2.0.

Install
npx -y skills add easyinplay/harnessed --skill preflight

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.

What its author says it does

Copied from the file, not written here

Stage ⑤.a Ship sub — release-preflight gate. Runs `harnessed release-preflight` (read-only: CHANGELOG [Unreleased] non-empty + version + git-clean + tag-absent). A failing gate blocks shipping. Nothing is pushed/published/tagged here.

SKILL.md

3.7 KB, as published. Nobody here has run it

ship-preflight (Stage ⑤.a)

Overview

The machine-checkable "PR ready != release ready" gate. Runs the harnessed-native harnessed release-preflight command, which inspects (read-only) whether the repo is ready to tag a release:

checkpasses when
changelog## [Unreleased] has entries (this release is documented)
versionpackage.json has a valid semver
git-cleanthe working tree has no uncommitted changes
tag-absenta v<version> tag does NOT already exist

Process

  1. Run harnessed release-preflight.
  2. If any check fails, STOP — surface the fix: hints and do not proceed to PR/tag.
    • Empty [Unreleased] is the most common failure: document the release first.
  3. If all pass, the repo is tag-ready. The ship master continues to PR/deploy.

Boundary

This gate is READ-ONLY. It never pushes, publishes, or creates a tag. The actual npm publish + GitHub release happen in publish.yml CI when a v<version> tag is pushed (with explicit user approval).

How to invoke

!harnessed checkpoint intent ship-preflight

The banner above (when present) means this invocation is REGISTERED with the engine (an intent marker) — not yet compliant: the steps below (prompt → spawn → checkpoint complete) resolve it, and a per-turn <workflow-intent> reminder persists until they run.

The numbered sequence below is the state machine — execute it with Bash. Do NOT improvise an equivalent flow from the Overview above: freelancing bypasses the engine (no ledger, no evidence guard). harnessed gives you the spawn-ready prompt; YOU spawn the subagent with a CC-native Task / Agent tool (keeps the session responsive + lets clarification round-trips reach the user).

Do NOT pipe to harnessed run ship-preflight — that is the CI/headless path (in-process SDK spawn that blocks the session inside Claude Code).

  1. Bash: harnessed prompt ship-preflight --task "$ARGUMENTS" --json → parse {prompt, max_iterations, model}.
  2. Spawn a CC-native subagent (Task / Agent tool) with that prompt + model, wrapped in the ralph-loop plugin: /ralph-loop "<prompt>" --max-iterations <max_iterations> --completion-promise "COMPLETE". If the plugin is absent, use the native goal gate instead (Claude Code 2.1.139+ / Codex): /goal "this subtask is delivered: the subagent's final output contains verbatim <promise>COMPLETE</promise>; or stop after <max_iterations> turns" then spawn the subagent and let the goal evaluator drive re-spawns until it clears. If /goal is unavailable too, self-loop: spawn → check output for <promise>COMPLETE</promise> → re-spawn with prior output appended (up to max_iterations). Set the goal only at the leaf subtask level — /goal is single-slot per session and a nested goal overwrites the outer one.
  3. If the output contains STATUS: NEEDS_CLARIFICATION + a question list: STOP, relay them verbatim via AskUserQuestion, append the answers to the spec, then re-spawn the same sub.
  4. On <promise>COMPLETE</promise>: Bash harnessed checkpoint complete ship-preflight --summary "<one-line>". The evidence guard runs here (fail-CLOSED): if a declared artifacts_expected file is missing it exits non-zero — re-spawn to produce it before treating the sub as done.
<!-- harnessed-generated:v4.9.3 -->

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.