Allow superpowers plugin to use project-configured output directories
Summary
The superpowers plugin hardcodes docs/superpowers/plans/ and docs/superpowers/specs/ as output directories for brainstorming specs and implementation plans. It also defaults worktrees to .worktrees/. There is no reliable way to override these paths per-project.
Problem
Projects that keep all Claude-generated artifacts under a single gitignored directory (e.g., .claude/) cannot configure superpowers to respect that convention. The current workaround is adding a CLAUDE.md directive like:
## Superpowers Docs Directory
Plans: .claude/docs/plans/
Specs/designs: .claude/docs/specs/
This works sometimes, but it relies on the LLM reading and respecting a natural-language instruction — it's not a config flag. The skills themselves contain hardcoded paths like:
writing-plans/SKILL.md:docs/superpowers/plans/YYYY-MM-DD-<feature-name>.mdbrainstorming/SKILL.md:docs/superpowers/specs/YYYY-MM-DD-<topic>-design.mdusing-git-worktrees/SKILL.md:.worktrees/as default
Proposed Solution
Support a configuration block (in CLAUDE.md frontmatter, a dedicated config file, or plugin settings) that lets projects override default output directories. For example:
superpowers:
plans_dir: .claude/docs/plans
specs_dir: .claude/docs/specs
worktrees_dir: .claude/worktrees
The skills would read these values and use them instead of hardcoded paths.
Use Case
Infrastructure-as-code repo where .claude/ is gitignored and all Claude artifacts (plans, specs, worktrees, skills) live under it. Having superpowers scatter output into docs/superpowers/ and .worktrees/ creates inconsistency and risks accidentally committing generated files.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