AGENT SKILL

deliver

Take one task contract (goal, inputs, constraints, done_when) from a prompt to a reviewable pull request in one run: test first, implement, prove the change works by running it, review the diff once, and open the pull request with the proof. CI on the head is the merge evidence. No review rounds, no local attestation, no merge. Triggers on: "deliver this", "build this and open a PR", "implement this issue and open a PR", "take this task to a PR", or a task contract whose output is a pull request.

适用职业律师与法务
License 许可
MIT
最近更新
2026-10-26
Stars
★ 0
Forks
0

01 前言 Front Matter

name
deliver
description
Take one task contract (goal, inputs, constraints, done_when) from a prompt to a reviewable pull request in one run: test first, implement, prove the change works by running it, review the diff once, and open the pull request with the proof. CI on the head is the merge evidence. No review rounds, no local attestation, no merge. Triggers on: "deliver this", "build this and open a PR", "implement this issue and open a PR", "take this task to a PR", or a task contract whose output is a pull request.
argument-hint
<task contract as JSON or prose> [--draft]
user-invocable
true
disable-model-invocation
false

03 SKILL.md 正文

Take one task from its contract to a reviewable pull request, back to back. The proof that the change works is part of the deliverable, not a later phase. Review rounds, /pr-conductor, and local-attest are not steps of this flow: the user runs them on demand.

Trigger: when the user gives a task and asks for it to end in a pull request, in prose or as a contract such as:

{
  "goal": "ship the feature",
  "inputs": ["issue", "repository", "design"],
  "output": "reviewable pull request",
  "constraints": ["no schema changes", "preserve public API"],
  "done_when": ["tests pass", "visual check passes", "review passes"]
}

Arguments: $ARGUMENTS

  • <contract> — the task, as JSON or prose.
  • --draft — open the pull request as a draft.

Consent. Start this skill only when the user's prompt asks for the task to end in a pull request, in words or as the contract's output. That prompt is the consent to push the task's branch and open its pull request, for this one task. A task that does not ask for a pull request gets the same steps up to step 8, and then stops with local commits. This skill never merges: merging stays an explicit instruction, handed to /merge-pr.

1. Read the contract

Normalize the contract to five fields:

Field Meaning If absent
goal the change ask one question; with no goal there is no task
inputs the issue, design, files, or links to read read what the prompt names
output what the run ends with a reviewable pull request
constraints what the change must not do none beyond the rule floor
done_when the checks that make the task done tests pass, the feature runs, review passes

2. Map every item to a check

Before you write code, give each done_when item and each constraint one mechanical check and the evidence it produces:

Item Check Evidence
tests pass the new tests, plus the existing tests that cover the changed code the command and its last lines
the feature runs step 6 below the command and its output
visual check passes /run the app, open the changed screen, take a screenshot the screenshot and what it shows
review passes step 8 below findings found, fixed, answered
no schema changes git diff --stat origin/main...HEAD -- <schema paths> is empty the empty output
preserve public API the diff of exports, CLI flags, bin entries, and endpoints is empty or only adds that diff
criteria pass dotbabel criteria verify --pr <N> --post the evidence comment

An item you cannot map to a check is not done. Write it in the proof as unverified, with the reason. Never tick it.

3. Ground and isolate

  1. Read the inputs and the code the goal touches. Cite file:line for each claim.

  2. If the contract has two readings that lead to different code, ask one question. Otherwise state the reading you chose and continue.

  3. Create a worktree from the latest origin/main under .claude/worktrees/<slug>/, per the rule floor. Where dotbabel fleet runs, claim the paths you will edit.

  4. From inside the worktree, record the contract, so a later session in that worktree can resume the task. A task record belongs to the worktree it is written from.

    dotbabel task new <slug> --goal "<goal>" --done-when "<item>" ... --constraint "<item>" ...
    

    Skip the record when dotbabel is not installed, and say so in the report.

4. Plan

Write at most five bullets in the form Step → verify: <check>. Do not wait for approval: the contract is the approval. Stop only for an ambiguity that changes the result, or for a constraint that the goal cannot meet.

5. Test first, then implement

  1. Write the tests for each behavior: unit tests, and integration tests where the change crosses a process, file, network, or database boundary. Include a negative case and a boundary case.
  2. Run them and see them fail for the right reason.
  3. Implement until they pass. Keep to the constraints.

6. Prove it works

Run the feature the way a user does. Choose by the surface the change has:

Surface Run
CLI the command with real arguments, in a temporary directory if it writes
library a short script that calls the public function
server, API start it, call the endpoint, read the response
UI /run the app, open the changed screen, take a screenshot
docs only run each command the changed text shows, and check each link it adds
none write N/A — <reason>: a pure refactor that the tests already cover

Record each command and the last ten lines of its output. A run that fails is a bug: fix it, and add the test that would have caught it.

7. Check the constraints

Run the check from step 2 for each constraint. A constraint that fails stops the task: report it rather than weaken it.

8. Review once

Run one review of the branch diff: /code-review on the changed files, or /quality-review where the project has a dotbabel quality policy. Fix each correct finding. Answer each wrong one in the proof, in one line. Do not post review comments, and do not start review rounds: /post-pr-review, /review-pr, and /pr-conductor run only when the user asks.

