Zarządzanie i produkt · Planowanie
rdr-create
/rdr-create
Zakłada nowy dokument przeglądu badawczo-projektowego, aby przemyśleć decyzję techniczną przed wdrożeniem.
- Autor
- hellblazer ↗
- Repozytorium
- nexus ↗
- Licencja
- AGPL-3.0
- Ostatnia zmiana repozytorium
- 26.10.2026
Ocena i bezpieczeństwo
98/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena13 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Przestarzałość
Brak sygnałów. Repozytorium zmienione 26.10.2026, bez odwołań do wycofanych modeli i API.
Licencja
AGPL-3.0, copyleft: przeróbki udostępniane innym muszą mieć tę samą licencję.
Co robi i kiedy
Zakłada nowy dokument przeglądu badawczo-projektowego, aby przemyśleć decyzję techniczną przed wdrożeniem.
Oryginalny opis (EN)
Use when starting a new research-design-review document to think through a technical decision
Jak działa
- When This Skill Activates
- Inputs
- Behavior
- Success Criteria
- Agent-Specific PRODUCE
- Does NOT
Sekcje z nagłówków SKILL.md, w oryginale · 157 linii, 1 047 słów
Podgląd SKILL.md
---
name: rdr-create
description: Use when starting a new research-design-review document to think through a technical decision
effort: medium
---
# RDR Create Skill
## When This Skill Activates
Prose follows `resources/rdr/REGISTER.md`: written for a smart reader who may not know this project's jargon; simplified, never simplistic; jargon defined on first use. Each lifecycle stage has a named reader there; write the RDR for the create-stage reader.
- User says "create an RDR", "new RDR", "start an RDR"
- User invokes `/conexus:rdr-create`
- User wants to think through a technical decision — before, during, or after building
## Inputs
Prompt the user for:
- **Title** (required): e.g., "Bulk PDF Indexing with OCR Support"
- **Type** (optional, default: Feature): Feature | Bug Fix | Technical Debt | Framework Workaround | Architecture
- **Priority** (optional, default: Medium): High | Medium | Low
- **Related issues** (optional): bead IDs or URLs
## Behavior
### Step 0: Resolve RDR directory
Read the RDR base directory from `.nexus.yml` `indexing.rdr_paths[0]`; default `docs/rdr`:
```bash
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).
### Step 1: Bootstrap (first use only)
If `$RDR_DIR` does not exist:
1. Create `$RDR_DIR/` and `$RDR_DIR/post-mortem/` directories
2. Copy RDR template from `$CLAUDE_PLUGIN_ROOT/resources/rdr/TEMPLATE.md` to `$RDR_DIR/TEMPLATE.md`
3. Copy post-mortem template from `$CLAUDE_PLUGIN_ROOT/resources/rdr/post-mortem/TEMPLATE.md` to `$RDR_DIR/post-mortem/TEMPLATE.md`
4. Create `$RDR_DIR/README.md` from `$CLAUDE_PLUGIN_ROOT/resources/rdr/README-TEMPLATE.md`
If `$CLAUDE_PLUGIN_ROOT` is not available, use the templates inline (they are embedded below in the Templates section).
> **Gap convention** (enforced at `/conexus:rdr-gate` Layer 1 for post-65 RDRs): the `## Problem Statement` (or `## Problem`) section must contain one or more `#### Gap N: <title>` headings (regex: `^#{3,5} Gap \d+:`). Fill these in during drafting — the template scaffolds `Gap 1` and `Gap 2` placeholders. Replacing the Problem Statement with free-form prose and removing the gap headings will fail the gate. Authors can override with `/conexus:rdr-gate <id> --skip-gaps` when the gap structure truly does not fit (audit-trail escape only; prefer adding real gap headings).
### Step 1b: Ensure the prose register is present (every invocation)
If `$RDR_DIR/REGISTER.md` does not exist, copy it from `$CLAUDE_PLUGIN_ROOT/resources/rdr/REGISTER.md`. This runs on EVERY invocation, not only at bootstrap: repos onboarded before the register existed never re-run bootstrap, and the pointer lines across the rdr-* surfaces assume the file is there. Idempotent: present means untouched.
### Step 2: Assign ID
Run `nx rdr preamble rdr-create`. Take the `Next ID:` it prints; it also prints
`ID style detected:` for the repo's filename convention. It skips numbers held by
any branch, another worktree or a T2 record and lists them; if it says the holder
scan is incomplete, check those sources yourself before trusting the number.
Before Step 3, confirm the number is free in T2: `memory_put` upserts by (project,
title), so writing a held number's record silently replaces it (nexus-3piej). Call
`mcp__plugin_conexus_nexus__memory_get(project="{repo}_rdr", title="{NNN}")`. Only a
"not found" answer means free. Any record, and an "Ambiguous title prefix" answer
(rows such as `{NNN}-research-1` exist), means another RDR holds the number: re-run
the preamble and take a higher number, then check again.
Never hand-scan with a fixed glob. `[0-9][0-9][0-9]-*.md` requires a filename to
begin with three digits and matches none of nexus's 217 `rdr-NNN-*.md` files, so
it falls through to `001` and collides with RDR-001.
Preamble unavailable: extract from the real filenames, and start at `001` only if
that returns nothing.
```bash
ls "$RDR_DIR" | sed -nE 's/.*([0-9]{3}).*\.md/\1/p' | sort -n | tail -1
```
Derive project prefix from repo name:
```bash
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)
### Step 3: Create RDR file
Create `$RDR_DIR/NNN-kebab-case-title.md` from the template with these metadata fields pre-filled:
- **Date**: today's date (YYYY-MM-DD)
- **Status**: Draft
- **Type**: user's choice
- **Priority**: user's choice
- **Related Issues**: user's input (if any)
Replace `[NUMBER]` with the assigned ID and `[TITLE]` with the user's title.
### Step 4: Write T2 record
Only for a number Step 2 confirmed free in T2:
mcp__plugin_conexus_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}", tags="rdr,{type}" # omit ttl (memory_put's ttl is int|None; permanent by omission)
### Step 5: Regenerate README index
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`.
### Step 6: Stage files
```bash
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`
If Step 1b copied the register, also stage: `$RDR_DIR/REGISTER.md`
### Output
Print:
```
Created RDR PREFIX-NNN: "Title"
File: docs/rdr/NNN-kebab-title.md
Status: Draft
Next: Fill in Problem Statement and Context, then use /conexus:rdr-research to add findings.
```
## Success Criteria
- [ ] RDR directory resolved from `.nexus.yml` `indexing.rdr_paths[0]` (default `docs/rdr`)
- [ ] RDR file created at `$RDR_DIR/NNN-kebab-title.md` with correct metadata
- [ ] Sequential ID assigned (no collisions with existing RDRs)
- [ ] T2 record written to `{repo}_rdr` project with all required fields
- [ ] `$RDR_DIR/README.md` index regenerated with new entry
- [ ] Files staged via `git add`
- [ ] Bootstrap completed on first use (template and directory structure)
## Agent-Specific PRODUCE
This skill produces outputs directly (no agent delegation):
- **T3 knowledge**: Not produced at create time (archival happens at `/conexus:rdr-close`)
- **T2 memory**: RDR metadata record via memory_put tool: project="{repo}_rdr", title="{NNN}", tags="rdr,{type}" (omit `ttl`; permanent by omission)
- **T1 scratch**: Working notes during creation via scratch tool: action="put", content="RDR NNN: scaffolding", tags="rdr,create" (optional, for tracking multi-step creation)
- **Filesystem**: `docs/rdr/NNN-kebab-title.md`, updated `docs/rdr/README.md`
**Session 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.
## Does NOT
- Create beads (that happens at `/conexus:rdr-close`)
- Run validation (that happens at `/conexus:rdr-gate`)
- Commit (user decides when to commit)
- Run `nx index rdr` (user can do this manually or it happens at gate/close)
Wersje
W bazie nie ma innych skilli o nazwie rdr-create.
Migawka bazy z 28.10.2026 · wersja paczki f7b52dbeddbe (skrót SHA-256 całej paczki)
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100rdr-research
Dodaje, śledzi i weryfikuje ustrukturyzowane wyniki researchu dla aktywnego RDR. - 100rdr-show
Pokazuje szczegóły wybranego RDR: treść, wyniki researchu i powiązane beads. - 100strategic-sparring
Pomaga przemyśleć trudną decyzję biznesową i sprawdza pomysł jak sparingpartner, przy wyborach, które nie dają spać. - 100create-decision-document
Tworzy lub aktualizuje w Notion dokument decyzyjny z szablonem opcji, zalet, wad i rekomendacji, także jako dokument projektowy lub porównanie. - 100create-adr
Tworzy Architecture Decision Record dokumentujący decyzję techniczną i uzasadnienie wyboru podejścia.