Install Scripts

SkillAI & models

Install plugin runner scripts into project .claude/scripts/ for persistent use without plugin loaded

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Install Scripts skill

What this skill tells your AI

The instructions your AI receives, as published by sd0xdev/sd0x-harness in skills/install-scripts/SKILL.md and read by ahel’s review.

Trigger

  • Keywords: install scripts, setup scripts, copy scripts, install-scripts

When NOT to Use

  • Installing rules (use /install-rules)
  • Installing hooks (use /install-hooks)
  • Full project setup (use /project-setup)

Workflow

Phase 0: Resolve mode; obsolete-set migration (first for non-list invocations; --dry-run forwarded)
Phase 1: Locate plugin scripts dir
Phase 2: Enumerate scripts (core + skill scripts)
Phase 3: Determine install set (--all, --skill, specific names)
Phase 4: Copy scripts + dependencies to .claude/scripts/
Phase 4.5: Update manifest
Phase 5: Output report

Phase 0: Obsolete-Set Migration

Same shared migration /install-hooks runs, invoked here too so neither entry point can reproduce the unsafe order by hand (hook-lightweighting § 3.6). Resolve the invocation mode first: a listing invocation skips this phase (read-only), and --dry-run is forwarded so the migration also only reports:

# --dry-run → append --dry-run to the command below; list-only invocations skip Phase 0
node "${CLAUDE_PLUGIN_ROOT}/scripts/migrate-hook-lightweighting.js" --repo "$(git rev-parse --show-toplevel)"

It deregisters obsolete settings entries first and deletes the retired enforcement-layer files only after the settings writes succeed. On exit 1, stop the install and surface the report. Include the migration's report lines in Phase 5's output.

Arguments

$ARGUMENTS
ArgumentDescription
--allInstall all available core scripts
--listList available core scripts without installing
--dry-runShow what would be installed, no changes
--forceOverwrite existing scripts with different content
--skill <name>Install all scripts from the specified skill
--skill-allInstall scripts from all skills
--skill-listList all available skill scripts
script-names...Specific scripts to install

Script Types

TypeSourceTarget
Core scriptsscripts/*.js, scripts/*.sh.claude/scripts/
Core libscripts/lib/*.js.claude/scripts/lib/
Skill scriptsskills/<name>/scripts/*.claude/scripts/

Conflict Handling

ScenarioAction
Target missingCopy
Target identicalSkip (up to date)
Target differsSkip + warn (use --force to overwrite)

Output

## Install Scripts Report

| Script | Type | Status |
|--------|------|--------|
| precommit-runner.js | core | installed |
| lib/utils.js | core-lib | up to date |
| git-profile.sh | skill | installed |

Installed: N | Skipped: M | Conflicts: K

Signals

GitHub stars
188
Forks
24
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
install-scripts
Source
github.com/sd0xdev/sd0x-harness