CtrlK
BlogDocsLog inGet started
Tessl Logo

uinaf/slopshipper

Runs a structured, deterministic implementation workflow via the installed slopshipper CLI: clarifies intake, gates human release, runs build and verify, records independent review evidence, and delivers a reviewed artifact. Use when the user says /slopshipper, run this plan, execute the task list, ship this in slices, implement with checkpoints, walk the plan end to end, build it with human gates, or do a governed multi-step implementation. Do not use for ad-hoc edits or planning-only work.

Quality

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

status.mdreferences/

Status contract

Use a field mask as the agent leash:

slopshipper status --json --fields state,run_id,next_action,allowed_commands,required_evidence,intake_revision,required_reviewers,completed_reviewers,delivery_mode,blocker,decision_question

Prefer these fields:

FieldUse
next_actionPreferred next CLI invocation (e.g. slopshipper build)
allowed_commandsOnly run commands from this list
required_evidenceEvidence keys needed for verify / review / deliver
required_reviewersReview identities required by intake consent
completed_reviewersDistinct clean reviews already recorded
intake_revisionPass to slopshipper release --revision
blockerHuman-facing blocker reason when present
decision_questionPending ask; answer via slopshipper decide

Before the repository has a run, status returns state: "UNINITIALIZED", allowed_commands: ["init"], and next_action: "slopshipper init". Run that command, then read status again before submitting intake.

Parse example

slopshipper status --json
# → {
#   "schema_version": 2,
#   "next_action": "slopshipper build --run='demo'",
#   "allowed_commands": ["intake", "ask", "build"],
#   "required_evidence": [],
#   "intake_revision": 1
# }
slopshipper build --run demo
slopshipper status --json
# → {
#   "next_action": "slopshipper verify --cmd '<verification command>' --run='demo'",
#   "required_evidence": ["verify.command", "verify.exit_code"]
# }
slopshipper verify --cmd 'go test ./...' --run demo

A successful mutation invoked with --json already returns its resulting status document. A dry-run projection additionally includes dry_run: true and validated_command; it does not represent persisted state. Re-read status after plain output or an error before choosing the next step. verify --cmd --dry-run cannot know the command outcome, so it keeps the current state and adds outcome_undetermined: true.

Arrays are always present, including when empty. next_action contains a usable command template; replace angle-bracket placeholders with real values. Field masks validate every requested name and omit optional fields that are not present in the canonical status document; they never synthesize null values. Structured intake, review, and delivery actions use stdin through --file - or --evidence -; do not create the payload in the repository. When review consent is both, record one clean autoreview result and one clean bugbot result. Repeating the same reviewer does not satisfy the gate.

SKILL.md

tile.json