From nx
Use when starting a new research-design-review document to think through a technical decision
npx claudepluginhub hellblazer/nexus --plugin nxThis skill uses the workspace's default tool permissions.
- User says "create an RDR", "new RDR", "start an RDR"
Creates Architecture Decision Records (ADRs) with title, status, and MADR/basic/extended templates. Auto-numbers sequentially, prompts for context/options/rationale, writes to docs/decisions/ or docs/adr/.
Records finalized software decisions as ADRs (optionally with rules/guides) or open proposals as RFCs. Routes based on intent like 'we decided X' or 'proposing Y'; checks existing docs first.
Share bugs, ideas, or general feedback.
/nx:rdr-createPrompt the user for:
Read the RDR base directory from .nexus.yml indexing.rdr_paths[0]; default docs/rdr:
python3 -c "
import os, re, sys
f = '.nexus.yml'
if not os.path.exists(f): print('docs/rdr'); sys.exit()
t = open(f).read()
try:
import yaml; d = yaml.safe_load(t) or {}; paths = (d.get('indexing') or {}).get('rdr_paths', ['docs/rdr']); print(paths[0] if paths else 'docs/rdr')
except ImportError:
m = re.search(r'rdr_paths[^\[]*\[([^\]]+)\]', t) or re.search(r'rdr_paths:\s*\n\s+-\s*(.+)', t)
v = m.group(1) if m else ''; parts = re.findall(r'[a-z][a-z0-9/_-]+', v)
print(parts[0] if parts else 'docs/rdr')
" 2>/dev/null || echo "docs/rdr"
Use this value as RDR_DIR throughout all steps below (wherever docs/rdr appears).
If $RDR_DIR does not exist:
$RDR_DIR/ and $RDR_DIR/post-mortem/ directories$CLAUDE_PLUGIN_ROOT/resources/rdr/TEMPLATE.md to $RDR_DIR/TEMPLATE.md$CLAUDE_PLUGIN_ROOT/resources/rdr/post-mortem/TEMPLATE.md to $RDR_DIR/post-mortem/TEMPLATE.md$RDR_DIR/README.md from $CLAUDE_PLUGIN_ROOT/resources/rdr/README-TEMPLATE.mdIf $CLAUDE_PLUGIN_ROOT is not available, use the templates inline (they are embedded below in the Templates section).
Scan $RDR_DIR/ for files matching [0-9][0-9][0-9]-*.md. Find the highest number. Next ID = max + 1, zero-padded to 3 digits. If no files exist, start at 001.
Derive project prefix from repo name:
basename $(git rev-parse --show-toplevel) | tr '[:lower:]' '[:upper:]' | tr -cd '[:alnum:]' | head -c 3
Example: nexus → NEX, arcaneum → ARC, nx-tools → NXT (hyphens stripped)
Create $RDR_DIR/NNN-kebab-case-title.md from the template with these metadata fields pre-filled:
Replace [NUMBER] with the assigned ID and [TITLE] with the user's title.
mcp__plugin_nx_nexus__memory_put(content="id: NNN\nprefix: PREFIX\ntitle: User's Title\nstatus: Draft\ntype: Feature\npriority: Medium\ncreated: YYYY-MM-DD\ngated: \nclosed: \nclose_reason: \nsuperseded_by: \nsupersedes: \nepic_bead: \narchived: false\nfile_path: $RDR_DIR/NNN-kebab-title.md", project="{repo}_rdr", title="{NNN}", ttl="permanent", tags="rdr,{type}"
Read all T2 records for {repo}_rdr project via memory_get tool: project="{repo}_rdr", title="". If T2 is empty (first create before T2 write completes), also scan filesystem frontmatter. Generate the index table and update $RDR_DIR/README.md.
git add $RDR_DIR/NNN-kebab-title.md $RDR_DIR/README.md
If bootstrap ran, also stage: $RDR_DIR/TEMPLATE.md, $RDR_DIR/post-mortem/TEMPLATE.md
Print:
Created RDR PREFIX-NNN: "Title"
File: docs/rdr/NNN-kebab-title.md
Status: Draft
Next: Fill in Problem Statement and Context, then use /nx:rdr-research to add findings.
.nexus.yml indexing.rdr_paths[0] (default docs/rdr)$RDR_DIR/NNN-kebab-title.md with correct metadata{repo}_rdr project with all required fields$RDR_DIR/README.md index regenerated with new entrygit addThis skill produces outputs directly (no agent delegation):
/nx:rdr-close)docs/rdr/NNN-kebab-title.md, updated docs/rdr/README.mdSession Scratch (T1): Use scratch tool for ephemeral working notes if the creation involves multiple prompts or complex ID assignment. Flagged items auto-promote to T2 at session end.
/nx:rdr-close)/nx:rdr-gate)nx index rdr (user can do this manually or it happens at gate/close)