Claude Skill

he-ship

Deliver a verified build through a task branch and PR, check the intended remote result, and clean up the completed task safely. Use for PR creation, shipping, merging or release/deployment requests; skip planning, implementation and review-only work.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download sgaabdu4-building-flutter-apps-.agents_skills_he-ship-c396097.zip · 6 KB
Part of sgaabdu4/building-flutter-apps — 14 skills

Install

skills CLI npx skills add https://github.com/sgaabdu4/building-flutter-apps/tree/main/.agents/skills/he-ship
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install sgaabdu4-building-flutter-apps@llmmart
Git git clone https://github.com/sgaabdu4/building-flutter-apps.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole sgaabdu4/building-flutter-apps collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Hard Eng Ship

  • Input = HE Build local Ready-for-ship evidence + user's delivery scope. Reuse authorization; a skill, plan or green check adds none. Resolve the actual repository, branch/PR and requested environment from the task + project instructions. Missing material authority/target → finish safe preparation, then ask only for that boundary.
  • Contract = native shipping checks; configure from repository facts in the existing gate file. Missing configuration/access/proof blocks. Use project-owned release commands and existing Git/gh; do not introduce a provider, tracker, upload service or watcher automatically.
flowchart TD
  A[Current build proof + delivery scope] --> B[Task branch + scoped PR with evidence]
  B --> C[Native ready check]
  C -->|Pass + merge authorized| M[Guarded merge]
  C -->|PR-only request| P[Report PR and actual checks]
  M --> D[Verify merged revision + required delivery proof]
  D -->|Pass| K[Guarded task cleanup]
  K --> R[Record actual outcome in same plan]
  C & D -->|Code failure| F[HE Build: fix + affected proof]
  F --> B
  C & D & K -->|Unavailable prerequisite| U[Preserve proof + exact resume condition]
  click C "references/checks.md"
  click M "references/checks.md"
  click K "references/checks.md"
  click F "../he-build/SKILL.md"

Prepare + deliver

  • Isolation = reuse this task's branch/worktree + existing PR. If work began in a shared/base checkout, isolate the authorized changes before shipping; preserve unrelated staged/unstaged files. One coordinator owns Git/ref/environment mutations. No blanket staging, history rewrite or branch-rule change.
  • Baseline repair = HE Plan's prerequisite route requires its own delivery through verified main before feature work resumes. Finish the authorized Merge or Deploy target, including current remote CI; a PR-only handoff leaves the dependent feature blocked.
  • UI evidence = inspect matching baseline/final route, state and viewport through E2E. Appearance differs → publish the before/after pair; unchanged → comparison note without duplicate uploads. Use the contract's formats. Interactions still need their own proof. Missing baseline → recover it in isolation, never invent unchanged appearance. Preserve published proof through cleanup.
  • PR = actual problem/result + scoped diff + tests/evidence + material risks. Resolve a matching existing PR before creating one. A failed lookup is unknown, not absence. PR creation does not grant merge authority. Recheck after source changes; handle actionable review findings through existing Code Review and HE Build.
  • Publication = review the complete outgoing payload against publication privacy before publishing or updating it.
  • Verification = native check on the current PR/revision; pending, skipped required work, an old green run or a successful command with missing proof cannot establish delivery. For Deploy, the configured project check must inspect the intended deployed revision and affected runtime through E2E. No generic health page or local screenshot substitutes for the changed remote behavior.
  • Recovery = inspect the actual remote result before retrying interrupted actions. Code/config changes → HE Build + fresh affected/final checks. Delivery-only outages/permissions → preserve local Complete and record the unfinished delivery + exact resume condition. Use the project's scoped recovery procedure; no blind migration retry or rollback.

