mirror of
https://github.com/obra/superpowers.git
synced 2026-04-21 17:09:07 +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:
52
hooks/setup-personal-superpowers.sh
Executable file
52
hooks/setup-personal-superpowers.sh
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env bash
|
||||
# Setup script for personal superpowers directory
|
||||
# Creates personal superpowers directory with git repo for personal skills
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Use PERSONAL_SUPERPOWERS_DIR if set, otherwise XDG_CONFIG_HOME/superpowers, otherwise ~/.config/superpowers
|
||||
SUPERPOWERS_DIR="${PERSONAL_SUPERPOWERS_DIR:-${XDG_CONFIG_HOME:-$HOME/.config}/superpowers}"
|
||||
SKILLS_DIR="${SUPERPOWERS_DIR}/skills"
|
||||
|
||||
# Check if already set up
|
||||
if [[ -d "${SUPERPOWERS_DIR}/.git" ]] && [[ -d "${SKILLS_DIR}" ]]; then
|
||||
# Already set up, nothing to do
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Create directory structure
|
||||
mkdir -p "${SKILLS_DIR}"
|
||||
|
||||
# Create .gitignore
|
||||
cat > "${SUPERPOWERS_DIR}/.gitignore" <<'EOF'
|
||||
# Superpowers local data
|
||||
search-log.jsonl
|
||||
conversation-index/
|
||||
conversation-archive/
|
||||
EOF
|
||||
|
||||
# Create README
|
||||
cat > "${SUPERPOWERS_DIR}/README.md" <<'EOF'
|
||||
# My Personal Superpowers
|
||||
|
||||
Personal skills and techniques for Claude Code.
|
||||
|
||||
Learn more about Superpowers: https://github.com/obra/superpowers
|
||||
EOF
|
||||
|
||||
# Initialize git repo if not already initialized
|
||||
if [[ ! -d "${SUPERPOWERS_DIR}/.git" ]]; then
|
||||
cd "${SUPERPOWERS_DIR}"
|
||||
git init -q
|
||||
git add .gitignore README.md
|
||||
git commit -q -m "Initial commit: Personal superpowers setup"
|
||||
fi
|
||||
|
||||
# Check for gh and recommend GitHub setup
|
||||
if command -v gh &> /dev/null; then
|
||||
echo "github_cli_available=true"
|
||||
else
|
||||
echo "github_cli_available=false"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user