Ask for tools
Agent Skills 技能集合,将各领域经验打包为可复用的 AI 能力 | A collection of Agent Skills that turn AI agents into reusable domain experts.
npx -y skills add xiehuacheng/skills --skill ask-for-toolsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 24 days oldThe repository was created 24 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when a new task starts or execution is stuck and the agent suspects a missing tool is the real blocker. First self-check whether the tool already exists; if not, explain the reason, alternatives, and fallback/stop options to the user.
SKILL.md
5.2 KB, as published. Nobody here has run it
Ask for Tools
When the agent is limited by tool boundaries rather than reasoning ability, proactively ask the user for tools instead of brute-forcing it.
What it can do:
- Identify the categories of tools the task may need (MCP server, CLI tools, Python/Node packages, API keys, permissions, local files).
- Self-check whether a tool already exists, is loaded, or is configured before asking for it.
- Make the request in a structured way: what is missing, why, what happens without it, and alternatives.
- Give the user options: provide the tool / try a fallback / stop the task.
- Remember the user's choice in the current conversation.
What it cannot do (without explicit authorization):
- Install system-level software or modify global configuration.
- Create or modify persistent configuration files outside the current task context.
- Assume the user has authorized a tool just because it was used before.
- Bypass explicit approval to obtain API keys, tokens, credentials, or elevated permissions.
Default behavior:
- Ask before installing. The agent can check whether a tool exists, but will not automatically install system-affecting tools without approval.
- When the user refuses to provide a tool, offer fallback or stop options instead of silently failing or repeatedly hitting the same dead end.
- Keep each request concise; related tools can be grouped.
- Explain why the tool is needed in plain language.
Trigger Conditions
- At the start of a new task — the task clearly requires tools the agent may not have.
- When execution is stuck — errors, timeouts, or abnormal output strongly suggest a missing tool.
- When the user says — "missing tool", "install a tool", "do I lack a tool", "what tools can you use", "ask for tools".
When Not to Trigger
- The current toolset can obviously complete the task.
- The failure is a bug in existing code, not a missing tool.
- The user has already explicitly refused to provide a tool for the current task.
Tool Categories and Self-Checks
| Category | Examples | Self-Check Method |
|---|---|---|
| CLI tools | gh, kubectl, ffmpeg, pandoc | which <tool> or <tool> --version |
| Python packages | requests, pandas, numpy | python3 -c "import <pkg>" |
| Node packages | cheerio, axios | node -e "require('<pkg>')" |
| MCP server | GitHub, browser, database | Check loaded MCP tools or server configuration |
| API keys / tokens | OpenAI, GitHub, maps | Check environment variables or ask the user |
| System permissions | File writes, network, sudo | Judge from error messages or ask the user |
| Local files / data | Configs, credentials, reference docs | ls, find, or ask the user |
Request Format
I may need [tool name] to continue this task.
Reason: [one-sentence explanation of why current tools are insufficient]
Checked: [whether it already exists / whether low-risk acquisition was attempted]
If missing: [what will happen, or why it cannot continue]
Alternative: [if any, whether existing tools can do a passable job]
Options:
1. Provide [tool name] — I will continue with the best plan.
2. Try fallback — I will do my best with existing tools, but results may be limited.
3. Stop the task — Come back to me when you have this tool.
Workflow
Pre-check at Task Start
- Summarize the task in one sentence.
- Determine: which tool is the agent most likely missing?
- If a candidate tool is identified, self-check whether it exists first.
- If it exists, use it directly; if not, make the request using the request format.
- Do not block the entire task over minor uncertainty; only pause for high-confidence missing tools.
Rescue During Execution
- When an error or abnormal output occurs, diagnose whether it is caused by a missing tool.
- First rule out code bugs and bad input.
- If a tool is missing, self-check whether it exists first.
- If it exists but is unavailable, report the actual failure; if it does not exist, make the request using the request format.
- Provide fallback or stop options.
Handling User Responses
- User provides the tool: confirm, verify it works, and continue.
- User chooses fallback: record the limitation, try alternatives, and keep the user informed.
- User chooses stop: summarize what has been completed and what is blocked.
- User does not respond: follow up once, then default to trying a fallback.
Error Handling
| Issue | Handling |
|---|---|
| Self-check command fails | Report the failure and ask the user directly. |
| User provides the wrong tool | Explain the mismatch, re-ask, or offer a fallback. |
| Tool exists but does not work | Treat it as a tool failure, not a missing tool. |
| User refuses multiple times | Stop asking for the same tool; fallback or stop. |
Resources
references/tool-categories.md— quick reference for common tool categories and self-check commands.