From powerball-core
This skill should be used when the user asks to "set up claude code", "initialize plugins", "get started with powerball", or "run setup". Sets up global CLAUDE.md, statusline, Claude Code settings, and installs plugins.
npx claudepluginhub tim-hub/powerballThis skill is limited to using the following tools:
The base directory for this skill is shown in the header when invoked (e.g. `/path/to/plugin/skills/get-started`). All script paths below use `<base-dir>/scripts/` — substitute the actual base directory path shown in the header.
Interactive wizard guides selective installation of Everything Claude Code skills/rules to user-level (~/.claude) or project-level (.claude) dirs, verifies paths, optimizes files. Activate on 'configure ecc' or setup requests.
Guides creating and optimizing Claude Code Skills with activation patterns, frontmatter structure, hooks, workflows, and best practices. Use for new skills, memory conversions, activation debugging.
Guides Claude Code plugin setup including directory structure, plugin.json manifest, component organization for commands/agents/skills/hooks, auto-discovery, and naming conventions.
Share bugs, ideas, or general feedback.
The base directory for this skill is shown in the header when invoked (e.g. /path/to/plugin/skills/get-started). All script paths below use <base-dir>/scripts/ — substitute the actual base directory path shown in the header.
Run the following steps in order. For each step, check if the file already exists before running the script.
Before starting, create the sentinel file so the Stop hook knows this skill ran:
touch /tmp/.get-started-running
Check if ~/.claude/CLAUDE.md already exists:
test -f ~/.claude/CLAUDE.md && echo "exists" || echo "missing"
If missing: run the script using the base directory from this skill's header:
bash "<base-dir>/scripts/init-claude-md.sh"
If exists: use AskUserQuestion to ask:
"~/.claude/CLAUDE.md already exists. Override it with the powerball template?"
Skipped: ~/.claude/CLAUDE.mdCheck if ~/.claude/statusline-command.sh already exists:
test -f ~/.claude/statusline-command.sh && echo "exists" || echo "missing"
If missing: copy the statusline script:
bash "<base-dir>/scripts/init-statusline.sh"
Then use the statusline-setup Agent to configure ~/.claude/settings.json with the command bash ~/.claude/statusline-command.sh.
If exists: use AskUserQuestion to ask:
"~/.claude/statusline-command.sh already exists. Override it with the powerball statusline?"
statusline-setup Agent to configure ~/.claude/settings.json Skipped: ~/.claude/statusline-command.shCheck if @playwright/cli is already installed globally:
playwright-cli --version 2>/dev/null && echo "installed" || echo "missing"
If installed: skip the install step, proceed directly to running:
cd ~ && playwright-cli install --skills
If missing: install it first, then install skills:
pnpm install -g @playwright/cli@latest
cd ~ && playwright-cli install --skills
Check if @aisuite/chub is already installed globally:
chub --version 2>/dev/null && echo "installed" || echo "missing"
pnpm install -g @aisuite/chub@latest
Then add the get-api-docs skill globally (whether it was already installed or just installed):
mkdir -p ~/.claude/skills/get-api-docs && curl -fsSL https://raw.githubusercontent.com/andrewyng/context-hub/main/cli/skills/get-api-docs/SKILL.md -o ~/.claude/skills/get-api-docs/SKILL.md
Report whether chub was already installed or freshly installed, and confirm the skill was added to ~/.claude/skills/get-api-docs/SKILL.md.
bash "<base-dir>/scripts/upsert-skills.sh"
bash "<base-dir>/scripts/upsert-rules.sh"
bash "<base-dir>/scripts/upsert-claude-settings.sh"
bash "<base-dir>/scripts/upsert-plugins.sh"
Report the output of each step, then stop.