feat(planning): add /wayfind decision-map planning skill - #150
Conversation
Charts a too-big-AND-foggy effort as a shared decision map on the work-item tracker, then works its frontier one decision at a time — routing each resolved decision to the right skill (research/interview/design/prototype/task) until the map graduates to a Brief/PRD/PLAN. Upstream of the whole planning pipeline. - SKILL.md (chart + work modes, fog test, type-routing, escalation) + context files (tracker-mechanics gh commands, map anatomy) in the planning plugin - plain gh idiom matching the shipped /work-items sibling (one claim model: status:claimed + @me assignee + comment-ID locking); native sub-issue/ blocked-by primitives, frontier = open and zero OPEN blockers and unassigned - escalation pull-back lines in /planning:interview, /planning:architect, /implementation:implement (guide the user to /wayfind, never auto-switch) - registration: planning 0.5.0 to 0.6.0, implementation 0.3.0 to 0.3.1, marketplace tags Full lifecycle verified live against tracker-sandbox. Co-Authored-By: Claude <noreply@anthropic.com>
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_b22ff205-adea-4d62-9e56-a184453cafbf) |
There was a problem hiding this comment.
Stale comment
Risk: low. Not approving: Cursor Bugbot completed as skipped (usage limit reached), so the automated review signal is incomplete. Human review is needed before merge; no reviewers were assigned because the PR author is the sole human repository contributor.
Sent by Cursor Approval Agent: Pull Request Router and Approver
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cc24a1cc64
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Address two bot-review findings on /wayfind tracker-mechanics: - create-if-missing the wayfind taxonomy (work-map, wayfind:*, needs-human) at chart-mode entry — a fresh consumer repo lacks these plugin-specific labels, so an unknown --label would fail the first map create - claim collision check uses claim-comment ORDER (earliest wins), not assignee comparison — two same-identity sessions both assign @me and resolve to one login, so the comment timeline is the only reliable discriminator (matches the /work-items sibling's optimistic-locking-via-comment mechanism)
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_b6653fff-a639-4772-bf65-b9f65062de73) |
There was a problem hiding this comment.
Risk: low. Not approving: Cursor Bugbot completed as skipped (usage limit reached), so the automated review signal is incomplete. Human review is needed before merge; no reviewers were assigned because the sole human repository contributor is the PR author.
Sent by Cursor Approval Agent: Pull Request Router and Approver
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1e8e2d6fee
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| # 3. Collision check via claim-comment ORDER (not assignees). The EARLIEST claim comment wins. | ||
| gh issue view <item#> --json comments \ | ||
| --jq '[.comments[] | select(.body | startswith("🔒 claim:"))] | sort_by(.createdAt) | .[0].body' | tr -d '\r' |
There was a problem hiding this comment.
Ignore stale claim comments when arbitrating claims
When a session crashes or releases its own stale hold, the reclaim step below only clears the label/assignee and records a release comment; it does not remove or invalidate the previous 🔒 claim: comment. Since this jq always selects the oldest claim comment ever posted, a later session with a fresh marker will compare against the stale marker and back off even though the item is back on the unassigned frontier, leaving reclaimed items permanently unclaimable. Please either delete/mark obsolete claim comments during reclaim/release or filter this check to the current active lease.
Useful? React with 👍 / 👎.


Adds
/planning:wayfind— charts a too-big-AND-foggy effort as a shared decision map on the work-item tracker, then works its frontier one decision at a time, routing each resolved decision to the right skill until the map graduates to a Brief/PRD/PLAN. Upstream of the whole planning pipeline.What's here
plugins/planning/skills/wayfind/SKILL.md+context/tracker-mechanics.md+context/map-anatomy.md— chart + work modes, fog test, type-routing table, map anatomy, graduation/closure./planning:interview,/planning:architect,/implementation:implement(guide the user to/wayfindwhen a task is too-big-AND-foggy, never auto-switch). Wording reviewed with the maintainer.0.5.0→0.6.0, implementation0.3.0→0.3.1, marketplace tags.Design notes
ghidiom, matching the shipped/work-itemssibling — one claim model across both tracker skills (status:claimed+@meassignee + comment-ID collision check). The Pocock-v11 seam (tools/work-item-tracker/) is not consumed by the published plugins, so its verb/lease mechanics are superseded; skill substance (fog test, modes, routing, escalation, map anatomy) is idiom-independent.--parent), dependency edges (--add-blocked-by). Frontier = open ∧ zero OPEN blockers ∧ unassigned.Verification
Full lifecycle run live against
melodic-software/tracker-sandbox: chart → typed items + edge → frontier → claim → resolve → re-frontier → close map. The live run caught and fixed two real bugs in the mechanics doc (blockedBy/subIssuesare{nodes,totalCount}objects not arrays; a closed blocker stays intotalCountso frontier must count only OPEN blockers).scripts/validate-plugins.sh+scripts/run-plugin-tests.shboth green.Refs melodic-software/medley#1338
Note
Low Risk
Changes are plugin skill markdown and manifest metadata only; no application runtime or auth paths. Residual risk is operational (gh issue/label writes in consumer repos) when users run the skill.
Overview
Introduces
/planning:wayfindupstream of the planning pipeline: for efforts that are too big and still too foggy to ticket, it charts a decision map on GitHub Issues (work-mapparent + typedwayfind:*sub-issues), applies a fog test (sharp question → item; unphrasable uncertainty → prose), and runschart(interactive only) orwork(frontier claim → route → graduate).New skill docs cover map anatomy (five body sections, invariants, closure handoff to Brief/PRD/PLAN) and tracker mechanics (label bootstrap, sub-issues,
blocked-by, frontier jq counting OPEN blockers only, claim protocol aligned with/work-items).Escalation pull-backs (recommend only, never auto-switch) are added to
/planning:interview,/planning:architect, and/implementation:implementwhen work is too-big-and-foggy for that stage.Registration: planning 0.6.0, implementation 0.3.1, README/marketplace keywords (
wayfind,decision-map).Reviewed by Cursor Bugbot for commit 1e8e2d6. Bugbot is set up for automated code reviews on this repo. Configure here.