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.

Datos de origen

Repositorio
ratacat/rivet
Última actividad en el origen
9 de enero de 2026 a las 05:23
Idioma detectado de SKILL.md
inglés
Estrellas
1
Forks
0

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
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
Ver en GitHub