Files
gstack/ship/sections/manifest.json
T
Garry Tanandcapy-ai[bot] e7a1df9e18 v1.91.172.0 feat(capy): approvals per thread, Captain plan briefs and before/after PR images (#3328)
* feat(capy): approvals per thread, Captain plan briefs and before/after PR images (GSTA-61)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* fix(capy): mark whole rewrites in PR images, point the ship guide at the skill folder, refresh ship goldens (GSTA-61)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* test(context-budget): raise the Capy skill ceiling for "Working under a Captain" (GSTA-61)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* revert(capy): keep wrapper 2; owners copy the skill folder by hand (GSTA-61)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* v1.91.172.0 stamp (#3328)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-20 23:55:41 +00:00

99 lines
4.0 KiB
JSON

{
"$schema": "https://gstack.dev/schemas/section-manifest.json",
"skill": "ship",
"version": 1,
"note": "PASSIVE registry (v2 plan T9 / CM2). Fields are IDs, file paths, human titles, and human-readable trigger text ONLY. The skeleton's decision-tree prose is the ONLY place that decides WHEN to read a section; required section reads are checked by test/skill-e2e-ship-section-loading.test.ts. No machine predicate here \u2014 see docs/designs/v2_PLAN.md:663.",
"sections": [
{
"id": "apple-release",
"file": "apple-release.md",
"title": "Apple App Store / TestFlight release adapter",
"trigger": "App Store/TestFlight distribution is requested for an Apple app (.xcodeproj, .xcworkspace, or an app-product Swift package) \u2014 read at Step 0.9 before the branch gate; an Apple repository-landing request follows the normal pipeline"
},
{
"id": "tests",
"file": "tests.md",
"title": "Test bootstrap, run, triage + eval suites",
"trigger": "running the test suites and (if prompt files changed) the eval suites (Steps 4-6)"
},
{
"id": "greptile-early",
"file": "greptile-early.md",
"title": "Early Greptile PR",
"trigger": "opening the PR early for a parallel Greptile review after the free tests pass (Step 6.5)"
},
{
"id": "measure",
"file": "measure.md",
"title": "Measure-then-fix loop for a red eval or free shard",
"trigger": "a paid eval case is red or a free-suite shard failed (Steps 5-6) \u2014 read from the tests section; diagnostic reruns, then the gate once"
},
{
"id": "test-coverage",
"file": "test-coverage.md",
"title": "Test coverage audit (subagent)",
"trigger": "auditing test coverage of the diff (Step 7)"
},
{
"id": "plan-completion",
"file": "plan-completion.md",
"title": "Plan completion + verification audit (subagent)",
"trigger": "auditing plan completion, verification, and scope drift (Step 8)"
},
{
"id": "review-army",
"file": "review-army.md",
"title": "Pre-landing review + specialist army",
"trigger": "the pre-landing review and specialist dispatch (Step 9)"
},
{
"id": "shared-code-reuse",
"file": "shared-code-reuse.md",
"title": "Verified reuse of skipped shared-code advice",
"trigger": "reusing explicitly skipped shared-code advice (Step 9.3)"
},
{
"id": "greptile",
"file": "greptile.md",
"title": "Address Greptile review comments",
"trigger": "addressing Greptile review comments when a PR exists (Step 10)"
},
{
"id": "adversarial",
"file": "adversarial.md",
"title": "Adversarial review + learnings refresh",
"trigger": "the adversarial review and learnings capture (Step 11)"
},
{
"id": "changelog",
"file": "changelog.md",
"title": "CHANGELOG entry (release-summary + itemized)",
"trigger": "writing the CHANGELOG entry (Step 13)"
},
{
"id": "documentation",
"file": "documentation.md",
"title": "Pre-publication documentation audit and completion gate",
"trigger": "auditing docs before final commit/verification (Step 14.5), on every ship"
},
{
"id": "pr-body",
"file": "pr-body.md",
"title": "PR/MR creation and documentation outcome",
"trigger": "preparing the title and creating or updating the PR/MR with the verified documentation outcome (Steps 18-19)"
},
{
"id": "capy-pr",
"file": "capy-pr.md",
"title": "Capy PR body: What changed (before/after images), Why, Approvals",
"trigger": "Step 19 printed CAPY_PR: on (a Capy session, GSTACK_CAPY=1) — read before composing the PR body"
},
{
"id": "handoff",
"file": "handoff.md",
"title": "Handoff without a PR (automation lanes)",
"trigger": "handing the branch to a coordinator instead of opening a PR (--no-pr or an automation lane; Step 18)"
}
]
}