Revue de roadmap interactive

VérifiéSûr

Triage interactif des dérives de forme de roadmap, un élément à la fois, avec options de résolution pour la lentille de dimensionnement active.

Spar Skills Guide Bot
ProductiviteIntermédiaire
06/08/2026
Claude Code
#roadmap-triage#spec-sizing#interactive-review#agent-doctrine#project-planning

Recommandé pour

Synthèse automatique

Fournit la doctrine de triage que l'agent roadmap-reviewer applique quand /roadmap-review examine les dérives de forme d'un roadmap, un élément à la fois.

Points forts

  • Impose un rythme d'un seul constat à la fois : l'agent exécute lui-même la commande de résolution après confirmation, au lieu de déverser un rapport.
  • Ordre de priorisation explicite et non re-triable : giant sans size_ack, puis x-large, dérive de conteneur, clusters orphelins, enfin large.
  • Quatre résolutions canoniques seulement, accompagnées de formulations prêtes à coller qui limitent l'improvisation de l'agent.
  • Modèle de « lenses » clair : sizing actif en v1, horizons / releases / sprint-shape explicitement refusés comme emplacements futurs.

Limites

  • Le fichier est tronqué en pleine phrase : les options de résolution, la condition d'arrêt et le format d'enregistrement de session sont incomplets.
  • La v1 ne couvre que la lens sizing ; les autres perspectives ne sont que des emplacements nommés, sans comportement.
  • Dépend de la CLI hero et de l'agent roadmap-reviewer, avec une compatibilité déclarée opencode uniquement.
Quand l'utiliser

À utiliser lorsqu'un arbre de specs présente des tailles déclarées incohérentes avec l'effort réel et qu'il faut une résolution guidée, item par item.

Quand l'éviter

À éviter pour un simple rapport d'hygiène ponctuel (préférer hero check) ou si la CLI hero et l'agent roadmap-reviewer ne sont pas installés.

Analyse de sécurité

Sûr
Score qualité85/100

The skill defines an agent doctrine and triage loop for roadmap review. It instructs the agent to execute internal CLI commands like 'hero size' or invoke '/compose' and '/split' flows on user confirmation, but these are app-specific operations with no destructive, exfiltrating, or obfuscated behavior. No external network access, shell piping, secret handling, or unsafe commands are involved.

Aucun point d'attention détecté

Comment cette analyse est faite

Exemples

Start a walkthrough
/roadmap-review — walk me through the sizing drift in my roadmap one item at a time.
Container drift
My epic is declared medium but its children roll up to giant. What should I do?
Which command do I run
Should I run `hero check` or `/roadmap-review`? I just want to know what's stale.

name: roadmap-review description: The doctrine for /roadmap-review — interactive triage of roadmap-shape drift, walked one item at a time, with paste-ready resolution phrasing for the active sizing lens. compatibility: opencode metadata: audience: roadmap-reviewer-agent purpose: shape-triage

What I do

Define the doctrine the roadmap-reviewer agent quotes from when the user runs /roadmap-review. I carry:

  • the Lenses model (sizing is active in v1; horizons / releases / sprint-shape are named placeholders the agent refuses to act on),
  • the prioritization rules for the active sizing lens,
  • the four canonical resolution options with paste-ready phrasing,
  • the stop condition for a session,
  • the session record format and path.

I am the source of truth for the triage loop. The agent loads me on invocation and quotes me directly — it does not improvise wording, and it does not invent resolutions outside the four I name.

hero check vs /roadmap-review (one sentence)

hero check is workspace hygiene — a one-shot report of stale specs, missing fields, convention drift, and warning counts. /roadmap-review is roadmap shape — an interactive triage that walks each high-impact drift, proposes a resolution, and executes the resolution CLI on confirm. Both surface drift; only /roadmap-review resolves it.

The agent prompt quotes this verbatim. If a user asks "which do I run," both surface drift — only /roadmap-review resolves it.

Walk one at a time

The defining behavior. The agent does not produce a wall of prose or enumerate all drift at once. It surfaces one finding, proposes one resolution, accepts the user's answer, executes on confirm, and advances to the next. No bulk operations. The user can opt into more explicitly, but the default rhythm is one item at a time.

Punting the keystrokes back to the user ("now run hero size foo large") defeats the loop. On confirm the agent runs the CLI itself and surfaces the output before advancing.

Lenses

The extensibility seam. A lens is an analytical perspective the reviewer applies — sizing today, others tomorrow. Adding a new lens later means moving its section from Scaffolding to Active and filling in the four sub-sections (prioritization, resolution options, phrasing, stop condition). The agent prompt does not change.

Active

Sizing

The only lens implemented in v1. Surfaces drift between declared size: and computed effort, oversized leaves that should /split, container drift, and topical clusters that lack an initiative parent.

Prioritization rules

The agent walks findings in this order. It does not re-sort.

  1. giant without size_ack — highest. Month+ specs that haven't been consciously acknowledged are the loudest shape failure.
  2. x-large features / bugs / enhancements — multi-week leaf work. Almost always wants a /split.
  3. Container drift (epic/initiative declared smaller than the rolled-up children) — the parent is lying about its scope.
  4. Multi-spec topical clusters without an initiative parent — the "2+ related orphans" case. See spec-composition for the detection heuristic and canonical phrasing.
  5. large features / bugs / enhancements — soft. Surface only if nothing higher remains.

