diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json
index e53405cfc..36deda5c8 100644
--- a/.claude-plugin/marketplace.json
+++ b/.claude-plugin/marketplace.json
@@ -1,15 +1,16 @@
{
- "name": "superpowers-dev",
- "description": "Development marketplace for Superpowers core skills library",
+ "$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
+ "name": "bestpractice-dev",
+ "description": "Development marketplace for Best Practice core skills library",
"owner": {
"name": "Jesse Vincent",
"email": "jesse@fsck.com"
},
"plugins": [
{
- "name": "superpowers",
+ "name": "bestpractice",
"description": "Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques",
- "version": "3.2.2",
+ "version": "3.2.3",
"source": "./",
"author": {
"name": "Jesse Vincent",
diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json
index a90aa3d1e..75b77c27e 100644
--- a/.claude-plugin/plugin.json
+++ b/.claude-plugin/plugin.json
@@ -1,13 +1,12 @@
{
- "name": "superpowers",
+ "name": "bestpractice",
"description": "Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques",
"version": "3.2.3",
"author": {
"name": "Jesse Vincent",
"email": "jesse@fsck.com"
},
- "homepage": "https://github.com/obra/superpowers",
- "repository": "https://github.com/obra/superpowers",
- "license": "MIT",
+ "homepage": "https://github.com/titofebus/ccbp",
+ "repository": "https://github.com/titofebus/ccbp",
"keywords": ["skills", "tdd", "debugging", "collaboration", "best-practices", "workflows"]
}
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index abf039032..000000000
--- a/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2025 Jesse Vincent
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/README.md b/README.md
index 5bbbb929a..9f80a179a 100644
--- a/README.md
+++ b/README.md
@@ -1,44 +1,57 @@
-# Superpowers
+# Best Practice
-Give Claude Code superpowers with a comprehensive skills library of proven techniques, patterns, and workflows.
+Give Claude Code best practice with a comprehensive skills library of proven techniques, patterns, and workflows.
## What You Get
- **Testing Skills** - TDD, async testing, anti-patterns
- **Debugging Skills** - Systematic debugging, root cause tracing, verification
+- **Refactoring Skills** - Complexity reduction, code quality improvements
- **Collaboration Skills** - Brainstorming, planning, code review, parallel agents
- **Development Skills** - Git worktrees, finishing branches, subagent workflows
- **Meta Skills** - Creating, testing, and sharing skills
Plus:
-- **Slash Commands** - `/superpowers:brainstorm`, `/superpowers:write-plan`, `/superpowers:execute-plan`
+- **Slash Commands** - `/bestpractice:brainstorm`, `/bestpractice:write-plan`, `/bestpractice:execute-plan`
- **Automatic Integration** - Skills activate automatically when relevant
- **Consistent Workflows** - Systematic approaches to common engineering tasks
## Learn More
-Read the introduction: [Superpowers for Claude Code](https://blog.fsck.com/2025/10/09/superpowers/)
+Read the introduction: [Best Practice for Claude Code](https://blog.fsck.com/2025/10/09/bestpractice/)
## Installation
-### Via Plugin Marketplace (Recommended)
+### From GitHub
```bash
# In Claude Code
-/plugin marketplace add obra/superpowers-marketplace
-/plugin install superpowers@superpowers-marketplace
+/plugin marketplace add titofebus/ccbp
+/plugin install bestpractice@ccbp
+```
+
+### From Local Directory
+
+If you've cloned this repository locally:
+
+```bash
+# In Claude Code
+/plugin marketplace add /path/to/ccbp
+/plugin install bestpractice@ccbp
```
### Verify Installation
+After installing, restart Claude Code, then verify:
+
```bash
# Check that commands appear
/help
-# Should see:
-# /superpowers:brainstorm - Interactive design refinement
-# /superpowers:write-plan - Create implementation plan
-# /superpowers:execute-plan - Execute plan in batches
+# You should see:
+# /bestpractice:brainstorm - Interactive design refinement
+# /bestpractice:write-plan - Create implementation plan
+# /bestpractice:execute-plan - Execute plan in batches
```
## Quick Start
@@ -47,17 +60,17 @@ Read the introduction: [Superpowers for Claude Code](https://blog.fsck.com/2025/
**Brainstorm a design:**
```
-/superpowers:brainstorm
+/bestpractice:brainstorm
```
**Create an implementation plan:**
```
-/superpowers:write-plan
+/bestpractice:write-plan
```
**Execute the plan:**
```
-/superpowers:execute-plan
+/bestpractice:execute-plan
```
### Automatic Skill Activation
@@ -65,6 +78,7 @@ Read the introduction: [Superpowers for Claude Code](https://blog.fsck.com/2025/
Skills activate automatically when relevant. For example:
- `test-driven-development` activates when implementing features
- `systematic-debugging` activates when debugging issues
+- `reducing-complexity` activates when refactoring functions with high cyclomatic complexity
- `verification-before-completion` activates before claiming work is done
## What's Inside
@@ -82,6 +96,9 @@ Skills activate automatically when relevant. For example:
- **verification-before-completion** - Ensure it's actually fixed
- **defense-in-depth** - Multiple validation layers
+**Refactoring** (`skills/`)
+- **reducing-complexity** - Systematic refactoring to reduce cyclomatic complexity ≤ 10
+
**Collaboration** (`skills/collaboration/`)
- **brainstorming** - Socratic design refinement
- **writing-plans** - Detailed implementation plans
@@ -97,7 +114,7 @@ Skills activate automatically when relevant. For example:
- **writing-skills** - Create new skills following best practices
- **sharing-skills** - Contribute skills back via branch and PR
- **testing-skills-with-subagents** - Validate skill quality
-- **using-superpowers** - Introduction to the skills system
+- **using-bestpractice** - Introduction to the skills system
### Commands
@@ -109,7 +126,7 @@ All commands are thin wrappers that activate the corresponding skill:
## How It Works
-1. **SessionStart Hook** - Loads the `using-superpowers` skill at session start
+1. **SessionStart Hook** - Loads the `using-bestpractice` skill at session start
2. **Skills System** - Uses Claude Code's first-party skills system
3. **Automatic Discovery** - Claude finds and uses relevant skills for your task
4. **Mandatory Workflows** - When a skill exists for your task, using it becomes required
@@ -136,17 +153,21 @@ See `skills/meta/writing-skills/SKILL.md` for the complete guide.
## Updating
-Skills update automatically when you update the plugin:
+To update the plugin:
```bash
-/plugin update superpowers
-```
+# Uninstall the old version
+/plugin uninstall bestpractice
-## License
+# Pull the latest changes from git
+git pull
-MIT License - see LICENSE file for details
+# Reinstall
+/plugin marketplace update ccbp
+/plugin install bestpractice@ccbp
+```
## Support
-- **Issues**: https://github.com/obra/superpowers/issues
-- **Marketplace**: https://github.com/obra/superpowers-marketplace
+- **Issues**: https://github.com/titofebus/ccbp/issues
+- **Repository**: https://github.com/titofebus/ccbp
diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index 48ae429aa..9db30eef2 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -1,10 +1,10 @@
-# Superpowers Release Notes
+# Best Practice Release Notes
## v3.2.3 (2025-10-23)
### Improvements
-**Updated using-superpowers skill to use Skill tool instead of Read tool**
+**Updated using-bestpractice skill to use Skill tool instead of Read tool**
- Changed skill invocation instructions from Read tool to Skill tool
- Updated description: "using Read tool" → "using Skill tool"
- Updated step 3: "Use the Read tool" → "Use the Skill tool to read and run"
@@ -13,13 +13,13 @@
The Skill tool is the proper mechanism for invoking skills in Claude Code. This update corrects the bootstrap instructions to guide agents toward the correct tool.
### Files Changed
-- Updated: `skills/using-superpowers/SKILL.md` - Changed tool references from Read to Skill
+- Updated: `skills/using-bestpractice/SKILL.md` - Changed tool references from Read to Skill
## v3.2.2 (2025-10-21)
### Improvements
-**Strengthened using-superpowers skill against agent rationalization**
+**Strengthened using-bestpractice skill against agent rationalization**
- Added EXTREMELY-IMPORTANT block with absolute language about mandatory skill checking
- "If even 1% chance a skill applies, you MUST read it"
- "You do not have a choice. You cannot rationalize your way out."
@@ -35,23 +35,23 @@ The Skill tool is the proper mechanism for invoking skills in Claude Code. This
These changes address observed agent behavior where they rationalize around skill usage despite clear instructions. The forceful language and pre-emptive counter-arguments aim to make non-compliance harder.
### Files Changed
-- Updated: `skills/using-superpowers/SKILL.md` - Added three layers of enforcement to prevent skill-skipping rationalization
+- Updated: `skills/using-bestpractice/SKILL.md` - Added three layers of enforcement to prevent skill-skipping rationalization
## v3.2.1 (2025-10-20)
### New Features
**Code reviewer agent now included in plugin**
-- Added `superpowers:code-reviewer` agent to plugin's `agents/` directory
+- Added `bestpractice:code-reviewer` agent to plugin's `agents/` directory
- Agent provides systematic code review against plans and coding standards
- Previously required users to have personal agent configuration
-- All skill references updated to use namespaced `superpowers:code-reviewer`
+- All skill references updated to use namespaced `bestpractice:code-reviewer`
- Fixes #55
### Files Changed
- New: `agents/code-reviewer.md` - Agent definition with review checklist and output format
-- Updated: `skills/requesting-code-review/SKILL.md` - References to `superpowers:code-reviewer`
-- Updated: `skills/subagent-driven-development/SKILL.md` - References to `superpowers:code-reviewer`
+- Updated: `skills/requesting-code-review/SKILL.md` - References to `bestpractice:code-reviewer`
+- Updated: `skills/subagent-driven-development/SKILL.md` - References to `bestpractice:code-reviewer`
## v3.2.0 (2025-10-18)
@@ -67,8 +67,8 @@ These changes address observed agent behavior where they rationalize around skil
### Breaking Changes
**Skill reference namespace standardization**
-- All internal skill references now use `superpowers:` namespace prefix
-- Updated format: `superpowers:test-driven-development` (previously just `test-driven-development`)
+- All internal skill references now use `bestpractice:` namespace prefix
+- Updated format: `bestpractice:test-driven-development` (previously just `test-driven-development`)
- Affects all REQUIRED SUB-SKILL, RECOMMENDED SUB-SKILL, and REQUIRED BACKGROUND references
- Aligns with how skills are invoked using the Skill tool
- Files updated: brainstorming, executing-plans, subagent-driven-development, systematic-debugging, testing-skills-with-subagents, writing-plans, writing-skills
@@ -84,7 +84,7 @@ These changes address observed agent behavior where they rationalize around skil
### Bug Fixes
-- **Fixed command syntax in README** (#44) - Updated all command references to use correct namespaced syntax (`/superpowers:brainstorm` instead of `/brainstorm`). Plugin-provided commands are automatically namespaced by Claude Code to avoid conflicts between plugins.
+- **Fixed command syntax in README** (#44) - Updated all command references to use correct namespaced syntax (`/bestpractice:brainstorm` instead of `/brainstorm`). Plugin-provided commands are automatically namespaced by Claude Code to avoid conflicts between plugins.
## v3.1.0 (2025-10-17)
@@ -167,13 +167,13 @@ We now use Anthropic's first-party skills system!
---
-# Superpowers v2.0.0 Release Notes
+# Best Practice v2.0.0 Release Notes
## Overview
-Superpowers v2.0 makes skills more accessible, maintainable, and community-driven through a major architectural shift.
+Best Practice v2.0 makes skills more accessible, maintainable, and community-driven through a major architectural shift.
-The headline change is **skills repository separation**: all skills, scripts, and documentation have moved from the plugin into a dedicated repository ([obra/superpowers-skills](https://github.com/obra/superpowers-skills)). This transforms superpowers from a monolithic plugin into a lightweight shim that manages a local clone of the skills repository. Skills auto-update on session start. Users fork and contribute improvements via standard git workflows. The skills library versions independently from the plugin.
+The headline change is **skills repository separation**: all skills, scripts, and documentation have moved from the plugin into a dedicated repository ([obra/bestpractice-skills](https://github.com/obra/bestpractice-skills)). This transforms bestpractice from a monolithic plugin into a lightweight shim that manages a local clone of the skills repository. Skills auto-update on session start. Users fork and contribute improvements via standard git workflows. The skills library versions independently from the plugin.
Beyond infrastructure, this release adds nine new skills focused on problem-solving, research, and architecture. We rewrote the core **using-skills** documentation with imperative tone and clearer structure, making it easier for Claude to understand when and how to use skills. **find-skills** now outputs paths you can paste directly into the Read tool, eliminating friction in the skills discovery workflow.
@@ -183,11 +183,11 @@ Users experience seamless operation: the plugin handles cloning, forking, and up
### Skills Repository Separation
-**The biggest change:** Skills no longer live in the plugin. They've been moved to a separate repository at [obra/superpowers-skills](https://github.com/obra/superpowers-skills).
+**The biggest change:** Skills no longer live in the plugin. They've been moved to a separate repository at [obra/bestpractice-skills](https://github.com/obra/bestpractice-skills).
**What this means for you:**
-- **First install:** Plugin automatically clones skills to `~/.config/superpowers/skills/`
+- **First install:** Plugin automatically clones skills to `~/.config/bestpractice/skills/`
- **Forking:** During setup, you'll be offered the option to fork the skills repo (if `gh` is installed)
- **Updates:** Skills auto-update on session start (fast-forward when possible)
- **Contributing:** Work on branches, commit locally, submit PRs to upstream
@@ -196,21 +196,21 @@ Users experience seamless operation: the plugin handles cloning, forking, and up
**Migration:**
If you have an existing installation:
-1. Your old `~/.config/superpowers/.git` will be backed up to `~/.config/superpowers/.git.bak`
-2. Old skills will be backed up to `~/.config/superpowers/skills.bak`
-3. Fresh clone of obra/superpowers-skills will be created at `~/.config/superpowers/skills/`
+1. Your old `~/.config/bestpractice/.git` will be backed up to `~/.config/bestpractice/.git.bak`
+2. Old skills will be backed up to `~/.config/bestpractice/skills.bak`
+3. Fresh clone of obra/bestpractice-skills will be created at `~/.config/bestpractice/skills/`
### Removed Features
-- **Personal superpowers overlay system** - Replaced with git branch workflow
-- **setup-personal-superpowers hook** - Replaced by initialize-skills.sh
+- **Personal bestpractice overlay system** - Replaced with git branch workflow
+- **setup-personal-bestpractice hook** - Replaced by initialize-skills.sh
## New Features
### Skills Repository Infrastructure
**Automatic Clone & Setup** (`lib/initialize-skills.sh`)
-- Clones obra/superpowers-skills on first run
+- Clones obra/bestpractice-skills on first run
- Offers fork creation if GitHub CLI is installed
- Sets up upstream/origin remotes correctly
- Handles migration from old installation
@@ -281,21 +281,21 @@ If you have an existing installation:
- Moved "skills behind" warning to end of output
**Environment Variables**
-- `SUPERPOWERS_SKILLS_ROOT` set to `~/.config/superpowers/skills`
+- `BESTPRACTICE_SKILLS_ROOT` set to `~/.config/bestpractice/skills`
- Used consistently throughout all paths
## Bug Fixes
- Fixed duplicate upstream remote addition when forking
- Fixed find-skills double "skills/" prefix in output
-- Removed obsolete setup-personal-superpowers call from session-start
+- Removed obsolete setup-personal-bestpractice call from session-start
- Fixed path references throughout hooks and commands
## Documentation
### README
- Updated for new skills repository architecture
-- Prominent link to superpowers-skills repo
+- Prominent link to bestpractice-skills repo
- Updated auto-update description
- Fixed skill names and references
- Updated Meta skills list
@@ -315,15 +315,15 @@ If you have an existing installation:
- `.claude-plugin/marketplace.json` - Local testing config
**Removed:**
-- `skills/` directory (82 files) - Now in obra/superpowers-skills
-- `scripts/` directory - Now in obra/superpowers-skills/skills/using-skills/
-- `hooks/setup-personal-superpowers.sh` - Obsolete
+- `skills/` directory (82 files) - Now in obra/bestpractice-skills
+- `scripts/` directory - Now in obra/bestpractice-skills/skills/using-skills/
+- `hooks/setup-personal-bestpractice.sh` - Obsolete
**Modified:**
-- `hooks/session-start.sh` - Use skills from ~/.config/superpowers/skills
-- `commands/brainstorm.md` - Updated paths to SUPERPOWERS_SKILLS_ROOT
-- `commands/write-plan.md` - Updated paths to SUPERPOWERS_SKILLS_ROOT
-- `commands/execute-plan.md` - Updated paths to SUPERPOWERS_SKILLS_ROOT
+- `hooks/session-start.sh` - Use skills from ~/.config/bestpractice/skills
+- `commands/brainstorm.md` - Updated paths to BESTPRACTICE_SKILLS_ROOT
+- `commands/write-plan.md` - Updated paths to BESTPRACTICE_SKILLS_ROOT
+- `commands/execute-plan.md` - Updated paths to BESTPRACTICE_SKILLS_ROOT
- `README.md` - Complete rewrite for new architecture
### Commit History
@@ -331,7 +331,7 @@ If you have an existing installation:
This release includes:
- 20+ commits for skills repository separation
- PR #1: Amplifier-inspired problem-solving and research skills
-- PR #2: Personal superpowers overlay system (later replaced)
+- PR #2: Personal bestpractice overlay system (later replaced)
- Multiple skill refinements and documentation improvements
## Upgrade Instructions
@@ -340,8 +340,8 @@ This release includes:
```bash
# In Claude Code
-/plugin marketplace add obra/superpowers-marketplace
-/plugin install superpowers@superpowers-marketplace
+/plugin marketplace add obra/bestpractice-marketplace
+/plugin install bestpractice@bestpractice-marketplace
```
The plugin handles everything automatically.
@@ -350,12 +350,12 @@ The plugin handles everything automatically.
1. **Backup your personal skills** (if you have any):
```bash
- cp -r ~/.config/superpowers/skills ~/superpowers-skills-backup
+ cp -r ~/.config/bestpractice/skills ~/bestpractice-skills-backup
```
2. **Update the plugin:**
```bash
- /plugin update superpowers
+ /plugin update bestpractice
```
3. **On next session start:**
@@ -379,7 +379,7 @@ The plugin handles everything automatically.
### For Contributors
-- Skills repository is now at https://github.com/obra/superpowers-skills
+- Skills repository is now at https://github.com/obra/bestpractice-skills
- Fork → Branch → PR workflow
- See skills/meta/writing-skills/SKILL.md for TDD approach to documentation
@@ -395,6 +395,6 @@ None at this time.
---
-**Full Changelog:** https://github.com/obra/superpowers/compare/dd013f6...main
-**Skills Repository:** https://github.com/obra/superpowers-skills
-**Issues:** https://github.com/obra/superpowers/issues
+**Full Changelog:** https://github.com/obra/bestpractice/compare/dd013f6...main
+**Skills Repository:** https://github.com/obra/bestpractice-skills
+**Issues:** https://github.com/obra/bestpractice/issues
diff --git a/hooks/session-start.sh b/hooks/session-start.sh
index b86454049..0ef8ee8a4 100755
--- a/hooks/session-start.sh
+++ b/hooks/session-start.sh
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
-# SessionStart hook for superpowers plugin
+# SessionStart hook for bestpractice plugin
set -euo pipefail
@@ -9,16 +9,16 @@ PLUGIN_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
# Check if legacy skills directory exists and build warning
warning_message=""
-legacy_skills_dir="${HOME}/.config/superpowers/skills"
+legacy_skills_dir="${HOME}/.config/bestpractice/skills"
if [ -d "$legacy_skills_dir" ]; then
- warning_message="\n\nIN YOUR FIRST REPLY AFTER SEEING THIS MESSAGE YOU MUST TELL THE USER:⚠️ **WARNING:** Superpowers now uses Claude Code's skills system. Custom skills in ~/.config/superpowers/skills will not be read. Move custom skills to ~/.claude/skills instead. To make this message go away, remove ~/.config/superpowers/skills"
+ warning_message="\n\nIN YOUR FIRST REPLY AFTER SEEING THIS MESSAGE YOU MUST TELL THE USER:⚠️ **WARNING:** Best Practice now uses Claude Code's skills system. Custom skills in ~/.config/bestpractice/skills will not be read. Move custom skills to ~/.claude/skills instead. To make this message go away, remove ~/.config/bestpractice/skills"
fi
-# Read using-superpowers content
-using_superpowers_content=$(cat "${PLUGIN_ROOT}/skills/using-superpowers/SKILL.md" 2>&1 || echo "Error reading using-superpowers skill")
+# Read using-bestpractice content
+using_bestpractice_content=$(cat "${PLUGIN_ROOT}/skills/using-bestpractice/SKILL.md" 2>&1 || echo "Error reading using-bestpractice skill")
# Escape outputs for JSON
-using_superpowers_escaped=$(echo "$using_superpowers_content" | sed 's/\\/\\\\/g' | sed 's/"/\\"/g' | awk '{printf "%s\\n", $0}')
+using_bestpractice_escaped=$(echo "$using_bestpractice_content" | sed 's/\\/\\\\/g' | sed 's/"/\\"/g' | awk '{printf "%s\\n", $0}')
warning_escaped=$(echo "$warning_message" | sed 's/\\/\\\\/g' | sed 's/"/\\"/g' | awk '{printf "%s\\n", $0}')
# Output context injection as JSON
@@ -26,7 +26,7 @@ cat <\nYou have superpowers.\n\n**The content below is from skills/using-superpowers/SKILL.md - your introduction to using skills:**\n\n${using_superpowers_escaped}\n\n${warning_escaped}\n"
+ "additionalContext": "\nYou are following best practice.\n\n**The content below is from skills/using-bestpractice/SKILL.md - your introduction to using skills:**\n\n${using_bestpractice_escaped}\n\n${warning_escaped}\n"
}
}
EOF
diff --git a/lib/initialize-skills.sh b/lib/initialize-skills.sh
deleted file mode 100755
index 838671bff..000000000
--- a/lib/initialize-skills.sh
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-
-SKILLS_DIR="${HOME}/.config/superpowers/skills"
-SKILLS_REPO="https://github.com/obra/superpowers-skills.git"
-
-# Check if skills directory exists and is a valid git repo
-if [ -d "$SKILLS_DIR/.git" ]; then
- cd "$SKILLS_DIR"
-
- # Get the remote name for the current tracking branch
- TRACKING_REMOTE=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null | cut -d'/' -f1 || echo "")
-
- # Fetch from tracking remote if set, otherwise try upstream then origin
- if [ -n "$TRACKING_REMOTE" ]; then
- git fetch "$TRACKING_REMOTE" 2>/dev/null || true
- else
- git fetch upstream 2>/dev/null || git fetch origin 2>/dev/null || true
- fi
-
- # Check if we can fast-forward
- LOCAL=$(git rev-parse @ 2>/dev/null || echo "")
- REMOTE=$(git rev-parse @{u} 2>/dev/null || echo "")
- BASE=$(git merge-base @ @{u} 2>/dev/null || echo "")
-
- # Try to fast-forward merge first
- if [ -n "$LOCAL" ] && [ -n "$REMOTE" ] && [ "$LOCAL" != "$REMOTE" ]; then
- # Check if we can fast-forward (local is ancestor of remote)
- if [ "$LOCAL" = "$BASE" ]; then
- # Fast-forward merge is possible - local is behind
- echo "Updating skills to latest version..."
- if git merge --ff-only @{u} 2>&1; then
- echo "✓ Skills updated successfully"
- echo "SKILLS_UPDATED=true"
- else
- echo "Failed to update skills"
- fi
- elif [ "$REMOTE" != "$BASE" ]; then
- # Remote has changes (local is behind or diverged)
- echo "SKILLS_BEHIND=true"
- fi
- # If REMOTE = BASE, local is ahead - no action needed
- fi
-
- exit 0
-fi
-
-# Skills directory doesn't exist or isn't a git repo - initialize it
-echo "Initializing skills repository..."
-
-# Handle migration from old installation
-if [ -d "${HOME}/.config/superpowers/.git" ]; then
- echo "Found existing installation. Backing up..."
- mv "${HOME}/.config/superpowers/.git" "${HOME}/.config/superpowers/.git.bak"
-
- if [ -d "${HOME}/.config/superpowers/skills" ]; then
- mv "${HOME}/.config/superpowers/skills" "${HOME}/.config/superpowers/skills.bak"
- echo "Your old skills are in ~/.config/superpowers/skills.bak"
- fi
-fi
-
-# Clone the skills repository
-mkdir -p "${HOME}/.config/superpowers"
-git clone "$SKILLS_REPO" "$SKILLS_DIR"
-
-cd "$SKILLS_DIR"
-
-# Offer to fork if gh is installed
-if command -v gh &> /dev/null; then
- echo ""
- echo "GitHub CLI detected. Would you like to fork superpowers-skills?"
- echo "Forking allows you to share skill improvements with the community."
- echo ""
- read -p "Fork superpowers-skills? (y/N): " -n 1 -r
- echo
-
- if [[ $REPLY =~ ^[Yy]$ ]]; then
- gh repo fork obra/superpowers-skills --remote=true
- echo "Forked! You can now contribute skills back to the community."
- else
- git remote add upstream "$SKILLS_REPO"
- fi
-else
- # No gh, just set up upstream remote
- git remote add upstream "$SKILLS_REPO"
-fi
-
-echo "Skills repository initialized at $SKILLS_DIR"
diff --git a/skills/brainstorming/SKILL.md b/skills/brainstorming/SKILL.md
index 7a05a6710..4b9c9f20d 100644
--- a/skills/brainstorming/SKILL.md
+++ b/skills/brainstorming/SKILL.md
@@ -84,7 +84,7 @@ After design is validated, write it to a permanent document:
### Phase 5: Worktree Setup (for implementation)
When design is approved and implementation will follow:
- Announce: "I'm using the using-git-worktrees skill to set up an isolated workspace."
-- **REQUIRED SUB-SKILL:** Use superpowers:using-git-worktrees
+- **REQUIRED SUB-SKILL:** Use bestpractice:using-git-worktrees
- Follow that skill's process for directory selection, safety verification, and setup
- Return here when worktree ready
@@ -93,7 +93,7 @@ Ask: "Ready to create the implementation plan?"
When your human partner confirms (any affirmative response):
- Announce: "I'm using the writing-plans skill to create the implementation plan."
-- **REQUIRED SUB-SKILL:** Use superpowers:writing-plans
+- **REQUIRED SUB-SKILL:** Use bestpractice:writing-plans
- Create detailed plan in the worktree
## Question Patterns
diff --git a/skills/executing-plans/SKILL.md b/skills/executing-plans/SKILL.md
index 47e545a67..dda0bf0d7 100644
--- a/skills/executing-plans/SKILL.md
+++ b/skills/executing-plans/SKILL.md
@@ -46,7 +46,7 @@ Based on feedback:
After all tasks complete and verified:
- Announce: "I'm using the finishing-a-development-branch skill to complete this work."
-- **REQUIRED SUB-SKILL:** Use superpowers:finishing-a-development-branch
+- **REQUIRED SUB-SKILL:** Use bestpractice:finishing-a-development-branch
- Follow that skill to verify tests, present options, execute choice
## When to Stop and Ask for Help
diff --git a/skills/reducing-complexity/SKILL.md b/skills/reducing-complexity/SKILL.md
new file mode 100644
index 000000000..8e05fc5b6
--- /dev/null
+++ b/skills/reducing-complexity/SKILL.md
@@ -0,0 +1,396 @@
+---
+name: reducing-complexity
+description: Use when refactoring functions with high cyclomatic complexity (>10), before making changes - systematic approach to reduce complexity while maintaining functionality, with zero tolerance for missed functions and strict type safety
+---
+
+# Reducing Cyclomatic Complexity
+
+## Overview
+
+Transform complex functions into clean, maintainable code with cyclomatic complexity ≤ 10.
+
+**Core principle:** Exhaustive investigation + Type-safe refactoring + Zero missed functions.
+
+**Announce at start:** "I'm using the reducing-complexity skill to refactor high-complexity functions."
+
+## CRITICAL REQUIREMENT
+
+**ZERO TOLERANCE FOR MISSED FUNCTIONS:** You MUST find and address EVERY function in the file. Missing even one function = complete failure, start over.
+
+## Finding Complex Files
+
+### Global Complexity Scan
+
+```bash
+# Find ALL files with complexity issues
+pnpm lint 2>&1 | grep "complexity of [3-9][0-9]\|complexity of [1-9][0-9][0-9]" | cut -d: -f1 | sort -u
+
+# Count total files with high complexity
+pnpm lint 2>&1 | grep "complexity of [3-9][0-9]\|complexity of [1-9][0-9][0-9]" | cut -d: -f1 | sort -u | wc -l
+
+# Get specific complexity scores for a file
+pnpm lint [filepath] 2>&1 | grep "complexity"
+```
+
+### Priority Order
+
+1. **CRITICAL**: complexity > 50
+2. **HIGH**: complexity 40-50
+3. **MEDIUM**: complexity 30-40
+4. **Focus**: Frequently modified files (check git history)
+5. **Check**: Related files and dependencies
+
+## The Process
+
+### Phase 1: Type System Understanding (MUST DO FIRST)
+
+Before touching ANY code:
+
+1. **Read all type definition files**:
+ - `*.d.ts` files
+ - `types/*.ts` files
+ - Interface definitions
+
+2. **Understand the types**:
+ - Interfaces, types, and enums
+ - Union types and generics
+ - Type guards and constraints
+ - Input/output types
+
+3. **Map type requirements**:
+ - Expected parameters
+ - Return types
+ - Type validation needs
+
+**Why:** Prevents creating type errors during refactoring.
+
+### Phase 2: Create Reference Copy
+
+At the TOP of the file, add:
+
+```typescript
+/*
+ * ORIGINAL COMPLEXITY METRICS:
+ * - functionA: complexity 45
+ * - functionB: complexity 32
+ * - functionC: complexity 28
+ * Total functions with complexity > 10: 3
+ * Refactoring target: All functions below 10
+ */
+
+/*
+ * REFACTORING CHECKLIST:
+ * [ ] functionA: 45 -> target <10
+ * [ ] functionB: 32 -> target <10
+ * [ ] functionC: 28 -> target <10
+ * VERIFICATION: All functions checked ✓
+ */
+```
+
+### Phase 3: Triple-Check Investigation
+
+**FIRST PASS**: Run `pnpm lint` - identify ALL high-complexity functions
+
+**SECOND PASS**: Manually scan ENTIRE file top to bottom
+
+**THIRD PASS**: Cross-reference findings with lint report
+
+**If ANY discrepancy found**: Start over.
+
+### Phase 4: Deep Analysis
+
+For each function:
+
+1. **Map logic flow**:
+ - All conditional branches
+ - All loops
+ - All decision points
+
+2. **Identify elements**:
+ - Dependencies
+ - Side effects
+ - Return patterns
+ - Related files/functions
+
+3. **Document**:
+ - Function purpose
+ - Expected behavior
+ - Edge cases
+
+### Phase 5: Complexity Assessment
+
+For each function:
+
+1. Calculate current complexity
+2. Identify complexity drivers:
+ - Nested conditions
+ - Multiple branches
+ - Switch statements
+ - Loop complexity
+3. Find duplicate logic
+4. Spot simplification opportunities
+
+### Phase 6: Refactoring Strategy
+
+Apply these techniques:
+
+**Guard Clauses**:
+```typescript
+// Before (nested)
+if (condition) {
+ if (anotherCondition) {
+ // logic
+ }
+}
+
+// After (early return)
+if (!condition) return;
+if (!anotherCondition) return;
+// logic
+```
+
+**Method Extraction**:
+```typescript
+// Before (complex function)
+function process(data) {
+ // 50 lines of validation
+ // 50 lines of transformation
+ // 50 lines of storage
+}
+
+// After (extracted)
+function process(data) {
+ const validated = validateData(data);
+ const transformed = transformData(validated);
+ return storeData(transformed);
+}
+```
+
+**Parameter Objects**:
+```typescript
+// Before
+function create(name, email, age, address, phone) { }
+
+// After
+function create(user: UserInput) { }
+```
+
+**Decompose Conditionals**:
+```typescript
+// Before
+if (user.age > 18 && user.verified && user.country === 'US') { }
+
+// After
+if (isEligibleUser(user)) { }
+
+function isEligibleUser(user: User): boolean {
+ return user.age > 18 && user.verified && user.country === 'US';
+}
+```
+
+**Replace Switch with Map**:
+```typescript
+// Before
+switch(type) {
+ case 'A': return handlerA();
+ case 'B': return handlerB();
+ // ... 20 more cases
+}
+
+// After
+const handlers = {
+ 'A': handlerA,
+ 'B': handlerB,
+ // ...
+};
+return handlers[type]?.() ?? defaultHandler();
+```
+
+### Phase 7: Implementation
+
+**Guidelines**:
+- Preserve ALL original functionality
+- Maintain or improve type safety (NO `any` types)
+- Follow project naming conventions
+- Add JSDoc comments for new functions
+- Keep related functions grouped
+- Each function has ONE clear responsibility
+
+**Preservation** (for complexity > 30):
+```typescript
+/*
+ * ORIGINAL FUNCTION (complexity 45):
+ * [paste original here for reference]
+ */
+```
+
+### Phase 8: Quality Assurance
+
+Verify:
+- ✓ Identical results to original
+- ✓ All error handling preserved/improved
+- ✓ No performance degradation
+- ✓ Cyclomatic complexity ≤ 10 for each function
+- ✓ Improved readability
+
+## Testing Protocol
+
+### CRITICAL: Type Safety First
+
+```bash
+# ALWAYS check types BEFORE proceeding
+pnpm typecheck
+
+# Fix type errors immediately:
+# 1. Read relevant type definition files
+# 2. Understand expected types/interfaces
+# 3. Fix without changing functionality
+# 4. NEVER use 'any' or '@ts-ignore'
+```
+
+### Immediate Validation
+
+```bash
+# Verify complexity reduced
+pnpm lint [filepath] 2>&1 | grep "complexity"
+
+# Re-check types (catch regressions)
+pnpm typecheck
+
+# Run tests if they exist
+pnpm test [testfile]
+```
+
+### Manual Testing Checklist
+
+- [ ] All code paths work
+- [ ] Error handling unchanged
+- [ ] Performance not degraded
+- [ ] No runtime errors
+- [ ] Documentation updated
+
+## Common High-Complexity Patterns
+
+### API Route Handlers (30-60 complexity)
+
+**Split into**:
+- Validation functions
+- Authorization checks
+- Business logic services
+- Database operations
+- Error handling utilities
+
+### Form Components (25+ complexity)
+
+**Extract**:
+- Field validators
+- Field configuration objects
+- Rendering logic from state
+- Event handlers
+
+### Deeply Nested Conditionals
+
+**Apply**:
+- Invert conditions + early returns
+- Extract to named boolean functions
+- Optional chaining (`?.`)
+- Nullish coalescing (`??`)
+
+### Long Functions (200+ lines)
+
+**Break down**:
+- Identify logical sections
+- Create function pipeline
+- Separate data prep from processing
+
+## STRICT ENFORCEMENT RULES
+
+**NON-NEGOTIABLE - MUST FOLLOW:**
+
+### ❌ ABSOLUTELY FORBIDDEN
+
+**NO type shortcuts**:
+- ❌ NO `as any` type assertions
+- ❌ NO `any` types
+- ❌ NO `unknown` then cast workaround
+- ✓ USE proper types, interfaces, unions
+
+**NO nulls**:
+- ❌ NO `null` values
+- ✓ USE `undefined` instead
+- ✓ HANDLE nulls, convert to `undefined`
+
+**NO suppressions**:
+- ❌ NO `// eslint-disable-next-line`
+- ❌ NO `/* eslint-disable */`
+- ❌ NO `// @ts-ignore`
+- ❌ NO `// @ts-expect-error`
+- ❌ NO `// @ts-nocheck`
+- ✓ FIX the actual issue
+
+**NO lazy fixes**:
+- ❌ NO `!` (non-null assertion) without checks
+- ❌ NO empty catch blocks
+- ❌ NO files added to `.eslintignore`
+- ❌ NO modifying configs to be less strict
+
+**NO hacks**:
+- ❌ NO temporary workarounds
+- ❌ NO bulk edits or scripts
+- ✓ ONLY permanent, best-practice solutions
+- ✓ ALL fixes applied manually, one by one
+
+**NO database changes**:
+- ❌ NO schema changes
+- ❌ NO migrations
+- ❌ NO Prisma file modifications
+- ✓ ONLY TypeScript/linting fixes
+
+## Final Verification Protocol
+
+After refactoring:
+
+```bash
+# Run lint on refactored file
+pnpm lint [filepath]
+
+# Compare against ORIGINAL COMPLEXITY METRICS
+# Ensure EVERY function addressed
+```
+
+**Create final report**:
+```
+REFACTORING COMPLETE:
+- Functions refactored: X
+- Original max complexity: XX
+- New max complexity: XX
+- All functions verified: YES
+- Missed functions: NONE
+- Type errors: 0
+- Lint errors: 0
+```
+
+**FAILURE CONDITIONS**:
+- Missing even ONE function = FAILED, redo
+- ANY type errors = FAILED, fix first
+- ANY `as any` or `@ts-ignore` = FAILED, remove
+
+## Output Format
+
+When refactoring, provide:
+
+1. **ORIGINAL COMPLEXITY METRICS** comment block
+2. **ALL functions** listed with complexity scores
+3. **Analysis** of each function's complexity
+4. **Strategy** outline with specific techniques
+5. **Refactored code** with clear separation
+6. **Summary** of improvements and reduction
+7. **Verification** report confirming all functions addressed
+
+## Related Skills
+
+**REQUIRED SUB-SKILL:** Use bestpractice:test-driven-development when tests exist - write tests for complex functions before refactoring to ensure behavior preservation.
+
+**Complementary skills:**
+- verification-before-completion - Verify refactoring maintains behavior
+- systematic-debugging - If refactoring introduces bugs
diff --git a/skills/requesting-code-review/SKILL.md b/skills/requesting-code-review/SKILL.md
index f8b1a5652..246059922 100644
--- a/skills/requesting-code-review/SKILL.md
+++ b/skills/requesting-code-review/SKILL.md
@@ -1,11 +1,11 @@
---
name: requesting-code-review
-description: Use when completing tasks, implementing major features, or before merging to verify work meets requirements - dispatches superpowers:code-reviewer subagent to review implementation against plan or requirements before proceeding
+description: Use when completing tasks, implementing major features, or before merging to verify work meets requirements - dispatches bestpractice:code-reviewer subagent to review implementation against plan or requirements before proceeding
---
# Requesting Code Review
-Dispatch superpowers:code-reviewer subagent to catch issues before they cascade.
+Dispatch bestpractice:code-reviewer subagent to catch issues before they cascade.
**Core principle:** Review early, review often.
@@ -31,7 +31,7 @@ HEAD_SHA=$(git rev-parse HEAD)
**2. Dispatch code-reviewer subagent:**
-Use Task tool with superpowers:code-reviewer type, fill template at `code-reviewer.md`
+Use Task tool with bestpractice:code-reviewer type, fill template at `code-reviewer.md`
**Placeholders:**
- `{WHAT_WAS_IMPLEMENTED}` - What you just built
@@ -56,7 +56,7 @@ You: Let me request code review before proceeding.
BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}')
HEAD_SHA=$(git rev-parse HEAD)
-[Dispatch superpowers:code-reviewer subagent]
+[Dispatch bestpractice:code-reviewer subagent]
WHAT_WAS_IMPLEMENTED: Verification and repair functions for conversation index
PLAN_OR_REQUIREMENTS: Task 2 from docs/plans/deployment-plan.md
BASE_SHA: a7981ec
diff --git a/skills/root-cause-tracing/find-polluter.sh b/skills/root-cause-tracing/find-polluter.sh
index 6af921338..76cecd084 100755
--- a/skills/root-cause-tracing/find-polluter.sh
+++ b/skills/root-cause-tracing/find-polluter.sh
@@ -1,9 +1,9 @@
-#!/bin/bash
+#!/usr/bin/env bash
# Bisection script to find which test creates unwanted files/state
# Usage: ./find-polluter.sh
# Example: ./find-polluter.sh '.git' 'src/**/*.test.ts'
-set -e
+set -euo pipefail
if [ $# -ne 2 ]; then
echo "Usage: $0 "
@@ -18,15 +18,15 @@ echo "🔍 Searching for test that creates: $POLLUTION_CHECK"
echo "Test pattern: $TEST_PATTERN"
echo ""
-# Get list of test files
-TEST_FILES=$(find . -path "$TEST_PATTERN" | sort)
-TOTAL=$(echo "$TEST_FILES" | wc -l | tr -d ' ')
+# Get list of test files into array
+mapfile -t TEST_FILES < <(find . -path "$TEST_PATTERN" | sort)
+TOTAL="${#TEST_FILES[@]}"
echo "Found $TOTAL test files"
echo ""
COUNT=0
-for TEST_FILE in $TEST_FILES; do
+for TEST_FILE in "${TEST_FILES[@]}"; do
COUNT=$((COUNT + 1))
# Skip if pollution already exists
@@ -52,8 +52,8 @@ for TEST_FILE in $TEST_FILES; do
ls -la "$POLLUTION_CHECK"
echo ""
echo "To investigate:"
- echo " npm test $TEST_FILE # Run just this test"
- echo " cat $TEST_FILE # Review test code"
+ echo " npm test \"$TEST_FILE\" # Run just this test"
+ echo " cat \"$TEST_FILE\" # Review test code"
exit 1
fi
done
diff --git a/skills/sharing-skills/SKILL.md b/skills/sharing-skills/SKILL.md
index eaff38757..32c2ec497 100644
--- a/skills/sharing-skills/SKILL.md
+++ b/skills/sharing-skills/SKILL.md
@@ -28,7 +28,7 @@ Contribute skills from your local branch back to the upstream repository.
## Prerequisites
- `gh` CLI installed and authenticated
-- Working directory is `~/.config/superpowers/skills/` (your local clone)
+- Working directory is `~/.config/bestpractice/skills/` (your local clone)
- **REQUIRED:** Skill has been tested using writing-skills TDD process
## Sharing Workflow
@@ -36,7 +36,7 @@ Contribute skills from your local branch back to the upstream repository.
### 1. Ensure You're on Main and Synced
```bash
-cd ~/.config/superpowers/skills/
+cd ~/.config/bestpractice/skills/
git checkout main
git pull upstream main
git push origin main # Push to your fork
@@ -105,7 +105,7 @@ Here's a complete example of sharing a skill called "async-patterns":
```bash
# 1. Sync with upstream
-cd ~/.config/superpowers/skills/
+cd ~/.config/bestpractice/skills/
git checkout main
git pull upstream main
git push origin main
@@ -147,7 +147,7 @@ Once your PR is merged:
1. Sync your local main branch:
```bash
-cd ~/.config/superpowers/skills/
+cd ~/.config/bestpractice/skills/
git checkout main
git pull upstream main
git push origin main
diff --git a/skills/subagent-driven-development/SKILL.md b/skills/subagent-driven-development/SKILL.md
index 1e1292cb9..53d8fa8b9 100644
--- a/skills/subagent-driven-development/SKILL.md
+++ b/skills/subagent-driven-development/SKILL.md
@@ -62,7 +62,7 @@ Task tool (general-purpose):
**Dispatch code-reviewer subagent:**
```
-Task tool (superpowers:code-reviewer):
+Task tool (bestpractice:code-reviewer):
Use template at requesting-code-review/code-reviewer.md
WHAT_WAS_IMPLEMENTED: [from subagent's report]
@@ -103,7 +103,7 @@ After all tasks complete, dispatch final code-reviewer:
After final review passes:
- Announce: "I'm using the finishing-a-development-branch skill to complete this work."
-- **REQUIRED SUB-SKILL:** Use superpowers:finishing-a-development-branch
+- **REQUIRED SUB-SKILL:** Use bestpractice:finishing-a-development-branch
- Follow that skill to verify tests, present options, execute choice
## Example Workflow
diff --git a/skills/systematic-debugging/SKILL.md b/skills/systematic-debugging/SKILL.md
index 15050052c..466f3f70c 100644
--- a/skills/systematic-debugging/SKILL.md
+++ b/skills/systematic-debugging/SKILL.md
@@ -111,7 +111,7 @@ You MUST complete each phase before proceeding to the next.
**WHEN error is deep in call stack:**
- **REQUIRED SUB-SKILL:** Use superpowers:root-cause-tracing for backward tracing technique
+ **REQUIRED SUB-SKILL:** Use bestpractice:root-cause-tracing for backward tracing technique
**Quick version:**
- Where does bad value originate?
@@ -176,7 +176,7 @@ You MUST complete each phase before proceeding to the next.
- Automated test if possible
- One-off test script if no framework
- MUST have before fixing
- - **REQUIRED SUB-SKILL:** Use superpowers:test-driven-development for writing proper failing tests
+ - **REQUIRED SUB-SKILL:** Use bestpractice:test-driven-development for writing proper failing tests
2. **Implement Single Fix**
- Address the root cause identified
diff --git a/skills/testing-skills-with-subagents/SKILL.md b/skills/testing-skills-with-subagents/SKILL.md
index a623adef4..6c0777189 100644
--- a/skills/testing-skills-with-subagents/SKILL.md
+++ b/skills/testing-skills-with-subagents/SKILL.md
@@ -13,7 +13,7 @@ You run scenarios without the skill (RED - watch agent fail), write skill addres
**Core principle:** If you didn't watch an agent fail without the skill, you don't know if the skill prevents the right failures.
-**REQUIRED BACKGROUND:** You MUST understand superpowers:test-driven-development before using this skill. That skill defines the fundamental RED-GREEN-REFACTOR cycle. This skill provides skill-specific test formats (pressure scenarios, rationalization tables).
+**REQUIRED BACKGROUND:** You MUST understand bestpractice:test-driven-development before using this skill. That skill defines the fundamental RED-GREEN-REFACTOR cycle. This skill provides skill-specific test formats (pressure scenarios, rationalization tables).
**Complete worked example:** See examples/CLAUDE_MD_TESTING.md for a full test campaign testing CLAUDE.md documentation variants.
diff --git a/skills/using-superpowers/SKILL.md b/skills/using-bestpractice/SKILL.md
similarity index 99%
rename from skills/using-superpowers/SKILL.md
rename to skills/using-bestpractice/SKILL.md
index e58576f7f..eb8baae78 100644
--- a/skills/using-superpowers/SKILL.md
+++ b/skills/using-bestpractice/SKILL.md
@@ -1,5 +1,5 @@
---
-name: using-superpowers
+name: using-bestpractice
description: Use when starting any conversation - establishes mandatory workflows for finding and using skills, including using Skill tool before announcing usage, following brainstorming before coding, and creating TodoWrite todos for checklists
---
diff --git a/skills/using-git-worktrees/SKILL.md b/skills/using-git-worktrees/SKILL.md
index 40b9ff910..a5b4e43ae 100644
--- a/skills/using-git-worktrees/SKILL.md
+++ b/skills/using-git-worktrees/SKILL.md
@@ -43,7 +43,7 @@ If no directory exists and no CLAUDE.md preference:
No worktree directory found. Where should I create worktrees?
1. .worktrees/ (project-local, hidden)
-2. ~/.config/superpowers/worktrees// (global location)
+2. ~/.config/bestpractice/worktrees// (global location)
Which would you prefer?
```
@@ -68,7 +68,7 @@ Per Jesse's rule "Fix broken things immediately":
**Why critical:** Prevents accidentally committing worktree contents to repository.
-### For Global Directory (~/.config/superpowers/worktrees)
+### For Global Directory (~/.config/bestpractice/worktrees)
No .gitignore verification needed - outside project entirely.
@@ -88,8 +88,8 @@ case $LOCATION in
.worktrees|worktrees)
path="$LOCATION/$BRANCH_NAME"
;;
- ~/.config/superpowers/worktrees/*)
- path="~/.config/superpowers/worktrees/$project/$BRANCH_NAME"
+ ~/.config/bestpractice/worktrees/*)
+ path="~/.config/bestpractice/worktrees/$project/$BRANCH_NAME"
;;
esac
diff --git a/skills/writing-plans/SKILL.md b/skills/writing-plans/SKILL.md
index b26b9d15e..8f1e76a70 100644
--- a/skills/writing-plans/SKILL.md
+++ b/skills/writing-plans/SKILL.md
@@ -33,7 +33,7 @@ Assume they are a skilled developer, but know almost nothing about our toolset o
```markdown
# [Feature Name] Implementation Plan
-> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
+> **For Claude:** REQUIRED SUB-SKILL: Use bestpractice:executing-plans to implement this plan task-by-task.
**Goal:** [One sentence describing what this builds]
@@ -107,10 +107,10 @@ After saving the plan, offer execution choice:
**Which approach?"**
**If Subagent-Driven chosen:**
-- **REQUIRED SUB-SKILL:** Use superpowers:subagent-driven-development
+- **REQUIRED SUB-SKILL:** Use bestpractice:subagent-driven-development
- Stay in this session
- Fresh subagent per task + code review
**If Parallel Session chosen:**
- Guide them to open new session in worktree
-- **REQUIRED SUB-SKILL:** New session uses superpowers:executing-plans
+- **REQUIRED SUB-SKILL:** New session uses bestpractice:executing-plans
diff --git a/skills/writing-skills/SKILL.md b/skills/writing-skills/SKILL.md
index bb9129c30..60ed4e3c1 100644
--- a/skills/writing-skills/SKILL.md
+++ b/skills/writing-skills/SKILL.md
@@ -15,7 +15,7 @@ You write test cases (pressure scenarios with subagents), watch them fail (basel
**Core principle:** If you didn't watch an agent fail without the skill, you don't know if the skill teaches the right thing.
-**REQUIRED BACKGROUND:** You MUST understand superpowers:test-driven-development before using this skill. That skill defines the fundamental RED-GREEN-REFACTOR cycle. This skill adapts TDD to documentation.
+**REQUIRED BACKGROUND:** You MUST understand bestpractice:test-driven-development before using this skill. That skill defines the fundamental RED-GREEN-REFACTOR cycle. This skill adapts TDD to documentation.
**Official guidance:** For Anthropic's official skill authoring best practices, see anthropic-best-practices.md. This document provides additional patterns and guidelines that complement the TDD-focused approach in this skill.
@@ -253,8 +253,8 @@ wc -w skills/path/SKILL.md
**When writing documentation that references other skills:**
Use skill name only, with explicit requirement markers:
-- ✅ Good: `**REQUIRED SUB-SKILL:** Use superpowers:test-driven-development`
-- ✅ Good: `**REQUIRED BACKGROUND:** You MUST understand superpowers:systematic-debugging`
+- ✅ Good: `**REQUIRED SUB-SKILL:** Use bestpractice:test-driven-development`
+- ✅ Good: `**REQUIRED BACKGROUND:** You MUST understand bestpractice:systematic-debugging`
- ❌ Bad: `See skills/testing/test-driven-development` (unclear if required)
- ❌ Bad: `@skills/testing/test-driven-development/SKILL.md` (force-loads, burns context)
@@ -357,7 +357,7 @@ Edit skill without testing? Same violation.
- Don't "adapt" while running tests
- Delete means delete
-**REQUIRED BACKGROUND:** The superpowers:test-driven-development skill explains why this matters. Same principles apply to documentation.
+**REQUIRED BACKGROUND:** The bestpractice:test-driven-development skill explains why this matters. Same principles apply to documentation.
## Testing All Skill Types
@@ -520,7 +520,7 @@ Run same scenarios WITH skill. Agent should now comply.
Agent found new rationalization? Add explicit counter. Re-test until bulletproof.
-**REQUIRED SUB-SKILL:** Use superpowers:testing-skills-with-subagents for the complete testing methodology:
+**REQUIRED SUB-SKILL:** Use bestpractice:testing-skills-with-subagents for the complete testing methodology:
- How to write pressure scenarios
- Pressure types (time, sunk cost, authority, exhaustion)
- Plugging holes systematically