Roadmap: Configure
Set or clear a per-phase roadmap option through the CLI, then render the dashboard once so it exists at the new path. The one option is artefact: where the HTML dashboard is written, relative to the p
SKILL.mdmarketplace/roadmap/skills/configure/SKILL.md
GitHubRoadmap Configure
A phase's artefact key in roadmaps.json says where render and recompute --render write its dashboard; without it the slug default applies. This skill is the one way that key changes: the CLI writes it (inserted in field order, nothing else touched), then one render proves the new path. The resolution order and the key's rules are in ${CLAUDE_PLUGIN_ROOT}/references/roadmap-conventions.md (File formatting). The CLI is python3 "${CLAUDE_PLUGIN_ROOT}"/scripts/roadmap.py.
Steps
- Read the arguments.
$ARGUMENTSisartefact <path>orartefact clear, optionally followed by a phase name (needed when several phases are active, or to re-home an archived phase's dashboard). The path is relative to the project root and ends in.html, e.g.docs/artefacts/roadmap-t1c.html. Anything missing or any other option name: ask, never guess a path. - Write the key. Run
roadmap.py config artefact "<path>"orroadmap.py config artefact --clear, adding--phase "<phase>"when one was given. Exit codes:- 0: written. Keep the output; it names the new dashboard path and may add two notes (a dashboard still at the old path, no dashboard at the new path yet).
- 1 with the canonical-form message:
roadmaps.jsonis not tab-indented. Ask before re-running with--reformat, since that rewrites the whole file. - 1 with a refusal (absolute path,
..segment, not.html): report the reason and stop. - 2: could not locate, parse or find the phase; report the message and stop.
- Render once. Run
roadmap.py render, with the same--phasewhen one was given, so the file exists at the new (or restored default) path. Do not open it. - Report. The new dashboard path and that
roadmaps.jsonchanged, both ready to commit. If the CLI noted a dashboard left at the old path, say so: nothing refreshes it any more, so the user deletes it (orgit rms it). If the project's.gitignoreignoresdocs/artefacts/and the user wants the new file checked in, un-ignoring it is theirs to do; the plugin never edits.gitignore.
Notes
recompute --render(run byroadmap:maintain) follows the key from the next run on; no other skill needs telling.render --out PATHstill wins over the key for a one-off render elsewhere.