Conversation
|
Warning Rate limit exceeded@karol-f has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 12 minutes and 49 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (2)
WalkthroughAdds installation and documentation enabling Superpowers integration with the Factory Droid CLI: cloning and copying skills, creating command and droid symlinks, configuring a SessionStart hook or AGENTS.md bootstrap, verification steps, usage guidance, troubleshooting, and project-local/personal overrides. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
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.
Actionable comments posted: 0
🧹 Nitpick comments (4)
docs/README.droid.md (3)
9-11: Add language specifier to code block.Line 9 fenced code block is missing a language identifier. Since this is a user instruction (text to tell Droid), use
textas the language specifier.-``` +```text Fetch and follow instructions from https://raw.githubusercontent.com/obra/superpowers/refs/heads/main/.factory/INSTALL.droid.md -``` +```
109-111: Add language specifier to code block.Line 109 fenced code block is missing a language identifier. Since this describes a user action (text instruction), use
textas the language specifier.-``` +```text Run the Task tool with subagent_type 'code-reviewer' to review the staged diff. -``` +```
219-220: Wrap bare URLs in angle brackets for markdown compliance.Lines 219–220 contain bare URLs. Wrap them in angle brackets to comply with markdown linting standards and improve readability.
## Getting Help -- Report issues: https://github.com/obra/superpowers/issues -- Main documentation: https://github.com/obra/superpowers +- Report issues: <https://github.com/obra/superpowers/issues> +- Main documentation: <https://github.com/obra/superpowers>README.md (1)
84-84: Add language specifier to code block.Line 84 fenced code block is missing a language identifier. Since this is a user instruction, use
textas the language specifier.Tell Droid: -``` +```text Fetch and follow instructions from https://raw.githubusercontent.com/obra/superpowers/refs/heads/main/.factory/INSTALL.droid.md -``` +```
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.factory/INSTALL.droid.md(1 hunks)README.md(2 hunks)docs/README.droid.md(1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
docs/README.droid.md
9-9: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
109-109: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
219-219: Bare URL used
(MD034, no-bare-urls)
220-220: Bare URL used
(MD034, no-bare-urls)
README.md
84-84: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🔇 Additional comments (6)
.factory/INSTALL.droid.md (2)
46-63: JSON hook configuration is well-structured.The SessionStart hook configuration correctly specifies matcher conditions, timeout, and command path. The structure aligns with Factory Droid CLI conventions.
1-77: Verify that referenced files exist in the Superpowers repository.The installation guide references
hooks/session-start.sh(line 55) andagents/code-reviewer.md(line 39) by symlink. Ensure these files exist in the Superpowers repository at the paths specified in the installation steps.docs/README.droid.md (2)
84-88: Installation note update and Factory Droid CLI section look good.The note clearly distinguishes between platforms, and the Factory Droid section follows the established pattern used for Codex and OpenCode, maintaining consistency across the documentation.
193-216: Troubleshooting section is practical and comprehensive.The troubleshooting section covers the main pain points (skills, commands, droids, hooks) with clear verification steps. Excellent guidance for users debugging integration issues.
README.md (2)
29-29: Installation note clarification improves user guidance.The updated note clearly communicates that installation steps differ by platform and explicitly mentions Factory Droid CLI alongside existing options. This helps users quickly identify the correct setup path.
80-88: New Factory Droid CLI section is well-structured and consistent.The new section follows the established pattern used for Codex and OpenCode installations: it includes a fetch instruction for quick setup and links to comprehensive documentation. Placement and formatting are consistent.
636c003 to
fd622cc
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (4)
docs/README.droid.md (4)
59-82: Add guidance on handling existing symlinks and verifying hook setup.The hook installation section lacks practical troubleshooting detail:
- No mention of what to do if
~/.factory/settings.jsonalready has existingSessionStarthooks (merge strategy unclear)- Line 82 mentions the bootstrap
<EXTREMELY_IMPORTANT>block without explaining this is Factory Droid CLI markup syntax- No reminder to verify the script is executable after symlinking
- Missing validation steps to confirm the hook is actually running
Suggestion: Add a note after the JSON block explaining the merge strategy and a verification step.
109-111: Clarify the Droids / code-reviewer usage.Lines 109–111 mention "Run the Task tool with subagent_type 'code-reviewer'..." but don't explain:
- Where/how this command is invoked in Droid's interface (a slash command, Task tool parameter, etc.)
- What output or behavior to expect
- Whether this requires the SessionStart hook to be configured first
Suggestion: Expand with a brief example or expected interaction pattern.
113-134: Clarify personal skill override behavior and namespace.Lines 113–134 document creating personal skills in
~/.factory/skills/. The text states "Personal skills override superpowers skills with the same name," but:
- It's unclear whether name matching is exact or prefix-based
- No guidance on how to verify the override is active (e.g., which version Droid invokes)
- The example uses
my-skillbut doesn't show how naming should relate to existing superpowers skillsSuggestion: Add clarification or an example showing a concrete override scenario.
193-215: Add troubleshooting steps for common symlink and permission issues.The troubleshooting section covers basic checks (verify symlinks exist, check files, verify JSON syntax) but misses:
- What to do if symlinks already exist when running install steps (should
ln -sbe re-run with-f, or check first?)- Permission errors when creating symlinks or running the hook script
- How to handle the case where
session-start.shis not executable (step missing from main install)Suggestion: Add a subsection for symlink/permission issues.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.factory/INSTALL.droid.md(1 hunks)README.md(2 hunks)docs/README.droid.md(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- .factory/INSTALL.droid.md
- README.md
🔇 Additional comments (1)
docs/README.droid.md (1)
24-27: Remove embedded scratchpad markup, verification requests, and shell scripts from the review comment. The code snippet at lines 24-27 is a validgit clonecommand. The concerns about symlink patterns require access to the actual repository structure and Factory Droid CLI integration specifics, which are not available for verification. If you intend to flag issues with this documentation, provide concrete evidence (e.g., actual file paths, failing commands, or specific Factory Droid CLI requirements) rather than speculative directory structure assumptions.Likely an incorrect or invalid review comment.
fd622cc to
8b0e96b
Compare
8b0e96b to
f40f27b
Compare
There was a problem hiding this comment.
Actionable comments posted: 0
♻️ Duplicate comments (2)
docs/README.droid.md (2)
62-78: Fix JSON hook command syntax: remove unnecessary escaped quotes.The Factory Droid CLI hook configuration schema specifies the
commandfield as a plain string (not escaped quotes). Line 70 incorrectly uses escaped quotes and should be"command": "$HOME/.factory/superpowers/hooks/session-start.sh"instead.{ "type": "command", - "command": "\"$HOME/.factory/superpowers/hooks/session-start.sh\"", + "command": "$HOME/.factory/superpowers/hooks/session-start.sh", "timeout": 5 }
165-182: Fix JSON hook command syntax: remove unnecessary escaped quotes.Line 174 has the same escaped quotes issue. Use
"command": "$FACTORY_PROJECT_DIR/tools/superpowers/hooks/session-start.sh"instead.{ "type": "command", - "command": "\"$FACTORY_PROJECT_DIR/tools/superpowers/hooks/session-start.sh\"", + "command": "$FACTORY_PROJECT_DIR/tools/superpowers/hooks/session-start.sh", "timeout": 5 }
🧹 Nitpick comments (6)
docs/README.droid.md (6)
9-11: Add language identifier to fenced code block.The code block lacks a language specifier. Mark it as
textorshfor consistency and clarity.-``` +```text Fetch and follow instructions from https://raw.githubusercontent.com/obra/superpowers/refs/heads/main/.factory/INSTALL.droid.md -``` +```
107-107: Add language identifier to fenced code block.Mark this code block with
textorshlanguage identifier.-``` +```text Run the Task tool with subagent_type 'code-reviewer' to review the staged diff. -``` +```
121-121: Add language identifier to fenced code block.The markdown template block should have a language identifier. Mark it as
markdown.-``` +```markdown --- name: my-skill description: Use when [condition] - [what it does] --- # My Skill [Your skill content here] -``` +```
162-162: Fix indentation alignment.Line 162 has extra leading whitespace. Align it with the preceding lines.
mkdir -p .factory/droids cd .factory/droids - ln -s ../../tools/superpowers/agents/* . + ln -s ../../tools/superpowers/agents/* .
163-163: Add language identifier to fenced code block.Mark the JSON configuration block with
jsonlanguage identifier.-``` +```json { "hooks": { "SessionStart": [ { "hooks": [ { "type": "command", "command": "$FACTORY_PROJECT_DIR/tools/superpowers/hooks/session-start.sh", "timeout": 5 } ] } ] } } -``` +```
217-218: Wrap bare URLs in markdown links or inline code.Replace bare URLs with markdown link syntax or inline code blocks for better formatting.
-## Getting Help -- Report issues: https://github.com/obra/superpowers/issues -- Main documentation: https://github.com/obra/superpowers +## Getting Help +- Report issues: [https://github.com/obra/superpowers/issues](https://github.com/obra/superpowers/issues) +- Main documentation: [https://github.com/obra/superpowers](https://github.com/obra/superpowers)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.factory/INSTALL.droid.md(1 hunks)docs/README.droid.md(1 hunks)hooks/session-start.sh(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- .factory/INSTALL.droid.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
docs/README.droid.md
9-9: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
107-107: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
163-163: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
217-217: Bare URL used
(MD034, no-bare-urls)
218-218: Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (3)
hooks/session-start.sh (3)
3-3: Environment detection logic is solid.The updated comment correctly reflects dual environment support. The implementation properly detects Droid vs. Claude Code via the
FACTORY_PROJECT_DIRenvironment variable and outputs the appropriate format for each.
11-21: Proper environment detection and conditional logic.The
is_droidflag correctly identifies the Factory Droid environment, and the warning message is appropriately scoped to non-Droid environments only. The logic is clean and easy to follow.
26-69: Environment-specific output handling is well-implemented.The dual-path logic is sound:
- Droid receives plain-text output in an
EXTREMELY_IMPORTANTblock for direct parsing.- Claude Code receives properly JSON-escaped content with the
hookSpecificOutputstructure.- The
escape_for_jsonfunction correctly handles all necessary escape sequences (backslash, quote, newline, carriage return, tab).- Content is consistently wrapped for both environments.
4966255 to
b72839c
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
♻️ Duplicate comments (1)
docs/README.droid.md (1)
62-78: Fix JSON hook command syntax: remove escaped quotes (duplicate issue).This issue was previously flagged. Line 70 incorrectly uses escaped quotes:
"command": "\"$HOME/.factory/superpowers/hooks/session-start.sh\"". Thecommandfield should be a plain JSON string without inner escaped quotes.- "command": "\"$HOME/.factory/superpowers/hooks/session-start.sh\"", + "command": "$HOME/.factory/superpowers/hooks/session-start.sh",
🧹 Nitpick comments (4)
docs/README.droid.md (4)
9-11: Add language specifier to code block or reformat as markdown.Lines 9–11 have a fenced code block without a language identifier. Either add
textas the language or reformat this as a markdown code example/instruction.-``` +```text Fetch and follow instructions from https://raw.githubusercontent.com/obra/superpowers/refs/heads/main/.factory/INSTALL.droid.md -``` +```
107-109: Add language specifier to code block or reformat as markdown.Lines 107–109 have a fenced code block without a language identifier. Add
textas the language or reformat as a markdown code example.-``` +```text Run the Task tool with subagent_type 'code-reviewer' to review the staged diff. -``` +```
158-163: Add language specifier to code block.Lines 158–163 have a fenced code block without a language identifier. Add
bashas the language.4. **Symlink droids**: - ``` + ```bash mkdir -p .factory/droids cd .factory/droids ln -s ../../tools/superpowers/agents/* . - ``` + ```
215-218: Wrap bare URLs in markdown link syntax.Lines 217–218 have bare URLs that should be wrapped in markdown link syntax for better readability and compliance with documentation standards.
## Getting Help -- Report issues: https://github.com/obra/superpowers/issues -- Main documentation: https://github.com/obra/superpowers +- Report issues: [GitHub issues](https://github.com/obra/superpowers/issues) +- Main documentation: [GitHub repository](https://github.com/obra/superpowers)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.factory/INSTALL.droid.md(1 hunks)docs/README.droid.md(1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
docs/README.droid.md
9-9: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
107-107: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
163-163: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
217-217: Bare URL used
(MD034, no-bare-urls)
218-218: Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (3)
docs/README.droid.md (1)
29-38: Skills section is clear and consistent.The copy-vs.-symlink explanation is helpful and aligns with the companion
.factory/INSTALL.droid.mdfile..factory/INSTALL.droid.md (2)
10-25: Installation steps are clear and well-formatted.The clone and skills installation instructions are consistent with the companion docs file and properly formatted.
67-79: Verification section is clear and actionable.The verification steps provide good troubleshooting guidance and the bootstrap verification prompt is helpful for users to confirm proper setup.
b72839c to
3b9e337
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (4)
docs/README.droid.md (4)
9-11: Add language specifiers to fenced code blocks.Lines 9, 120, and 176 have fenced code blocks without a language identifier. Add appropriate language tags to improve readability and enable syntax highlighting.
-``` +```bash Fetch and follow instructions from https://raw.githubusercontent.com/obra/superpowers/refs/heads/main/.factory/INSTALL.droid.md -``` +``` -``` +```bash Run the Task tool with subagent_type 'code-reviewer' to review the staged diff. -``` +``` -```json +```jsonAlso applies to: 120-122, 176-176
84-93: Use proper heading syntax instead of bold text.Line 84 uses bold formatting (
**...**) for what is semantically a section subheading. Replace with proper markdown heading syntax.-**AGENTS.md bootstrap (recommended fallback)** +### AGENTS.md bootstrap (recommended fallback)
236-237: Convert bare URLs to markdown link format.Lines 236–237 contain bare URLs that should be wrapped in markdown link syntax for better formatting and consistency.
-- Report issues: https://github.com/obra/superpowers/issues -- Main documentation: https://github.com/obra/superpowers +- Report issues: [GitHub Issues](https://github.com/obra/superpowers/issues) +- Main documentation: [Superpowers Repository](https://github.com/obra/superpowers)
214-216: Clarify troubleshooting step for skills detection.Line 214 suggests running
ls -la ~/.factory/skillsto verify symlinks, but for skills verification, users should check that skill directories contain the requiredSKILL.mdfile. Update the troubleshooting guidance to be more explicit:-### Skills not detected - -1. Verify symlinks: `ls -la ~/.factory/skills` -2. Check skill files exist: `ls ~/.factory/superpowers/skills` -3. Ensure each skill has a `SKILL.md` file +### Skills not detected + +1. Verify skill directories exist: `ls -la ~/.factory/skills/` +2. Check each skill has a `SKILL.md` file: `ls -1 ~/.factory/skills/*/SKILL.md` +3. Confirm Superpowers skills were copied: `ls ~/.factory/superpowers/skills/` +4. If using symlinks, verify they are readable: `ls -la ~/.factory/skills/`
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.factory/INSTALL.droid.md(1 hunks)docs/README.droid.md(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- .factory/INSTALL.droid.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
docs/README.droid.md
9-9: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
84-84: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
120-120: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
176-176: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
236-236: Bare URL used
(MD034, no-bare-urls)
237-237: Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (1)
docs/README.droid.md (1)
58-93: Clarify or document the origin and setup of the SessionStart hook script (session-start.sh).Lines 70, 86, 186, and 231 reference
~/.factory/hooks/session-start.shwithout explaining whether this file:
- Exists in the superpowers repository at a discoverable path
- Should be obtained from Factory Droid documentation or created by the user
- Is expected to be created manually or generated by tooling
If this script is part of superpowers, provide explicit instructions to locate or copy it. If users must create it, link to Factory Droid's hooks documentation or provide a template/example showing the minimal required functionality.
3b9e337 to
294027c
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (4)
docs/README.droid.md (4)
9-10: Add language identifier to fenced code block (line 9).The code block should specify a language identifier for proper syntax highlighting. Since this is a Tell Droid instruction (text input), use
textas the language identifier.-``` +```text Fetch and follow instructions from https://raw.githubusercontent.com/obra/superpowers/refs/heads/main/.factory/INSTALL.droid.md -``` +```
119-123: Add language identifier to fenced code block (line 120).The fenced code block at line 120 lacks a language identifier. Since this is an instruction note (not executable code), use
textas the language identifier.Use the Task tool with `code-reviewer` to review code: -``` +```text Run the Task tool with subagent_type 'code-reviewer' to review the staged diff. -``` +```
84-84: Convert emphasis to heading for document structure (MD036).Line 84 uses emphasis (
**...**) instead of a proper heading. Since this introduces a subsection, convert it to a level 4 heading (####).-**AGENTS.md bootstrap (recommended fallback)** +#### AGENTS.md bootstrap (recommended fallback)
234-237: Wrap bare URLs in markdown link syntax (MD034).Lines 236–237 contain bare URLs that should be formatted as markdown links for better readability and document structure.
## Getting Help -- Report issues: https://github.com/obra/superpowers/issues -- Main documentation: https://github.com/obra/superpowers +- Report issues: [GitHub Issues](https://github.com/obra/superpowers/issues) +- Main documentation: [GitHub Repository](https://github.com/obra/superpowers)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.factory/INSTALL.droid.md(1 hunks)docs/README.droid.md(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- .factory/INSTALL.droid.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
docs/README.droid.md
9-9: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
84-84: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
120-120: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
176-176: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
236-236: Bare URL used
(MD034, no-bare-urls)
237-237: Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (2)
docs/README.droid.md (2)
178-195: Clarify project-local hook script location and path.For project-local installations, line 187 references
~/.factory/hooks/session-start.sh(global path), but the rest of the project-local section uses.factory/(project-local paths). Clarify whether the hook script should be:
- Placed in the project's
.factory/hooks/directory (use a project-relative path), or- Still sourced from the global
~/.factory/hooks/directory.If project-local, the command path should be updated to reflect the project-relative location.
Can you confirm whether project-local SessionStart hooks should use a project-local script path (e.g.,
.factory/hooks/session-start.shvia$FACTORY_PROJECT_DIR) or continue to reference the global hook location?
1-11: Overall documentation approval with minor linting fixes needed.The documentation successfully provides clear, comprehensive guidance for Factory Droid CLI integration with Superpowers. The previous critical issues with JSON hook configuration (syntax errors, missing SessionStart wrapper) have been properly resolved. The installation steps are logically organized, and fallback mechanisms (AGENTS.md bootstrap) are well-documented.
A few minor improvements remain:
- Fix markdown linting issues (missing language identifiers, emphasis vs. heading, bare URLs).
- Resolve contradictory troubleshooting guidance about skills symlinks.
- Clarify project-local hook script path expectations.
Beyond these minor refinements, the documentation is ready for publication.
883610d to
589d156
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
docs/README.droid.md (1)
124-131:⚠️ Contradictory troubleshooting guidance—still unresolved from past review.Line 38 explicitly states: "Skills must be copied (not symlinked) as Droid CLI doesn't recognize symlinked skills." However, the troubleshooting section at line 128 instructs users to "Verify symlinks" for
~/.factory/skills. This contradicts the documented installation process. Update the troubleshooting step to verify that skills are present as copied directories rather than symlinks.Apply this diff to fix the guidance:
### Skills not detected -1. Verify symlinks: `ls -la ~/.factory/skills` -2. Check skill files exist: `ls ~/.factory/superpowers/skills` -3. Ensure each skill has a `SKILL.md` file +1. Verify skills are copied: `ls -la ~/.factory/skills` +2. Check source skill files exist: `ls ~/.factory/superpowers/skills` +3. Ensure each skill has a `SKILL.md` file
🧹 Nitpick comments (3)
docs/README.droid.md (3)
9-11: Add language identifier to code fences for consistency.Code blocks at lines 9–11 and 120 lack language identifiers (e.g.,
bashortext). While this doesn't affect functionality, adding language tags improves readability and enables syntax highlighting.Example fix for line 9:
-``` +```text Fetch and follow instructions from https://raw.githubusercontent.com/obra/superpowers/refs/heads/main/.factory/INSTALL.droid.md -``` +```Repeat for line 120 with appropriate language tag (e.g.,
textor blank if it's a generic shell interaction).
84-84: Use heading markdown instead of bold emphasis.Line 84 uses bold (
**AGENTS.md bootstrap...**) as a section divider. For better document structure and consistency with the rest of the guide, use a markdown heading (e.g.,#### AGENTS.md Bootstrap (Fallback or Alternative)).-**AGENTS.md bootstrap (recommended fallback if above hook is not working)** +#### AGENTS.md Bootstrap (Fallback or Alternative)
148-151: Bare URLs should be wrapped in markdown links.Lines 150–151 use bare URLs without link syntax. Wrap them in markdown link format for better formatting and discoverability.
## Getting Help -Report issues: https://github.com/obra/superpowers/issues -Main documentation: https://github.com/obra/superpowers +- Report issues: [https://github.com/obra/superpowers/issues](https://github.com/obra/superpowers/issues) +- Main documentation: [https://github.com/obra/superpowers](https://github.com/obra/superpowers)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.factory/INSTALL.droid.md(1 hunks)docs/README.droid.md(1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
docs/README.droid.md
9-9: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
84-84: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
120-120: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
150-150: Bare URL used
(MD034, no-bare-urls)
151-151: Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (5)
.factory/INSTALL.droid.md (2)
47-63: ✅ JSON hook syntax is now correct.The SessionStart hook configuration has been properly fixed from the previous review—the
commandfield is now a plain JSON string without unnecessary escaping:"command": "sh ~/.factory/superpowers/hooks/session-start.sh". The structure correctly wraps the hooks within theSessionStartevent and aligns with the Factory Droid CLI configuration schema.
12-45: Installation flow is clear and well-structured.The step-by-step installation instructions (clone, copy skills, symlink commands/droids, configure hook, AGENTS.md fallback) are logical and align with Droid CLI discovery conventions. The distinction between copying skills (line 22) versus symlinking commands and droids (lines 32, 40) is properly documented and matches the earlier note at line 25 explaining why skills cannot be symlinked.
docs/README.droid.md (3)
62-78: ✅ JSON hook syntax is now correct.The SessionStart hook configuration has been fixed from the previous review—the
commandfield is now properly formatted as a plain JSON string:"command": "sh ~/.factory/superpowers/hooks/session-start.sh". The overall structure correctly wraps the hooks within theSessionStartevent and aligns with the Factory Droid CLI configuration schema.
1-95: Installation and bootstrap workflow is comprehensive and well-documented.The manual installation steps (clone, copy skills, symlink commands/droids, SessionStart hook, AGENTS.md fallback) are logically sequenced and clearly explain the rationale for each approach (e.g., why skills must be copied vs. symlinked). The dual-path bootstrap strategy (hook + AGENTS.md fallback) is practical and addresses Droid CLI version inconsistencies.
1-151: Unable to verify file completeness — repository access required.The verification script could not execute due to repository access limitations in the sandbox environment. However, the provided snippet shows lines 1-151 ending with an incomplete sentence ("Alternatively copy"), which suggests the file may continue beyond the visible excerpt. Past review comments reference lines 174-195, which fall outside the provided snippet range.
To complete this verification, please:
- Confirm the total line count of
docs/README.droid.md- Provide the full file content or content at lines 174-195 to assess past review issues
- Verify that the incomplete sentence at line 151 has been resolved
589d156 to
bf1c4de
Compare
|
|
||
| > Note: Some Droid CLI versions log `SessionStart` hook output but do not inject its `additionalContext` into the model. If you do not see the "You have superpowers" bootstrap text when you ask Droid about superpowers, you can use an AGENTS.md-based bootstrap instead of, or in addition to, the hook. | ||
|
|
||
| ### 6. AGENTS.md Bootstrap (Fallback or Alternative) |
There was a problem hiding this comment.
@karol-f Thanks so much for your work on this. I don't love the manual AGENTS.md thing since factory has hooks. This shouldn't be necessary.
|
Other than the AGENTS.md thing, my biggest worry about this is upgrades. Because we're copying files rather than linking them and factory doesn't have a way for us to use our own directory structure, it feels like upgrades are going to be nearly impossible. Any ideas about how best to handle that? |
|
Hi @obra , this is indeed a good question about updating. We might reach out to Factory Droid to ask about symlinked skills not being recognised, or create a script for you to run that will do all the work. But for now, consider adding this as proof-of-concept Droid CLI integration as it can already help a lot and allow new audience using "superpowers". Regards! |
NehaShakoor
left a comment
There was a problem hiding this comment.
AI Code Review: add-droid-support -> main
✅ No critical issues found by the AI. The changes look solid based on the provided guidelines.
Add Factory Droid CLI support via documentation and install instructions, mirroring existing Codex/OpenCode patterns.
Motivation and Context
Factory Droid CLI uses the same Markdown + YAML conventions as Superpowers for skills, agents/droids, hooks, and
commands. This PR enables Droid CLI users to use Superpowers without any code changes—just documentation explaining
how to symlink existing files to Droid's discovery locations.
How Has This Been Tested?
Breaking Changes
None. This is additive documentation only. Existing Claude Code, Codex, and OpenCode setups are unaffected.
Types of changes
Checklist
Additional context
Files added/changed:
docs/README.droid.md- Full installation and usage guide.factory/INSTALL.droid.md- Agent-executable install instructionsREADME.md- Added Factory Droid CLI section to installationNo code changes required—Superpowers skills, hooks, commands, and agents are already compatible with Droid's formats.
Integration is achieved entirely through symlinks and settings.json configuration as documented.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.