Skip to main content

harness-ship

Phase skill: commit changes, push branch, create a GitHub pull request, and watch CI to green

Ir para a instalação

Informações da origem

Repositório
cowcow02/agentfleet
Última atividade na origem
9 de abril de 2026 às 07:32
Idioma detectado do SKILL.md
inglês
Estrelas
0
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
harness-ship
description
Phase skill: commit changes, push branch, create a GitHub pull request, and watch CI to green
user-invocable
false
## Purpose Package the work into a well-described PR linked to the Linear ticket, then watch CI to green so the human review gate has a known-good state to evaluate. **Scope:** ship is **pre-merge only**. PR merge, Railway healthcheck, Linear "Done", and worktree removal happen in `harness-cleanup` after the human approves and the `review` phase flips from waiting to done. ## Steps 1. **Stage and commit:** - Stage all changed code files (be specific — don't `git add -A`) - **Also stage `.harness/conversations/<task-id>.md`** — this file is part of the deliverable and lives outside the typical source dirs, so it's easy to miss. It is NOT gitignored. - Exclude sensitive files (.env, credentials, etc.) - Write a commit message: - First line: concise summary (e.g., "Add projects table and CRUD API") - Body: reference ticket (e.g., "Implements AGE-5") - Follow any existing commit style from recent `git log` 2. **Push branch:** ```bash git push -u origin <branch-name> ``` 3. **Create PR:** ```bash gh pr create --title "<concise title>" --body "$(cat <<'EOF' ## Summary <what changed and why, 1-3 bullets> ## Linear ticket <ticket-id>: <title> ## Changes <list of key changes> ## Test plan - [ ] <checklist of what to verify> ## Evidence <screenshots or API response summaries from verify phase> EOF )" ``` 4. **Capture PR URL** in state outputs 5. **Update Linear ticket** — if the task is a Linear ticket (AGE-XX pattern): - Move status to `In Review` - Attach the PR link to the ticket using `save_issue` with a `links` entry: ``` links: [{ url: "<pr-url>", title: "Pull Request: <pr-title>" }] ``` - This keeps Linear in sync so the team can see progress without checking GitHub 6. **Watch CI** — wait for all checks to complete on the PR: ```bash gh pr checks <pr-number> --watch ``` - On success: capture the run URL(s) in state outputs as `ci_runs` - On failure: read the failing job's logs (`gh run view <run-id> --log-failed`), attempt one fix, push, and re-watch - After 2 fix attempts → surface to human with the failing log 7. **Record to conversation file:** - **Insert before** the `## Harness Issues` marker in `.harness/conversations/<task-id>.md` (use Edit tool with `## Harness Issues` as the anchor — do NOT literally append, that would land below the issues section): ``` ## Ship **Branch:** <branch-name> **PR:** <url> **Commits:** <count> **CI:** pass (run: <url>) / fail ``` - **If you hit friction** (CI failed and required a fix, push rejected, PR creation failed), append an entry to the **literal end** of the file — it will land inside the `## Harness Issues` section since that section is last. 8. **Commit & push the ship-phase conversation update** — step 7 wrote the `## Ship` section to the conversation file _after_ the initial commit in step 1, so those changes are uncommitted. Capture them in a follow-up commit so they survive worktree cleanup and are visible on the PR: ```bash git add .harness/conversations/<task-id>.md git commit -m "chore: record ship phase to <task-id> conversation log" git push ``` If there are no changes, skip silently. 9. **Mark ship phase done.** The engine will move to the `review` phase, see status `waiting`, and stop. The human reviews on GitHub and signals approval. Once review flips to `done`, the engine resumes into `harness-cleanup`, which performs the merge, Railway healthcheck, Linear → "Done", and worktree removal. **Do not** merge the PR, run Railway checks, or remove the worktree from this skill — those are `harness-cleanup`'s job. ## Checklist - [ ] All code changes + conversation file committed with descriptive message - [ ] Branch pushed to origin - [ ] PR created with ticket reference and summary - [ ] PR URL + PR number captured in state - [ ] Linear ticket updated to "In Review" (status + PR link) - [ ] CI watched to completion — green or surfaced to human - [ ] Ship-phase conversation update committed and pushed as follow-up - [ ] Phase marked done (engine will proceed to `review` waiting gate) ## Escalation - If `git push` fails (e.g., auth issue), tell the human - If CI fails on the PR, read the failure and attempt to fix — then push again - After 2 CI fix attempts → surface to human
Ver no GitHub