Athena ship
Pre-ship verification and merge preparation — runs full test suite, checks for uncommitted changes, validates branch state, creates PR or merges. Use when work is complete and ready to ship.From its SKILL.md
npx -y skills add bencrooks-dev/Athena --skill athena-shipAssembled 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.8 KB, as published. Nobody here has run it
Athena Ship — Launcher
Pre-ship verification gate. Nothing ships without passing every check.
Pipeline State Check
Before running the checklist, read .athena-state.json if it exists:
- If the file exists but contains invalid JSON, WARN: "Pipeline state file is corrupt. Continuing with ship checks, but pipeline tracking may be incomplete. Run
/athena-pausewith a state reset after shipping." - If
lastVerification.result === "PASS"and timestamp is within the last 10 minutes, note it but still re-verify (ship is the final gate — trust but verify) - If
phase === "build-stuck", WARN: "Build was stuck at wave [N]. Are you sure you want to ship incomplete work?" - If
paused === true, WARN: "Athena is paused. Resume with /athena-resume before shipping."
Pre-Ship Checklist
Run these checks in order. Stop at first FAIL.
1. Tests Pass
Run the project's full test suite. Find the test command from:
package.jsonscripts (npm test)pytest.ini/setup.cfg/pyproject.tomlMakefile- Ask the user if unclear
GATE: All tests must pass. If any fail → STOP. Tell the user which tests failed. Do not proceed.
2. Clean Working Directory
Run git status. Check for:
- Uncommitted changes → WARNING: "You have uncommitted changes. Commit or stash before shipping."
- Untracked files that should be committed → WARNING: list them
3. Branch State
- What branch are we on?
- Is it up to date with the remote? (
git fetch && git status) - If behind remote → WARNING: "Branch is behind remote. Pull before shipping."
- If behind base branch (main/master) → WARNING: "Branch is behind base. Consider rebasing."
4. No Debug Artifacts
Search changed files for:
console.log/print()debugging statements (that weren't there before)TODO/FIXME/HACKcomments in newly added code- Commented-out code blocks
- WARNING for each found (not blocking, but flag it)
5. Plan Completion (if plan exists)
If a plan file exists in docs/plans/:
- Check all tasks are marked complete (
- [x]) - FAIL if any tasks are incomplete
6. Summary
Ship Checklist
══════════════
[PASS] Tests: 24/24 passing
[PASS] Clean working directory
[PASS] Branch up to date
[WARN] 1 console.log in src/utils.js:42
[PASS] Plan: 5/5 tasks complete
Result: READY TO SHIP (1 warning)
After the checklist completes, update .athena-state.json using the merge pattern — read existing, deep-merge these fields, write back. Never replace the entire file. See hooks/athena-state.cjs for reference.
{
"phase": "ship-verified",
"lastVerification": { "timestamp": "...", "result": "PASS", "tests": 24 },
"shipChecklist": { "tests": "PASS", "clean": "PASS", "branch": "PASS", "artifacts": "WARN", "plan": "PASS" }
}
Ship Options
If all checks pass (warnings are OK), present:
Ready to ship. Choose:
1. Create PR → I'll draft a PR with summary of changes
2. Merge → Merge directly into base branch (if on a feature branch)
3. Push only → Push to remote, no PR
4. Abort → Don't ship yet
If PR chosen:
- Push branch to remote if not already pushed
- Generate PR title (short, <70 chars) and body:
- Summary: 2-3 bullet points of what changed
- Test plan: how to verify
- Link to plan doc if one exists
- Create the PR using
gh pr createor the GitHub MCP tool
If Merge chosen:
- Check the current branch — if on main/master, WARN: "You're on the main branch. Merging into main from main is a no-op. Did you mean to create a PR instead?" and stop.
- Identify the base branch (main or master)
- Merge the current feature branch into the base branch (
git checkout <base> && git merge <feature>) - Push the base branch to remote
- Report the result
If Push chosen:
- Push to remote
- Report the push result
The Verification Gate
Evidence before claims, always. Every check must produce visible output. "Should be fine" is not verification.
For each check:
- IDENTIFY — what command proves this claim?
- RUN — execute the full command fresh (not from cache/memory)
- READ — read full output, check exit code, count failures
- VERIFY — output confirms the claim
- ONLY THEN — mark PASS or FAIL
Skipping any step = making claims without evidence.
Regression Verification
When fixing a bug as part of shipping:
- Write the fix
- Run tests → PASS
- Revert the fix → run tests → MUST FAIL (proves the test catches the bug)
- Restore the fix → run tests → PASS
- Now you have proof the fix works AND the test detects its absence
Rationalization Table
| Excuse | Reality |
|---|---|
| "Tests were failing before I started" | Then fix them or document the known failures. Don't ship on top of broken tests. |
| "It's just a small change" | Small changes cause big outages. Run the checks. |
| "I already ran tests earlier" | Earlier ≠ now. Code changed since then. Run again. |
| "The warnings are fine" | Read each warning. Decide consciously. Don't dismiss by reflex. |
| "I'll fix the TODO after shipping" | TODOs after shipping = TODOs forever. Fix now or remove. |
Rules
- Tests MUST pass — no exceptions, no "they were failing before"
- Never force push — always regular push. If it fails, tell the user why.
- Never push to main/master directly — warn if on main branch
- Warnings don't block — only FAIL blocks shipping
- Fresh verification only — never trust cached results or previous runs
- Evidence before claims — show the output, then make the claim