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 commands/larens94/codedna/impactgit clone --depth 1 https://github.com/Larens94/codednaWhat 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.00018 | $0.00368 |
| Opus 5 | $0.00009 | $0.00184 |
| Sonnet 5 | $0.00004 | $0.00074 |
| Haiku 4.5 | $0.00002 | $0.00037 |
Grade A, and why
impact 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 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.
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.
What it actually says
/codedna:impact $ARGUMENTS
Perform a cascade impact analysis for the file at path $ARGUMENTS.
If no argument is provided, ask: "Which file do you want to analyze? Provide the path relative to the project root."
Steps:
-
Read the target file's module docstring (first 15 lines only). Extract its
exports:andused_by:fields. -
For each file listed in
used_by:, read only its module docstring and extract its ownused_by:(to find second-level callers). -
Build the cascade chain — stop at 3 levels deep to avoid infinite loops.
-
Output the impact tree:
Impact Analysis: utils/format.py
=================================
Direct callers (Level 1):
- api/routes.py
exports: revenue_route(req) -> Response
rules: all routes require auth middleware
- views/dashboard.py
exports: render(ctx) -> str
rules: none
Second-level callers (Level 2):
- workers/report.py (calls api/routes.py)
exports: generate(period) -> None
Cascade summary:
Editing utils/format.py may affect 3 files.
Check rules: in api/routes.py before changing format_currency signature.
- If the file has no
used_by:entries or is not annotated, output:
utils/new_file.py has no used_by: entries — no cascade impact detected.
Note: file may not be annotated yet. Run /codedna:check to verify.
Use this command before any refactor, signature change, or deletion.
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 · 48 lines · 18 tokens per session scan A 8793c2c2fa58
impact is a command published in the GitHub repository Larens94/codedna (145 stars, last pushed 6d ago), licensed MIT. It adds 18 tokens to every session and 368 once invoked, about $0.0001 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 commands, from other repositories
pr-address
Address PR review comments on current branch.
statusbar-style
Switch the status-bar style (classic / capsule / hairline).
init
Command "init" from ErisPulse/ErisPulse, covering erispulse.cli.commands.init 模块, 模块概述, 函数列表, validateprojectname(name: str) and 类列表.
install
Command "install" from ErisPulse/ErisPulse, covering erispulse.cli.commands.install 模块, 模块概述, 类列表 and class installcommand(command).
run
Command "run" from ErisPulse/ErisPulse, covering erispulse.cli.commands.run 模块, 模块概述, 类列表, class reloadhandler(filesystemeventhandler) and class runcommand(command).
language
Command "language" from ErisPulse/ErisPulse, covering erispulse.cli.commands.language 模块, 模块概述, 类列表 and class languagecommand(command).