feat(prioritize): make command workspace-agnostic (drop pillar-slug + sub-spike requirements)#41
Open
lapc506 wants to merge 1 commit into
Open
feat(prioritize): make command workspace-agnostic (drop pillar-slug + sub-spike requirements)#41lapc506 wants to merge 1 commit into
lapc506 wants to merge 1 commit into
Conversation
… sub-spike requirements)
Drops the four hard couplings of the original dogfood design while preserving
full backward compatibility with existing pillars.<slug> configs:
1. Scope: first positional arg is now optional. Resolution order is
pillars.<slug> (legacy) -> projects.<slug> (agnostic) -> Linear MCP
exact-name match -> interactive. New --label / --filter scope flags.
2. Evidence anchor: optional --evidence <path-or-issue-id> flag accepts a
Linear issue ID OR a local markdown path. Without it, evidence-driven
MoSCoW rules are skipped and RICE Confidence defaults to 0.8.
3. Vision audit: auto-discovery only fires in legacy pillar mode. Agnostic
mode requires explicit --audit <path>.
4. Output path: default is ./priority-<DATE>.md in cwd. Override with --out.
Legacy pillar mode keeps the audits/<pillar>/ default.
Also splits MoSCoW scoring rules into evidence-driven (skip when no anchor)
vs label-driven (always fire) families, and adds explicit
moscow/{must,should,could,wont} label rules so workspaces using MoSCoW labels
get deterministic coverage without an evidence anchor.
Rationale: the original command was opinionated against a pillar taxonomy
that does not exist in typical Linear workspaces (per Andres analysis,
2026-06-02). Dogfood configs continue to work unchanged.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
✅ Approved
Approved — 0 blockers, 2 P3. Confidence: 4/5.
🔵 P3 — Minor
skills/prioritize/SKILL.md:258— 🔵 P3 (minor) — The reference to the comment template is outdated. It points to "Sub-spike comment template", but that section has been renamed to "Evidence-anchor comment template" inreferences/linear-mutations.md.
`references/linear-mutations.md` "Evidence-anchor comment template".
skills/prioritize/references/linear-mutations.md:209— 🔵 P3 (minor) — There is an outdated reference in the## Mutation failure handlingsection (around line 290) that still refers to "Sub-spike comment template". Please update that mention to "Evidence-anchor comment template" so that it matches the newly renamed heading in this file.
Total findings: 2 business context (2 total)
ℹ️ The findings below could not be anchored to a diff line (line not part of any hunk); they are listed here instead.
skills/prioritize/SKILL.md:258— 🔵 P3 (minor) — The reference to the comment template is outdated. It points to "Sub-spike comment template", but that section has been renamed to "Evidence-anchor comment template" inreferences/linear-mutations.md.
`references/linear-mutations.md` "Evidence-anchor comment template".
| @@ -201,13 +209,21 @@ First priority snapshot. No comparison available. | |||
|
|
|||
There was a problem hiding this comment.
🔵 P3 (minor) — There is an outdated reference in the ## Mutation failure handling section (around line 290) that still refers to "Sub-spike comment template". Please update that mention to "Evidence-anchor comment template" so that it matches the newly renamed heading in this file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
HUMAN LAYER
Summary
The
/make-no-mistakes:prioritizecommand was opinionated against a pillartaxonomy that's not portable to typical Linear workspaces (per Andrés analysis,
session 2026-06-02 0500 CST). This PR drops the four hard couplings of the
original dogfood design while preserving full backward compatibility with
existing
pillars.<slug>configs.Four coupling fixes
<pillar-slug>validated againstpillars.<slug>pillars.<slug>(legacy) →projects.<slug>(agnostic) → Linear MCP exact-name match → interactive. Plus--label <name>and--filter <query>as alternative scopes.--evidence <path-or-issue-id>flag. Accepts a Linear issue ID OR a local markdown path. Without it, evidence-driven MoSCoW rules are skipped; Confidence defaults to 0.8.<codebase>/audits/<pillar>/vision-audit-*.md--audit <path>(no flag → no enrichment).<codebase>/audits/<pillar>/priority-<DATE>.md./priority-<DATE>.mdin cwd, with~/expansion.--out <path>overrides. Legacy pillar mode keeps the original default.Backward compatibility table
prioritize pathways(withpillars.pathwaysin config)prioritize pathways(withprojects.pathwaysonly)prioritize agent --evidence APP-101prioritize --label "team/frontend"prioritize --filter "label:Frontend state:Backlog"prioritize(no args)linear-setup.json+ MCP.prioritize pathways --evidence ./vision.md --audit ./audit.md --out ~/p.mdMoSCoW rule split
Scoring rules now annotated as:
--evidencewas provided (MUST-1..4, SHOULD-1..3, COULD-1..2, WONT-1..2).New explicit MoSCoW-label rules (
MUST-5,SHOULD-4,COULD-4,WONT-4)give workspaces using
moscow/{must,should,could,wont}labels deterministiccoverage without needing an evidence anchor.
Files touched
commands/prioritize.md— args + flag surface + workflows + legacy sectionskills/prioritize/SKILL.md— added "Workspace-agnostic mode (v1.23+)" section, rewrote Paso A/B/E for optional anchors, expanded error tableskills/prioritize/references/scoring-rules.md— annotated rules as evidence-driven vs label-driven, added explicit MoSCoW-label rulesskills/prioritize/references/linear-mutations.md— generalized "Sub-spike comment" → "Evidence-anchor comment" + agnostic report templateskills/prioritize/references/frameworks/moscow-rice.md— updated edge cases 4-8 for agnostic modeCHANGELOG.md— Unreleased entryOut of scope
command flow; no existing tests cover the pillar-slug path either, so
nothing to regress.
linear-setup.jsonconfigs (none in this repo).AGENT LAYER
Acceptance criteria
prioritize pathways(legacypillars.pathwaysconfig) still works as before.prioritizewith no args enters interactive selection (no pillar-slug error).prioritize --label "x"andprioritize --filter "y"are accepted as valid scopes.--evidence,--audit,--out,--codebaseare all optional, with documented defaults.--evidenceaccepts both a Linear issue ID and a local file path../priority-<DATE>.mdin cwd; legacy is<codebase>/audits/<pillar>/priority-<DATE>.md.--evidence, evidence-driven MoSCoW rules are skipped; label-driven rules continue to fire.--audit, RICE Confidence defaults to 0.8.--evidenceLinear issue when it is an issue ID; skipped for local files or absent evidence; legacy mode still targetspillars.<slug>.spike.[Unreleased]entry documents all four coupling fixes.Context files
commands/prioritize.md— entrypoint with the new arg parsing rules.skills/prioritize/SKILL.md— full skill flow with optional-anchor branches.skills/prioritize/references/scoring-rules.md— evidence-driven vs label-driven rule families.skills/prioritize/references/frameworks/moscow-rice.md— RICE formula + agnostic edge cases (4–8).skills/prioritize/references/linear-mutations.md— generalized comment + report template.Decision rationale
Why preserve
pillars.<slug>as legacy mode rather than delete it?The author dogfooded the command against two production pillars in early
2026; deleting that path silently would break those configs. Keeping it as
the first resolution step costs no UX (users with
projects.<slug>onlynever see it) and gives a clear migration runway.
Why accept both Linear issue ID and local markdown for
--evidence?A PRD/spec/vision doc often lives outside Linear (Notion export, repo doc).
Forcing it to be a Linear issue would reintroduce the "must own a sub-spike"
coupling we're explicitly removing.
Why split rules into evidence-driven vs label-driven instead of dropping
evidence-driven rules entirely?
The killshot-thesis / anti-pattern / P0-feature rules are the highest-
signal rules in the engine when an anchor exists. Dropping them would
regress the dogfood pillars. Annotating them lets the runtime cleanly skip
them when no anchor is supplied.
Why default output to cwd instead of a temp dir or
~/.cache?Reports are meant to be committed alongside the codebase / Linear backlog
snapshot. Cwd default lets the user
git add priority-*.mddirectly.Constraints honored
feedback_never_force_push_without_authorization)..wt-prioritize-agnostic/.Created by Claude Code on behalf of @lapc506.