aidd-autodux

aidd-autodux is a skill for Claude Code, Codex from paralleldrive/aidd. It costs 36 tokens per session (1,082 once invoked), scanned A, original, MIT.

A skill for defining Redux state logic in a compact input format and generating JavaScript files from it. Redux is a way to store and update shared application data, while reducers, actions, and selectors describe how that data changes and is read.

In plain words
What is it for?
Use it to define state slices, action creators, reducers, selectors, and the JavaScript files produced from Autodux definitions.
Why use it?
It reduces repetitive code when creating Redux state management and keeps action and selector conventions consistent.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/paralleldrive/aidd/aidd-autodux
Any agent
npx skills add paralleldrive/aidd --skill aidd-autodux
Clone the repo
git clone --depth 1 https://github.com/paralleldrive/aidd

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for aidd-autodux

README.md
[![agentmods](https://agentmods.dev/badge/skills/paralleldrive/aidd/aidd-autodux.svg)](https://agentmods.dev/skills/paralleldrive/aidd/aidd-autodux)
Your own site
<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>
Per session 36 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,082 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured 5d ago against content hash 5ca484efbc44, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

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.

ai/skills/aidd-autodux/SKILL.md · 142 lines

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 }

Read the full file on GitHub · 142 lines

Files

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.

Changes

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.

  1. 5d ago First seen · 142 lines · 36 tokens per session scan A 5ca484efbc44

Subscribe to this mod's changes

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.

Related

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…

google/adk-python · 181 tokens

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".

kirodotdev/KiroCrew · 74 tokens

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…

kirodotdev/KiroCrew · 102 tokens

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…

kirodotdev/KiroCrew · 0 tokens

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.

kirodotdev/KiroCrew · 42 tokens

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.

kirodotdev/KiroCrew · 56 tokens