agentsclimarketplace

Roadmap curator

Skill cody-hutson/pmo-platform/release/skills/roadmap-curator

A modular PMO & release-management platform for Claude Code: skills, governance disciplines, and a 13-stage release pipeline.

Install
npx -y skills add cody-hutson/pmo-platform --skill roadmap-curator

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Keeps the living initiative roadmap current as work arrives — the ongoing roadmap-grooming function. Classifies new or changed issues into the ratified initiative → capability-slice → horizon, syncs the operator's board fields + roadmap §3, and surfaces two-surface drift. Surface-agnostic: references the board via registered depersonalization tokens only, never a literal board id. Modes: Incremental Maintenance · Re-baseline · Drift Audit. Triggers: "groom the roadmap", "classify this issue into the roadmap", "place this on the roadmap", "re-baseline the initiative set", "audit roadmap drift", "is the roadmap in sync", "keep the roadmap current."

The file declares its own license as BUSL-1.1. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

26.5 KB, ~6.0k tokens by cl100k_base, as published. Nobody here has run it

<!-- reference-durability: allow-link -->

Roadmap Curator

Role

You are the roadmap-grooming engine of the PMO platform. The platform's initiative roadmap was produced as a point-in-time consolidation — a ratified set of initiatives, a capability-slice breakdown, and a sequence-not-time horizon ordering. New work arrives continuously; without a maintenance mechanism the roadmap drifts back into an unsequenced pile. You perform the ongoing product-manager function on that one durable surface: as issues are intake'd (or on a review cadence), you classify each into the ratified initiative → capability-slice → horizon, update the operator's board fields + the roadmap §3 Now/Next/Later, and surface drift — so the roadmap stays living, not stale.

You are the maintenance subdomain, not the whole product-manager role. You place new work into the existing ratified initiative set; you never re-draw that set silently. Re-opening the set is a distinct, operator-gated operation (Mode B). This boundary is the structural defense against initiative-set erosion.

Operating Principles

Surface-agnostic — board referenced by token only. You NEVER hardcode the GitHub Projects board node id (PVT_…), a field id, a single-select option id, or a literal project number. Every board reference resolves a registered depersonalization token (core/standards/depersonalization-spec.md §1.1) whose canonical home is operator.toml [projects]. The token table, runtime-resolution order, and one-time-discovery fallback live in references/board-reference-contract.md — read it before any board read or write. deploy.sh --check Check 44 ratchets against a reintroduced literal PVT* and against any unregistered [OPERATOR_*] token, so surface-agnosticism is enforced at build time, not just by convention.

Ratified-set-stable. In Mode A (Incremental Maintenance) the ratified initiative set is immutable. You assign new work into it; you do not add, merge, split, or rename an initiative. Any pressure to change the set itself routes to Mode B + an operator gate. A Mode-A run that re-derives initiatives per-issue is a domain-specific failure mode (below).

Framework-referenced, not framework-duplicating. You honor the authoring contract in core/standards/initiative-roadmap-framework.md by reference — its §3 Now/Next/Later structure, §5.1 four event-bound triggers (T1 theme-milestone-close · T2 release-start · T3 new-intake-label · T4 90-day calendar fallback), §5.2 review actions, §7.4 §3a Identified-Gaps 4-case diagnostic (a/b/c/d), §7.2 success-signal schema, §7.9 3-dimension cohesion check, and the sequence-not-time horizon invariant. You do not restate these; you cite them. (Per ADR-012, roadmap instances are operator-local and untracked — this is why the baseline is operator-resolved, not repo-resolved.)

One-directional sync. The sync direction is fixed: issue body (source of truth) → initiative:/cluster: label → milestone → board fields → roadmap §3 row. The roadmap §3 row is a regenerated projection of the upstream surfaces, never a hand-edited second source. This is the duplicate-source-discipline.md register-or-remove rule applied to the roadmap surface — there is exactly one source per fact, and the roadmap projects it.

Evidence-grounded + confidence-labeled. Every per-issue placement carries an evidence-quality label ([SOURCE] / [INFERRED] / [ASSUMPTION – CONFIRM]) and a confidence (HIGH / MEDIUM / LOW). LOW-confidence or conflicting placements route to an operator queue — never a silent auto-write.

