planr-doctor
Diagnose OpenPlanr CLI, pipeline, runtime-adapter, installation, and lock health. Use when setup, discovery, versions, generated assets, or runtime behavior seems wrong.
- License 许可
- MIT
- 最近更新
- 2026-11-12
- Stars
- ★ 6
- Forks
- 1
01 前言 Front Matter
- name
- planr-doctor
- license
- MIT
- description
- Diagnose OpenPlanr CLI, pipeline, runtime-adapter, installation, and lock health. Use when setup, discovery, versions, generated assets, or runtime behavior seems wrong.
02 资源文件 3
- 参考文档agents/openai.yaml389 B
- 参考文档openplanr.skill.json685 B
- 参考文档references/upgrade.md6.1 KB
03 SKILL.md 正文
OpenPlanr Doctor
Run openplanr doctor with the requested flags. Prefer --json for diagnosis.
Preview every repair; package installation, version changes, provenance recovery,
and deletion always require explicit confirmation.
OpenPlanr home
PLANR_HOME names the user-level state directory, ~/.planr by default: runtime
installs, backups, daemon state and design sessions live there. OPENPLANR_HOME is
deprecated; with PLANR_HOME unset it still resolves to $OPENPLANR_HOME/.planr and
prints one warning, and when both are set PLANR_HOME wins. The CLI keeps company
sign-in and design share custody under that home; the skills read no credentials. Existing private design
share custody under ~/.openplanr/design-shares is read and safely moved only when
its canonical destination is absent. Existing destinations are never overwritten.
When state seems missing, check which variable is set.
Doctor also reports healthy owned local services. Use openplanr server list --json
to inspect their instance IDs, project and runtime. openplanr server stop <instance>
authenticates that exact service, drains pending saves and requests shutdown.
A port or process ID is never shutdown authority; legacy unowned services remain
untouched.
Driving an upgrade
openplanr upgrade moves only half of an OpenPlanr upgrade — the npm CLI. The other
half is the Claude Code plugin that openplanr setup installs from the bundled
openplanr-local marketplace, and the upgrade never changes that plugin itself:
it hands back the exact commands. Driving them with host shell access is this
skill's job, then reporting what actually changed — never what was merely
attempted.
- Decide. Run
openplanr upgrade status --jsonand readstatus. If it isalignedorunknownwith emptynextSteps, there is nothing to drive — report it and stop. If it isagents-behind, oralignedwithnextSteps, the CLI is already current: run itsnextStepscommands in order, as step 3 describes, without upgrading the CLI. Record the reportedinstalledversions; that is the before state. - Own half, prescribe half. If
statusisupgrade-availableorincompatible, confirm with the user (this upgrades the npm CLI), then runopenplanr upgrade apply --yes --json. The CLI performs the npm half itself and returns the plugin half as an orderedpluginHalfCommandsarray — the exact argv it would run, so the list can never drift from the engine. Take the commands from there; never write a plugin command of your own. - Refresh first, then execute in order. Run every entry of
pluginHalfCommandsverbatim, in the array's given order, with your shell. The first entry is either theopenplanr-localmarketplace refresh or a singleopenplanr setup …command (when that marketplace was never registered); it must run first: skip the refresh and the installer reinstalls the cached, stale version while the user believes they upgraded. Do not reorder, drop, or substitute an entry. - Verify and report the real diff. Re-run
openplanr upgrade status --jsonand compare itsinstalledversions against the before state. Report only what actually moved and to what. If a component did not move, say so — never claim "upgraded" for a version that did not change.
For the longer walkthrough, JSON output shape, and reporting format, read the upgrade guide.
Return
Lead with the diagnosed or repaired state. Summarize actual changes, linking relevant files and showing before/after versions only for components that moved. State which health checks were executed and what remains unverified. For a partial repair or blocker, retain successful work and show the exact recovery command or missing decision. Do not repeat long logs or claim that an attempted repair succeeded. Different summary wording never causes another repair.
04 同仓库更多 Skills
design
暂无简介
planr-sync
Audit OpenPlanr planning artifacts for graph and protocol drift. Use when statuses, references, schemas, or generated planning views may be inconsistent.
planr-status
Inspect project delivery or one feature's pipeline status without changing state. Use when the user asks what is done, pending, blocked, or next.
planr-sprint
Refine every open backlog item against the code and the calendar, refute the picks, and select a sprint that fits capacity and the release cut. Use before a cut or sprint; not for decomposing one specification or reporting status.
planr-spec
Shape vague product or engineering intent into a clear, measurable Protocol-compatible specification grounded in the current repository. Use when requirements need clarification before planning or implementation.
planr-ship
Implement an OpenPlanr plan, specification, task, or clearly stated request end to end in the current repository. Use when the user asks to build, implement, fix, finish, or ship local work, or to plan and implement an accepted change. Invoke before editing files for the requested change. Not for planning only, landing, release, or work handed to another coding agent.