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-configgit 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-config)<a href="https://agentmods.dev/skills/ithinkihaveacat/dotfiles/workspace-config"><img src="https://agentmods.dev/badge/skills/ithinkihaveacat/dotfiles/workspace-config.svg" alt="Measured on agentmods" 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.00078 | $0.03341 |
| Opus 5 | $0.00039 | $0.01670 |
| Sonnet 5 | $0.00016 | $0.00668 |
| Haiku 4.5 | $0.00008 | $0.00334 |
Grade C, and why
workspace-config scanned grade C with 1 finding 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 3d ago.
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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
permission add --deny "rm -rf" # block outright How it starts
The opening of the file, as written. The whole thing — 331 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Workspace Configuration
This skill configures a workspace for agent-assisted development without version control ever seeing the configuration. It consists of three 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, or unmanaged directories; more via plugins). Also provides advisory LLM-based skill recommendations (skill suggest) and manages remote plugin caching.permission: The permission manager. Maintains allow/deny/ask rules for every detected local agent (workspace-local for Claude Code, user-wide for Antigravity), including pre-approving the safe commands declared by installed skills.
For Git repositories, hook apply, skill apply, and permission apply run
automatically on git clone via the global template's post-checkout hook.
Managing Skills (skill)
The skill tool (symlinked in bin/) manages agent skills as untracked
symlinks in your workspace. It automatically detects your environment and
applies the correct tracking and ignoring mechanism.
skill <command> [arguments]
Supported Environments
- Git Repositories: Links skills under
.agents/skills/and.claude/skills/. A marker block in.git/info/excludeis dynamically generated to keepgit statusclean without dirtying the shared.gitignore. If another tool rewrites the exclude file,skill doctordetects the drift, and runningskill applyresolves it. - Unmanaged Directories: Works in plain directories without VCS, symlinking skills under local destination folders.
- Plugins: Additional workspace types can be registered by dropping a Python
file into
~/.config/skill/plugins/that definesregister(api)and callsapi.register_workspace(cls)with a subclass ofapi.Workspace(see alsoapi.FileStateMixin) implementing adetect()classmethod. Plugin detectors run before the built-in ones, in sorted filename order.
What ships with it
16 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.
- permissions/unsafe 348 B
- references/command-index.md 10.0 KB
- references/model.md 9.0 KB
- scripts/envrc 24 KB
- scripts/permission 34 KB
- scripts/skill 137 KB
- tests/common.sh 8.0 KB runs code
- tests/test-envrc 12 KB
- tests/test-permission 9.5 KB
- tests/test-skill-apply 13 KB
- tests/test-skill-bundle 5.0 KB
- tests/test-skill-doctor 27 KB
- tests/test-skill-plugins 17 KB
- tests/test-skill-preflight 9.6 KB
- tests/test-skill-reconcile 12 KB
- tests/test-skill-workspace 12 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.
- 3d ago Changed · +11 lines 4080af6f3689
- 8d ago First seen · 320 lines · 78 tokens per session scan C 4624996449b8
workspace-config is a skill published in the GitHub repository ithinkihaveacat/dotfiles (48 stars, last pushed today), licensed Apache-2.0. It adds 78 tokens to every session and 3,341 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
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…
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…
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, or asks why the herdr sidebar colors are unreadable. Requires HERDRENV=1.
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.
google-docs
Integration for interacting with Google Docs and Google Workspace using the 'gws' CLI.
sync-forks
Check how many of your GitHub forks are out of date and sync them.