Completion + cleanup

  • Same plan = local build Complete remains distinct from Delivery target: PR, Merge or Deploy in Verification. An E2E: Delivery journey keeps the target Deploy until its configured runtime verifier passes. Retain full pending delivery requirements as prose; replace pending claims only with actual evidence. Never tick remote proof before it exists or create a second state file.
  • Cleanup = only after confirmed merge and required delivery proof. Retain the same relative plan in the persistent checkout, recovering it from the verified merged revision if needed; preserve unrelated edits. Deliberately clean only known generated artifacts, then run the guard; preserve current/main, dirty/untracked/unknown ignored, locked, reused or changed task worktrees/branches. Initialized submodules or different fetch/push endpoints → retain the task for its repository-owned procedure. Do not delete another active task's checkout. Uncertain ownership/activity → retain it and report the blocker. No force-removal to make cleanup pass.
  • Handoff = PR/revision + current CI result + required release/runtime proof + cleanup outcome + remaining limitations. Reconcile the existing plan and final report with those receipts and the observed installed revision; installed files or local Complete alone do not establish delivered setup. Say submitted, merged or deployed according to what happened. Credentials and publication rights remain external prerequisites.
  • Post-merge receipts = final report + native remote evidence. Do not create a follow-up PR solely to replace pre-merge pending delivery prose in the merged plan; that plan records the requirements, not a second delivery ledger.
  • Efficiency = reuse matching proof; measure pre-push/CI duration against configured project budgets. Optimize demonstrated setup/critical-path waste at the existing gate owner; retain required checks, latest-tool policy and failure detection. No repeated full review, fixed agent count, score target or unmeasured “fastest” claim.
