ワンクリックで
check-tool
Check whether a CLI tool or package is available; if not, ask the user to install it before continuing
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Check whether a CLI tool or package is available; if not, ask the user to install it before continuing
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Write Bash commands that don't trigger unnecessary permission prompts. Use Read/Edit/Grep instead of head/tail/sed/awk/cat/echo; split chained commands (&&, ;, ||) into separate Bash calls; drop diagnostic suffixes like `; echo "EXIT=$?"`. The allowlist matches whole command strings — every mismatch costs the user attention.
Commit user-named files atomically via scripts/commit-pathspec.sh (which wraps `git commit -m "..." -- <files>` and writes the provenance token the pre-commit hook validates). Applies the CLAUDE.md "Pre-commit hook failures on unrelated changes" protocol when the hook fails. Never adds --no-verify silently — explicit user approval is required.
Scaffold a new epic file in docs/developers/tasks/open/ and run housekeep
Scaffold a new idea file in docs/developers/ideas/open/ and regenerate the ideas OVERVIEW.md
Set a task to active — updates status, moves to active/, runs housekeep. Also resumes paused tasks (paused/ → active/ or active/ with closed prerequisites).
Mark a task as closed — writes effort_actual, moves the file to closed/, runs housekeep, and commits
| name | check-tool |
| description | Check whether a CLI tool or package is available; if not, ask the user to install it before continuing |
Use this skill whenever you are about to run a command or import a library and you are not certain it is installed. Do not attempt workarounds or reimplement the tool's logic. One check, then ask.
Invoke proactively before:
markdownlint, clang-tidy,
jq, ajv, jsonschema)npx-runnable tool when node_modules may not be presentCheck availability using the lightest possible probe:
| Tool type | Probe command |
|---|---|
| CLI binary | which <tool> 2>/dev/null || command -v <tool> 2>/dev/null |
| Python package | python -c "import <pkg>" 2>/dev/null (exit 0 = present) |
| npm package (global) | npm list -g --depth=0 <pkg> 2>/dev/null |
| npx-runnable | npx --no-install <tool> --version 2>/dev/null |
If found: proceed silently — do not mention the check.
If not found: stop immediately and ask the user using this exact message pattern:
I need
<tool>to continue but it isn't installed. Can you install it?Suggested install command:
<install command>Let me know when it's ready and I'll continue.
Then wait — do not attempt alternatives, do not reimplement the logic in shell or Python, do not proceed with the task.
| Tool | Suggested install |
|---|---|
jsonschema (Python) | pip install -r requirements.txt (declared in project requirements.txt) |
markdownlint-cli | npm install -g markdownlint-cli |
clang-tidy | sudo apt install clang-tidy (Ubuntu) / install via LLVM (Windows) |
jq | sudo apt install jq (Ubuntu) / winget install jqlang.jq (Windows) |
ajv-cli | npm install -g ajv-cli |
mmdc (Mermaid) | npm install -g @mermaid-js/mermaid-cli |
For anything not listed, suggest the most obvious package manager command for the
current OS (check /os-context if unsure).
npx, a full path, or a venv as a fallback after the first check fails