giant initiatives are normal — they belong in the loop only when they have no children yet (signal that /compose hasn't been run).

Resolution options + paste-ready phrasing

Exactly four. Any other resolution is out of spec.

| Resolution | When the agent offers it | On confirm | |---|---|---| | Acknowledge | giant leaf where the user explicitly wants single-pass delivery | hero size --ack giant <slug> (or write size_ack: giant to frontmatter if the CLI flag doesn't exist yet) | | /compose | x-large / giant that should become an initiative with phased children | Invoke the /compose flow against the slug — agent hands off, doesn't simulate | | /split | large / x-large leaf that belongs as 2–3 sibling specs | Invoke the /split flow against the slug — agent hands off | | Re-horizon (sizing-lens version: bump declared tier) | Drift where declared < computed; user agrees the spec really is the bigger tier | hero size <slug> <new-tier> |

Quote these scripts verbatim:

Acknowledge (for unacknowledged giant leaves):

This giant spec is intentional? I can stamp size_ack: giant so it stops asking at design time — mid-delivery checks continue. Confirm?

/compose (for x-large / giant that should be an initiative):

This is x-large — recommended path is /compose into 3–5 phased children. Want me to kick that off now?

/split (for large / x-large leaves across subsystems):

This is large across two subsystems — /split into a pair of sibling specs. Run it?

Re-horizon (for declared < computed drift):

Declared medium, computed large. Bump to large? (Y/n)

Stop condition

A session ends on the first of:

  1. No high-impact drift remains — priorities 1–4 are exhausted. The agent reports the clean state and exits.
  2. User halts — any of "stop," "enough," "done," "later," or declining a resolution without picking another. The agent does not ask "are you sure"; it accepts and exits.
  3. Five items resolved in this session — soft cap to keep momentum. The agent reports the cap, summarizes what was resolved, and suggests re-running tomorrow.

The cap lives here, in the skill — tunable without touching the agent prompt.

Scaffolding (not implemented — future work)

The agent refuses to act on these. It does not improvise a triage. Canonical refusal phrase, substituting the lens name:

"<lens>-lens triage isn't implemented yet — that's deferred to future lens work. I can only act on sizing drift in this version."

Horizons

Placeholder. v1 does not act on horizon drift.

Releases

Placeholder. Same refusal pattern.

Sprint-shape

Placeholder. Same refusal pattern.

Session record (knowledge capture)

On exit — any reason — the agent writes a short note to .hero/knowledge/roadmap-review-sessions/{YYYY-MM-DD}-{HHMM}.md. This is the dogfood signal: cadence over time, items resolved per session, what gets deferred. Sibling spec roadmap-review-ambient-surfacing reads these records to power the "stop nagging if nothing's changed since the last triage" rule, so the drift_count_at_exit: frontmatter field is load-bearing, not optional.

Format:

---
type: note
created: <ISO-8601 timestamp>
tags: [roadmap-review, sizing]
drift_count_at_exit: <int>
---

# Roadmap review — <YYYY-MM-DD HH:MM>

**Findings surveyed:** N (M sizing-drift, K missing-parent clusters)
**Walked:** N
**Resolved:** N (X `/split`, Y ack, Z size bump)
**Deferred:** N (user said "later")
**Exit reason:** <user halt | cap reached | exhausted | empty>

## Items
- `<slug>` (<tier>, <ack-state>) → <what happened>
- `<slug>` (declared <tier>, computed <tier>) → <what happened>
- `<slug-a>` + `<slug-b>` cluster → <what happened>

drift_count_at_exit is the count of remaining sizing-drift findings at the moment the agent exited (after resolutions applied). Sibling ambient-surfacing reads it to decide whether to suppress the next 24h nudge. If the field is missing, the ambient reader treats it as "count unchanged" — forward-compatible, but write the field every time.

Ambient surfaces

When this skill's interactive triage isn't actively running, three ambient surfaces carry the same paste-ready hint pointing here:

  • NEXT.md projection — a ## Roadmap shape section appears between ## Next and ## Blocked on when drift surfaces.
  • hero_pulse / hero_kickoff MCP tools — both responses populate a size_drift field (count + hint) when drift surfaces.
  • Delivery-lead pre-flight — feature-delivery-lead and platform-delivery-lead quote the hint verbatim in their handoff output when the workspace-wide count is non-empty.

All three quote the canonical hint from internal/sizing/ambient.go — they do not compose the string themselves. The noise threshold (active spec union 7d recency union horizon:now unsized initiatives) and the 24h stop-nagging rule (suppress while a recent .hero/knowledge/roadmap-review-sessions/ record's drift_count_at_exit: is still ahead of the current filtered count) keep the channel from going noisy. Tune via hero.json: roadmap.ambient_recency_days and roadmap.stop_nagging_hours.

Cross-skill references

  • spec-sizing — the size ladder, per-type bands, design-time nudges, and drift-handling rules live there. This skill is the triage loop over that ladder; the ladder itself is not re-litigated here.
  • spec-composition — the canonical "multiple related specs" detection heuristic and phrasing. Priority-4 findings (orphan clusters) quote spec-composition for the recommendation script.
  • note-capture — session record writes follow the note format defined there.

What the agent must not do

  • Improvise a resolution outside the four named above.
  • Bulk-operate. No "acknowledge all giant," no "bump all drift."
  • Punt CLI keystrokes back to the user. On confirm, the agent runs the CLI itself.
  • Act on a non-sizing lens. Refuse with the scaffolded phrase above.
  • Write to the tracker. Read-local-only is a hard boundary.
  • Re-ask after a halt word. "stop," "enough," "done," "later" exit immediately.

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/interactive-roadmap-review-msh3us5m/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/interactive-roadmap-review-msh3us5m' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/interactive-roadmap-review-msh3us5m/download' --output '.skill-downloads/interactive-roadmap-review-msh3us5m/SKILL.md.part' && mv '.skill-downloads/interactive-roadmap-review-msh3us5m/SKILL.md.part' '.skill-downloads/interactive-roadmap-review-msh3us5m/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Environnement déclaré par l’auteur : opencode

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/interactive-roadmap-review-msh3us5m/SKILL.md' && test -s '.skill-downloads/interactive-roadmap-review-msh3us5m/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/roadmap-review' && cp -R '.skill-downloads/interactive-roadmap-review-msh3us5m' '.claude/skills/roadmap-review'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/interactive-roadmap-review-msh3us5m'

openskills read 'interactive-roadmap-review-msh3us5m'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/interactive-roadmap-review-msh3us5m/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires