← ClaudeAtlas

script-librarylisted

Use when a one-off script you wrote is worth keeping — to genericize it and save it to the reusable CLI library (~/.local/bin or a shared scripts repo). Triggers when the save-script-reminder hook fires, or the user says "save this script", "make this a CLI tool", or "add it to my scripts".
mickzijdel/dev-hooks · ★ 0 · Data & Documents · score 68
Install: claude install-skill mickzijdel/dev-hooks
# Script library A standing collection of small CLI tools. The `script-index` SessionStart hook lists them — path + `# short-description:` — at the start of every session, so a saved script becomes reusable knowledge, like a lightweight skill. The `save-script-reminder` Stop hook nudges you here when you wrote a one-off script this session. Use this skill to turn a throwaway script into a first-class library tool. ## Where the library lives The library is one or more **roots** in `DEV_HOOKS_SCRIPT_DIR` — a colon-separated list like `PATH` (default `~/.local/bin`). Each root is scanned **recursively**, so a root can be a git repo organised into subdirectories: ``` DEV_HOOKS_SCRIPT_DIR=~/.local/bin:~/code/team-scripts # (in .claude/settings.local.json "env") ~/.local/bin/ # personal, already on PATH dfv ~/code/team-scripts/ # a git repo — clone it, others can use it too git/fetch-pr-diff images/resize ``` - **`~/.local/bin`** is on `PATH`, so its top-level scripts run by **bare name** (`dfv`). - A **repo root or any subdirectory** usually isn't on `PATH`, so run those by their **full path** (`~/code/team-scripts/git/fetch-pr-diff`) or via `uv run <path>`. The index shows each script's path for exactly this reason. **To share:** put a scripts repo on a host like GitHub; teammates clone it and add its path to their `DEV_HOOKS_SCRIPT_DIR`. A saved script committed to that repo is then available to everyone who's cloned it. **To hide no