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 agentmods add instructions/vinta/hal-9000/agents-mdgit clone --depth 1 https://github.com/vinta/hal-9000What 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 | $0.00786 | $0.00786 |
| Opus 5 | $0.00393 | $0.00393 |
| Sonnet 5 | $0.00157 | $0.00157 |
| Haiku 4.5 | $0.00079 | $0.00079 |
Grade B, and why
hal-9000 AGENTS.md scanned grade B 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 2d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
- **Skills are the source of truth in `skills/`**: Distributed via Claude Code plugin marketplaces configured in `dotfiles/.claude/settings.json` (the `hal-9000` marketplace loads the published version from GitHub), and How it starts
The opening of the file, as written. The whole thing — 50 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
macOS dev environment automation: dotfiles, AI agent configs, skills, and dev stacks.
Commands
Run make help to list targets and hal --help for the CLI. Use make targets instead of running the underlying commands directly. They chain the right tools with the right flags (e.g. make lint-python runs ruff format --check and ruff check; make lint-ansible runs ansible-lint and a playbook syntax check; make lint runs both).
Gotchas
- Dotfiles are the source of truth:
dotfiles/is the source of truth for files under~/.dotfiles/.claude/syncs to~/.claude/viahal_dotfiles.json. Always edit underdotfiles/, never under~/directly. - Skills are the source of truth in
skills/: Distributed via Claude Code plugin marketplaces configured indotfiles/.claude/settings.json(thehal-9000marketplace loads the published version from GitHub), and vianpx skills add vinta/hal-9000. - The hal-skills
skillsarray is duplicated on purpose:skills/.claude-plugin/plugin.jsonis what Claude Code reads for the plugin's author and skill count, and the copy in.claude-plugin/marketplace.jsonis whatnpx skillsreads to group the skills under "Hal Skills" (it only looks for aplugin.jsonat the repo root, so it never sees the one underskills/). Keep both lists in sync instead of deduplicating them. - For generated artifacts such as zsh completion, regenerate them with the repo command instead of editing them by hand (e.g.
make hal-completionafter modifyingbin/hal.py).
External Tool Documentation
When you need information about tools used in this project, use the find-docs skill or WebFetch.
Context7 Library IDs
Pre-resolved IDs for the find-docs skill. Pass directly to ctx7 docs, skipping the ctx7 library step:
| Tool | libraryId |
|---|---|
| ansible | /websites/ansible_projects_ansible |
| ansible-lint | /ansible/ansible-lint |
| betterleaks | /betterleaks/betterleaks |
| fnm | /schniz/fnm |
| github-actions | /websites/github_en_actions |
| homebrew | /homebrew/brew |
| oh-my-zsh | /ohmyzsh/ohmyzsh |
| ollama | /ollama/ollama |
| pre-commit | /pre-commit/pre-commit.com |
| pytest | /pytest-dev/pytest |
| ruff | /websites/astral_sh_ruff |
| ty | /websites/astral_sh_ty |
| uv | /websites/astral_sh_uv |
| zsh | /websites/zsh_sourceforge_io_doc_release |
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.
- 2d ago First seen · 50 lines · 786 tokens per session scan B 4665a4b97ca1
hal-9000 AGENTS.md is an instructions file published in the GitHub repository vinta/hal-9000 (125 stars, last pushed 5d ago), licensed MIT. It adds 786 tokens to every session, about $0.0039 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
coolify AGENTS.md
AGENTS.md instructions for coollabsio/coolify, covering agents.md, project overview, design reference, development environment and start dev environment (uses docker-compose.dev.yml).
microsandbox AGENTS.md
AGENTS.md instructions for superradcompany/microsandbox, covering agents.md, scope, project map, design principles and backward compatibility review.
netdata AGENTS.md
AGENTS.md instructions for netdata/netdata, covering agents.md, goals, requirement language, mandatory development principles and sow system.
telepresence AGENTS.md
Instructions for telepresenceio/telepresence, covering agents.md, project overview, git workflow, design plans and build artifacts.
fulling AGENTS.md
Instructions for FullAgent/fulling, covering agents.md, project overview, tech stack, code conventions and current implementation context.
netdata CLAUDE.md
Claude Code instructions for netdata/netdata, a project described as: The fastest path to AI-powered full stack observability, even for lean teams.