Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add Lykhoyda/rn-dev-agent/plugin install rn-dev-agentWrote 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/commands/lykhoyda/rn-dev-agent/run-action)<a href="https://agentmods.dev/commands/lykhoyda/rn-dev-agent/run-action"><img src="https://agentmods.dev/badge/commands/lykhoyda/rn-dev-agent/run-action/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/lykhoyda/rn-dev-agent/run-action"><img src="https://agentmods.dev/badge/commands/lykhoyda/rn-dev-agent/run-action.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00072 | $0.03376 |
| Opus 5.5 | $0.00029 | $0.01350 |
| Sonnet 5.5 | $0.00014 | $0.00675 |
| Haiku 4.5 | $0.00007 | $0.00338 |
Grade A, and why
run-action 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 19d 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 — 264 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Execute the learned action: $ARGUMENTS
What this command does
/rn-dev-agent:list-learned-actions lists what's available;
/rn-dev-agent:run-action actually replays one. Together they implement the
artifact-first protocol from feedback_execute_artifacts_before_manual.md:
list → match → run, before composing any device_* primitives manually.
The action name is matched against the inventory's flow field (filename
without .yaml). Substring + case-insensitive — task-create will match
wizard-create-task if it's the only candidate; ambiguity errors otherwise.
Argument parsing
The first positional arg is the action name (required). Subsequent args are
parsed into the cdp_run_action request:
-e KEY=VALUE— environment variable for${KEY}placeholders in the flow. Keys must match[A-Z_][A-Z0-9_]*(Maestro convention) — anything else is rejected bycdp_run_action/maestro_run(GH #116).--platform <ios|android>— must match the current ready session; omitted values are filled from that session--no-auto-repair— opt out ofcdp_repair_actionretry onSELECTOR_NOT_FOUND(default: auto-repair on)
Example calls:
/rn-dev-agent:run-action wizard-create-task -e TITLE="Buy milk" -e PRIORITY=high -e TAG=feature -e DESC="Test"
/rn-dev-agent:run-action mark-all-done --platform android
/rn-dev-agent:run-action mark-all-done --no-auto-repair # surface the raw failure without patching
Protocol
-
Parse arguments. First word of
$ARGUMENTSis the action name. Detect--platform,--no-auto-repair, and collect every-e KEY=VALUEpair into aparamsobject (key must match[A-Z_][A-Z0-9_]*; reject malformed early —cdp_run_actionwill refuse them anyway, but catching at parse time gives a clearer error). Treat anything else as a passthrough flag. -
Resolve the action via the script (single source of truth — never glob
.rn-agent/actions/directly):ACTION_NAME="<first-arg>" RESULT=$(node "${CLAUDE_PLUGIN_ROOT:-${CURSOR_PLUGIN_ROOT:-${RN_DEV_AGENT_CODEX_PLUGIN_ROOT:-${CODEX_PLUGIN_ROOT:?set it to the installed rn-dev-agent plugin root, then re-run}}}}/rn-dev-agent-core/dist/learned-actions.js" \ --json --section b \ --workspace-root "$PWD" --memory-cwd "$PWD" \ --filter "$ACTION_NAME") COUNT=$(echo "$RESULT" | jq '.sections.flows.count')- 0 matches: stop. Tell the user what they searched for, list the
closest 5 alternatives by running the script again with a broader filter
(or no filter), and suggest creating the flow via
/rn-dev-agent:test-feature. - >1 match: stop. Print the candidates with their full paths and ask
the user to disambiguate (e.g. by passing the full filename without
.yaml). - 1 match: continue to step 3.
- 0 matches: stop. Tell the user what they searched for, list the
closest 5 alternatives by running the script again with a broader filter
(or no filter), and suggest creating the flow via
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.
- 19d ago Changed 0dc2bb09d88c
- 1mo ago Changed c975709266a7
- 1mo ago Changed · +7 lines 30058d872c36
- 1mo ago Changed · +20 lines 8d606159d420
- 1mo ago First seen · 237 lines · 72 tokens per session scan A 4529e580b067
run-action is a command published in the GitHub repository Lykhoyda/rn-dev-agent (20 stars, last pushed today), licensed MIT. It adds 72 tokens to every session and 3,376 once invoked, about $0.0003 per session on Opus 5.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
dashboard-list-models
List reachable models from the dashboard registry. Usage /dashboard:list-models [annotated].
dashboard-server-tunnel-off
Disconnect the public tunnel. Usage /dashboard:server-tunnel-off.
dashboard-session-abort-all
Abort multiple running sessions (asks which). Usage /dashboard:session-abort-all.
dashboard-session-diff
Show file changes (git diff) for a session by id-prefix. Usage /dashboard:session-diff . Runs locally, no LLM.
dashboard-flow-auto
Toggle autonomous mode for a session's flow. Usage /dashboard:flow-auto.
dashboard-session-hide
Hide a session from the dashboard list. Usage /dashboard:session-hide.