Skip to content

Prefer Claude's Plan Mode over built-in planning when available#2

Merged
intel352 merged 4 commits into
mainfrom
copilot/update-plugin-plan-mode
Mar 7, 2026
Merged

Prefer Claude's Plan Mode over built-in planning when available#2
intel352 merged 4 commits into
mainfrom
copilot/update-plugin-plan-mode

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 7, 2026

  • Update skills/using-superpowers/SKILL.md - Modified flow graph to route to writing-plans skill (with Plan Mode preference) when brainstorming is done, instead of blocking Plan Mode entirely
  • Update skills/writing-plans/SKILL.md - Added Plan Mode Detection section: prefer Claude's Plan Mode when available (Claude Code), fall back to built-in planning process; ensure Plan Mode output is saved as plan document to docs/plans/ in the required format
  • Update skills/brainstorming/SKILL.md - Updated autonomous handoff to mention Plan Mode preference
  • Verify all changes are consistent with the existing workflow and downstream skills (alignment-check, executing-plans, subagent-driven-development)
  • Run code review
  • Run security scan
  • Fix flow graph: add outgoing edge from writing-plans node to "Might any skill apply?" so graph stays connected
  • Fix bullet capitalization in brainstorming handoff section

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits March 7, 2026 19:43
Updated the planning workflow to prefer Claude's native Plan Mode
(available in Claude Code) when creating implementation plans. When
Plan Mode is not available (Cursor, Codex, OpenCode, etc.), falls
back to the plugin's built-in planning process.

Key changes:
- using-superpowers: Flow graph routes to writing-plans skill
  (with Plan Mode preference) instead of blocking Plan Mode
- writing-plans: New Plan Mode Detection section with instructions
  for using Claude's Plan Mode and saving output as a plan document
- brainstorming: Updated handoff to mention Plan Mode preference

The plan output format remains unchanged regardless of planning
method, ensuring downstream skills (alignment-check, executing-plans,
subagent-driven-development) continue to work correctly.

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Copilot AI changed the title [WIP] Update plugin to prioritize Claude's Plan Mode Prefer Claude's Plan Mode over built-in planning when available Mar 7, 2026
@intel352 intel352 marked this pull request as ready for review March 7, 2026 20:17
Copilot AI review requested due to automatic review settings March 7, 2026 20:17
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the “superpowers” skill pipeline docs to stop blocking Claude Code’s native Plan Mode, preferring it when available while preserving the existing downstream plan-document-based workflow.

Changes:

  • Add Plan Mode detection guidance to writing-plans, preferring Claude Code Plan Mode and falling back to the existing built-in planning steps elsewhere.
  • Update the using-superpowers flow graph to route “already brainstormed” directly into writing-plans (which prefers Plan Mode).
  • Clarify the autonomous handoff in brainstorming to note the Plan Mode preference.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
skills/writing-plans/SKILL.md Adds “Plan Mode Detection” section describing Plan Mode-first behavior and saving to the standard plan document format.
skills/using-superpowers/SKILL.md Updates the DOT flow graph to route brainstormed work into writing-plans (Plan Mode preferred).
skills/brainstorming/SKILL.md Adds a handoff bullet noting writing-plans will prefer Plan Mode when available.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

"Already brainstormed?" -> "Invoke brainstorming skill" [label="no"];
"Already brainstormed?" -> "Might any skill apply?" [label="yes"];
"Already brainstormed?" -> "Invoke writing-plans skill\n(prefers Claude's Plan Mode)" [label="yes"];
"Invoke brainstorming skill" -> "Might any skill apply?";
Copy link

Copilot AI Mar 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the DOT flow graph, the new "Invoke writing-plans skill" node is a dead-end (no outgoing edge), unlike the brainstorming node which continues the flow. This makes the diagram misleading; add an outgoing edge from the writing-plans node (e.g., to the next decision point or terminal state) so the flow remains connected/accurate.

Suggested change
"Invoke brainstorming skill" -> "Might any skill apply?";
"Invoke brainstorming skill" -> "Might any skill apply?";
"Invoke writing-plans skill\n(prefers Claude's Plan Mode)" -> "Might any skill apply?";