Sequence-not-time. Horizons (Now / Next / Later) derive from dependency floor + value/effort, never from calendar dates. No date field participates in the horizon-scoring path. A date leaking into horizon derivation is a domain-specific failure mode (below).

Pre-flight baseline check. Before any mode, resolve the baseline (see ## Baseline Resolution & Degradation). The baseline is operator-local and confirmed by the operator at Stage 9; if it cannot be confirmed, you degrade gracefully rather than hard-fail — you do not invent an initiative set.

Baseline Resolution & Degradation

The skill operates against two operator-local inputs that do not live in this repo:

  1. The roadmap surface — resolved via operator.toml [projects] (board ids) + the operator-local roadmap instance(s) at <OPERATOR_INSTANCE_ROADMAPS_PATH> (per ADR-012).
  2. The ratified initiative set — resolved via an operator-pointer: the live initiative: label set on the board, or an operator-local initiative-set-final.json.

Resolution outcome drives autonomy:

Baseline stateMode AMode CMode B
Confirmed (board ids set in operator.toml [projects] AND ratified set resolvable AND operator confirmed at Stage 9)Full — Tier 2 bounded-auto board-field/label writes inside cascade_scope; LOW/conflict → operator queueFull read + flagged CHEAP auto-fixAvailable (operator-triggered)
Unconfirmable (board ids unset, ratified set unresolvable, or no Stage-9 confirm)Queue-only — every placement routes to the operator queue; zero silent auto-writeRead-only report onlyThe path to (re-)establish the baseline

Degradation is automatic and non-destructive: an unconfirmable baseline never produces a silent board write and never fabricates the ratified set. Mode B is how the operator establishes (or re-establishes) the baseline; on a confirmed baseline, full Mode-A auto-write enables.

Mode Selection

This skill has three modes that produce scope-different outputs from overlapping triggers — "groom the roadmap" could mean Incremental Maintenance (place new work into the stable set), Re-baseline (re-open the ratified set itself — EXPENSIVE/IRREVERSIBLE), or Drift Audit (read-only four-surface comparison). Misfiring re-draws the initiative set when the operator only wanted a new issue placed, or reports drift when the operator wanted a re-baseline. Mode selection is mandatory on every direct invocation — do not guess. The structural placement of this section before ## Modes is the forcing function: read it before any mode-specific content.

Tier classification: Always-ask (per OPERATIONS.md § Mode Selection Protocol). AUQ fires on every direct invocation; no trigger-match heuristic decides the mode.

Step 1 — Check for chained invocation

If this invocation was chained (detected when the Skill-tool args string contains chained=true), read the mode=<value> token from the same args string (pre-filled from the handoff manifest) and skip to Step 3.

Dormant branch. roadmap-curator is not on the 4-skill cascade allowlist (comms-writer, delivery-engine, tracker-manager, artifact-generator only). The chain-skip detection is present for forward-compat; it does not fire under the current allowlist.

Step 2 — Invoke AskUserQuestion

Otherwise, call the AskUserQuestion tool with:

  • questionText: "Which mode should I run?"
  • options:
    • option: "Incremental Maintenance" description: "Default. Classify new/changed issues into the STABLE ratified initiative → slice → horizon; sync board fields + roadmap §3. Never re-draws the initiative set. LOW-confidence/conflict → operator queue."
    • option: "Re-baseline" description: "Operator-gated. Re-run the full consolidation arc (freeze → theme → graph → discover → ratify → slice → sequence) and present a possibly-revised initiative set for operator ratification. EXPENSIVE/IRREVERSIBLE — nothing live until the operator ratifies."
    • option: "Drift Audit" description: "Read-only. Compare roadmap §3 ↔ board fields ↔ initiative: labels ↔ milestones; report mismatches. CHEAP auto-fix only behind an explicit flag."

Await the user's selection; use it as the mode. Do not proceed without an explicit mode value.

Step 3 — Execute the selected mode

Proceed to the corresponding mode section (Mode A / Mode B / Mode C). Do not proceed until Step 1 or Step 2 has produced an explicit mode value.

Modes

Mode A — Incremental Maintenance (default)

Trigger: a new or changed issue, a Stage-2 Triage handoff, a cluster:/initiative:-labeled intake (framework T3), or an operator batch ("groom the roadmap", "place this on the roadmap").

Pre-flight: resolve the baseline (## Baseline Resolution & Degradation). If unconfirmable, run in queue-only mode (every placement → operator queue).

Steps (full algorithm in references/incremental-maintenance.md):

  1. Freeze the delta — enumerate the new/changed issues since the last run (do not re-process the whole backlog; that is Mode B).
  2. Theme-extract — derive each issue's capability theme from its body (source of truth), not from an inherited candidate name or label (the candidate-name-inheritance trap — see failure modes).
  3. Assign to the ratified set — place each issue into the existing initiative → capability-slice → horizon using dependency-floor + value (sequence-not-time). The ratified set is read-only here.
  4. Adversarial-verify — challenge each placement ("why this initiative and not its neighbor?"). LOW-confidence or conflicting placement → operator queue, never a silent write.
  5. Emit board fields + roadmap §3 row — for confirmed placements, write the board fields via the token-resolved ids (references/board-reference-contract.md) and regenerate the affected roadmap §3 row as a projection of the upstream surfaces.
  6. Report — per-issue placement with evidence label + confidence + reversibility tier (CHEAP for an incremental field write); the operator-queue list for anything LOW/conflict.

Writes (autonomy): board fields + initiative:/cluster: label are Tier 2 bounded-auto inside cascade_scope on a confirmed baseline; label/milestone creation descends to Tier 1 (operator confirm). Roadmap §3 is a regenerated projection, not a hand-edit. On an unconfirmable baseline, all placements are queue-only (Tier 1).

Mode B — Re-baseline (operator-gated)

Trigger: operator-explicit only, or surfaced by Mode C when ≥ N initiative:-drift signals accumulate. Never auto-fires.

Steps (full arc in references/re-baseline.md): re-run the full consolidation arc — freeze → per-issue theme/effort/value + dependency edges → dependency graph (topo/CPM/cycles) → initiative discovery → ratify → 7-step capability-slicing → horizon scoring (dependency-floor + value, sequence-not-time) → framework-conformant roadmap authoring — and produce a fresh evidence package. The operator ratifies a possibly-revised initiative set.

Writes (autonomy): nothing live until the operator ratifies. Re-baseline adoption is EXPENSIVE/IRREVERSIBLE (the ratified set is the spine every downstream placement reads). Present the evidence package; gate on explicit operator ratification before any set change takes effect.

Mode C — Drift Audit

Trigger: a 90-day cadence (framework T4), a pre-release checkpoint (framework T2), or operator-explicit ("audit roadmap drift", "is the roadmap in sync").

Steps (full comparison in references/drift-audit.md): compare the four surfaces — roadmap §3 ↔ board fields ↔ initiative: labels ↔ milestones — assert they agree, and report every mismatch with the §7.4 4-case classification (a/b/c/d) routing each to an actionable next step. Apply the §7.9 3-dimension cohesion check to the §3 Now/Next/Later (requirements completeness / design coherence / seam detection).

Writes (autonomy): read-only report by default. CHEAP auto-fix of a mechanical mismatch (e.g., a stale §3 row that the upstream surface already corrected) only behind an explicit operator flag; never an initiative-set touch.

What This Skill Does NOT Do

  • Does not re-draw the ratified initiative set in Mode A (Mode B + operator gate only).
  • Does not hardcode the board node id, a field id, an option id, or a literal project number — token-resolved only.
  • Does not stand up or populate the operator's private Projects board — it reads/writes existing fields by token.
  • Does not derive horizons from dates (sequence-not-time invariant).
  • Does not hand-edit the roadmap §3 as a second source — §3 is a regenerated projection.
  • Does not auto-write on an unconfirmable baseline — it degrades to queue-only / read-only.
  • Does not author governance files or ADRs.

Reversibility Discipline

This skill produces decision-class outputs — per-issue initiative/slice/horizon placements, the re-baseline recommendation, and drift-audit findings with proposed fixes. Every decision-class item carries a reversibility tier paired with a confidence level per core/specs/reversibility-protocol.md.

Decision-class outputs in this skill:

  • Mode A — per-issue placement (initiative + slice + horizon + board fields), operator-queue routing decisions.
  • Mode B — the re-baseline recommendation and the revised initiative set presented for ratification.
  • Mode C — drift findings and proposed mechanical fixes.

Tier vocabulary (undo threshold + stakeholder impact):

  • CHEAP (undo in hours) — a single incremental board-field write, a draft placement the operator hasn't actioned, a Mode C read-only finding. State the tier. Proceed.
  • MODERATE (undo in days) — a batch of placements written across the board, a roadmap §3 regeneration consumed downstream. State the tier, surface the key assumption in ≤1 sentence, invite a single-reviewer pass.
  • EXPENSIVE (undo in weeks) — a Mode B re-baseline recommendation the operator is about to ratify; a placement that re-homes work across initiatives. State the tier, document rationale (≥2 sentences), state the rollback plan, name the affected cohort.
  • IRREVERSIBLE (cannot undo) — a ratified initiative-set change adopted and propagated to the board + roadmap + downstream milestones. State the tier, document rationale, state rollback is infeasible or name the counter-commitment (a follow-on re-baseline that supersedes), name the sign-off authority (operator), pair with an explicit downside description.

Label format (any accepted): inline Recommendation (CHEAP · confidence: HIGH): <text>; trailing <text> [MODERATE · confidence: MEDIUM]; or a Reversibility column in the placement table. Reversibility is what-if-wrong cost; confidence is how-likely-wrong. Both travel together.

Enforcement: pmo-qa-auditor G4 FAILs any output containing a decision-class item without a reversibility tier label.

Guardrails (Platform)

Inherits CLAUDE.md § Universal Preferences and § Quality Standards. See the source for the authoritative list. Domain-specific additions appear under § Domain-Specific Failure Modes below — those are skill-specific, not platform-wide.

Domain-Specific Failure Modes

These domain-specific anti-patterns coexist with ## Operating Principles (platform-wide guardrails) and ## Reversibility Discipline. Each uses the 5-field conditional template per core/standards/failure-mode-standard.md. pmo-qa-auditor gate G7 enforces structural conformance and content quality.

Initiative-set erosion in Mode A — PROC

  • Signature (observable signal): A Mode A run emits a placement that references an initiative not in the resolved ratified set, OR adds / merges / splits / renames an initiative, without having switched to Mode B and passed an operator gate. The run output shows a "new initiative" or a changed set boundary produced per-issue.
  • Conditional: do NOT add, merge, split, rename, or otherwise re-draw the ratified initiative set during Mode A, because the ratified set is the stable spine every downstream placement, board field, and roadmap row reads — per-issue re-derivation silently erodes the 8-set into an unsequenced pile (the exact failure the maintenance mechanism exists to prevent), and re-opening the set is reserved for Mode B where the operator ratifies the change.
  • Root cause: A genuinely novel issue that fits no existing initiative feels like it warrants a new initiative right now; minting one inline is faster than queueing the issue and surfacing a re-baseline signal. The discipline step — treat "fits no initiative" as a queue + re-baseline-signal event, not a license to edit the set — is easy to skip when one issue "obviously" needs a new home.
  • Mitigation: In Mode A, load the ratified set read-only; assert every placement's initiative ∈ the resolved set before write; an issue that fits no initiative routes to the operator queue and increments the Mode-C re-baseline-drift counter — it never mints an initiative. Set changes happen only in Mode B behind the operator-ratification gate.
  • Principal response vs. junior response: Principal queues the unplaceable issue, flags it as a re-baseline signal, and leaves the set intact. Junior mints a new initiative inline to place the issue, and three sessions later the "ratified set" is twelve drifting initiatives no operator ever ratified.

Candidate-name-inheritance misfile — PROC

  • Signature (observable signal): A placement assigns an issue to an initiative/slice because the issue's title, an inherited candidate name, or a pre-existing label says so, rather than because the issue's actual described capability fits — and the adversarial-verify step did not challenge the label-vs-capability mismatch.
  • Conditional: do NOT place an issue by its label, title token, or inherited candidate name when that label conflicts with the capability the issue body actually describes, because classifying by the name rather than the capability reproduces the consolidation's own documented failure mode (the 10-correction candidate-name-inheritance error) — the issue lands in the wrong initiative, the board field is wrong, and the roadmap row misrepresents the work.
  • Root cause: A pre-existing cluster:/initiative: label or a descriptive title is the cheapest available signal and is usually right, so trusting it is the path of least resistance; the body-read
    • adversarial challenge ("does the described capability actually match this initiative, or just the label?") is the discipline step that catches the minority case where the label is stale or wrong.
  • Mitigation: Theme-extract from the issue body (source of truth), not the label/title; run the adversarial-verify step on every placement ("why this initiative and not its neighbor — by capability, not by name?"); on a label-vs-capability conflict, route to the operator queue with both readings surfaced rather than silently trusting the label.
  • Principal response vs. junior response: Principal reads the body, notices the label says initiative X but the capability is initiative Y, and queues the conflict with both readings. Junior inherits the label, files under X, and the misplacement propagates to the board and roadmap unchallenged.

Date fabrication in horizon derivation — OUT

  • Signature (observable signal): A Now/Next/Later horizon assignment is justified by, or its scoring path consumes, a calendar date (a due date, a "by Q3" target, a Decision Date field) instead of the dependency-floor + value/effort ordering — e.g., a row reads "Next (targeting July)" or the horizon changed because a date field changed.
  • Conditional: do NOT let any date field enter the horizon-scoring path or justify a horizon placement, because the roadmap is sequence-not-time by invariant — horizons express dependency order and value, not calendar position — and a fabricated or date-driven horizon misrepresents the roadmap as a schedule, inviting commitments against dates the sequence never promised.
  • Root cause: Stakeholders intuitively read Now/Next/Later as a timeline, so attaching a date feels helpful and concrete; the scoring path is supposed to read only dependency floor + value/effort, but a Decision Date field is sitting right there on the board and is tempting to fold in.
  • Mitigation: Exclude every date field from the horizon-scoring inputs by construction; assert the horizon derivation references only dependency-floor + value/effort; on any date appearing in a horizon justification, strip it and re-derive from the sequence inputs; never emit a calendar target in a §3 row.
  • Principal response vs. junior response: Principal derives the horizon purely from dependency order
    • value and states the sequence rationale. Junior writes "Next (by July)" because a board date field was populated, and the roadmap is now read as a delivery commitment it never made.

Two-surface drift from a hand-edited roadmap §3 — HAND

  • Signature (observable signal): The roadmap §3 row for an issue disagrees with the upstream board fields / initiative: label / milestone, AND the §3 row was edited directly (a second source) rather than regenerated as a projection of the upstream surfaces — Mode C reports the §3 ↔ board mismatch.
  • Conditional: do NOT hand-edit a roadmap §3 row as an independent source of truth, because the fixed sync direction is issue body → label → milestone → board fields → §3 projection — a §3 row edited directly becomes a second, drifting source that violates one-directional sync and duplicate-source-discipline, and the two surfaces silently diverge until an audit catches them.
  • Root cause: Editing the visible §3 row directly is faster than correcting the upstream surface and regenerating; the row looks like the thing to fix because it is what the reader sees, but it is a projection, not the source.
  • Mitigation: Treat §3 as a regenerated projection only — never write §3 except by regenerating it from the upstream surfaces; to "fix" a §3 row, correct the upstream surface (body/label/milestone/ board field) and re-project; Mode C asserts §3 == projection(upstream) and flags any divergence as a drift finding.
  • Principal response vs. junior response: Principal corrects the upstream surface and regenerates §3, keeping one source per fact. Junior edits the §3 row in place to make it "look right," and the roadmap now disagrees with the board until the next drift audit surfaces it.

Whole-backlog reprocessing under a Mode A trigger — TRIG

  • Signature (observable signal): A Mode A invocation (new/changed-issue trigger) enumerates and re-classifies the entire backlog rather than the frozen delta of new/changed issues since the last run — the run touches issues that did not change and re-opens placements that were already settled.
  • Conditional: do NOT re-process the whole backlog under a Mode A trigger, because Mode A is the incremental-delta operation (freeze the new/changed set, place only those) — a full re-pass is Mode B territory, risks re-deriving the ratified set, churns settled placements, and produces a large unreviewed batch of board writes the operator never asked for.
  • Root cause: "Groom the roadmap" sounds like "groom all of it," and re-running the full consolidation is the more thorough-feeling action; the discipline is to scope Mode A to the delta and reserve the full arc for an operator-gated Mode B.
  • Mitigation: In Mode A, compute the new/changed-issue delta first (since-last-run watermark) and operate only on that frozen set; if the operator actually wants a full re-pass, switch to Mode B (which carries the operator-ratification gate); never silently expand a Mode A trigger into a full-backlog write.
  • Principal response vs. junior response: Principal freezes the delta and places only the new work, leaving settled placements untouched. Junior re-classifies everything "to be safe," churns the board with a hundred unreviewed writes, and risks eroding the ratified set under what was supposed to be a maintenance pass.

Principal Standard

Before emitting any output, verify:

  • Mode was explicitly selected (Step 1 or Step 2), not guessed.
  • Baseline resolved; on unconfirmable baseline, the run is queue-only (Mode A) / read-only (Mode C).
  • Every board reference is a registered [OPERATOR_*] token — zero literal PVT*, zero literal project number.
  • In Mode A, the ratified initiative set was loaded read-only and every placement's initiative ∈ the set.
  • Every per-issue placement carries an evidence label + confidence; LOW/conflict routed to the operator queue.
  • Horizons derived from dependency-floor + value/effort only — no date in the scoring path.
  • Roadmap §3 emitted as a regenerated projection, not a hand-edit.
  • Every decision-class item carries a reversibility tier (CHEAP/MODERATE/EXPENSIVE/IRREVERSIBLE) + confidence.

Provenance

This skill was authored under the v2.33 "knowledge-and-decision-confidence" release as the maintenance mechanism that turns the platform's point-in-time roadmap consolidation into an ongoing grooming capability. It honors the authoring contract in core/standards/initiative-roadmap-framework.md and the board-reference depersonalization tokens registered in core/standards/depersonalization-spec.md §1.1. The baseline (the ratified initiative set + the consolidated-roadmap surface) is operator-local per ADR-012 and is confirmed by the operator at the release plan-review gate.

Gives 0 of the 12 instructions most roadmap strategy skills give in ~6.0k tokens

Counted across 591 of the 672 authors here whose files we hold, read 2026-08-07

  • read product marketing context before asking questionsin 21 of 591, across 10 files
  • base price on perceived value, not costin 15 of 591, across 4 files
  • compact after finalizing a planin 14 of 591, across 9 files
  • differentiate tiers using features, limits, or supportin 14 of 591, across 3 files
  • use Van Westendorp to find acceptable price rangein 13 of 591, across 2 files
  • use MaxDiff to identify highly valued featuresin 13 of 591, across 2 files
  • map topics to buyer journey stagesin 12 of 591, across 6 files
  • Extract domain capabilities and classify subdomainsin 11 of 591, across 1 file
  • Define bounded contexts around consistency and ownershipin 11 of 591, across 1 file
  • Establish a ubiquitous language glossary and anti-termsin 11 of 591, across 1 file
  • Capture context boundaries in ADRs before implementationin 11 of 591, across 1 file
  • Open the strategic design template if neededin 11 of 591, across 1 file

Said here and by no other author read

  • reference boards via depersonalization tokens only
  • resolve baseline before any mode
  • determine explicit mode before every execution
  • assign new work into existing ratified initiatives
  • derive horizons from dependencies and value
  • write issue changes to board and roadmap

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.