@@ -169,85 +169,147 @@ These scripts run sequentially. Each handles one phase of the landing workflow:
169169
170170## Dependency Graph
171171
172- ### Shared Resources
173-
174- Scripts and commands used by multiple consumers. The number indicates how many direct dependents.
175-
176- ```
177- SHARED SCRIPTS USED BY
178- ─────────────────────────────────────────────────────────────────
179- lint-commit.sh (4) /im /pr-create /pr-address /pr-land
180- verify-repo.sh (3) /im /pr-create /pr-land
181- asana-get-context.sh (3) /im /pr-create /dep-pr (via /task-review)
182- edge-repo.js (3) pr-land-prepare.sh pr-land-merge.sh pr-land-publish.sh
183- asana-whoami.sh (3) asana-attach-pr.sh asana-create-dep-task.sh asana-standup.sh
184-
185- SHARED COMMANDS USED BY
186- ─────────────────────────────────────────────────────────────────
187- /task-review (2) /im /pr-create
188- ```
189-
190172### Command → Command
191173
174+ ``` mermaid
175+ graph LR
176+ subgraph Commands
177+ pr-create["/pr-create"]
178+ im["/im"]
179+ dep-pr["/dep-pr"]
180+ pr-land["/pr-land"]
181+ pr-address["/pr-address"]
182+ pr-review["/pr-review"]
183+ chat-audit["/chat-audit"]
184+ task-review["/task-review"]
185+ standup["/standup"]
186+ convention-sync["/convention-sync"]
187+ changelog["/changelog"]
188+ author["/author"]
189+ q["/q"]
190+ end
191+ pr-create -->|"uses im.md rules"| im
192+ pr-create --> task-review
193+ im --> task-review
194+ dep-pr -->|"runs full workflow"| pr-create
195+ chat-audit -->|"audits against"| im
196+ chat-audit --> author
197+ pr-land --> changelog
192198```
193- /pr-create ──→ /im (references im.md rules: lint, CHANGELOG, verify)
194- ──→ /task-review (runs task-review for Asana context)
195- ──→ /pr-land (next step reference)
196- ──→ /pr-address (next step reference)
197-
198- /im ─────────→ /task-review (runs task-review for Asana context)
199-
200- /dep-pr ─────→ /pr-create (runs full pr-create workflow in dependent repo)
201-
202- /chat-audit ─→ /im (analyzes chat against im.md rules)
203- ──→ /author (suggest fixes via author skill)
204-
205- /pr-land ────→ /changelog (CHANGELOG resolution during merge conflicts)
206- ```
207-
208- ### Command → Script (full graph)
209199
210- ```
211- ┌─ lint-warnings.sh
212- ├─ lint-commit.sh ·········· SHARED
213- /im ────────────────────├─ install-deps.sh
214- ├─ verify-repo.sh ·········· SHARED
215- └─ asana-get-context.sh ···· SHARED
216-
217- ┌─ pr-create.sh
218- ├─ lint-commit.sh ·········· SHARED
219- /pr-create ─────────────├─ verify-repo.sh ·········· SHARED
220- ├─ asana-attach-pr.sh ──→ asana-whoami.sh
221- └─ asana-get-context.sh ···· SHARED
222-
223- ┌─ pr-address.sh
224- /pr-address ────────────└─ lint-commit.sh ·········· SHARED
225-
226- /pr-review ─────────────── github-pr-review.sh
227-
228- ┌─ pr-land-discover.sh
229- ├─ pr-land-comments.sh
230- ├─ pr-land-prepare.sh ──→ edge-repo.js
231- ├─ verify-repo.sh ·········· SHARED
232- /pr-land ───────────────├─ pr-land-merge.sh ────→ edge-repo.js
233- ├─ pr-land-publish.sh ──→ edge-repo.js
234- ├─ pr-land-extract-asana-task.sh
235- ├─ asana-verification-needed.sh
236- ├─ lint-commit.sh ·········· SHARED
237- └─ upgrade-dep.sh
238-
239- ┌─ asana-get-context.sh ···· SHARED
240- /dep-pr ────────────────└─ asana-create-dep-task.sh ──→ asana-whoami.sh
241-
242- ┌─ asana-standup.sh ──→ asana-whoami.sh
243- /standup ───────────────└─ github-pr-activity.sh
244-
245- /convention-sync ───────── convention-sync.sh
246- /chat-audit ────────────── cursor-chat-extract.js
247- /task-review ───────────── asana-get-context.sh ···· SHARED
248-
249- (standalone) ┌─ pr-status-gql.sh
250- pr-watch.sh ────────────└─ pr-status.sh
200+ ### Full Dependency Graph
201+
202+ Each script node appears once. Shared scripts are highlighted with bold borders.
203+
204+ ``` mermaid
205+ graph TD
206+ %% ── Commands ──
207+ im["/im"]
208+ pr-create["/pr-create"]
209+ pr-address["/pr-address"]
210+ pr-review["/pr-review"]
211+ pr-land["/pr-land"]
212+ dep-pr["/dep-pr"]
213+ standup["/standup"]
214+ conv-sync["/convention-sync"]
215+ chat-audit["/chat-audit"]
216+ task-review["/task-review"]
217+
218+ %% ── Shared scripts (3+ consumers) ──
219+ lint-commit("lint-commit.sh"):::shared
220+ verify-repo("verify-repo.sh"):::shared
221+ asana-get-ctx("asana-get-context.sh"):::shared
222+ edge-repo("edge-repo.js"):::shared
223+ asana-whoami("asana-whoami.sh"):::shared
224+
225+ %% ── Per-command scripts ──
226+ lint-warn("lint-warnings.sh")
227+ install-deps("install-deps.sh")
228+ pr-create-sh("pr-create.sh")
229+ asana-attach("asana-attach-pr.sh")
230+ pr-address-sh("pr-address.sh")
231+ gh-pr-review("github-pr-review.sh")
232+ pr-land-disc("pr-land-discover.sh")
233+ pr-land-cmts("pr-land-comments.sh")
234+ pr-land-prep("pr-land-prepare.sh")
235+ pr-land-merge("pr-land-merge.sh")
236+ pr-land-pub("pr-land-publish.sh")
237+ pr-land-ext("pr-land-extract-asana-task.sh")
238+ asana-verify("asana-verification-needed.sh")
239+ upgrade-dep("upgrade-dep.sh")
240+ asana-dep("asana-create-dep-task.sh")
241+ asana-standup("asana-standup.sh")
242+ gh-pr-act("github-pr-activity.sh")
243+ conv-sync-sh("convention-sync.sh")
244+ chat-extract("cursor-chat-extract.js")
245+
246+ %% Standalone
247+ pr-watch("pr-watch.sh")
248+ pr-status-gql("pr-status-gql.sh")
249+ pr-status("pr-status.sh")
250+
251+ %% ── /im ──
252+ im --> lint-warn
253+ im --> lint-commit
254+ im --> install-deps
255+ im --> verify-repo
256+ im --> asana-get-ctx
257+
258+ %% ── /pr-create ──
259+ pr-create --> pr-create-sh
260+ pr-create --> lint-commit
261+ pr-create --> verify-repo
262+ pr-create --> asana-attach
263+ pr-create --> asana-get-ctx
264+
265+ %% ── /pr-address ──
266+ pr-address --> pr-address-sh
267+ pr-address --> lint-commit
268+
269+ %% ── /pr-review ──
270+ pr-review --> gh-pr-review
271+
272+ %% ── /pr-land ──
273+ pr-land --> pr-land-disc
274+ pr-land --> pr-land-cmts
275+ pr-land --> pr-land-prep
276+ pr-land --> verify-repo
277+ pr-land --> pr-land-merge
278+ pr-land --> pr-land-pub
279+ pr-land --> pr-land-ext
280+ pr-land --> asana-verify
281+ pr-land --> lint-commit
282+ pr-land --> upgrade-dep
283+
284+ %% ── /dep-pr ──
285+ dep-pr --> asana-get-ctx
286+ dep-pr --> asana-dep
287+
288+ %% ── /standup ──
289+ standup --> asana-standup
290+ standup --> gh-pr-act
291+
292+ %% ── /convention-sync ──
293+ conv-sync --> conv-sync-sh
294+
295+ %% ── /chat-audit ──
296+ chat-audit --> chat-extract
297+
298+ %% ── /task-review ──
299+ task-review --> asana-get-ctx
300+
301+ %% ── Script → Script ──
302+ asana-attach --> asana-whoami
303+ asana-dep --> asana-whoami
304+ asana-standup --> asana-whoami
305+ pr-land-prep --> edge-repo
306+ pr-land-merge --> edge-repo
307+ pr-land-pub --> edge-repo
308+ pr-watch --> pr-status-gql
309+ pr-watch --> pr-status
310+
311+ %% ── Styles ──
312+ classDef shared stroke-width:3px,stroke:#e6a817,fill:#fef3cd,color:#000
251313```
252314
253315---
0 commit comments