Files (building-flutter-apps)
  • references
    • checks.md 8 KB
      # Native shipping checks
      
      Load for configuring or running HE Ship. The initial verifier supports GitHub PRs whose head and base belong to `origin`; fork PRs and other providers are unsupported. Missing `gh`, authentication or configuration is a blocker. The checks use real Git/`gh` responses and trusted project commands. Fixture responses are only test evidence, not hosted delivery proof.
      
      ## Publication privacy
      
      - Audience = establish the destination and who can read it before recording tracked content or publishing. General merge/publish authorization does not authorize disclosure of private context.
      - Public shared tooling = use public repository facts or accurately labeled synthetic reproductions. Exclude private consumer/client identifiers, personal data, private task/commit IDs, internal URLs, local paths and private operational logs/screenshots. Keep real private evidence within its authorized audience; do not relabel it as synthetic.
      - Review = inspect the complete payload: diff, plans/decisions/fixtures, filenames, branch/commit text, PR titles/bodies/comments, links, logs and attachments. Sanitize descriptions and evidence before publication. A passing secret scan cannot establish privacy.
      - Disclosure = stop further exposure, sanitize current text within existing authority and report remaining history/copies. Current-text cleanup does not erase Git/edit history, notifications or copies; history rewriting requires separate authorization.
      
      ## Project contract
      
      Add `shipping` to the existing `hard-eng.gates.json` from observed repository requirements:
      
      ```json
      {
        "shipping": {
          "base": "main",
          "checks": ["hard-eng"],
          "ui_paths": ["web/**"],
          "ci_seconds": 180,
          "pre_push_seconds": 180,
          "delivery": []
        }
      }
      ```
      
      Values above are an example, not universal defaults. Use the actual target, required check names, UI owners and measured budgets. `ci_seconds` measures each named check, not upstream work hidden behind an aggregate; follow [CI ownership](../../he/references/gates.md) when consolidating existing jobs. A required check must conclude `success` on every PR; `skipped` proves nothing and is rejected. Put a path condition on the job's steps, never on the job, and add one step that reports nothing to verify, so a docs-only PR still concludes the check. An empty UI path list explicitly describes a nonvisual project. Missing/invalid policy blocks pushes, Complete plans selecting delivery and ship checks. Pre-push rejects direct updates to the configured base and still verifies the actual pushed commit; the elapsed budget is an additional requirement, not permission to omit checks. Push to GitHub over HTTPS: an SSH connection can drop while the hook runs, failing the push (exit 141) after checks pass.
      
      Installed-scaffold freshness is checked without mutation at completion and shipping. A newer CI-verified revision or unavailable freshness evidence blocks a completion claim. Use the supported updater, preserve conflicting local edits and reverify affected work; never advance the revision marker manually. Source development without an installed marker is outside this update check.
      
      For deployment, `delivery` contains existing project verifiers: `{"name":"production","command":["python3","scripts/verify_deployment.py"]}`. Reuse a native project command before adding a script. Each receives `HE_SHIP_REVISION` and `HE_SHIP_PR_URL`; it must inspect the actual deployed state and emit JSON `{"status":"passed","revision":"<observed source revision>"}`. Nonzero exit, missing/wrong revision or absent required commands fail. A script that echoes the expected environment variable proves nothing; validate an old-version failure and current-version success at the deployed boundary.
      
      Keep one declaration in the existing plan's Verification section:
      
      ```text
      Delivery target: Deploy
      Delivery: Pending — production verification and cleanup remain required.
      ```
      
      Allowed targets: `PR`, `Merge`, `Deploy`. Local build acceptance stays in the existing checklist; full remote requirements stay explicitly pending until proven. No new plan Status values or unchecked future-delivery checkbox that prevents the necessary pre-push Complete gate.
      
      ## UI evidence in the PR
      
      For changes matching `ui_paths`, compare the actual baseline and final appearance at the same route, state and viewport. Publish a before/after pair only when appearance differs, using distinct, inspected GitHub attachments:
      
      ```markdown
      Before: ![Before](https://github.com/user-attachments/assets/actual-before-id)
      After: ![After](https://github.com/user-attachments/assets/actual-after-id)
      ```
      
      When the installed `gh pr create` or `gh pr edit` supports `--attach`, upload
      images or videos directly; a browser upload is not a prerequisite. For video,
      keep its local Markdown reference as the only content in its paragraph in the
      body file:
      
      ```markdown
      Before:
      
      ![](evidence/before.mp4)
      
      After:
      
      ![](evidence/after.mp4)
      ```
      
      Create or update the PR with that body and both local files:
      
      ```sh
      gh pr create --title "Title" --body-file pr-body.md \
        --attach evidence/before.mp4 --attach evidence/after.mp4
      gh pr edit https://github.com/owner/repo/pull/123 --body-file pr-body.md \
        --attach evidence/before.mp4 --attach evidence/after.mp4
      ```
      
      GitHub CLI rewrites each video reference to a standalone GitHub asset URL, so
      the published body has the same labels followed by raw URLs. The verifier
      accepts those URLs only under `Before:` or `After:`; image Markdown and mixed
      image/video pairs remain supported.
      
      When appearance is unchanged, omit the duplicate attachments and record one comparison note instead:
      
      ```text
      UI appearance: unchanged — inspected the baseline and final dashboard at the same state and viewport; no visible difference.
      ```
      
      Describe the actual comparison, not an assumed result. Missing proof is not unchanged appearance. This declaration cannot accompany labeled Before/After attachments and does not waive behavior tests. Distinct URLs or different file bytes alone do not establish a visible difference.
      
      The verifier checks the declaration or attachment availability/media type; E2E owns inspection of the actual comparison and behavior. Keep baseline/final context in the PR; do not upload sensitive content or fabricate a missing baseline.
      
      ## Commands + proof boundaries
      
      From the task checkout, with its actual PR URL and plan:
      
      ```sh
      python3 .hooks/hard-eng.py ship --plan PLAN.md --pr https://github.com/owner/repo/pull/123 --stage ready
      ```
      
      `ready` verifies current PR identity, branch/build evidence, required checks and applicable UI evidence. It is read-only. `merge` runs the same gate before a head-matched merge; select the repository's merge method and invoke it only with existing merge authorization. A queued or pending merge is unfinished.
      
      `delivered` requires actual merge/remote proof and, for Deploy, the configured runtime verification. Before cleanup, retain evidence and make sure no other task uses the checkout. Deliberately remove only known generated build/test artifacts; unknown ignored files are retained. Run `cleanup` from the repository's persistent checkout with `--worktree` naming the completed linked worktree. Native guards must pass; a changed/dirty/locked/current checkout or active Git index lock is retained. Cleanup does not manufacture delivery proof. Use `python3 -B` for the cleanup invocation so Python does not create new bytecode artifacts.
      
      Cleanup requires the captured origin URL to remain the fetch and sole push endpoint. Multiple or differing push URLs and initialized submodules are retained for a repository-owned cleanup procedure; the generic command never force-removes them. Dirty submodule checks override Git's ignore settings.
      
      Record returned results at the same relative plan path in the persistent checkout, recovering the plan from the verified merged revision before removal if needed. Preserve unrelated edits there. Source changes invalidate affected build proof; external outages do not erase valid local checks. Remote branch protection remains project-owned; this implementation does not change server rules or claim to control unrelated clients.
      
  • SKILL.md 5.9 KB
    ---
    name: he-ship
    description: Deliver a verified build through a task branch and PR, check the intended remote result, and clean up the completed task safely. Use for PR creation, shipping, merging or release/deployment requests; skip planning, implementation and review-only work.
    ---
    
    # Hard Eng Ship
    
    - Input = [HE Build](../he-build/SKILL.md) local Ready-for-ship evidence + user's delivery scope. Reuse authorization; a skill, plan or green check adds none. Resolve the actual repository, branch/PR and requested environment from the task + project instructions. Missing material authority/target → finish safe preparation, then ask only for that boundary.
    - Contract = [native shipping checks](references/checks.md); configure from repository facts in the existing gate file. Missing configuration/access/proof blocks. Use project-owned release commands and existing Git/`gh`; do not introduce a provider, tracker, upload service or watcher automatically.
    
    ```mermaid
    flowchart TD
      A[Current build proof + delivery scope] --> B[Task branch + scoped PR with evidence]
      B --> C[Native ready check]
      C -->|Pass + merge authorized| M[Guarded merge]
      C -->|PR-only request| P[Report PR and actual checks]
      M --> D[Verify merged revision + required delivery proof]
      D -->|Pass| K[Guarded task cleanup]
      K --> R[Record actual outcome in same plan]
      C & D -->|Code failure| F[HE Build: fix + affected proof]
      F --> B
      C & D & K -->|Unavailable prerequisite| U[Preserve proof + exact resume condition]
      click C "references/checks.md"
      click M "references/checks.md"
      click K "references/checks.md"
      click F "../he-build/SKILL.md"
    ```
    
    ## Prepare + deliver
    
    - Isolation = reuse this task's branch/worktree + existing PR. If work began in a shared/base checkout, isolate the authorized changes before shipping; preserve unrelated staged/unstaged files. One coordinator owns Git/ref/environment mutations. No blanket staging, history rewrite or branch-rule change.
    - Baseline repair = [HE Plan's prerequisite route](../he/references/gates.md#baseline-repair) requires its own delivery through verified main before feature work resumes. Finish the authorized Merge or Deploy target, including current remote CI; a PR-only handoff leaves the dependent feature blocked.
    - UI evidence = inspect matching baseline/final route, state and viewport through [E2E](../e2e/SKILL.md). Appearance differs → publish the before/after pair; unchanged → comparison note without duplicate uploads. Use the [contract's formats](references/checks.md#ui-evidence-in-the-pr). Interactions still need their own proof. Missing baseline → recover it in isolation, never invent unchanged appearance. Preserve published proof through cleanup.
    - PR = actual problem/result + scoped diff + tests/evidence + material risks. Resolve a matching existing PR before creating one. A failed lookup is unknown, not absence. PR creation does not grant merge authority. Recheck after source changes; handle actionable review findings through existing [Code Review](../code-review/SKILL.md) and HE Build.
    - Publication = review the complete outgoing payload against [publication privacy](references/checks.md#publication-privacy) before publishing or updating it.
    - Verification = native check on the current PR/revision; pending, skipped required work, an old green run or a successful command with missing proof cannot establish delivery. For Deploy, the configured project check must inspect the intended deployed revision and affected runtime through E2E. No generic health page or local screenshot substitutes for the changed remote behavior.
    - Recovery = inspect the actual remote result before retrying interrupted actions. Code/config changes → HE Build + fresh affected/final checks. Delivery-only outages/permissions → preserve local Complete and record the unfinished delivery + exact resume condition. Use the project's scoped recovery procedure; no blind migration retry or rollback.
    
    ## Completion + cleanup
    
    - Same plan = local build Complete remains distinct from `Delivery target: PR`, `Merge` or `Deploy` in Verification. An `E2E: Delivery` journey keeps the target Deploy until its configured runtime verifier passes. Retain full pending delivery requirements as prose; replace pending claims only with actual evidence. Never tick remote proof before it exists or create a second state file.
    - Cleanup = only after confirmed merge and required delivery proof. Retain the same relative plan in the persistent checkout, recovering it from the verified merged revision if needed; preserve unrelated edits. Deliberately clean only known generated artifacts, then run the guard; preserve current/main, dirty/untracked/unknown ignored, locked, reused or changed task worktrees/branches. Initialized submodules or different fetch/push endpoints → retain the task for its repository-owned procedure. Do not delete another active task's checkout. Uncertain ownership/activity → retain it and report the blocker. No force-removal to make cleanup pass.
    - Handoff = PR/revision + current CI result + required release/runtime proof + cleanup outcome + remaining limitations. Reconcile the existing plan and final report with those receipts and the observed installed revision; installed files or local Complete alone do not establish delivered setup. Say submitted, merged or deployed according to what happened. Credentials and publication rights remain external prerequisites.
    - Post-merge receipts = final report + native remote evidence. Do not create a follow-up PR solely to replace pre-merge pending delivery prose in the merged plan; that plan records the requirements, not a second delivery ledger.
    - Efficiency = reuse matching proof; measure pre-push/CI duration against configured project budgets. Optimize demonstrated setup/critical-path waste at the existing gate owner; retain required checks, latest-tool policy and failure detection. No repeated full review, fixed agent count, score target or unmeasured “fastest” claim.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related