Skip to main content

reweave

Update old notes with new connections. The backward pass that /reflect doesn't do. Revisit existing notes that predate newer related content, add connections, sharpen claims, consider splits. Triggers on "/reweave", "/reweave [note]", "update old notes", "backward connections", "revisit notes".

Source facts

Repository
agenticnotetaking/arscontexta
Last source activity
February 17, 2026 at 21:44
Detected SKILL.md language
English
Stars
3,518
Forks
233

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
reweave
description
Update old notes with new connections. The backward pass that /reflect doesn't do. Revisit existing notes that predate newer related content, add connections, sharpen claims, consider splits. Triggers on "/reweave", "/reweave [note]", "update old notes", "backward connections", "revisit notes".
user-invocable
true
allowed-tools
Read, Write, Edit, Grep, Glob, Bash, mcp__qmd__search, mcp__qmd__vector_search, mcp__qmd__deep_search, mcp__qmd__status
context
fork
## Runtime Configuration (Step 0 — before any processing) Read these files to configure domain-specific behavior: 1. **`ops/derivation-manifest.md`** — vocabulary mapping, platform hints - Use `vocabulary.notes` for the notes folder name - Use `vocabulary.note` / `vocabulary.note_plural` for note type references - Use `vocabulary.reweave` for the process verb in output - Use `vocabulary.topic_map` / `vocabulary.topic_map_plural` for MOC references - Use `vocabulary.cmd_verify` for the next-phase suggestion 2. **`ops/config.yaml`** — processing depth, pipeline chaining - `processing.depth`: deep | standard | quick - `processing.chaining`: manual | suggested | automatic - `processing.reweave.scope`: related | broad | full If these files don't exist, use universal defaults. **Processing depth adaptation:** | Depth | Reweave Behavior | |-------|-----------------| | deep | Full reconsideration. Search extensively for newer related {vocabulary.note_plural}. Consider splits, rewrites, challenges. Evaluate claim sharpening. Multiple search passes. | | standard | Balanced review. Search semantic neighbors and same-{vocabulary.topic_map} {vocabulary.note_plural}. Add connections, sharpen if needed. | | quick | Minimal backward pass. Add obvious connections only. No rewrites or splits. | **Reweave scope:** | Scope | Behavior | |-------|----------| | related | Search {vocabulary.note_plural} directly related to the target (same {vocabulary.topic_map}, semantic neighbors) | | broad | Search across all {vocabulary.topic_map_plural} and semantic space for potential connections | | full | Complete review including potential splits, rewrites, and claim challenges | ## EXECUTE NOW **Target: $ARGUMENTS** Parse immediately: - If target contains `[[note name]]` or note name: reweave that specific {vocabulary.note} - If target contains `--handoff`: output RALPH HANDOFF block at end - If target is empty: find {vocabulary.note_plural} that most need reweaving (oldest, sparsest, most outdated) - If target is "recent" or "--since Nd": reweave {vocabulary.note_plural} not touched in N days - If target is "sparse": find {vocabulary.note_plural} with fewest connections **Execute these steps:** 1. **Read the target {vocabulary.note} fully** — understand its current claim, connections, and age 2. **Ask the reweave question:** "If I wrote this {vocabulary.note} today, with everything I now know, what would be different?" 3. **If a task file exists** (pipeline execution): read it to see what /reflect discovered. The Reflect section shows which connections were just added and which {vocabulary.topic_map_plural} were updated — this is your starting context for the backward pass. 4. **Search for newer related {vocabulary.note_plural}** — use dual discovery (semantic search + {vocabulary.topic_map} browsing) to find {vocabulary.note_plural} created AFTER the target that should connect 5. **Evaluate what needs changing:** - Add connections to newer {vocabulary.note_plural} that did not exist when this was written - Sharpen the claim if understanding has evolved - Consider splitting if the {vocabulary.note} now covers what should be separate ideas - Challenge the claim if new evidence contradicts it - Rewrite prose if understanding is deeper now 6. **Make the changes** — edit the {vocabulary.note} with new connections (inline links with context), improved prose, sharper claim if needed 7. **Update {vocabulary.topic_map_plural}** — if the {vocabulary.note}'s topic membership changed, update relevant {vocabulary.topic_map_plural} 8. **If task file exists:** update the {vocabulary.reweave} section 9. **Report** — structured summary of what changed and why 10. If `--handoff` in target: output RALPH HANDOFF block **START NOW.** Reference below explains methodology — use to guide, not as output. --- # Reweave Revisit old {vocabulary.note_plural} with everything you know today. {vocabulary.note_plural} are living documents — they grow, get rewritten, split apart, sharpen their claims. This is the backward pass that keeps the network alive. ## Philosophy **{vocabulary.note_plural} are living documents, not finished artifacts.** A {vocabulary.note} written last month was written with last month's understanding. Since then: - New {vocabulary.note_plural} exist that relate to it - Understanding of the topic deepened - The claim might need sharpening or challenging - What was one idea might now be three - Connections that were not obvious then are obvious now Reweaving is not just "add backward links." It is completely reconsidering the {vocabulary.note} based on current knowledge. Ask: **"If I wrote this {vocabulary.note} today, what would be different?"** > "The {vocabulary.note} you wrote yesterday is a hypothesis. Today's knowledge is the test." ## What Reweaving Can Do | Action | When to Do It | |--------|---------------| | **Add connections** | Newer {vocabulary.note_plural} exist that should link here | | **Rewrite content** | Understanding evolved, prose should reflect it | | **Sharpen the claim** | Title is too vague to be useful | | **Split the {vocabulary.note}** | Multiple claims bundled together | | **Challenge the claim** | New evidence contradicts the original | | **Improve the description** | Better framing emerged | | **Update examples** | Better illustrations exist now | Reweaving is NOT just Phase 4 of /reflect applied backward. It is a full reconsideration. ## Invocation Patterns ### /reweave [[note]] Fully reconsider a specific {vocabulary.note} against current knowledge. ### /reweave (no argument) Scan for candidates needing reweaving, present ranked list. ### /reweave --sparse Process {vocabulary.note_plural} flagged as sparse by /health. ### /reweave --since Nd Reweave all {vocabulary.note_plural} not updated in N days. **How to find candidates:** ```bash # Find notes not modified in 30 days find {vocabulary.notes}/ -name "*.md" -mtime +30 -type f ``` ### /reweave --handoff [[note]] External loop mode for /ralph: - Execute full workflow as normal - At the end, output structured RALPH HANDOFF block - Used when running isolated phases with fresh context per task --- ## Workflow ### Phase 1: Understand the {vocabulary.note} as It Exists Read the target {vocabulary.note} completely. Understand: - What claim does it make? - What reasoning supports the claim? - What connections does it have? - When was it written/last modified? - What was the context when it was created? **Also read the task file** if one exists (pipeline execution). The task file's Reflect section shows: - What connections /reflect just added - Which {vocabulary.topic_map_plural} were updated - What synthesis opportunities were flagged - What the discovery trace looked like This context prevents redundant work — you know what /reflect already found, so you can focus on what it missed or what needs deeper reconsideration. ### Phase 2: Gather Current Knowledge (Dual Discovery) Use the same dual discovery pattern as /reflect — {vocabulary.topic_map} exploration AND semantic search in parallel. **Path 1: {vocabulary.topic_map} Exploration** — curated navigation From the {vocabulary.note}'s Topics footer, identify which {vocabulary.topic_map}(s) it belongs to: - Read the relevant {vocabulary.topic_map}(s) - What synthesis exists that might affect this {vocabulary.note}? - What newer {vocabulary.note_plural} in Core Ideas should this {vocabulary.note} reference? - What tensions involve this {vocabulary.note}? **Path 2: Semantic Search** — find what {vocabulary.topic_map_plural} might miss **Three-tier fallback for semantic search:** **Tier 1 — MCP tools (preferred):** Use `mcp__qmd__deep_search` (hybrid search with expansion + reranking): - query: "[{vocabulary.note}'s core concepts and mechanisms]" - limit: 15 **Tier 2 — bash qmd with lock serialization:** If MCP tools fail or are unavailable: ```bash LOCKDIR="ops/queue/.locks/qmd.lock" while ! mkdir "$LOCKDIR" 2>/dev/null; do sleep 2; done qmd query "[note's core concepts]" --collection {vocabulary.notes_collection} --limit 15 2>/dev/null rm -rf "$LOCKDIR" ``` The lock prevents multiple parallel workers from loading large models simultaneously. **Tier 3 — grep only:** If both MCP and bash fail, log "qmd unavailable, grep-only discovery" and rely on {vocabulary.topic_map} + keyword search only. This degrades quality but does not block work. Evaluate results by relevance — read any result where title or snippet suggests genuine connection. **Also check:** - Backlinks — what {vocabulary.note_plural} already reference this one? Do they suggest the target should cite back? ```bash grep -rl '\[\[target note title\]\]' {vocabulary.notes}/ --include="*.md" ``` **Key question:** What do I know today that I did not know when this {vocabulary.note} was written? ### Phase 3: Evaluate the Claim **Does the original claim still hold?** | Finding | Action | |---------|--------| | Claim holds, evidence strengthened | Add supporting connections | | Claim holds but framing is weak | Rewrite for clarity | | Claim is too vague | Sharpen to be more specific | | Claim is too broad | Split into focused {vocabulary.note_plural} | | Claim is partially wrong | Revise with nuance | | Claim is contradicted | Flag tension, propose revision | **The Sharpening Test:** Read the title. Ask: could someone disagree with this specific claim? - If yes, the claim is sharp enough - If no, it is too vague and needs sharpening Example: - Vague: "context matters" (who would disagree?) - Sharp: "explicit context beats automatic memory" (arguable position) **The Split Test:** Does this {vocabulary.note} make multiple claims that could stand alone? - If the {vocabulary.note} connects to 5+ topics across different domains, it probably needs splitting - If you would want to link to part of it but not all, it is a split candidate ### Phase 4: Evaluate Connections **Backward connections (what this {vocabulary.note} should reference):** For each newer {vocabulary.note}, ask: - Does it extend this {vocabulary.note}'s argument? - Does it provide evidence or examples? - Does it share mechanisms? - Does it create tension worth acknowledging? - Would referencing it strengthen the reasoning? **Forward connections (what should reference this {vocabulary.note}):** Check newer {vocabulary.note_plural} that SHOULD link here but do not: - Do they make arguments that rely on this claim? - Would following this link provide useful context? **Agent Traversal Check (apply to all connections):** Ask: **"If an agent follows this link during traversal, what decision or understanding does it enable?"** Connections exist to serve agent navigation. Adding a link because content is "related" without operational value creates noise. Every backward or forward connection should answer: - Does this help an agent understand WHY something works? - Does this help an agent decide HOW to implement something? - Does this surface a tension the agent should consider? Reject connections that are merely "interesting" without agent utility. **Articulation requirement:** Every new connection must articulate WHY: - "extends this by adding the temporal dimension" - "provides evidence that supports this claim" - "contradicts this — needs resolution" Never: "related" or "see also" ### Phase 5: Apply Changes **For pipeline execution (--handoff mode):** Apply changes directly. The pipeline needs to proceed without waiting for approval. **For interactive execution (no --handoff):** Present the reweave proposal first, then apply after approval. **Reweave proposal format (interactive only):** ```markdown ## Reweave Proposal: [[target note]] **Last modified:** YYYY-MM-DD **Current knowledge evaluated:** N newer {vocabulary.note_plural}, M backlinks ### Claim Assessment [Does the claim hold? Need sharpening? Splitting? Revision?] ### Proposed Changes **1. [change type]: [description]** Current: > [existing text] Proposed: > [new text] Rationale: [why this change] **2. [change type]: [description]** ... ### Connections to Add - [[newer note A]] — [relationship]: [specific reason] - [[newer note B]] — [relationship]: [specific reason] ### Connections to Verify (other {vocabulary.note_plural} should link here) - [[note X]] might benefit from referencing this because... ### Not Changing - [What was considered but rejected, and why] --- Apply these changes? (yes/no/modify) ``` **When applying changes:** 1. Make changes atomically 2. Preserve existing valid content 3. Maintain prose flow — new links should read naturally inline 4. Verify all link targets exist 5. Update description if claim changed --- ## The Five Reweave Actions ### 1. Add Connections The simplest action. Newer {vocabulary.note_plural} exist that should be referenced. **Inline connections (preferred):** ```markdown # before The constraint shifts from capture to curation. # after The constraint shifts from capture to curation, and since [[throughput matters more than accumulation]], the question becomes who does the selecting. ``` **Footer connections:** ```yaml relevant_notes: - "[[newer note]] — extends this by adding temporal dimension" ``` ### 2. Rewrite Content Understanding evolved. The prose should reflect current thinking, not historical thinking. **When to rewrite:** - Reasoning is clearer now - Better examples exist - Phrasing was awkward - Important nuance was missing **How to rewrite:** - Preserve the core claim (unless challenging it) - Improve the path to the conclusion - Incorporate new connections as prose - Maintain the {vocabulary.note}'s voice ### 3. Sharpen the Claim Vague claims cannot be built on. Sharpen means making the claim more specific and arguable. **Sharpening patterns:** | Vague | Sharp | |-------|-------| | "X is important" | "X matters because Y, which enables Z" | | "consider doing X" | "X works when [condition] because [mechanism]" | | "there are tradeoffs" | "[specific tradeoff]: gaining X costs Y" | **When sharpening, also update:** - Title (if claim changed) — use the rename script if available - Description (must match new claim) - Body (reasoning must support sharpened claim) ### 4. Split the {vocabulary.note} One {vocabulary.note} became multiple ideas over time. Splitting creates focused, composable pieces. **Split indicators:** - Connects to 5+ topics across different domains - Makes multiple distinct claims - You would want to link to part but not all - Different sections could be referenced independently **Split process:** 1. Identify the distinct claims 2. Create new {vocabulary.note_plural} for each claim 3. Each new {vocabulary.note} gets: - Focused title (the claim) - Own description - Relevant subset of content - Appropriate connections 4. Original {vocabulary.note} either: - Becomes a synthesis linking to the splits - Gets archived if splits fully replace it - Retains one claim and links to others **Example split:** Original: "knowledge systems need both structure and flexibility" Splits: - [[structure enables retrieval at scale]] - [[flexibility allows organic growth]] - [[structure and flexibility create tension]] (links to both) **When NOT to split:** - {vocabulary.note} is genuinely about one thing that touches many areas - Connections are all variations of the same relationship - Splitting would create {vocabulary.note_plural} too thin to stand alone ### 5. Challenge the Claim New evidence contradicts the original. Do not silently "fix" — acknowledge the evolution. **Challenge patterns:**
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub