By cwensel
Recommendation Decisioning Records — a repeatable, skill-driven flow from idea to spec-verified implementation. Ships the /rdr-* skills (init, doctor, seed, propose, refine, resolve, prelock, reconcile, finalize, implement, status, cluster-reconcile) plus the engine (stages/, prompts/, TEMPLATE.md) they read in place.
Use to reconcile cross-RDR drift across a cluster of related RDRs that are all Final and none yet implemented (e.g. "cluster-reconcile the import RDRs", "$rdr-cluster-reconcile import" in Codex, "/rdr-cluster-reconcile import" in Claude). Runs Stage 7.1 of the RDR flow — whole-set critique + pairwise contradiction scan before any of the cluster implements. Per cluster, NOT per RDR — most RDRs skip it. Pairs with $rdr-finalize or /rdr-finalize (before) and $rdr-implement or /rdr-implement (after), and routes Final→Draft on a defect.
Use to verify the RDR seam and engine are wired correctly (e.g. "check my RDR setup", "$rdr-doctor" in Codex, "/rdr-doctor" in Claude, "is the RDR flow installed right", "diagnose rdr"). Read-only health check — confirms the five-var contract binds, the engine layout resolves (stages/, prompts/, skills/, TEMPLATE.md), the evidence root is reachable, and no consumer/skill symlink is broken. Writes nothing; reports PASS/WARN/FAIL + the one fix per failure. Run after $rdr-init or /rdr-init, after an engine upgrade, or when a skill reports a `stopped:` seam error.
Use to run the Finalization Gate and lock an RDR to Final (e.g. "finalize RDR 46", "lock RDR 46", "$rdr-finalize 0046" in Codex, "/rdr-finalize 0046" in Claude). Runs Stage 7 of the RDR flow as one gated prompt — mechanical sweep + five written gate responses; READY locks (Status → Final) in the same pass, NOT READY flips nothing and names the return stage. Pairs with $rdr-implement in Codex or /rdr-implement in Claude (next) and $rdr-reconcile or /rdr-reconcile (back).
Use to implement a locked (Final) RDR into working, spec-verified code (e.g. "implement RDR 45", "$rdr-implement 0045" in Codex, "/rdr-implement 0045" in Claude). Runs Stage 8 of the RDR flow — dispatches into prompts/implementation/launch.md as the orchestrator. Re-entrant across days from status.md. Terminates at COMPLETE/INCOMPLETE; a contract-level spec defect routes back to the RDR, never patches the code. Pairs with $rdr-finalize in Codex or /rdr-finalize in Claude (must precede it). Also exposes `--launch-prompt-path` so wrappers get the orchestrator prompt's location from the engine instead of reconstructing its internal layout.
Use ONCE to bind a project to the RDR flow so the $rdr-* skills in Codex and /rdr-* skills in Claude can resolve their paths (e.g. "set up RDR for this project", "$rdr-init" in Codex, "/rdr-init" in Claude, "bootstrap the RDR flow here"). Stage 0 — writes the seam data files (default .rdr/env.md / .rdr/resources.md), the seam marker, and the RDR home's index README (creating RDR_RECORDS if absent). Defaults to a repo-local seam (this repo's own RDR env); `--workspace` writes/joins a shared seam several sibling repos inherit. Bare run is smart: infers locations, asks only when it genuinely can't, discloses the choices; `--interactive` forces the questions, `--defaults` is silent, `--reconfigure` changes an existing seam. Non-invasive to the consumer's source tree (no CLAUDE.md or root .gitignore edits); the only tracked file it adds is the index README inside RDR_RECORDS. Pairs with $rdr-seed in Codex or /rdr-seed in Claude (next).
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
RDRs are specification prompts built through iterative research and refinement.
Unlike ADRs which document decisions already made, RDRs evolve during planning as the problem statement becomes more refined through research and exploration and alternatives emerge with one as the best option.
Core Purpose: Capture both the final recommendation and supporting evidence to prevent purpose drift during implementation.
New here? SKILLS.md is the user-facing overview — a one-line blurb for every /rdr-* skill and how
each maps to the stages of this process.
This repo is a Claude Code and Codex plugin. Installation has two parts: get
the engine (the /rdr-* skills + stages/, prompts/, TEMPLATE.md), then bind
each project that will use it. The engine is shared; the binding is per-project.
Claude marketplace plugin — installs to your user config (~/.claude) or a
single project (.claude/); scope only changes where the engine lives.
/plugin marketplace add cwensel/rdr
/plugin install rdr@rdr
Remove with /plugin uninstall rdr@rdr.
Codex marketplace plugin — metadata lives in .agents/plugins/marketplace.json,
the manifest in .codex-plugin/plugin.json; Codex installs into a versioned cache.
codex plugin marketplace add /path/to/rdr
codex plugin add rdr@rdr
Remove with codex plugin remove rdr@rdr.
After any install or upgrade, re-run /rdr-init to refresh the version-stamped engine
path recorded in the marker.
/rdr-initOpen the consumer project (a git repo; not $HOME, the engine, or the plugin
dir) in your harness, then run the skill:
/rdr:rdr-init # smart: infers locations, asks only if it can't, discloses them
Run /rdr-init from inside the consumer project, once per project — never
globally. It writes a per-project seam (the gitignored .rdr/ data files + a
worktree-invariant .rdr-workspace marker), scaffolds the RDR home + its index
README, and offers the optional SessionStart seam hook. A preflight enforces
this: it hard-stops if cwd isn't a git repo, is the engine repo, or is the installed
plugin dir. Installing the plugin alone does not set up a project — init does.
Flags:
/rdr-init | smart default — bind this repo only (repo-local seam); infer locations, ask only on a genuine fork, disclose |
/rdr-init --interactive | force the location questions (records, evidence — each can point at its own repo — tracked vs gitignored) |
/rdr-init --defaults | take all defaults silently (scripted setup) |
/rdr-init --workspace | run from the parent to bind all sibling repos into one shared seam ($WS/.rdr-workspace) they inherit |
/rdr-init --reconfigure | change an existing project's locations (migrates existing RDRs or stops for a manual move) |
Scope — local by default, workspace by choice. By default /rdr-init binds
just the current repo: the seam ($PROJECT/.rdr/), records, and evidence all
live inside it. This is the common single-repo case — run it and you're done.
Optionally, run it from the parent with --workspace to bind every folder
under that parent into one shared RDR process. It writes a shared marker at the
parent ($WS/.rdr-workspace) that all sibling repos inherit, so they author RDRs
against the same flow. Because the seam is just a path map, the workspace also lets
the records and evidence live in their own repos — separate from the code repo
you're working in — rather than being pinned to the current repo. A repo-local seam
still wins over a shared one (nearest-wins) without touching it, so any repo can opt
out of the shared setup at any time.
/rdr:rdr-doctor # read-only health check: seam binds, engine resolves, no broken links
/rdr:rdr-seed <idea> # start the first record
/rdr-doctor is the go-to whenever a skill reports a stopped: seam error or after a
plugin upgrade. The per-project marker exports a five-var contract the skills
read: RDR_HOME (engine), RDR_RECORDS (the RDR instances), RDR_EVIDENCE (lens/
spike output — defaults beside records, can point at its own dir/repo), and RDR_ENV
/ RDR_RESOURCES (the path-map + evidence-index data files).
RDRs are indexed per project. Each consumer keeps its RDR instances in its own
repo (the engine never holds them), and that consumer's README carries the
authoritative Status/Priority table, co-located with the RDR files it lists —
e.g. a cli/README.md listing a cli/ RDR set.
This README is the cross-project process manual for authoring RDRs: the workflow, finalization gate, pre-lock review rounds, and post-mortem process below apply to every project's RDRs regardless of which index lists them.
Semantic (vector) and full-text (keyword) search across indexed corpora via the arc CLI. Dual-indexes PDFs, markdown, and source code into Qdrant + MeiliSearch with AST-aware chunking, frontmatter, and git metadata. Use full-text for exact symbols/phrases and semantic for conceptual queries — both are first-class. Requires Bash(arc:*) permission.
npx claudepluginhub cwensel/rdr --plugin rdrA growing collection of Claude-compatible academic workflow bundles. Covers scientific figures, manuscript writing and polishing, reviewer assessment, citation retrieval, data availability, paper reading, literature search, response letters, paper-to-PPTX conversion, and evidence-grounded Chinese invention patent drafting. Rules are organized as reusable skill folders with explicit workflows and quality checks.
Harness-native ECC plugin for engineering teams - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses
Comprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
UI/UX design intelligence. 67 styles, 161 palettes, 57 font pairings, 25 charts, 15 stacks (React, Next.js, Vue, Svelte, Astro, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, Nuxt, Jetpack Compose). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.