tool-install
Skill5 starsChanged 11 days agoMITView on GitHub
Plans and executes tool installations or upgrades with explicit approval, impact checks, rollback, and verification. Use only when the user asks to install or update software.
- Pipes a download into a shell
- Installs packages
In this repository23 other files it gives its agents.
- AGENTS.mdAGENTS.md
- architecture-knowledge-baseSkill
- audio-transcribeSkill
- better-uiSkill
- brainstormingSkill
- broSkill
- chatgpt-imagegenSkill
- coding-standardsSkill
- decision-roomSkill
- deslopifySkill
- domain-modelingSkill
- frontend-designSkill
- gemini-ttsSkill
- goalSkill
- readbackSkill
- rephraseSkill
- reply-broSkill
- setup-goalSkill
- skill-cleanerSkill
- strunk-writing-qualitySkill
- technical-writingSkill
- tech-specSkill
- type-breakdownSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. About 0 are common, 11 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 55
Default install paths and state mutations
- Distinctive: line 58
If the user asked to update an already-installed tool, also research:
- Very specific: line 65
If the link is sparse, run 2-3 targeted web_search queries to fill gaps:
- Distinctive: line 97
Config: Default config or import/customize now
- Very specific: line 99
Shell integration: Add to .zshrc now or skip
- Distinctive: line 110
Write a markdown plan with this structure:
- Very specific: line 177
If plannotator is available, gate the plan:
- Distinctive: line 194
If the user wants changes, revise the plan and re-present.
- Distinctive: line 198
Run the approved steps one at a time.
- Distinctive: line 206
If a step fails, stop immediately.
- Distinctive: line 212
Always research first: Never guess what a tool does or how to install it.
- Distinctive: line 213
Always inspect the current environment: Don't assume a clean slate.
- Distinctive: line 216
Prefer user-local installs: when global isn't required.
- Very specific: line 235
Check releases → available via Homebrew (brew install lazygit)
- Very specific: line 236
Check environment → which lazygit returns nothing, not installed
- Distinctive: line 237
Check shell config → no lazygit aliases or env vars present
- Very specific: line 249
Check current version → lazygit --version → v0.40.0
- Very specific: line 251
Check install method → brew list lazygit → installed via Homebrew
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Tool Install Planner
Purpose
Turn an "install this" or "update this" request into a fully researched, user-approved execution plan. The agent must never mutate the system without explicit sign-off.
+-----------------+ +------------------+ +------------------+
| You paste link |---->| I research tool |---->| I inspect your |
| or say "install| | + env impact | | current system |
| X" | | | | |
+-----------------+ +------------------+ +------------------+
|
+---------------------------+
v
+------------------+
| I generate plan |
| + briefing |
| + decisions |
| + rollback |
+------------------+
|
v
+------------------+
| You approve |
| (or revise) |
+------------------+
|
v
+------------------+
| I execute |
| + verify |
+------------------+Workflow
1. Ingest the Link
Fetch the provided URL with fetch_content or web_search to understand:
- What the tool does (1-2 sentences)
- Who uses it: end users directly, developers, automation/orchestration, or AI agents
- Official installation methods (Homebrew, npm, pip, cargo, manual, etc.)
- System requirements and dependencies
- Default install paths and state mutations
- Any post-install setup (config files, env vars, services, login items)
If the user asked to update an already-installed tool, also research:
- What's new in the latest version (changelog, release notes)
- Breaking changes or migration steps
- Whether the current install method supports in-place upgrades
- Config file format changes or deprecations
If the link is sparse, run 2-3 targeted web_search queries to fill gaps:
"<tool-name> installation guide macOS""<tool-name> Homebrew formula""<tool-name> dependencies requirements"
2. Environment Impact Analysis
Inspect the current environment to determine blast radius. Run diagnostics as needed
For each impact category, report what will change:
| Category | Questions to Answer |
| Binaries | New executables? Where? Symlinks? |
| Dotfiles | New configs in ~/.config, ~/.<tool>rc, shell rc files? |
| Shell env | PATH, alias, export, eval $(...) additions? |
| Services | Background daemon? LaunchAgent? Auto-start? |
| macOS prefs | Accessibility permissions? Full Disk Access? Notifications? |
| Disk space | Approximate download + install size |
| Network | Firewall rules? Network extensions? |
| Existing tools | Conflicts with already-installed tools? Replaces anything? |
| Uninstall | Clean removal possible? Orphans left behind? |
3. Decision Points
Surface choices the user can make. Examples:
- Install method: Homebrew vs. manual vs. npm vs. pip
- Scope: Global (
-g,/usr/local) vs. user-local (~/.local) - Version: Latest vs. pinned version
- Config: Default config or import/customize now
- Service: Enable auto-start now or manually later
- Shell integration: Add to
.zshrcnow or skip - Existing conflicts: Replace old version? Keep both?
For each decision, present:
- The options
- Your recommendation with rationale
- The default (if user wants to skip the choice)
4. Generate the Installation/Update Plan
Write a markdown plan with this structure:
# Install Plan: <tool-name>
## Briefing
### What It Is
1-2 sentences on what this tool does and its main purpose.
### How You'll Use It
- **Agent tool** — I (the AI) will call this on your behalf as part of
automated workflows. You don't interact with it directly.
- **User-exposed tool** — You will run this manually in your terminal or via
a GUI. It's a tool for your direct use.
- **Both** — You can use it directly, and I may also invoke it in automated
flows.
Typical daily usage: "Youll run `foo` in terminal to..." or "I'll call `foo`
when you ask me to..."
### ASCII Overview[Your Request] [Terminal] [System] | | | v v v +--------+ +-------------+ +----------------+ | "do X" |--------->| tool-name X |----->| changes files | +--------+ +-------------+ | starts service | | writes config | +----------------+
## Current State
Already installed? Version? Install method found?
## Environment Impact
- Binaries: ...
- Config: ...
- Shell: ...
- Services: ...
- Disk: ~X MB
- Risks: ...
## Decisions
1. **Install via** [Homebrew / npm / pip / manual]
- Recommended: Homebrew
- Rationale: ...
2. **Shell integration** [Yes / No]
- Recommended: Yes
- Adds to `.zshrc`: ...
3. ...
## Steps
1. Step one
2. Step two
3. Verify with: `<command>`
4. Rollback if needed: `<command>`
## Rollback Plan
How to fully undo this installation or revert to the previous version.If plannotator is available, gate the plan:
plannotator annotate /tmp/tool-install-<tool-name>.md --gateOtherwise, present the plan inline and ask for explicit approval.
5. Approval Gate
Do not proceed with installation until the user explicitly approves.
Approval format to request:
Reply with "approve" or "go" to execute, or tell me which decisions to change.
If the user wants changes, revise the plan and re-present.
6. Execute (Only After Approval)
Run the approved steps one at a time. Verify each step before proceeding:
# After install or update, verify
<tool-name> --version
which <tool-name>If a step fails, stop immediately. Do not continue. Report the error and ask whether to rollback, retry, or abort.
Rules
- Never install without explicit user approval.
- Always research first. Never guess what a tool does or how to install it.
- Always inspect the current environment. Don't assume a clean slate.
- Always provide a rollback plan. The user should know how to undo.
- Prefer Homebrew for macOS CLI tools unless there's a good reason not to.
- Prefer user-local installs when global isn't required.
- Flag destructive changes. Overwriting configs, replacing system tools, or enabling background services deserve extra warning.
- If the link is a GitHub repo, check
README.md,install.sh, releases page, andMakefilefor official install instructions. - If the link is a website, look for "Download", "Install", or "Get Started" sections.
- If the install involves
curl | bash, flag it as high-risk and recommend an alternative if one exists.
Examples
Install
User: install this https://github.com/jesseduffield/lazygit
Agent actions:
- Fetch the GitHub repo README → understand it's a terminal UI for git
- Check releases → available via Homebrew (
brew install lazygit) - Check environment →
which lazygitreturns nothing, not installed - Check shell config → no lazygit aliases or env vars present
- Decision points: install via Homebrew or what. pros and cons, add alias to
.zshrc(optional, default no) - Present plan, wait for approval
- On approval:
brew install lazygit, verify withlazygit --version
Update
User: update lazygit
Agent actions:
- Check current version →
lazygit --version→ v0.40.0 - Research latest → v0.44.0, changelog shows new features, no breaking changes
- Check install method →
brew list lazygit→ installed via Homebrew - Decision points: update now (recommended), or pin at current version
- Present plan showing version delta and any migration steps
- On approval:
brew upgrade lazygit, verify withlazygit --version
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

