From autoresearch
Universal shipping workflow: 8-phase linear pipeline from verification to deploy. Reads type-checklists.md to select the right checklist for the artifact type. The ONLY pause is Phase 7 (user confirmation before irreversible deploy/publish). TRIGGER when: user wants to ship, release, publish, or deploy something; user asks "is this ready to ship?"; user wants a pre-release checklist; user wants to publish a package, CLI, API, web app, ML model, skill, docs site, infrastructure, or research paper; user invokes /autoresearch:ship. DO NOT TRIGGER when: user wants iterative development (use autoresearch); user wants to debug errors (use autoresearch:fix); user just wants a code review.
npx claudepluginhub wjgoarxiv/autoresearch-skillThis skill is limited to using the following tools:
Universal 8-phase shipping pipeline. Runs automatically through phases 1–6, pauses exactly
Finalizes Claude Octopus/Codex projects for delivery: verifies .octo/STATE.md readiness, runs multi-AI security audit, captures lessons, archives. Use when feature is complete.
Executes end-to-end CI/CD pipeline: commits, pushes, deploys to staging with E2E tests, deploys to production, runs PageSpeed Insights and Lighthouse audits until 100 scores with zero errors, fixing iteratively.
Share bugs, ideas, or general feedback.
Universal 8-phase shipping pipeline. Runs automatically through phases 1–6, pauses exactly
once at phase 7 for irreversible-action confirmation, then executes phase 8. Outputs
ship-log.md tracking every checklist item.
You are an autonomous shipping agent. Once the pipeline begins:
Ask if not provided: "What are you shipping? Choose one: (1) library/package, (2) CLI tool, (3) REST API, (4) web app, (5) ML model/dataset, (6) skill/prompt, (7) documentation site, (8) infrastructure (IaC), (9) research paper/report"
Load the corresponding checklist from skills/ship/type-checklists.md.
Ask if not provided: "Where does this deploy? (e.g., PyPI, npm, GitHub Releases, Vercel, AWS, HuggingFace, arXiv...)"
Write ship-log.md to the working directory with the artifact type, deploy target, and
timestamp. All 8 phases will be appended as they execute.
Check that all required files exist and no critical placeholders remain:
TODO, FIXME, PLACEHOLDER, or TBD in production code pathspyproject.toml, package.json, Dockerfile)Log each check as PASS or FAIL in ship-log.md. A single FAIL here is a blocker —
fix it before proceeding to phase 2.
Execute the test suite. Wrap with timeout 10m <test_command>.
WARNING — no tests found. Continue, but flag in ship-log.md.Log: total tests, pass count, fail count, duration.
Run available security tooling:
pip audit or safety checknpm auditdocker scan or trivypassword =, api_key =, secret =, token =)Log any HIGH or CRITICAL findings as blockers. MEDIUM findings are warnings — ship-log.md notes them but does not block.
Verify that documentation is complete and accurate for the artifact type:
Log each check. Missing CHANGELOG or README blocks the pipeline.
Confirm the version number is correct and consistent across all version-bearing files:
pyproject.toml, package.json,
__init__.py, CHANGELOG.md, Cargo.toml)Do NOT auto-bump the version without asking. Ask: "The current version is X. Is this correct, or should it be bumped?"
Execute the build or packaging step for the artifact type:
python -m build or poetry buildnpm pack or npm run builddocker build -t [name]:[version] .mkdocs build or npm run docsterraform plan or cdk synthWrap with timeout 15m <build_command>. Exit 124 = timeout → report and stop.
Log: build command, exit code, output size, any warnings.
STOP. Do not proceed until the user explicitly approves.
Present a pre-deploy summary:
== READY TO SHIP ==
Artifact: [type] — [name]
Version: [version]
Deploy to: [target]
Test suite: [N tests passed]
Security: [N warnings, 0 blockers]
Build: [status]
Checklist complete: [N/N items passed]
IRREVERSIBLE ACTION: Proceeding will publish/deploy to [target].
This cannot be undone automatically.
Type "SHIP IT" to proceed, or describe any changes needed.
Wait for explicit "SHIP IT" (case-insensitive). Any other response → address the concern, re-run relevant phases, return to Phase 7. Do NOT proceed on vague approval ("ok", "sure", "yes") — only "ship it" or equivalent clear authorization.
Execute the deploy or publish command for the artifact type:
twine upload dist/*npm publishdocker push [registry]/[name]:[version]gh release create [version] --notes-file CHANGELOG.mdhuggingface-cli uploadLog the final deploy command, timestamp, exit code, and any output URL or confirmation ID.
# Ship Log
Artifact: [type] — [name]
Version: [version]
Deploy target: [target]
Started: [ISO timestamp]
## Phase 1 — Verify Completeness
- [x] Core source files present
- [x] No placeholders in production code
- [ ] FAIL: package.json missing "license" field
...
## Phase 2 — Test Suite
Tests: 142 passed, 0 failed, 0 errors (14.3s)
## Phase 3 — Security Scan
- npm audit: 0 HIGH, 2 MEDIUM (lodash prototype pollution — acceptable, no fix available)
## Phase 4 — Documentation
- [x] README with install + quickstart
- [x] CHANGELOG updated for v1.2.0
## Phase 5 — Version
- Version: 1.2.0 (consistent across package.json, README badge)
## Phase 6 — Build
- npm run build: exit 0, dist/ 2.3MB
## Phase 7 — Confirmed
- User approved at [timestamp]: "ship it"
## Phase 8 — Deploy
- Command: npm publish --access public
- Exit code: 0
- Published: https://www.npmjs.com/package/[name]/v/1.2.0
- Completed: [ISO timestamp]
| Situation | Handling |
|---|---|
| Phase 1 FAIL (missing file) | Fix it, re-run phase 1 before continuing |
| Tests fail in phase 2 | Use autoresearch:fix to resolve, then re-run ship |
| HIGH security vulnerability | Block pipeline. Report to user. Cannot ship with known HIGH+ vulns. |
| Build fails in phase 6 | Report error, stop pipeline. Fix required before phase 7. |
| User types something other than "SHIP IT" at phase 7 | Address concern, loop back |
| Deploy fails in phase 8 | Log failure with full error output. Do not retry automatically. |
| No build step exists (e.g., raw script) | Note "no build step" in ship-log.md, proceed |