From nx
Use when an RDR is done — close it with optional post-mortem, bead status gate, and T3 archival
npx claudepluginhub hellblazer/nexus --plugin nxThis skill uses the workspace's default tool permissions.
Gates on open bead status before closing. Optionally delegates post-mortem archival to the **knowledge-tidier** agent (haiku). See [registry.yaml](../../registry.yaml).
Finalizes task or workflow closeout by updating states, docs, release notes, and handoffs after hf-completion-gate approval when no new work remains.
Archives completed PRD files from active to archives directory with associated features and closure summary. Confirms status, handles partial completion, and checks knowledge base staleness in RP1 workflows.
Share bugs, ideas, or general feedback.
Gates on open bead status before closing. Optionally delegates post-mortem archival to the knowledge-tidier agent (haiku). See registry.yaml.
/nx:rdr-close003Resolve RDR directory from .nexus.yml indexing.rdr_paths[0]; default docs/rdr. Use the Step 0 snippet from the rdr-create skill, stored as RDR_DIR. All file paths below use $RDR_DIR in place of docs/rdr.
--force or explicit user confirmation to proceedAsk: "Did implementation diverge from the plan? If so, describe the divergences."
If diverged:
Create $RDR_DIR/post-mortem/NNN-kebab-title.md from the post-mortem template. Populate:
If T2 record has an epic_bead field (set during accept-time planning):
/beads:show <epic-id> to get child bead statusesIf T2 record has no epic_bead field (user skipped planning at accept time):
HARD GATE — if ANY open or in-progress beads exist:
Update T2 record: mcp__plugin_nx_nexus__memory_put(content="... (same fields, status: Implemented, closed: YYYY-MM-DD, close_reason: Implemented, archived: true)", project="{repo}_rdr", title="NNN", ttl="permanent", tags="rdr,{type},closed"
If T3 archive fails, set archived: false — retryable by re-running /nx:rdr-close
Update status in RDR markdown metadata
Regenerate docs/rdr/README.md index
Run nx index rdr to update T3 semantic index
After nx index rdr in Step 4, the RDR has a catalog entry. Create links to capture implementation provenance:
Code→RDR links: The indexer hook auto-generates implements-heuristic links via title substring matching. These are created automatically — no action needed here.
RDR→prior-RDR links: If the RDR's T2 record has a supersedes field, create the catalog link:
mcp__plugin_nx_nexus__catalog_link(from_tumbler="<this-rdr-title>", to_tumbler="<superseded-rdr-title>", link_type="supersedes", created_by="rdr-close")
RDR→research links: If research findings reference indexed papers, create cites links:
mcp__plugin_nx_nexus__catalog_search(query="<source>")mcp__plugin_nx_nexus__catalog_link(from_tumbler="<rdr-title>", to_tumbler="<paper-tumbler>", link_type="cites", created_by="rdr-close")Skip all catalog steps silently if catalog is not initialized. The T2 record and markdown are the authorities — catalog links are supplementary graph enrichment.
The main RDR is already semantically indexed by Step 4's nx index rdr (CCE embeddings, section-level chunks). Do not duplicate it with store_put tool — that would create voyage-4 blob entries in the same collection, degrading search quality.
If a post-mortem exists, archive it to a separate collection (using the exact file path from Step 2, not a glob): mcp__plugin_nx_nexus__store_put(content=(contents of $RDR_DIR/post-mortem/NNN-kebab-title.md), collection="knowledge__rdr_postmortem__{repo}", title="PREFIX-NNN Title (post-mortem)", tags="rdr,post-mortem,{drift-categories}"
Dispatch knowledge-tidier agent for post-mortem archival if the post-mortem contains substantial divergence analysis that benefits from knowledge organization.
nx index rdr to update T3 semantic index (research findings are valuable even for failed RDRs)knowledge__rdr_postmortem__{repo} (if created)superseded_by: "NNN". In markdown, add "Superseded by RDR-NNN" notesupersedes: "MMM". In markdown, add "Supersedes RDR-MMM" notenx index rdr to update T3 semantic indexsupersedes link in the catalog so the graph reflects the relationship:
# Find both RDRs by title in catalog
mcp__plugin_nx_nexus__catalog_link(from_tumbler="<new-rdr-title>", to_tumbler="<old-rdr-title>", link_type="supersedes", created_by="rdr-close")
If catalog is not initialized or either RDR is not found, skip silently — the T2 record is the authority.The close operation performs multiple state mutations. If any step fails:
archived flag tracks whether T3 archival succeeded/nx:rdr-close is idempotent: checks T2 state and skips completed stepsWhen dispatching the knowledge-tidier agent via Agent tool for post-mortem archival, use this exact structure:
## Relay: knowledge-tidier
**Task**: Archive RDR NNN post-mortem to T3 with drift classification metadata.
**Bead**: none
### Input Artifacts
- nx store: [prior archived RDRs or "none"]
- nx memory: {repo}_rdr/NNN (status, research records, close metadata)
- nx scratch: [scratch IDs or "none"]
- Files: docs/rdr/post-mortem/NNN-kebab-title.md
### Deliverable
Post-mortem archived to `knowledge__rdr_postmortem__{repo}` with drift categories as tags.
### Quality Criteria
- [ ] Post-mortem content fully archived to T3
- [ ] Tags include divergence/drift categories
- [ ] Title includes RDR prefix and ID
Required: All fields must be present. Agent will validate relay before starting.
For additional optional fields, see RELAY_TEMPLATE.md.
.nexus.yml indexing.rdr_paths[0] (default docs/rdr)nx index rdrknowledge__rdr_postmortem__{repo} (if exists)Outputs produced by this skill directly:
nx index rdr (CCE embeddings, section-level chunks)$RDR_DIR/post-mortem/NNN-kebab-title.md, updated READMEOutputs generated by the knowledge-tidier agent (post-mortem archival only):