mirror of
https://github.com/obra/superpowers.git
synced 2026-04-21 00:49:06 +08:00
Add personal superpowers overlay system
Enables users to write and manage their own skills alongside core skills.
## Key Features:
- Auto-setup on first session: Creates ~/.config/superpowers/ git repo
- Two-tier skills: Personal skills shadow core skills when paths match
- Environment variable support: PERSONAL_SUPERPOWERS_DIR, XDG_CONFIG_HOME
- GitHub integration: Optional public repo creation for sharing skills
- CLI-agnostic: Works across Claude Code, Codex CLI, Gemini CLI (future)
## Changes:
- Added hooks/setup-personal-superpowers.sh - Auto-initializes personal repo
- Updated hooks/session-start.sh - Runs setup, offers GitHub repo creation
- Updated list-skills, skills-search - Search both personal and core skills
- Renamed skills/meta/creating-skills → writing-skills
- Added skills/meta/setting-up-personal-superpowers - Setup documentation
- Added skills/meta/sharing-skills - Contribution workflow
- Removed skills/meta/installing-skills - Old ~/.clank system
- Removed all INDEX.md files - Replaced by list-skills tool
- Updated README.md, getting-started - Document personal skills workflow
## Architecture:
~/.config/superpowers/skills/ # Personal (user-created, git-tracked)
${CLAUDE_PLUGIN_ROOT}/skills/ # Core (read-only, from plugin)
Search order: Personal first, core second (first match wins)
This commit is contained in:
82
README.md
82
README.md
@@ -28,11 +28,12 @@ Read the introduction: [Superpowers for Claude Code](https://blog.fsck.com/2025/
|
||||
/plugin install superpowers@superpowers-marketplace
|
||||
```
|
||||
|
||||
That's it! The plugin will:
|
||||
- Inject skills library into your session context
|
||||
- Make skills searchable via `${CLAUDE_PLUGIN_ROOT}/skills/getting-started/skills-search`
|
||||
- Add `/brainstorm`, `/write-plan`, and `/execute-plan` commands
|
||||
- Create `~/.superpowers/` for local data
|
||||
That's it! On first session, the plugin automatically:
|
||||
- Sets up `~/.config/superpowers/` as your personal skills repository
|
||||
- Initializes git repo for version control
|
||||
- Makes core skills searchable alongside your personal skills
|
||||
- Adds `/brainstorm`, `/write-plan`, and `/execute-plan` commands
|
||||
- Offers to create public GitHub repo for sharing your skills
|
||||
|
||||
### Verify Installation
|
||||
|
||||
@@ -48,14 +49,25 @@ That's it! The plugin will:
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Your Personal Skills
|
||||
|
||||
Write your own skills to `~/.config/superpowers/skills/`:
|
||||
- All personal skills automatically discovered by search tools
|
||||
- Personal skills shadow core skills when names match
|
||||
- Version controlled with git
|
||||
- Optional: Share on GitHub and contribute back to core
|
||||
|
||||
See `skills/meta/writing-skills` for how to create new skills.
|
||||
See `skills/meta/sharing-skills` for how to contribute to core.
|
||||
|
||||
### Finding Skills
|
||||
|
||||
Search for relevant skills before starting any task:
|
||||
Search both personal and core skills before starting any task:
|
||||
|
||||
```bash
|
||||
${CLAUDE_PLUGIN_ROOT}/skills/getting-started/list-skills # See all available
|
||||
${CLAUDE_PLUGIN_ROOT}/skills/getting-started/skills-search 'test.*driven|TDD'
|
||||
${CLAUDE_PLUGIN_ROOT}/skills/getting-started/skills-search 'debug.*systematic'
|
||||
${CLAUDE_PLUGIN_ROOT}/skills/getting-started/skills-search 'refactor'
|
||||
```
|
||||
|
||||
### Using Slash Commands
|
||||
@@ -101,7 +113,9 @@ ${CLAUDE_PLUGIN_ROOT}/skills/getting-started/skills-search 'refactor'
|
||||
- receiving-code-review - Responding to feedback
|
||||
|
||||
**Meta** (`skills/meta/`)
|
||||
- creating-skills - Document new techniques
|
||||
- setting-up-personal-superpowers - Personal skills repository setup
|
||||
- writing-skills - TDD for documentation, create new skills
|
||||
- sharing-skills - Contribute skills back to core
|
||||
- testing-skills-with-subagents - Validate skill quality
|
||||
- gardening-skills-wiki - Maintain and improve skills
|
||||
|
||||
@@ -118,10 +132,12 @@ ${CLAUDE_PLUGIN_ROOT}/skills/getting-started/skills-search 'refactor'
|
||||
|
||||
## How It Works
|
||||
|
||||
1. **SessionStart Hook** - Injects skills library context at session start
|
||||
2. **Skills Discovery** - `skills-search` finds relevant skills using grep patterns
|
||||
3. **Mandatory Workflow** - Skills become required when they exist for your task
|
||||
4. **Gap Tracking** - Failed searches logged to `~/.superpowers/search-log.jsonl`
|
||||
1. **SessionStart Hook** - Auto-setup personal skills repo, inject core skills context
|
||||
2. **Two-Tier Skills** - Personal skills (`~/.config/superpowers/skills/`) + Core skills (plugin)
|
||||
3. **Skills Discovery** - `list-skills` and `skills-search` find skills from both locations
|
||||
4. **Shadowing** - Personal skills override core skills when paths match
|
||||
5. **Mandatory Workflow** - Skills become required when they exist for your task
|
||||
6. **Gap Tracking** - Failed searches logged to `~/.config/superpowers/search-log.jsonl`
|
||||
|
||||
## Philosophy
|
||||
|
||||
@@ -131,21 +147,49 @@ ${CLAUDE_PLUGIN_ROOT}/skills/getting-started/skills-search 'refactor'
|
||||
- **Evidence over claims** - Verify before declaring success
|
||||
- **Domain over implementation** - Work at problem level, not solution level
|
||||
|
||||
## Data Directory
|
||||
## Personal Superpowers Directory
|
||||
|
||||
The plugin creates `~/.superpowers/` for local data:
|
||||
The plugin auto-creates your personal superpowers directory on first session.
|
||||
|
||||
**Default location:** `~/.config/superpowers/`
|
||||
|
||||
**Customize via environment variables:**
|
||||
```bash
|
||||
# Option 1: Set exact location
|
||||
export PERSONAL_SUPERPOWERS_DIR="$HOME/my-superpowers"
|
||||
|
||||
# Option 2: Use XDG standard
|
||||
export XDG_CONFIG_HOME="$HOME/.local/config" # Uses $HOME/.local/config/superpowers
|
||||
```
|
||||
~/.superpowers/
|
||||
├── search-log.jsonl # Failed skill searches
|
||||
└── conversation-index/ # Indexed past conversations (if enabled)
|
||||
|
||||
**Structure:**
|
||||
```
|
||||
~/.config/superpowers/ # (or your custom location)
|
||||
├── .git/ # Git repository
|
||||
├── .gitignore # Ignores logs and indexes
|
||||
├── README.md # About your personal superpowers
|
||||
├── skills/ # Your personal skills
|
||||
│ └── your-skill/
|
||||
│ └── SKILL.md
|
||||
├── search-log.jsonl # Failed skill searches (not tracked)
|
||||
└── conversation-index/ # Indexed conversations (not tracked)
|
||||
```
|
||||
|
||||
**Why git?** Track your skills evolution, share with others, contribute back to core.
|
||||
|
||||
## Contributing
|
||||
|
||||
Want to add a skill? See `skills/meta/creating-skills/SKILL.md`
|
||||
**Write personal skills:**
|
||||
1. Create in `~/.config/superpowers/skills/your-skill/`
|
||||
2. Follow TDD process in `skills/meta/writing-skills`
|
||||
3. Commit to your personal repo
|
||||
|
||||
Missing a skill? Edit `skills/REQUESTS.md` or open an issue
|
||||
**Share with everyone:**
|
||||
1. Follow workflow in `skills/meta/sharing-skills`
|
||||
2. Fork → Branch → Copy → PR to core
|
||||
3. Keep personal version or delete after merge
|
||||
|
||||
**Missing a skill?** Edit `skills/REQUESTS.md` or open an issue
|
||||
|
||||
## License
|
||||
|
||||
|
||||
Reference in New Issue
Block a user