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 skills/eigenwise/atomic-agents/new-appnpx skills add Eigenwise/atomic-agents --skill new-appgit clone --depth 1 https://github.com/Eigenwise/atomic-agentsWhat 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.00076 | $0.01981 |
| Opus 5 | $0.00038 | $0.00991 |
| Sonnet 5 | $0.00015 | $0.00396 |
| Haiku 4.5 | $0.00008 | $0.00198 |
Grade A, and why
new-app scanned grade A with 0 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 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 171 lines — stays where its author put it; the contents beside it link to each section on GitHub.
New Atomic Agents Project
Scaffold a fresh Atomic Agents project. The result is a single-package Python project with one working agent, one schema pair, a provider-wrapped client, and a runnable main.py.
This skill is opinionated. Produce a complete, tested skeleton the user can run immediately.
Phase 1 — Interrogate
Ask these questions in one message, not one-at-a-time. Skip any the user already answered (including via $ARGUMENTS).
- Project name — used as both directory name and package name. Default from
$ARGUMENTSif provided. Normalize tokebab-casefor the directory andsnake_casefor the package. - LLM provider — OpenAI / Anthropic / Groq / Ollama / Gemini / OpenRouter / MiniMax. Default: OpenAI.
- Agent type — a rough one-liner. Shapes the default
SystemPromptGeneratorcontent and the starter schema pair. Defaults to a generic chat agent. - Tooling —
uv(default, because the repo uses uv) orpip + venv.
Do not ask about project layout, Python version, or dependency list. Pick them.
Phase 2 — Confirm the plan
State the plan in one short block and wait for a yes. Include:
- Directory:
<project-name>/ - Package:
<project_name>/ - Python:
>=3.12(Atomic Agents uses PEP 695 generics) - Dependencies:
atomic-agents>=2.7,instructor[<provider-extra>]>=1.14,python-dotenv,rich - Dev dependencies:
pytest,pytest-asyncio,ruff - First agent:
<agent-type>— usesBasicChatInputSchema/BasicChatOutputSchemaunless the agent type calls for custom schemas - Default model for the chosen provider (see
framework/references/providers.md) - Entry point:
main.pywith a REPL
Phase 3 — Scaffold
Create files in this order. Verify each step before proceeding.
Directory and package
<project-name>/
├── pyproject.toml
├── .env.example
├── .gitignore
├── README.md
├── AGENTS.md
├── CLAUDE.md
└── <project_name>/
├── __init__.py
└── main.py
pyproject.toml
Use the template from framework/references/project-structure.md, substituting the chosen provider extra and project name.
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 First seen · 171 lines · 76 tokens per session scan A a425bb1fa43d
new-app is a skill published in the GitHub repository Eigenwise/atomic-agents (6,218 stars, last pushed 9d ago), licensed MIT. It adds 76 tokens to every session and 1,981 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
pr-test
E2E manual testing of PRs/branches using docker compose, agent-browser, and API calls. TRIGGER when user asks to manually test a PR, test a feature end-to-end, or run integration tests against a running system.
pr-address
Address PR review comments and loop until CI green and all comments resolved. TRIGGER when user asks to address comments, fix PR feedback, respond to reviewers, or babysit/monitor a PR.
synalinks
Use for anything involving the Synalinks neuro-symbolic LM framework (Keras-inspired) — DataModel/Field/Input, JSON operators (+ & | ^ ), synalinks.ops, LanguageModel/EmbeddingModel and provider prefixes (openai/anthropic/ollama/groq/openrouter/bedrock/...); the Program class and its four building APIs…
alfworld-device-operator
Operates a device or appliance (like a desklamp, microwave, or fridge) to interact with another object. Use when the task requires using a tool on a target item (e.g., "look at laptop under the desklamp", "heat potato with microwave"). Locates both the device and target object, co-locates them, and executes the…
pr-polish
Alternate /pr-review and /pr-address on a PR until the PR is truly mergeable — no new review findings, zero unresolved inline threads, zero unaddressed top-level reviews or issue comments, all CI checks green, and two consecutive quiet polls after CI settles. Use when the user wants a PR polished to merge-ready…
alfworld-inventory-management
Use when the agent must collect and track multiple instances of the same object type in ALFWorld (e.g., "put two cellphone in bed"). This skill maintains a count of collected versus needed objects, guides systematic searching through receptacles, and ensures each found object is placed at the target before searching…