Skill Tracer
Skills › gstack › ship › manifest.json

manifest.json

104 lines · ship/sections/manifest.json at 3f79d81

1{
2 "$schema": "https://gstack.dev/schemas/section-manifest.json",
3 "skill": "ship",
4 "version": 1,
5 "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.",
6 "sections": [
7 {
8 "id": "apple-release",
9 "file": "apple-release.md",
10 "title": "Apple App Store / TestFlight release adapter",
11 "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"
12 },
13 {
14 "id": "tests",
15 "file": "tests.md",
16 "title": "Test bootstrap, run, triage + eval suites",
17 "trigger": "running the test suites and (if prompt files changed) the eval suites (Steps 4-6)"
18 },
19 {
20 "id": "greptile-early",
21 "file": "greptile-early.md",
22 "title": "Early Greptile PR",
23 "trigger": "opening the PR early for a parallel Greptile review after the free tests pass (Step 6.5)"
24 },
25 {
26 "id": "measure",
27 "file": "measure.md",
28 "title": "Measure-then-fix loop for a red eval or free shard",
29 "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"
30 },
31 {
32 "id": "test-coverage",
33 "file": "test-coverage.md",
34 "title": "Test coverage audit (subagent)",
35 "trigger": "auditing test coverage of the diff (Step 7)"
36 },
37 {
38 "id": "plan-completion",
39 "file": "plan-completion.md",
40 "title": "Plan completion + verification audit (subagent)",
41 "trigger": "auditing plan completion, verification, and scope drift (Step 8)"
42 },
43 {
44 "id": "review-army",
45 "file": "review-army.md",
46 "title": "Pre-landing review + specialist army",
47 "trigger": "the pre-landing review and specialist dispatch (Step 9)"
48 },
49 {
50 "id": "shared-code-reuse",
51 "file": "shared-code-reuse.md",
52 "title": "Verified reuse of skipped shared-code advice",
53 "trigger": "reusing explicitly skipped shared-code advice (Step 9.3)"
54 },
55 {
56 "id": "greptile",
57 "file": "greptile.md",
58 "title": "Address Greptile review comments",
59 "trigger": "addressing Greptile review comments when a PR exists (Step 10)"
60 },
61 {
62 "id": "adversarial",
63 "file": "adversarial.md",
64 "title": "Adversarial review + learnings refresh",
65 "trigger": "the adversarial review and learnings capture (Step 11)"
66 },
67 {
68 "id": "changelog",
69 "file": "changelog.md",
70 "title": "CHANGELOG entry (release-summary + itemized)",
71 "trigger": "writing the CHANGELOG entry (Step 13)"
72 },
73 {
74 "id": "documentation",
75 "file": "documentation.md",
76 "title": "Pre-publication documentation audit and completion gate",
77 "trigger": "auditing docs before final commit/verification (Step 14.5), on every ship"
78 },
79 {
80 "id": "pr-body",
81 "file": "pr-body.md",
82 "title": "PR/MR creation and documentation outcome",
83 "trigger": "preparing the title and creating or updating the PR/MR with the verified documentation outcome (Steps 18-19)"
84 },
85 {
86 "id": "capy-pr",
87 "file": "capy-pr.md",
88 "title": "Capy PR body: What changed (before/after images), Why, Approvals",
89 "trigger": "Step 19 printed CAPY_PR: on (a Capy session, GSTACK_CAPY=1) — read before composing the PR body"
90 },
91 {
92 "id": "handoff",
93 "file": "handoff.md",
94 "title": "Handoff without a PR (automation lanes)",
95 "trigger": "handing the branch to a coordinator instead of opening a PR (--no-pr or an automation lane; Step 18)"
96 },
97 {
98 "id": "budget-handoff",
99 "file": "budget-handoff.md",
100 "title": "Token budget and fresh-context handoff",
101 "trigger": "a token cap is set or verdict=delegate printed (Step 1 on)"
102 }
103 ]