-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Add manus-planning skill and rebrand to superpowers-ng #255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Integrate Manus-style persistent planning for long-running tasks that span multiple sessions or exceed 50 tool calls. Introduces new manus-planning skill with 3-file system (task_plan.md, findings.md, progress.md), archive support, and conditional PreToolUse hooks for automatic plan reminders. Changes: - New manus-planning skill with 5-phase workflow and persistent memory - Brainstorming updated to offer both Native and Manus planning options - Added PreToolUse hook (manus-pretool.sh) for context-aware plan reminders - Updated using-superpowers with planning approach guidance - Rebranded from superpowers to superpowers-ng v0.1.0 - Added comprehensive README highlighting NG features - Created new RELEASE-NOTES.md focused on v0.1.0 changes Files: - skills/manus-planning/SKILL.md (main skill definition) - skills/manus-planning/templates/ (3 template files) - commands/manus-plan.md (slash command) - hooks/manus-pretool.sh (conditional hook script) - hooks/hooks.json (added PreToolUse hook) - skills/brainstorming/SKILL.md (planning choice) - skills/using-superpowers/SKILL.md (planning guidance) - .claude-plugin/plugin.json (rebranded metadata) - README.md (complete rewrite for NG) - RELEASE-NOTES.md (fresh v0.1.0) Credits: Jesse Vincent (obra/superpowers), Ahmad Othman Ammar Adi (planning-with-files) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
📝 WalkthroughWalkthroughThis PR transforms Superpowers into Superpowers-NG by introducing a Manus-style persistent planning system. Changes include metadata rebranding, comprehensive documentation overhaul, a new planning command, hook-based context injection, a complete Manus planning skill with file-based memory templates, and updated workflows integrating both Native and Manus planning approaches. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Claude as Claude/CodeRabbit
participant Skill as Manus Planning Skill
participant FileSystem as File System<br/>(docs/manus/)
participant Hooks as Hook System
participant Context as Model Context
User->>Claude: Invoke manus-plan command
Claude->>Skill: Execute Manus Planning SKILL
Skill->>FileSystem: Check for existing task_plan.md
alt Task exists
Skill->>FileSystem: Load existing files
Skill->>Context: Resume from last session
else New task
Skill->>FileSystem: Initialize task_plan.md, findings.md, progress.md
Skill->>FileSystem: Create .active marker
end
Note over Claude,Context: Work across multiple operations
Claude->>Hooks: (Before Write/Edit/Bash operation)
Hooks->>FileSystem: Check for .active marker
Hooks->>FileSystem: Read task_plan.md (first 30 lines)
Hooks->>Context: Inject plan preview as additionalContext
Note over Claude: Execute operations with plan context
Claude->>Skill: Update findings.md (2-Action Rule)
Skill->>FileSystem: Persist findings and progress.md
Note over User,Context: Context reset between sessions
User->>Claude: Resume work (new session)
Hooks->>FileSystem: Reload plan from task_plan.md
Hooks->>Context: Reinject persistent context
Claude->>Skill: Continue from last logged state
Estimated Code Review Effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly Related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In @skills/manus-planning/templates/progress.md:
- Around line 80-84: Replace the hardcoded phase strings in the template: change
the answer for "Where am I?" from "Phase 1 - Requirements & Discovery" to a
placeholder (e.g., [current_phase] or {{current_phase}}) and change "Where am I
going?" from "Phases 2-5 remaining" to a placeholder (e.g., [remaining_phases]
or {{remaining_phases}}) so they match the placeholder style used by questions
3–5; update the two lines that begin with "1. **Where am I?**" and "2. **Where
am I going?**" accordingly.
🧹 Nitpick comments (7)
skills/manus-planning/templates/progress.md (1)
9-61: Consider resolving duplicate heading names for better Markdown compatibility.The template uses identical heading names ("Actions:" and "Files Modified:") across all five phases, which can cause issues with Markdown navigation, table-of-contents generation, and anchor links. While the repetition is intentional for template consistency, some Markdown processors may struggle with this structure.
♻️ Proposed fix: Add phase identifiers to headings
Example for Phase 1:
### Phase 1: Requirements & Discovery **Status:** in_progress **Started:** [timestamp] -**Actions:** +**Actions (Phase 1):** - [What was done] -**Files Modified:** +**Files Modified (Phase 1):** - [List of files]Apply similar changes to Phases 2-5, or alternatively convert these to bold text without heading syntax if they don't need to appear in navigation.
RELEASE-NOTES.md (1)
104-117: Consider using proper headings instead of bold emphasis.Static analysis flags MD036 for using emphasis as headings. The bold text patterns like
**Separate planning systems...**,**Marker file for conditional hooks**, and**Archive approach...**could be converted to####headings for better document structure and accessibility.📝 Suggested heading format
-**Separate planning systems (no cross-style switching)** +#### Separate planning systems (no cross-style switching) -**Marker file for conditional hooks** +#### Marker file for conditional hooks -**Archive approach for multi-task handling** +#### Archive approach for multi-task handlinghooks/manus-pretool.sh (1)
24-40: Consider escaping additional control characters for robust JSON output.The function handles common escape sequences but doesn't escape other control characters (0x00-0x08, 0x0B, 0x0C, 0x0E-0x1F) that would produce invalid JSON if present in the plan file.
For typical markdown content this is unlikely to be an issue, but for robustness you could add a catch-all for control characters.
♻️ Optional enhancement for control character handling
escape_for_json() { local input="$1" local output="" local i char for (( i=0; i<${#input}; i++ )); do char="${input:$i:1}" case "$char" in $'\\') output+='\\';; '"') output+='\"';; $'\n') output+='\n';; $'\r') output+='\r';; $'\t') output+='\t';; + # Escape other control characters as unicode + $'\x00'|$'\x01'|$'\x02'|$'\x03'|$'\x04'|$'\x05'|$'\x06'|$'\x07'|\ + $'\x08'|$'\x0b'|$'\x0c'|$'\x0e'|$'\x0f'|$'\x10'|$'\x11'|$'\x12'|\ + $'\x13'|$'\x14'|$'\x15'|$'\x16'|$'\x17'|$'\x18'|$'\x19'|$'\x1a'|\ + $'\x1b'|$'\x1c'|$'\x1d'|$'\x1e'|$'\x1f') + printf -v escaped '\\u%04x' "'$char" + output+="$escaped";; *) output+="$char";; esac done printf '%s' "$output" }skills/manus-planning/SKILL.md (2)
48-55: Add language specifier to fenced code block.Static analysis correctly identifies this code block lacks a language specifier. Since this shows user-facing prompt text, consider adding a specifier for consistent formatting.
♻️ Proposed fix
- ``` + ```text There's an active manus task: "[goal from task_plan.md]" Current phase: [X of 5] Is your request: 1. A continuation of this task (resume where you left off) 2. A new separate task (archives existing task)</details> --- `126-191`: **Template duplication between SKILL.md and templates/ directory.** The `task_plan.md` format here duplicates the template at `skills/manus-planning/templates/task_plan.md`. This is reasonable for documentation purposes but creates a maintenance burden if templates change. Consider adding a note that templates/ contains the canonical versions, or documenting how to keep them in sync. </blockquote></details> <details> <summary>README.md (2)</summary><blockquote> `84-90`: **Add language specifier to output code block.** Per static analysis, the code block at line 85 lacks a language specifier. For terminal output, consider using `text` or `console`. <details> <summary>♻️ Proposed fix</summary> ```diff You should see: -``` +```text /superpowers-ng:brainstorm - Interactive design refinement /superpowers-ng:write-plan - Create implementation plan /superpowers-ng:execute-plan - Execute plan in batches /superpowers-ng:manus-plan - Start Manus-style persistent planning</details> --- `192-196`: **Convert bare URLs to markdown links.** Per markdown best practices (flagged by static analysis), bare URLs should be formatted as proper links for better rendering and accessibility. <details> <summary>♻️ Proposed fix</summary> ```diff ## Support -- **Issues**: https://github.com/OniReimu/superpowers/issues -- **Original Superpowers**: https://github.com/obra/superpowers -- **Planning-with-files**: https://github.com/OthmanAdi/planning-with-files +- **Issues**: [GitHub Issues](https://github.com/OniReimu/superpowers/issues) +- **Original Superpowers**: [obra/superpowers](https://github.com/obra/superpowers) +- **Planning-with-files**: [OthmanAdi/planning-with-files](https://github.com/OthmanAdi/planning-with-files)
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (12)
.claude-plugin/plugin.jsonREADME.mdRELEASE-NOTES.mdcommands/manus-plan.mdhooks/hooks.jsonhooks/manus-pretool.shskills/brainstorming/SKILL.mdskills/manus-planning/SKILL.mdskills/manus-planning/templates/findings.mdskills/manus-planning/templates/progress.mdskills/manus-planning/templates/task_plan.mdskills/using-superpowers/SKILL.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
README.md
85-85: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
114-114: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
118-118: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
194-194: Bare URL used
(MD034, no-bare-urls)
195-195: Bare URL used
(MD034, no-bare-urls)
196-196: Bare URL used
(MD034, no-bare-urls)
skills/manus-planning/SKILL.md
48-48: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/manus-planning/templates/progress.md
21-21: Heading style
Expected: atx; Actual: setext
(MD003, heading-style)
24-24: Heading style
Expected: atx; Actual: setext
(MD003, heading-style)
33-33: Heading style
Expected: atx; Actual: setext
(MD003, heading-style)
33-33: Multiple headings with the same content
(MD024, no-duplicate-heading)
36-36: Heading style
Expected: atx; Actual: setext
(MD003, heading-style)
36-36: Multiple headings with the same content
(MD024, no-duplicate-heading)
45-45: Heading style
Expected: atx; Actual: setext
(MD003, heading-style)
45-45: Multiple headings with the same content
(MD024, no-duplicate-heading)
48-48: Heading style
Expected: atx; Actual: setext
(MD003, heading-style)
48-48: Multiple headings with the same content
(MD024, no-duplicate-heading)
57-57: Heading style
Expected: atx; Actual: setext
(MD003, heading-style)
57-57: Multiple headings with the same content
(MD024, no-duplicate-heading)
60-60: Heading style
Expected: atx; Actual: setext
(MD003, heading-style)
60-60: Multiple headings with the same content
(MD024, no-duplicate-heading)
RELEASE-NOTES.md
85-85: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
114-114: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
118-118: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
🔇 Additional comments (12)
skills/using-superpowers/SKILL.md (1)
85-97: Excellent addition to guide planning approach selection.The Planning Approaches section provides clear, actionable guidance for choosing between Native and Manus planning. The comparison table effectively highlights the key differences, and the persistence distinction (TodoWrite vs. docs/manus/) is well-explained. The "when unsure" advice helps users make the right choice for complex tasks.
skills/manus-planning/templates/findings.md (1)
1-25: Well-structured template with consistent placeholder design.The findings template provides comprehensive sections covering all aspects of task documentation. The placeholder syntax is consistent throughout, and the CRITICAL note about Visual/Browser Findings (line 25) is particularly valuable guidance for users to capture ephemeral content. The section organization flows logically from requirements through to technical decisions and resources.
skills/brainstorming/SKILL.md (1)
45-50: Clean integration of planning options.The two-option approach (Native vs Manus) provides clear guidance based on task characteristics. The parenthetical note about copying the design document into
findings.mdis helpful for understanding the Manus workflow continuity..claude-plugin/plugin.json (1)
1-25: Proper attribution and metadata for the fork.The credits array appropriately acknowledges both the original Superpowers author (obra) and the planning-with-files author (OthmanAdi). Version reset to
0.1.0is sensible for a new fork identity. Repository URLs are consistent throughout.commands/manus-plan.md (1)
1-6: Command file properly structured.The slash command correctly delegates to the
manus-planningskill withdisable-model-invocation: trueensuring explicit user control over when planning initiates. The referenced skill exists with proper structure including templates.hooks/hooks.json (1)
14-24: Hook configuration and script are correct.The PreToolUse hook properly uses the
run-hook.cmdwrapper pattern for cross-platform compatibility. TheWrite|Edit|Bashmatcher targets file-modifying operations appropriately. Themanus-pretool.shscript exists and correctly implements the hook: it outputs empty JSON{}when manus-planning is inactive (no marker file), and outputs valid JSON with plan context when active. JSON escaping for special characters is properly handled, and error handling is robust.skills/manus-planning/templates/task_plan.md (1)
1-60: Well-structured planning template.The template provides clear scaffolding for the 5-phase workflow with appropriate sections for goal tracking, phase status, decisions, and error logging. The structure aligns well with the SKILL.md documentation.
hooks/manus-pretool.sh (2)
47-55: LGTM!The JSON output structure is correctly formatted with heredoc. The double-escaped
\\nproduces proper newline escape sequences in the JSON string.
7-12: The code is correct as-is.PWDis reliably set by Claude's plugin hook system to the user's project directory when the hook runs. UsingPWDto locate user project files is the appropriate pattern here, and it contrasts correctly with theSCRIPT_DIRpattern used insession-start.shfor accessing plugin-owned files. No changes needed.Likely an incorrect or invalid review comment.
skills/manus-planning/SKILL.md (1)
95-125: LGTM!The core rules are clear and actionable. The 2-Action Rule for preserving research findings and the completion workflow with proper marker cleanup are well-designed practices for persistent planning.
README.md (2)
68-74: Verify clone URL matches intended repository name.The clone URL references
OniReimu/superpowersbut the PR title suggests a rebrand tosuperpowers-ng. Ensure the URL is updated if/when the repository is renamed.
183-186: Verify Manus AI acquisition claim.The statement that Manus AI was "acquired by Meta" should be verified for accuracy in the credits/inspiration section.
The claim is verified. Meta Platforms acquired Manus, a Singapore-based AI startup, in late December 2025. The deal values Manus at more than $2 billion. The credits section is accurate.
| 1. **Where am I?** Phase 1 - Requirements & Discovery | ||
| 2. **Where am I going?** Phases 2-5 remaining | ||
| 3. **What's the goal?** [Copy from task_plan.md] | ||
| 4. **What have I learned?** [Key findings so far] | ||
| 5. **What have I done?** [Completed actions] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replace hardcoded phase values with placeholders for template consistency.
Questions 1 and 2 contain hardcoded values ("Phase 1 - Requirements & Discovery", "Phases 2-5 remaining") that assume the task is always in Phase 1. This is inconsistent with questions 3-5, which use proper placeholder syntax.
📝 Proposed fix: Use placeholders throughout
-1. **Where am I?** Phase 1 - Requirements & Discovery
-2. **Where am I going?** Phases 2-5 remaining
+1. **Where am I?** [Current phase]
+2. **Where am I going?** [Remaining phases]
3. **What's the goal?** [Copy from task_plan.md]
4. **What have I learned?** [Key findings so far]
5. **What have I done?** [Completed actions]📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| 1. **Where am I?** Phase 1 - Requirements & Discovery | |
| 2. **Where am I going?** Phases 2-5 remaining | |
| 3. **What's the goal?** [Copy from task_plan.md] | |
| 4. **What have I learned?** [Key findings so far] | |
| 5. **What have I done?** [Completed actions] | |
| 1. **Where am I?** [Current phase] | |
| 2. **Where am I going?** [Remaining phases] | |
| 3. **What's the goal?** [Copy from task_plan.md] | |
| 4. **What have I learned?** [Key findings so far] | |
| 5. **What have I done?** [Completed actions] |
🤖 Prompt for AI Agents
In @skills/manus-planning/templates/progress.md around lines 80 - 84, Replace
the hardcoded phase strings in the template: change the answer for "Where am I?"
from "Phase 1 - Requirements & Discovery" to a placeholder (e.g.,
[current_phase] or {{current_phase}}) and change "Where am I going?" from
"Phases 2-5 remaining" to a placeholder (e.g., [remaining_phases] or
{{remaining_phases}}) so they match the placeholder style used by questions 3–5;
update the two lines that begin with "1. **Where am I?**" and "2. **Where am I
going?**" accordingly.
|
Closing this PR; we intend to open against OniReimu/manus-planning-hybrid instead. |
Summary
Superpowers-NG: Enhanced fork with Manus-style persistent planning for long-running tasks.
Key Features
Test Plan
🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.