Copilot uses AI. Check for mistakes.
Comment thread skills/brainstorming/SKILL.md Outdated
**Autonomous handoff:**
- This is the user's **last interaction point** — everything after runs autonomously
- Invoke the writing-plans skill with autonomous context: the design is approved, no further user input needed
- writing-plans will prefer Claude's Plan Mode if available (Claude Code), falling back to its built-in planning process in other environments
Copy link

Copilot AI Mar 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This bullet starts with a lowercase "writing-plans" while surrounding bullets are sentence-cased. Capitalize it (or start with "The writing-plans skill …") for consistent formatting and readability.

Suggested change
- writing-plans will prefer Claude's Plan Mode if available (Claude Code), falling back to its built-in planning process in other environments
- The writing-plans skill will prefer Claude's Plan Mode if available (Claude Code), falling back to its built-in planning process in other environments

Copilot uses AI. Check for mistakes.
@intel352
Copy link
Copy Markdown
Contributor

intel352 commented Mar 7, 2026

@copilot apply changes based on the comments in this thread

…ation

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 7, 2026

@copilot apply changes based on the comments in this thread

Applied both review suggestions in 6bfb656:

  • Added the missing outgoing edge from the writing-plans node to "Might any skill apply?" so the flow graph stays connected
  • Capitalized the bullet to "The writing-plans skill will prefer…" for consistent sentence-casing

@intel352 intel352 merged commit edf4fc8 into main Mar 7, 2026
3 checks passed
intel352 added a commit that referenced this pull request Apr 25, 2026
… plan+design

Finding #1 (plan:395): verification command pipes to grep, which exits 1 when no
matches — looks like failure. Fix: add || true, update expected output description.

Finding #2 (design:142): described markers as "HTML-comment-shaped" but the
syntax is angle-bracket tags (not HTML comments). Fix: "angle-bracket tag syntax
that most markdown renderers treat as unknown HTML tags".

Finding #3 (design:178): prose said OpenCode/Cursor "get blank entries" but
table uses sentinel value host-pass-through. Fix: prose now matches sentinel.

Finding #4 (plan:1232): "Two distinct clean Copilot review timestamps" hard gate
has no anchor policy doc. Fix: downgrade to "recommended practice" phrasing.

Finding #5 (plan:65): skill-content-grep.expected.txt listed as a created file
and in ALLOWED_FILES but the script never reads it — dead artifact. Fix: drop
the file from the task entirely.

Finding #6 (plan:141): guard script ran grep twice per token, reported line
numbers from the stripped (AWK-processed) string rather than the original file.
Fix: single-pass AWK that emits "LINENO:content" preserving original line
numbers; single grep pass with || true.

Finding #7 (plan:132): skip-regex <host: *claude-code *> only matched the exact
single-host tag form, not comma-separated lists like <host: codex, claude-code>.
Fix: AWK rule checks if /claude-code/ appears anywhere in the <host:> line,
handling any comma-separated host list.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
intel352 added a commit that referenced this pull request Apr 25, 2026
… plan+design

Finding #1 (plan:395): verification command pipes to grep, which exits 1 when no
matches — looks like failure. Fix: add || true, update expected output description.

Finding #2 (design:142): described markers as "HTML-comment-shaped" but the
syntax is angle-bracket tags (not HTML comments). Fix: "angle-bracket tag syntax
that most markdown renderers treat as unknown HTML tags".

Finding #3 (design:178): prose said OpenCode/Cursor "get blank entries" but
table uses sentinel value host-pass-through. Fix: prose now matches sentinel.

Finding #4 (plan:1232): "Two distinct clean Copilot review timestamps" hard gate
has no anchor policy doc. Fix: downgrade to "recommended practice" phrasing.

Finding #5 (plan:65): skill-content-grep.expected.txt listed as a created file
and in ALLOWED_FILES but the script never reads it — dead artifact. Fix: drop
the file from the task entirely.

