Skip to content

feat: Linear Issue Find-or-Create Skill - #595

Merged
sahil-noon merged 5 commits into
mainfrom
260812-z5qt-linear-issue-find-or-create
Aug 12, 2026
Merged

feat: Linear Issue Find-or-Create Skill#595
sahil-noon merged 5 commits into
mainfrom
260812-z5qt-linear-issue-find-or-create

Conversation

@sahil-noon

Copy link
Copy Markdown
Collaborator

Meta

Change ID Type Confidence Plan Review
z5qt feat 3.9/5.0 8/8 tasks, 18/18 acceptance ✓ ✓ 1 cycle
Impact +/− Net
raw +665 / −22 +643
true +164 / −6 +158
└ impl +163 / −5 +158
└ tests +1 / −1 +0

excludes fab/, docs/ · generated by fab-kit v2.19.7

Pipeline: intake ✓ → apply ✓ → review ✓ → hydrate ✓ → ship → review-pr

Summary

Natural-language fab changes currently produce no Linear linkage — only explicit issue IDs handed to /fab-new get linked, so Linear boards drift and PR-merge auto-transitions never fire. This adds /fab-issue, a standalone post-intake skill that searches the user's Linear workspace for a match against the active change's intake and links, creates-in-project, or (with confirmation) creates an unassigned issue — reusing the existing issues-array substrate with zero CLI schema changes.

Changes

  • New skill: src/kit/skills/fab-issue.md (/fab-issue) — gated find-or-create linking with idempotency guard and autonomous carve-out
  • Orchestrator wiring: one optional pre-ship step in /fab-fff (/fab-proceed inherits via delegation; /fab-ff deliberately unwired)
  • Catalog + docs updates: fabhelp.go (+test), docs/specs/skills.md, user-flow.md, glossary.md, memory hydration (pipeline/issue-linking new)

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new post-intake skill to link Fab changes to Linear via a find-or-create flow, and wires it into the /fab-fff orchestrator as an optional pre-ship step so /git-pr can incorporate issue IDs into PR titles for Linear automation.

Changes:

  • Introduces /fab-issue skill with a graceful gate chain + idempotency guard and a three-branch find-or-create behavior.
  • Adds an optional /fab-fff Step 3.5 to run /fab-issue inline (both lanes) before ship.
  • Updates help catalog mapping/tests plus specs + memory docs to document the new skill and wiring.

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/kit/skills/fab-issue.md New /fab-issue skill definition (gates, find-or-create branches, carve-out, output contract).
src/kit/skills/fab-fff.md Adds optional Step 3.5 Linear-link step and updates fff framing/output text accordingly.
src/kit/skills/_pipeline.md Updates shared bracket prose to reference driver continuation Steps 3.5–5 for review-pr terminal.
src/go/fab/cmd/fab/fabhelp.go Registers fab-issue under the Completion help group.
src/go/fab/cmd/fab/fabhelp_test.go Extends group-mapping test coverage to include fab-issue.
docs/specs/user-flow.md Documents /fab-issue as an optional pre-ship side step; updates flow diagram.
docs/specs/skills.md Updates pipeline diagram + /fab-fff text, and adds a full /fab-issue skill section.
docs/specs/glossary.md Adds glossary entry for /fab-issue and notes /fab-fff Step 3.5 behavior.
docs/memory/pipeline/planning-skills.md Adds pull-vs-push linking cross-reference to the new /fab-issue path.
docs/memory/pipeline/execution-skills.md Updates execution/ship documentation to include Step 3.5 and the /fab-issue linkage model.
docs/memory/pipeline/index.md Adds issue-linking to the pipeline memory index.
docs/memory/pipeline/log.md Records memory updates/creation for issue-linking topic.
docs/memory/pipeline/issue-linking.md New memory topic documenting end-to-end Linear linking model and /fab-issue behavior.
docs/memory/_shared/log.md Logs shared memory update referencing the new issue-linking content.
docs/memory/_shared/configuration.md Documents project.linear_workspace as a gate for /fab-issue in addition to /git-pr hyperlinking.
fab/changes/260812-z5qt-linear-issue-find-or-create/plan.md Change artifact capturing requirements/tasks/acceptance for this feature.
fab/changes/260812-z5qt-linear-issue-find-or-create/intake.md Change intake describing motivation and functional requirements.
fab/changes/260812-z5qt-linear-issue-find-or-create/.status.yaml Change status artifact for the pipeline run producing this PR.
fab/changes/260812-z5qt-linear-issue-find-or-create/.history.jsonl Change history log for the pipeline run producing this PR.
Suppressed comments (1)

src/kit/skills/fab-fff.md:48

  • This section still describes the fab-fff-specific delta as “Steps 4–5”, but the file now introduces an additional fff-only Step 3.5. Updating these lines to mention Step 3.5 explicitly makes the lane/dispatched behavior clearer and keeps the overview consistent with the new step numbering.
The bracket defines pre-flight (intake prerequisite + intake gate), context loading, resumability, Steps 1–3 (apply → review → hydrate) with the inline plan co-gen and one-time light/full lane fork, the auto-rework loop with its per-cycle choreography, and the exhaustion stop. The three steps below (3.5–5) are fff-only.

Steps 1–3 use `_pipeline.md` § Stage Dispatch Procedure and the current canon at `_preamble.md` § CLI-Adapter Dispatch. The fff-only delta is that Steps 4–5 dispatch full `/git-pr` and `/git-pr-review` behaviors through the native model/effort seams; those skills manage their own stage transitions, so their prompts do not carry the block-contract transition prohibition.

**Light lane** (`_pipeline.md` § Light Lane owns the mechanics): Steps 4–5 run inline in the orchestrator's context, and the Step 5 synchronous-poll directive is moot there. In the full lane Steps 4–5 dispatch exactly as written below.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/specs/skills.md Outdated
│ └─ Fail: auto-rework loop ≤{max_cycles} (light: rework inline; full: resume apply worker when reachable; fresh review each cycle); exhaustion: fab status fail review → STOP
├─ Step 3 Hydrate — LIGHT: inline / FULL: subagent /fab-continue Hydrate → fab status finish hydrate
└─ {terminal} = hydrate → complete / review-pr → driver Steps 4–5 (light lane: inline)
└─ {terminal} = hydrate → complete / review-pr → driver Steps 3.5–5 (link Linear issue — optional, inline both lanes / ship / review-pr; light lane: 4–5 inline)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — reworded the pipeline-bracket terminal line to number the steps explicitly: Step 3.5 (link Linear issue) is inline in BOTH lanes, and Steps 4–5 (ship / review-pr) are inline in the light lane, dispatched in the full lane. (6979a9f)

@sahil-noon
sahil-noon marked this pull request as ready for review August 12, 2026 11:02
@sahil-noon
sahil-noon merged commit ade19c0 into main Aug 12, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants