Skip to main content

rivet-harvest

Capture decisions and requirements from conversation history. Use when user says "harvest", "capture decisions", or "save what we discussed" to persist architectural decisions into .rivet/systems.yaml.

Quellinformationen

Repository
ratacat/rivet
Letzte Quellaktivität
9. Januar 2026 um 05:23
Erkannte Sprache von SKILL.md
Englisch
Sterne
1
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
rivet-harvest
description
Capture decisions and requirements from conversation history. Use when user says "harvest", "capture decisions", or "save what we discussed" to persist architectural decisions into .rivet/systems.yaml.
user-invocable
true
allowed-tools
Bash, Read, Glob, Grep, Edit, Write, AskUserQuestion
# Rivet Harvest - Extract Decisions from Transcripts Capture architectural decisions, requirements, and terminology from Claude Code conversation history and add them to .rivet/systems.yaml. ## Purpose During AI-assisted development, valuable decisions get made in conversation: - "We should use async-first for scale" - "The Router must support nested routes" - "Let's call this concept 'vibe coding'" These decisions are valuable but ephemeral. Harvest extracts them and locks them into .rivet/systems.yaml so they persist. ## Prerequisites - .rivet/systems.yaml must exist with at least one system defined - Run scan first if no .rivet/systems.yaml exists ## What to Extract ### Requirements Statements about what a system MUST do: - "must support X" - "needs to handle Y" - "should always Z" ### Decisions Architectural choices made during development: - "we're going with X approach" - "decided to use Y for Z" - "async-first for scale" ### Terminology New terms or concepts defined: - "let's call this X" - "X means Y in this codebase" - Glossary entries ## Harvest Process ### Step 1: Read Current .rivet/systems.yaml ```bash cat .rivet/systems.yaml ``` Understand existing systems so extracted items can be assigned correctly. ### Step 2: Locate Transcript History Claude Code stores transcripts in `~/.claude/projects/<project-hash>/`. ```bash # Find recent transcripts for this project ls -lt ~/.claude/projects/*/transcripts/ 2>/dev/null | head -20 ``` ### Step 3: Parse Transcripts Look for patterns indicating decisions, requirements, or terminology: **Requirement patterns:** - "must", "should", "needs to", "has to", "required" - Context: usually follows discussion of a system or feature **Decision patterns:** - "decided", "going with", "we'll use", "chosen", "approach" - Context: usually resolves a discussion or comparison **Terminology patterns:** - "let's call", "we define", "means", "refers to" - Context: naming or concept clarification ### Step 4: Present Extracted Items Show the user what was found: ``` Found 5 potential items to harvest: Requirements: 1. [Router] must support nested routes 2. [API] needs to handle rate limiting Decisions: 3. [Router] async-first approach for scale 4. [Database] PostgreSQL over SQLite Terminology: 5. vibe_coding: AI handles implementation while human guides Which items should be added to .rivet/systems.yaml? (comma-separated numbers, or 'all') ``` ### Step 5: Assign to Systems For each selected item, confirm or reassign the target system: ``` Item: "must support nested routes" Detected system: Router [Enter] to confirm, or type system name to reassign: ``` ### Step 6: Write to .rivet/systems.yaml Add extracted items to the appropriate systems: ```yaml systems: Router: description: URL routing and navigation requirements: - must support nested routes decisions: - async-first approach for scale ``` Add glossary terms to the project level: ```yaml glossary: vibe_coding: AI handles implementation while human guides ``` ## Usage ``` /rivet-harvest ``` The skill will: 1. Check for .rivet/systems.yaml (fail if missing) 2. Scan recent transcripts 3. Extract potential items 4. Present interactive selection 5. Write selected items to .rivet/systems.yaml ## Notes - Items are deduplicated against existing .rivet/systems.yaml entries - Each harvest is atomic - all selected items written in one commit - Git auto-commits changes with descriptive message
Auf GitHub ansehen