Finding #6 (plan:141): guard script ran grep twice per token, reported line
numbers from the stripped (AWK-processed) string rather than the original file.
Fix: single-pass AWK that emits "LINENO:content" preserving original line
numbers; single grep pass with || true.

Finding #7 (plan:132): skip-regex <host: *claude-code *> only matched the exact
single-host tag form, not comma-separated lists like <host: codex, claude-code>.
Fix: AWK rule checks if /claude-code/ appears anywhere in the <host:> line,
handling any comma-separated host list.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
intel352 added a commit that referenced this pull request Apr 25, 2026
…ign docs (#13)

* fix(pr12-round2): address 7 Copilot findings on cross-LLM portability plan+design

Finding #1 (plan:395): verification command pipes to grep, which exits 1 when no
matches — looks like failure. Fix: add || true, update expected output description.

Finding #2 (design:142): described markers as "HTML-comment-shaped" but the
syntax is angle-bracket tags (not HTML comments). Fix: "angle-bracket tag syntax
that most markdown renderers treat as unknown HTML tags".

Finding #3 (design:178): prose said OpenCode/Cursor "get blank entries" but
table uses sentinel value host-pass-through. Fix: prose now matches sentinel.

Finding #4 (plan:1232): "Two distinct clean Copilot review timestamps" hard gate
has no anchor policy doc. Fix: downgrade to "recommended practice" phrasing.

Finding #5 (plan:65): skill-content-grep.expected.txt listed as a created file
and in ALLOWED_FILES but the script never reads it — dead artifact. Fix: drop
the file from the task entirely.

Finding #6 (plan:141): guard script ran grep twice per token, reported line
numbers from the stripped (AWK-processed) string rather than the original file.
Fix: single-pass AWK that emits "LINENO:content" preserving original line
numbers; single grep pass with || true.

Finding #7 (plan:132): skip-regex <host: *claude-code *> only matched the exact
single-host tag form, not comma-separated lists like <host: codex, claude-code>.
Fix: AWK rule checks if /claude-code/ appears anywhere in the <host:> line,
handling any comma-separated host list.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(cross-llm-plan): address 14 Copilot round-1 findings on plan+design

Plan doc (cross-llm-portability.md):
- Add lowercase sonnet/opus/haiku to forbidden-tokens list and explain why
- Add rationale for not yet including AskUserQuestion/Agent (PRs B-D)
- Remove tests/skill-content-grep.sh from ALLOWED_FILES (tests/ not scanned)
- Fix AWK skip to match only exclusive <host: claude-code> blocks, not
  multi-host tags; update inline comment accordingly
- Remove dead fail=1 inside while-pipe subshell; rely solely on $tmp check
- Add || true to all 7 skill-scoped grep verification commands (lines
  443, 517, 626, 694, 764, 844, 888) — grep exits 1 on no-match (PASS case)

Design doc (cross-llm-portability-design.md):
- Fix broken path: subagent-driven-development.md →
  skills/subagent-driven-development/SKILL.md
- Remove false gpt-5.x claim from grep guard description; clarify that
  only Claude-Code brand names are guarded, Codex names use <host:> markers
- Replace "Open questions deferred to implementation" with resolved decisions:
  AWK guard approach, angle-bracket marker syntax, OpenCode tool mapping,
  Cursor support depth scope

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(cross-llm-plan): address 7 Copilot round-2 findings on plan + design docs

- set -euo pipefail (was set -u only)
- Fix stray || true in step-title prose and GHA step name
- Verification commands capture guard output before grepping to avoid masking execution errors
- Fix prose claiming gpt-5.x tokens are guarded (guard only covers Claude brand names)
- Design doc: clarify angle-bracket marker advantage is readability in rendered Markdown

* fix(cross-llm-plan): add end-anchor to AWK skip regex so multi-host blocks are never skipped

Agent-Logs-Url: https://github.com/GoCodeAlone/claude-superpowers/sessions/24d5a30f-f7b3-43e7-83dd-60c470d0f4a4

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Update docs/plans/2026-04-25-cross-llm-portability.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants