بنقرة واحدة
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