You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Claude Code skills for working on and with nf-metro. Skills auto-trigger
4
+
from the descriptions in each `SKILL.md` frontmatter; for the conventions
5
+
each one assumes (local paths, env names, render-preview URL), see the
6
+
preamble at the top of the relevant `SKILL.md`.
7
+
8
+
## Cohort map
9
+
10
+
The six skills fall into three conceptual groups.
11
+
12
+
### Pipeline-side
13
+
14
+
For someone integrating nf-metro into their own Nextflow pipeline repo:
15
+
16
+
| Skill | When to use |
17
+
|---|---|
18
+
|[`pipeline-metro-diagram`](pipeline-metro-diagram/SKILL.md)| Author the `.mmd` content for a pipeline's metro map: lines, stations, sections, off-track inputs, the render-inspect-edit iteration loop. |
19
+
|[`pipeline-metro-setup`](pipeline-metro-setup/SKILL.md)| Wire the rendered map into the pipeline repo: file layout, render commands, README image swap, CHANGELOG, install-line pinning (released version vs named-branch on a fork). |
20
+
21
+
### nf-metro-side authoring
22
+
23
+
For someone changing nf-metro itself:
24
+
25
+
| Skill | When to use |
26
+
|---|---|
27
+
|[`fix-issue`](fix-issue/SKILL.md)| General end-to-end workflow for a GitHub issue: worktree, environment, implement, test, push, PR. The "skeleton" most other nf-metro authoring tasks build on. |
28
+
|[`nf-metro-layout-fix`](nf-metro-layout-fix/SKILL.md)| Drive code-level fixes to nf-metro layout when a real pipeline render exposes a bug. Savepoint pattern, invariant-test-first-then-fix-then-runtime-validator loop, conditional gating, the "improvement ratchet". |
29
+
|[`pr-chain-vet`](pr-chain-vet/SKILL.md)| Per-PR vetting on a stacked PR chain: gallery diff vs `main`, classify every changed example, `/simplify` pass, sweep narrative comments, get CI green, post-merge cleanup in the right order. |
30
+
31
+
### Visual verification
32
+
33
+
Opt-in only (`disable-model-invocation: true` — the user must invoke
34
+
explicitly):
35
+
36
+
| Skill | When to use |
37
+
|---|---|
38
+
|[`render-topologies`](render-topologies/SKILL.md)| Local pixel-diff of all gallery renders between the current branch and `origin/main`. Only needed for pre-push confidence; the CI render preview on the PR is the authoritative review. |
39
+
40
+
## How the skills relate
41
+
42
+
-`pipeline-metro-diagram`'s "is it mmd or nf-metro?" triage in Step 5
43
+
hands off to `nf-metro-layout-fix` when the diagnosis is engine-side.
44
+
-`nf-metro-layout-fix` Step 4 hands off to `pr-chain-vet` for the
45
+
per-PR vetting workflow that ships the resulting chain back to `main`.
46
+
-`pipeline-metro-setup` Stage 2 Case B (named-branch pin on a fork) is
47
+
the bridge developers use *while*`nf-metro-layout-fix` +
48
+
`pr-chain-vet` work is in flight.
49
+
-`fix-issue` Step 4 references `render-topologies` for the optional
50
+
pre-push local diff.
51
+
52
+
## Conventions
53
+
54
+
Most skills assume:
55
+
56
+
- Local nf-metro checkout at `~/projects/nf-metro`
description: End-to-end workflow for fixing GitHub issues on the nf-metro repo. Use when the user references a GitHub issue (by number, URL, or description) and wants it fixed. Handles worktree setup, environment creation, implementation, testing, visual review, and PR creation. Trigger on phrases like "fix issue #N", "address #N", "work on issue N", or any request to fix a bug or implement a feature that references an issue.
3
+
description: End-to-end workflow for fixing GitHub issues on the nf-metro repo with diagnostic rigor. Use when the user references a GitHub issue (by number, URL, or description) and wants it fixed. Handles worktree setup, environment creation, diagnostic-first investigation, invariant-test-first implementation, runtime validators, /simplify pass, full-repo lint, visual review via render preview, narrow-the-fix iteration on regressions, additive-only PR hygiene (no force-push, no narrative comments), origin verification after every push, and PR creation. Trigger on phrases like "fix issue #N", "address #N", "work on issue N", or any request to fix a bug or implement a feature that references an issue. For shepherding a chain of already-existing PRs back to main, see `pr-chain-vet` instead.
4
4
---
5
5
6
6
# Fix Issue
7
7
8
8
Structured workflow for fixing nf-metro GitHub issues in an isolated worktree.
9
+
Emphasises diagnostic-first investigation, invariant tests before code, and
10
+
additive-only PR hygiene so a fix never silently regresses the gallery.
9
11
10
-
## Phase 1: Understand the Issue
12
+
**Conventions** (substitute if your setup differs):
13
+
- Local nf-metro checkout: `~/projects/nf-metro`
14
+
- Issues + PRs target the canonical upstream `pinin4fjords/nf-metro`. If
15
+
you're working from a fork, resolve the owner with
16
+
`gh repo view --json owner -q .owner.login`.
17
+
- micromamba: `/opt/homebrew/bin/micromamba` (macOS Apple Silicon codesign
18
+
workaround). On other platforms, just `micromamba` if it's on PATH.
19
+
20
+
## Step 1: Understand the Issue
11
21
12
22
```bash
13
23
gh issue view <N> --repo pinin4fjords/nf-metro
14
24
```
15
25
16
26
Summarize the problem and proposed approach. Wait for user confirmation before proceeding.
source~/.local/bin/mm-activate nf-metro-fix-<N>&&cd /tmp/nf-metro-fix-<N>&& ruff format .&& ruff check .
40
110
```
41
111
42
-
Fix any failures before proceeding.
112
+
Run from the repo root, no path restriction. Fix or commit any deltas
113
+
that appear (a separate `style: ruff format whole repo` commit is fine).
114
+
Then run the test suite:
43
115
44
-
## Phase 4: Visual Review
116
+
```bash
117
+
pytest
118
+
```
119
+
120
+
## Step 8: Visual Review via Render Preview
45
121
46
-
### Primary method: CI render preview (recommended)
122
+
### Primary method: CI render preview (authoritative)
47
123
48
-
Push the branch and create a PR. The CI workflow (`.github/workflows/pr-renders.yml`) automatically renders all gallery examples on both the PR branch and base, generates a before/after visual diff page, and posts a sticky comment on the PR with the preview link:
124
+
Push the branch and create a PR. The CI workflow
125
+
(`.github/workflows/pr-renders.yml`) automatically renders all gallery
126
+
examples on both the PR branch and base, generates a before/after visual
127
+
diff page, and posts a sticky comment on the PR with the preview link:
0 commit comments