Files
ai-coding-skills/docs/INSTALLER.md
T
stefano 251148c3ff
check / check (ubuntu-latest) (push) Successful in 2m5s
check / check (macos-latest) (push) Has been cancelled
check-online / check-online (ubuntu-latest) (push) Successful in 1m53s
Perform code optimization and document cleanup (#1)
## Summary
- add repository-wide quality tooling and verification scaffolding, including CI workflows, pnpm workspace setup, ESLint/Prettier/markdown checks, and generated-output verification helpers
- reorganize skill sources and generation flow by introducing canonical `_source` variants, generator/manifests, reusable helper abstractions, and shared web-automation/browser utilities
- clean up and expand documentation so the root README flows into docs and skill docs, with clearer development, reviewer, installer, and workflow guidance

## Notable changes
- docs flow and consistency cleanup across `README.md`, `docs/README.md`, and related docs
- new scripts for `check`, docs verification, generated-file verification, shell portability, and safe directory replacement
- refactors in Atlassian and web-automation skill runtimes to reduce duplication and centralize reusable code
- changelog, development documentation, and CI surface updates

## Test Plan
- [ ] `pnpm run check`
- [ ] review generated/manifests and skill sync outputs
- [ ] smoke-check docs flow from `README.md` to `docs/README.md` to skill docs

## Notes
- this branch currently includes tracked `skills/web-automation/shared/node_modules` content that should be reviewed carefully as potentially noisy/accidental committed artifacts

Co-authored-by: Stefano Fiorini <stefano.fiorini@firsthorizon.com>
Reviewed-on: #1
2026-05-04 04:41:34 +00:00

6.3 KiB

Skill Manager Installer

Use the skill manager wizard to install, update/reinstall, or remove skills from this repository for supported local coding clients.

Quick Start

./scripts/manage-skills.sh
# or
node scripts/manage-skills.mjs

Preview without changing files:

node scripts/manage-skills.mjs --dry-run

Drive the planner non-interactively:

node scripts/manage-skills.mjs --plan-only --answers answers.json

Supported Clients

The wizard detects these clients by CLI and known skill directories:

Client CLI check Default skill root
Codex codex --version ~/.codex/skills
Claude Code claude --version ~/.claude/skills
Cursor cursor-agent --version then cursor agent --version .cursor/skills or ~/.cursor/skills
OpenCode opencode --version ~/.config/opencode/skills
Pi pi --version package mode or .pi/skills / ~/.pi/agent/skills

Actions

For each selected client/scope, the wizard lists repository skills and offers actions based on installed state:

  • missing skill: install or skip
  • installed/stale/unknown skill: update, reinstall, remove, or skip
  • unsupported variant: reported as unsupported and skipped

The current skill matrix is:

Skill Codex Claude Code Cursor OpenCode Pi
atlassian yes yes yes yes yes
create-plan yes yes yes yes yes
do-task yes yes yes yes yes
implement-plan yes yes yes yes yes
web-automation yes yes yes yes yes

Superpowers Handling

Workflow skills require Obra Superpowers:

  • create-plan: brainstorming, writing-plans
  • implement-plan: executing-plans, using-git-worktrees, verification-before-completion, finishing-a-development-branch
  • do-task: brainstorming, test-driven-development, verification-before-completion, finishing-a-development-branch plus conditional using-git-worktrees

When a selected install/update needs Superpowers and none are detected for the target client/scope, the wizard asks whether to install them. It asks for an absolute path to an Obra Superpowers skills directory and lets you choose symlink or copy:

  • symlink is recommended because updates to the source checkout are immediately visible
  • copy is more self-contained but must be updated manually

The wizard recognizes client-native and plugin-managed Superpowers installs before asking to add another copy:

  • Codex: ~/.agents/skills/superpowers or ~/.codex/superpowers/skills
  • Claude Code: ~/.claude/skills/superpowers or the enabled superpowers@claude-plugins-official plugin cache
  • Cursor: .cursor/skills/superpowers/skills, ~/.cursor/skills/superpowers/skills, or the Cursor public Superpowers plugin cache
  • OpenCode: ~/.agents/skills/superpowers or ~/.config/opencode/skills/superpowers
  • Pi: ~/.agents/skills/superpowers, ~/.pi/agent/skills/superpowers, or .pi/skills/superpowers

When Cursor has no plugin/cache install, the wizard installs Superpowers at <scope>/superpowers/skills because Cursor variants expect superpowers/skills/<skill>/SKILL.md. Symlinking is still preferred when the source tree is managed locally. Codex and OpenCode can commonly reuse the shared ~/.agents/skills/superpowers convention documented in CODEX.md and OPENCODE.md.

When removing the last repository workflow skill from a client/scope, the wizard asks whether to remove Superpowers for that variant too.

Reviewer Runtime Helpers

Workflow skills install/update the reviewer-runtime helper bundle automatically when needed:

  • non-Pi clients receive run-review.sh and notify-telegram.sh from skills/reviewer-runtime/
  • Pi receives run-review.sh and notify-telegram.sh from skills/reviewer-runtime/pi/
  • diagnostics tests and nested Pi helper directories are not copied into non-Pi installs

Pi Package Mode

Pi can be managed as a package install or by manual skill copy. Package mode always manages the full Pi bundle; per-skill prompts and --skill narrowing are ignored for packageGlobal and packageLocal.

Package-mode actions:

  • install: register the package if needed, list bundled skills, and skip already-bootstrapped runtimes.
  • update: sync the Pi package mirror, reinstall the package registration, and rerun runtime dependency bootstrapping.
  • reinstall: same behavior as update, kept for action parity with manual skill scopes.
  • remove: unregister the package with pi remove; this does not delete repo files or node_modules.

Examples:

node scripts/manage-skills.mjs --client pi --scope packageGlobal --pi-package --action install --yes
node scripts/manage-skills.mjs --client pi --scope packageLocal --pi-package --action install --yes
node scripts/manage-skills.mjs --client pi --scope packageGlobal --pi-package --action update --yes
node scripts/manage-skills.mjs --client pi --scope packageGlobal --pi-package --action remove --yes

The compatibility script remains available:

./scripts/install-pi-package.sh --global
./scripts/install-pi-package.sh --local

Answers JSON

--plan-only --answers accepts this shape:

{
  "selections": [
    {
      "clientId": "codex",
      "scope": "global",
      "actions": {
        "create-plan": "install",
        "web-automation": "skip"
      }
    }
  ]
}

The output is JSON containing planned operations, dependency prompts, and final-report rows. No filesystem changes are made.

Final Report

The final report uses these columns:

Column Meaning
client client id
scope selected target scope
skill/helper skill name or helper bundle
action install, update, reinstall, remove, sync, bootstrap, etc.
status ok, skipped, failed, or warning
details target path or error detail

Exit code is non-zero if any selected operation fails.

Dangling symlink warnings are surfaced as warning rows. For example, if a previously symlinked Superpowers source has moved or been deleted, the final report keeps the operation non-destructive and shows the dangling symlink target in details so you can repair or remove it deliberately.

See PI.md for Pi package layout details and mirror maintenance.