opencode Claude Skill

minutes-ingest

Extract facts from meetings and update your knowledge base — person profiles, chronological log, and index. Use when the user asks "ingest my meetings", "update my knowledge base", "extract facts from meetings", "sync meetings to wiki", "backfill knowledge", or wants their PARA/O

LLM Mart · 0 points · 17 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download silverstein-minutes-.opencode_skills_minutes-ingest-e56450a.zip · 1 KB
Part of silverstein/minutes — 155 skills

Install

skills CLI npx skills add https://github.com/silverstein/minutes/tree/main/.opencode/skills/minutes-ingest
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install silverstein-minutes@llmmart
Git git clone https://github.com/silverstein/minutes.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole silverstein/minutes collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

/minutes-ingest

Process meetings through the knowledge extraction pipeline to update person profiles, append to the knowledge log, and maintain the index.

Prerequisites

The [knowledge] section must be configured in ~/.config/minutes/config.toml:

[knowledge]
enabled = true
path = "/path/to/knowledge/base"
adapter = "wiki"  # or "para", "obsidian"
engine = "none"   # or "agent" for LLM extraction
min_confidence = "strong"

If not configured, explain what's needed and offer to help set it up.

How to run

Single meeting

minutes ingest ~/meetings/2026-04-03-strategy-call.md

All normal meetings (backfill)

minutes ingest --all

Preview without writing (recommended first time)

minutes ingest --all --dry-run

What it does

  1. Reads each meeting's YAML frontmatter (decisions, action_items, entities, intents)
  2. Extracts structured facts with confidence levels and source provenance
  3. Updates person profiles in the knowledge base (adapter-dependent format)
  4. Appends to log.md with a timestamped entry for each ingested meeting
  5. Skips facts that already exist (deduplication) or are below the confidence threshold
  6. Excludes meetings designated sensitivity: restricted from automated knowledge-base ingestion

Safety guarantees

  • engine = "none" (default): Only extracts from parsed YAML frontmatter. No LLM involved, zero hallucination risk.
  • Confidence thresholds: Facts below min_confidence are counted as "skipped" but never written.
  • Provenance: Every fact records which meeting it came from and when.
  • Deduplication: Facts whose text already appears in a person's profile are skipped.
  • Dry-run: Always suggest --dry-run first if the user hasn't used ingest before.

Interpreting the output

Ingesting 73 meeting(s) into knowledge base at /path/to/kb
  2026-04-03-strategy.md — 4 written, 1 skipped — Mat, Dan
  2026-04-05-standup.md — 2 written, 0 skipped — Alice
  SKIP 2026-03-18-test.md: no frontmatter

Done. 6 fact(s) written, 1 skipped, 1 error(s), 3 people updated.
  • written: facts that passed confidence threshold and didn't already exist
  • skipped: facts below confidence threshold (logged, not written)
  • SKIP: files that couldn't be parsed (no frontmatter, invalid YAML, etc.)

Gotchas

  • Meetings without summarization have no structured data — If a meeting was recorded before summarization was enabled, its frontmatter won't have action_items or decisions. The ingest will correctly extract 0 facts. This is expected, not an error.
  • engine = "agent" requires an AI CLI — If the user wants richer LLM-based extraction from transcript body text, they need claude, codex, gemini, opencode, or pi on PATH.
  • PARA adapter writes items.json — If the user's knowledge base uses the PARA format, facts go into areas/people/{slug}/items.json with atomic fact schema (id, status, supersededBy).
  • First run should be dry-run — Always suggest minutes ingest --all --dry-run before the first real run so the user can see what would be extracted.
Files (minutes)
  • SKILL.md 3.5 KB
    ---
    name: minutes-ingest
    description: Extract facts from meetings and update your knowledge base — person profiles, chronological log, and index. Use when the user asks "ingest my meetings", "update my knowledge base", "extract facts from meetings", "sync meetings to wiki", "backfill knowledge", or wants their PARA/Obsidian/wiki profiles updated from conversation data.
    compatibility: opencode
    ---
    
    # /minutes-ingest
    
    Process meetings through the knowledge extraction pipeline to update person profiles, append to the knowledge log, and maintain the index.
    
    ## Prerequisites
    
    The `[knowledge]` section must be configured in `~/.config/minutes/config.toml`:
    
    ```toml
    [knowledge]
    enabled = true
    path = "/path/to/knowledge/base"
    adapter = "wiki"  # or "para", "obsidian"
    engine = "none"   # or "agent" for LLM extraction
    min_confidence = "strong"
    ```
    
    If not configured, explain what's needed and offer to help set it up.
    
    ## How to run
    
    ### Single meeting
    ```bash
    minutes ingest ~/meetings/2026-04-03-strategy-call.md
    ```
    
    ### All normal meetings (backfill)
    ```bash
    minutes ingest --all
    ```
    
    ### Preview without writing (recommended first time)
    ```bash
    minutes ingest --all --dry-run
    ```
    
    ## What it does
    
    1. **Reads** each meeting's YAML frontmatter (decisions, action_items, entities, intents)
    2. **Extracts** structured facts with confidence levels and source provenance
    3. **Updates** person profiles in the knowledge base (adapter-dependent format)
    4. **Appends** to `log.md` with a timestamped entry for each ingested meeting
    5. **Skips** facts that already exist (deduplication) or are below the confidence threshold
    6. **Excludes** meetings designated `sensitivity: restricted` from automated knowledge-base ingestion
    
    ## Safety guarantees
    
    - **`engine = "none"` (default)**: Only extracts from parsed YAML frontmatter. No LLM involved, zero hallucination risk.
    - **Confidence thresholds**: Facts below `min_confidence` are counted as "skipped" but never written.
    - **Provenance**: Every fact records which meeting it came from and when.
    - **Deduplication**: Facts whose text already appears in a person's profile are skipped.
    - **Dry-run**: Always suggest `--dry-run` first if the user hasn't used ingest before.
    
    ## Interpreting the output
    
    ```
    Ingesting 73 meeting(s) into knowledge base at /path/to/kb
      2026-04-03-strategy.md — 4 written, 1 skipped — Mat, Dan
      2026-04-05-standup.md — 2 written, 0 skipped — Alice
      SKIP 2026-03-18-test.md: no frontmatter
    
    Done. 6 fact(s) written, 1 skipped, 1 error(s), 3 people updated.
    ```
    
    - **written**: facts that passed confidence threshold and didn't already exist
    - **skipped**: facts below confidence threshold (logged, not written)
    - **SKIP**: files that couldn't be parsed (no frontmatter, invalid YAML, etc.)
    
    ## Gotchas
    
    - **Meetings without summarization have no structured data** — If a meeting was recorded before summarization was enabled, its frontmatter won't have `action_items` or `decisions`. The ingest will correctly extract 0 facts. This is expected, not an error.
    - **`engine = "agent"` requires an AI CLI** — If the user wants richer LLM-based extraction from transcript body text, they need `claude`, `codex`, `gemini`, `opencode`, or `pi` on PATH.
    - **PARA adapter writes `items.json`** — If the user's knowledge base uses the PARA format, facts go into `areas/people/{slug}/items.json` with atomic fact schema (id, status, supersededBy).
    - **First run should be dry-run** — Always suggest `minutes ingest --all --dry-run` before the first real run so the user can see what would be extracted.
    
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related