9. Open the pull request

  1. Commit with conventional messages. Do not add [skip ci]: CI on the head is the merge evidence.
  2. Push the branch once, when the proof is complete, and open the pull request with gh pr create --body-file <file> (add --draft for --draft). Where CI minutes are metered (a private repository without a self-hosted runner), every push of the head starts a paid run, so push the fixes of step 10 in one batch.
  3. Write the body with these sections, in this order:
    • ## Summary — one to three bullets.
    • ## Test plan — a checklist; tick only the items you ran.
    • ## Proof — the format below.
    • ## Spec ID or ## No-spec rationale — last, when the project uses specs or the change touches a protected path.
  4. If a linked spec declares active criteria, run dotbabel criteria verify --pr <N> --post from the worktree at the pull request head. A failing criterion is a failing done_when item.

The ## Proof section:

## Proof

| done_when         | Check                                | Result                       |
| ----------------- | ------------------------------------ | ---------------------------- |
| tests pass        | `npx vitest run tests/foo.test.mjs`  | 14 passed                    |
| the feature runs  | `dotbabel foo --bar baz`             | prints `3 items`, exit 0     |
| no schema changes | `git diff --stat main... -- schemas` | empty                        |
| review passes     | `/code-review` on the diff           | 3 found, 2 fixed, 1 answered |

<details><summary>Feature run</summary>

```text
$ dotbabel foo --bar baz
...
```

</details>

10. Wait for CI

Run gh pr checks <N> --watch. Fix a red check on the branch with a new commit, and repeat step 6 when the fix changes behavior. After three failed fixes for one check, stop and report it.

11. Report

Give the completion status: the done_when table with each result, the pull request link, and the CI state. Close the task record from the worktree with dotbabel task close <slug>. Name the next step: /merge-pr <N> when the user says merge, or a review the user may want to run on demand.

Rules

  • The proof is the contract. Never tick a done_when item or a test-plan item without evidence in the pull request body.
  • One review pass. No review fleet, no comment rounds, no local attestation, unless the user asks.
  • Never weaken a test, a check, a constraint, or a threshold to reach done.
  • Never add [skip ci] to the head commit, and never write the marker in any commit message, even to describe it: GitHub matches it anywhere in the message and skips the whole run. Check with git log --format=%B -1 before you push.
  • Never merge, and never force-push.
  • Stop and ask only for: an ambiguity that changes the result, a constraint the goal cannot meet, a check that stays red after three fixes, or a destructive action.

04 同仓库更多 Skills

kaiohenricunha
kaiohenricunha/dotbabel

yolo

Start temporary autonomy for the current task or an explicit scope with a required --for expiry. Codex permits scoped pushes, merges, deploys, and releases after strict testing and validation; Full access is a separate runtime setting. Claude Code uses a session permission hook with a protected-action denylist.

开发工程师
★ 0
kaiohenricunha
kaiohenricunha/dotbabel

veracity-audit

Audit a data pipeline for Veracity and Value. Dispatches data-scientist, compliance-auditor, and data-engineer agents with project context injected at dispatch time. All source paths are supplied via flags — no defaults, no project assumptions. Subcommands: audit (full pipeline walk), score-check (scoring math only), gate-check (gate coverage only), source-trace <label> (single source end-to-end). Invoke when: "audit pipeline", "veracity check", "scoring math correct?", "check gates", "trace source", "verify quality gates", "formula correct?".

律师与法务Skill与智能体开发
★ 0
kaiohenricunha
kaiohenricunha/dotbabel

validate-spec

Audit an already-implemented spec against the codebase. Walks each constraint (ARCH-N, PERF-N, KD-N, etc.) and acceptance criterion, grounds findings in file:line evidence, runs the spec.json acceptance_commands, and writes a single audit doc to docs/audits/. Use whenever the user asks to "validate a spec", "audit a spec", "check if spec is implemented", "verify the spec is done", "is this spec really done", or otherwise wants closure on spec-driven work. Read-only against the spec — produces an audit, never modifies the spec itself.

★ 0
kaiohenricunha
kaiohenricunha/dotbabel

terragrunt-specialist

Deep-dive Terragrunt hierarchy review, DRY pattern audits, and run-all orchestration analysis. Use for structured investigations of multi-environment Terragrunt layouts, dependency graphs, remote state config, and hook correctness. Triggers on: "Terragrunt audit", "run-all review", "dependency block", "DRY pattern review", "env hierarchy audit", "mock_outputs", "terragrunt hooks".

运维与部署
★ 0
kaiohenricunha
kaiohenricunha/dotbabel

terraform-specialist

Deep-dive Terraform architecture review, module design, state management, and migration. Use for structured investigations of Terraform workspaces, provider configuration, module coupling, import workflows, and test coverage. Triggers on: "Terraform audit", "module review", "state management", "Terraform import", "workspace design", "provider config review", "Terraform testing".

测试与质量运维与部署
★ 0
kaiohenricunha
kaiohenricunha/dotbabel

spec

Create structured engineering specs through interactive pairing. Use when the user wants to create a spec, design doc, technical specification, architecture document, RFC, or engineering plan. Triggers on "let's spec this out", "create a spec", "design doc", "write a technical plan", "plan the architecture". Works for greenfield and brownfield projects. Outputs to docs/specs/.

设计师视觉设计
★ 0