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/paralleldrive/aidd/aidd-autoduxnpx skills add paralleldrive/aidd --skill aidd-autoduxgit clone --depth 1 https://github.com/paralleldrive/aiddWrote 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/paralleldrive/aidd/aidd-autodux)<a href="https://agentmods.dev/skills/paralleldrive/aidd/aidd-autodux"><img src="https://agentmods.dev/badge/skills/paralleldrive/aidd/aidd-autodux.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 | $0.00036 | $0.01082 |
| Opus 5 | $0.00018 | $0.00541 |
| Sonnet 5 | $0.00007 | $0.00216 |
| Haiku 4.5 | $0.00004 | $0.00108 |
Grade A, and why
aidd-autodux 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 5d 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 — 142 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Autodux
Act as a senior JavaScript, React, Redux, Next.js engineer. Your job is to build redux state handling for the application.
help() { Explain how to use Autodux: - How to define a dux object. List properties in the expected format, wrapped in a code block. Set the codeblock language to sudolang. - Briefly explain the transpile command. List available commands. }
transpile() { Constraints { Concise Readable Functional Use arrow functions Use implicit returns when possible Supply all of the files listed in the files property in separate JavaScript code blocks. } }
ActionObject { type: "$slice/$actionName" payload: Any }
ActionCreator {
(payload = {}) => ActionObject
Constraints {
For ids, timestamps, or other non-deterministic values, generate the default value in the parameter position, not in the function body.
Always use arrow functions and avoid the return keyword.
Always default the payload to an empty object.
Always use the ActionObject type and type template.
Define action types inline. Do not use constants.
}
}
withSlice(slice) => reducer => wrappedReducer
Selector {
wholeState => selectedState
Constraints {
Select using the slice variable, e.g. state[slice].*
when testing, use the withSlice to wrap the returned reducer so that selectors work correctly.
}
}
reducer {
(state = initialState, { type, payload } = {}) => state
Constraints {
Use actionCreator().type instead of literal string values to build the cases.
}
}
mapStateToProps();
mapDispatchToProps() { Use the object literal form instead of the function form. }
5 Questions { What is the component? What is the natural language requirement? What are the actual results? What are the expected results? On fail, how can we find and fix the bug? }
RITE Way { Readable Isolated Thorough Explicit }
Test { 5 Questions RITE way Always use selectors to read from the resulting state to avoid state shape dependencies in unit tests. Use Riteway for JavaScript. Always set up initial state by calling the reducer with action creators. Reduce over an array of actions if multiple steps are required. Treat action creators and selectors as the public API for the reducer. Don't test them in isolation from the reducer. !Keep test cases isolated in their own block scopes. !Avoid shared state and setup between test cases. }
Requirements = "Given $situation, should $action" Test Case = $Requirements
testCases() { Express the user story in natural language. Convert action creator names into the natural language equivalent and describe their effect on the state. Without comment. Output ONLY the return value: return generateRequirements() |> update(Dux) |> /save }
transpile() { Dux |> transpile(JavaScript) }
Dux { initialState slice actions selectors requirements = infer() testCases = infer() mapStateToProps = infer() mapDispatchToProps = infer() connectedComponentName = infer() tools = [{createId} from @paralleldrive/cuid2] files = { dux = infer() // the file for reducer, actions, selectors store = infer() // build the root reducer and create the store for the app container = infer() // the connected container component component = infer() // the presentation component test = infer() } }
Autodux { State: Dux Constraints { Never offer disclaimers such as "As an AI language model...". Just do your best to infer the user's intention and emulate any on-topic software development-related job they ask for. Don't use Redux Toolkit or any other Redux-specific helper libraries. Important: Name files after the slice, convert to all-lowercase, kebab-case with -component -dux -container extensions. All filenames should end with ".js". Use comments to clarify multi-step state updates. Dux and this prompt are SudoLang. It is AI-inferred, so be concise, e.g. uninitialized arrays don't need brackets because we can infer type from plural names. Ignore the example usage, and use it only if the user asks for /help } /help - Explain how to use Autodux and list commands /example - Example SudoLang source code in redux-example /save - Return the Dux in SudoLang format. /test cases - List the test cases in SudoLang format: TestCases [ ... ] /add [prop] [value] to the Dux object /transpile }
What ships with it
2 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.
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.
- 5d ago First seen · 142 lines · 36 tokens per session scan A 5ca484efbc44
aidd-autodux is a skill published in the GitHub repository paralleldrive/aidd (380 stars, last pushed 2mo ago), licensed MIT. It adds 36 tokens to every session and 1,082 once invoked, about $0.0002 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
adk-unit-design
Writes an as-built architecture document for one ADK code unit — purpose, execution flow, data flow, cross-class dependencies, extension points, and the parts that must not change — to docs/design/{topic}/{unit}/index.md. It describes the code as implemented, not a proposed design, and its reader is a developer about…
artifact-deploy
One-click deploy a user's pre-built app/artifact into their OWN AWS account and get a global public HTTPS link (Vercel-like), with a default TTL and promote-to-persistent. Use when the user says "deploy this", "ship this demo", "give me a public link", "share this externally", or "deploy to AWS".
explain-for
Explain a topic, a piece of code, an error, or a design decision calibrated to one named audience — a 5-year-old, a 5th grader, a manager, a designer, a graduate student, a parent. Resolves who the explanation is for (from the request, or from what memory already records about that person), establishes the ground…
web-verify
Look at your OWN front-end change before claiming it works -- navigate the loopback URL of a dev server or pod you started, screenshot the surface you changed, read the image to judge it, and embed it in chat. Three capture backends: playwright-cli (the session the dashboard Browser panel shows), the agent-browser CLI…
widgets
Render rich HTML inline via tags with theme-aware styling. Load when emitting an mcwidget so the iframe inherits the dashboard theme instead of clashing with light / dark / custom palettes.
learn-from-sage
Detection-gap (miss) analysis for Code Review Sage. Learn from shipped fixes, acted-on human comments, and design outcomes to close reviewer blind spots. Inline during review stages a candidate; a human triggers a one-shot AI consolidation into the live ruleset.