About connect-tool
connect-tool is a skill for connecting an agent to a tool through a vendor CLI or a purpose-built CLI backed by the vendor API. It guides setup, authentication, verification, and creation of a reusable CLI skill for access from any folder.
Key features
- 01Find and check for an official vendor CLI
- 02Build a CLI from confirmed API endpoints
- 03Guide authentication and safe key handling
- 04Verify access with read-only and real reads
- 05Create a reusable CLI skill
Use cases
- 01Connect an agent to a vendor's official CLI
- 02Add tool access when no official CLI exists
- 03Create repeatable commands for common account tasks
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ melvynx/ ai-maxxing-skills --skill connect-toolAfter installing, type/connect-toolin Claude Code to confirm it loaded.
Bundled filesscripts/cli_template.py
Details
From the project READMEGive the user's agents a new tool they can use from any folder, as a <tool>-cli skill. Talk to the user in their language, one short question at a time, no jargon.
If you got this skill from a link instead of a local folder, install nothing else from the repo: download a file it links only when a step needs it, with curl -fsSL https://raw.githubusercontent.com/Melvynx/ai-maxxing-skills/main/skills/connect-tool/<path> -o <scratch>/<file> (for example scripts/cli_template.py), and read another skill it names only when you reach it, from https://raw.githubusercontent.com/Melvynx/ai-maxxing-skills/main/skills/<skill-name>/SKILL.md.
- Confirm the tool (fix typos: "mtoin" is Notion). If
~/.agents/skills/<tool>-cli/exists, read it and ask before changing it. - Look for a CLI published by the vendor itself (their docs, domain, or GitHub org); check
command -vin case it is installed. Official CLI found: steps 3a. None: steps 3b. Never install a third-party package without the user's yes. 3a. Install with the documented method, preferringbrewon macOS, then the vendor'snpm i -g/pipx/uv tool install, then their own install script. Ask beforesudo. Check<cli> --version; if not found, fix the shell PATH and say so in one line. Log in with the CLI's browser login when it has one; if it needs a key, the user addsexport <VAR>=...to~/.zshrcthemselves. Read<cli> --helpand the main subcommands'--help. 3b. Read the official API docs: base URL, auth header, extra values like a subdomain or workspace id, and the endpoints behind the 5 to 10 things the user will really ask. Copy scripts/cli_template.py to~/.agents/skills/<tool>-cli/scripts/<tool>.pyand fill the constants,auth_headers,SETTINGS, andCOMMANDSwith confirmed endpoints only (checkis a cheap read, stdlib only). Tell the user where to create the key, with the narrowest permissions that fit, and to runpython3 ~/.agents/skills/<tool>-cli/scripts/<tool>.py loginin their terminal (hidden input). If they paste the key in the chat instead, pipe it straight in withprintf '%s' '<key>' | python3 .../<tool>.py login --<setting> <value>, never repeat it, never write it anywhere else. - Prove it works: one read-only command, then one real read (list a few items). Fix until both work.
- Write
~/.agents/skills/<tool>-cli/SKILL.md, under 30 lines, with only commands you ran or saw in--helpor the docs.<run>is<cli>orpython3 ~/.agents/skills/<tool>-cli/scripts/<tool>.py:
---
name: <tool>-cli
description: <Tool> from the terminal: <main resources>. Use when the user asks to <4-6 real tasks in their words>.
---
Run `<run> <command>`; check `--help` before a command you have not used. Auth: <login command or VAR, where the key comes from>.
- <Task>: `<command> [args]`
- ...
Read before writing. Ask before anything that deletes, publishes, sends, or spends money. Docs: <url>.
- Link it for Claude Code: if
~/.claude/skillsis not already a link to~/.agents/skills, runmkdir -p ~/.claude/skills && ln -s ~/.agents/skills/<tool>-cli ~/.claude/skills/<tool>-cli.
Finish with three lines: what is connected (CLI and account), that a new session shows /<tool>-cli, and one thing to try now.