Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ithinkihaveacat/dotfiles --skill workspace-toolsgit clone --depth 1 https://github.com/ithinkihaveacat/dotfilesWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ithinkihaveacat/dotfiles/workspace-tools)<a href="https://agentmods.dev/skills/ithinkihaveacat/dotfiles/workspace-tools"><img src="https://agentmods.dev/badge/skills/ithinkihaveacat/dotfiles/workspace-tools/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ithinkihaveacat/dotfiles/workspace-tools"><img src="https://agentmods.dev/badge/skills/ithinkihaveacat/dotfiles/workspace-tools.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00181 | $0.08060 |
| Opus 5.5 | $0.00072 | $0.03224 |
| Sonnet 5.5 | $0.00036 | $0.01612 |
| Haiku 4.5 | $0.00018 | $0.00806 |
Grade E, and why
workspace-tools scanned grade E with 4 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
`sudo gem install`, `npm install -g`, `pip install --user` and Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
`~/.gemini/config/config.json` (`jetski-web` under Enumerates other installed skillsmediumAgent snooping
Other skills' SKILL.md files reveal prompts, capabilities and secrets that should be invisible to peers.
1. **Survey the catalog:** Run `skill catalog --json` to inspect all available skills in a single call (JSON Lines). Each record includes frontmatter Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
permission cmd add --deny "rm -rf" # block command outright How it starts
The opening of the file, as written. The whole thing — 653 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Workspace Tools
This skill configures a workspace for agent-assisted development without version control ever seeing the configuration. It consists of four tools:
hook: The git hook manager. Synchronizes git hooks to matchAGENT_REQUIRED_HOOKS(profilesagent,node,gerrit), managing them via trampoline stubs in.git/hooks/.skill: The workspace manager. Installs and tracks skills as untracked symlinks, automatically adapting to the environment (Git, Perforce, session artifact directories, or unmanaged directories; more via plugins). It is fully deterministic and dependency-free: it also enumerates what is installable (skill catalog) and manages remote plugin caching, but never calls a model to decide what a workspace needs — see Choosing Skills (Workspace vs. Session).permission: The permission manager. Maintains allow/deny/ask rules for every detected local agent (workspace-local for Claude Code and Codex, user-wide for Antigravity), including pre-approving the safe commands declared by installed skills.envrc: The configuration manager. Manages marker-delimited blocks in.envrcfiles for direnv integration.
Alongside them, the runtime installers node-install, ruby-install, and
python-install install per-user Node.js and Ruby versions (and check for uv)
that envrc blocks activate per directory, together with a workspace-local
place for the project's packages and command-line tools; see
Language Environments.
For Git repositories, hook apply, skill add --defaults, and
permission apply run automatically on git clone via the global template's
post-checkout hook.
Gotchas
- Agent shells usually do not load direnv. A command run in the workspace
still sees the system runtime unless it goes through
direnv exec . <command>; the.envrcblocks below only take effect that way, or in an interactive shell with the direnv hook. - Install a project's tools into its environment, never user-wide or
system-wide unless the user asks for that.
gem install --user-install,sudo gem install,npm install -g,pip install --useranduv tool installgive every project one shared version, ignore the version the project pins, and user-level bin directories are often not onPATH, so the tool goes missing again in the next shell. See Installing Project Tools. - If the workspace environment cannot be set up, stop and ask. A missing
ruby-buildoruv, or a failed runtime build, is not a reason to fall back to a user-wide install or the system runtime: report what failed and let the user decide.
What ships with it
35 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- completions/envrc.fish 4.9 KB
- completions/hook.fish 2.0 KB
- completions/node-install.fish 249 B
- completions/permission.fish 4.1 KB
- completions/ruby-install.fish 245 B
- completions/skill.fish 5.0 KB
- permissions/unsafe 900 B
- references/command-index.md 17 KB
- references/model.md 8.7 KB
- resources/hooks/agent/commit-msg 22 KB
- resources/hooks/markdown/pre-commit 4.3 KB
- resources/hooks/node/change_detector.sh 1.3 KB runs code
- resources/hooks/node/post-checkout.sample 268 B
- resources/hooks/node/post-commit.sample 268 B
- resources/hooks/node/pre-commit 2.9 KB
- scripts/envrc 20 KB
- scripts/hook 33 KB
- scripts/node-install 4.7 KB
- scripts/permission 90 KB
- scripts/python-install 901 B
- scripts/ruby-install 5.2 KB
- scripts/skill 123 KB
- tests/common.sh 7.2 KB runs code
- tests/test-envrc 13 KB
- tests/test-hook 33 KB
- tests/test-hook-agent 26 KB
- tests/test-hook-markdown 12 KB
- tests/test-hook-node 9.4 KB
- tests/test-permission 31 KB
- tests/test-skill-bundle 5.0 KB
- tests/test-skill-defaults 17 KB
- tests/test-skill-doctor 12 KB
- tests/test-skill-plugins 29 KB
- tests/test-skill-scope 12 KB
- tests/test-skill-workspace 14 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday Changed · +23 lines 5bf4f58052ea
- 3d ago Changed · +6 lines a2a2889937aa
- 4d ago Changed · +28 lines a1b57dece9c6
- 6d ago Changed · +67 lines · +17 tokens per session scan D → E bdfcc1b6f52c
- 10d ago Changed · +4 lines 2443b4136454
- 12d ago Changed · +75 lines · +63 tokens per session a6b141313200
- 14d ago Changed · +36 lines · +19 tokens per session 2d6df41ecd32
- 17d ago Changed · +16 lines · +4 tokens per session b62f35d47251
- 22d ago Changed · +21 lines c46d9633e88c
- 26d ago First seen · 377 lines · 78 tokens per session scan D 6ddb417f6d96
workspace-tools is a skill published in the GitHub repository ithinkihaveacat/dotfiles (48 stars, last pushed today), licensed Apache-2.0. It adds 181 tokens to every session and 8,060 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it E with 4 findings (asks for root, reads agent configuration directories, enumerates other installed skills). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-15.
Other skills, from other repositories
mbo-plan
Plan a new objective end-to-end in this repo's docs/mbo Management-By-Objective system — turn a GitHub issue or a gss draft-PR worktree into consistent design/spec/plan artifacts and track it in docs/mbo/index.md. Use this whenever the user wants to START planning or designing a new feature, skill, CLI, or service…
herdr
Use when the user mentions herdr or is working inside a herdr pane and wants to save/restore a pane layout, change herdr's theme, prefix or other preferences on this host only, start or check on an agent in another herdr pane, add, turn off or open a herdr plugin (file viewer, keybindings), or asks why the herdr…
wispr-flow-debug
Debug and test the Wispr Flow AutoHotkey dictation triggers (Copilot key + extra keys) from WSL by deploying macos.ahk to the Windows Desktop, reloading AutoHotkey, and reading the debug log. Use when an activation/trigger key isn't starting/stopping dictation, when the overlay clicks land wrong, or when verifying a…
google-docs
Integration for interacting with Google Docs and Google Workspace using the 'gws' CLI.
pr-list
List GitHub Pull Requests in a Discord-friendly format with status icons, blockquotes, and direct links. Use when the user asks for "pr list", "list PRs", "open pull requests", or a chat-ready summary of PRs for a repository.
sync-forks
Check how many of your GitHub forks are out of date and sync them.