skills/ship-code/SKILL.md
Anti-slop agentic coding workflow for Codex. Use when Codex should initialize .ship project state, enforce quality gates, prevent technical debt, create feature briefs, run a plan-build-evaluate loop, do a quick gated code change, or run a graded ship-code review. Trigger on "ship-code", "ship code", "anti-slop workflow", "quality gates", "graded evaluator", "plan/generate/evaluate", "use the Claude Code ship-code workflow in Codex", or requests to make Codex ship non-trivial code with traceability and quality scoring.
npx skillsauth add aliprogrammin/ship-code ship-codeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A lightweight anti-slop workflow: plan clear feature briefs, build against gates, then evaluate with a graded rubric.
Codex does not use Claude slash commands. Map user intent to these modes:
| User says | Run |
|---|---|
| ship-code init, initialize ship-code | Init mode |
| ship-code ship, use ship-code to build... | Ship mode |
| ship-code quick <task> | Quick mode |
| ship-code verify, run the evaluator | Verify mode |
| ship-code help | Summarize this workflow |
Always follow the active Codex system/developer instructions. In particular, only use Codex subagents when the user explicitly asks for agents, delegation, or parallel agent work; otherwise run the phases in the main context with targeted reads and concise progress updates.
Create and maintain .ship/ in the project root:
.ship/
├── config.json
├── HARD_BLOCKS.md
├── issues.md
├── draft.md
├── prior-art.md
└── plan.md
plan.md is the source of truth. Use statuses pending, in-progress, shipped, and blocked.
package.json -> ts-nodepyproject.toml, requirements.txt, or setup.py -> pythonCargo.toml -> rustgo.mod -> gounknown.ship/config.json:{
"gates": {
"tests": true,
"lint": true,
"types": true,
"no_push": true
},
"stack": "<detected>",
"issue_log": ".ship/issues.md",
"workflow": {
"parallel_features": true,
"max_eval_rounds": 3,
"skip_permissions": true
}
}
.ship/issues.md with an empty issues table..ship/HARD_BLOCKS.md with defaults:
git push unless the user explicitly asks.any, @ts-ignore, disabled lint rules, skipped tests, deleted tests, --no-verify, or commits with failing tests to bypass gates.~/.codex/AGENTS.md, ./AGENTS.md, ~/.claude/CLAUDE.md, ./CLAUDE.md. Preserve unique "never", "do not", "don't", "no ...", "MUST NOT" rules..git/hooks/pre-commit that runs the stack's lint/types/tests. If stack is unknown, skip the hook and let Ship mode scaffold first.State detection:
.ship/ is missing, run Init mode silently and continue..ship/plan.md is missing, interview the user until purpose, constraints, and done-definition are clear. Checkpoint each answer into .ship/draft.md..ship/plan.md. Each brief says what and why, never exact implementation steps.in-progress as resumable pending work.workflow.max_eval_rounds; then mark blocked and log in .ship/issues.md.Feature brief format:
## Feature N: <title>
**Status:** pending
**Depends on:** none | Feature M
### Goal
<what this feature does and why it matters>
### Requirements
- <concrete requirement>
### Decisions
- <ambiguity> -> chose <answer> because <reason>
### Quality bar
- <design/testing/security expectations>
### Acceptance criteria
- <testable condition>
- lint + types + tests pass
If the user explicitly authorizes subagents, map roles like this:
| ship-code role | Codex execution |
|---|---|
| Planner | explorer/worker writes .ship/prior-art.md and .ship/plan.md |
| Generator | worker owns implementation, gates, and commit |
| Evaluator | read-only review pass with rubric and gate verification |
When subagents are not authorized, perform these roles as phases in the main context.
Use for small bounded tasks only. If the change is likely to touch more than 3 files or has unclear scope, route to Ship mode.
Flow: inspect relevant files, implement the change, run lint/types/tests, fix real failures, and commit only when the user requested commit-producing ship-code behavior.
Review the latest changes or named feature. Run gates and score 1-5:
| Dimension | Measures | |---|---| | Correctness | Meets requirements and handles edge cases | | Design | Fits existing architecture and patterns | | Code quality | Readable, maintainable, coherent | | Test quality | Meaningful coverage without mock abuse | | Security | Safe validation, auth, data handling, injection/XSS risk |
Verdict rules:
SHIPREVISEREJECTReturn concise findings first, with file/line references for actionable issues.
Use the project's existing commands when available. Defaults:
| Stack | Gates |
|---|---|
| Node/TS | npm run lint && npm run typecheck && npm test |
| Python | ruff check . && mypy . && pytest |
| Rust | cargo fmt --check && cargo clippy -- -D warnings && cargo test |
| Go | go vet ./... && go test ./... |
If a configured gate command is missing, tell the user exactly what to add instead of silently skipping it.
development
Anti-slop agentic coding workflow for Claude Code and Codex. Use this skill whenever the user wants to set up an agentic coding workflow, enforce quality gates, prevent technical debt, build features with quality scoring, or run a plan→generate→evaluate loop. Trigger on phrases like "set up my project for Claude Code", "set up my project for Codex", "break this into features", "quality gates", "pre-commit hooks", "agentic workflow", "ship-code workflow", or any request to build something non-trivial with Claude Code or Codex where quality and traceability matter.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.