Knowledge Process Inbox

This documentation was generated with the assistance of AI. Please report any inaccuracies.

Turn every meeting transcription (and its supporting documents) sitting in knowledge/inbox into a filed meeting summary, updated people profiles, tracked agreements, and open pending tasks.

Purpose

iru-knowledge-process-inbox files whatever has landed in knowledge/inbox — one or more meetings' worth of transcriptions plus attachments — into the rest of the knowledge/ structure. It copes with transcriptions that vary along two independent axes (timestamped or not, diarized or not), groups inbox files by which meeting they belong to (defaulting to treating the whole inbox as one meeting unless there’s clear evidence of more than one), and for each meeting produces: a knowledge/meetings/meeting-<timestamp>/meeting.md with a Summary and a verbatim Full transcription section, plus its copied attachments; a knowledge/people/<name>.md per speaker when the transcription is diarized (created or merged into if the person already has a file); a knowledge/agreements/agreement-<timestamp>.md listing every agreement as a numbered, unchecked markdown checkbox; and one knowledge/pending/pending-<timestamp>-<n>.md per agreement item. Once a meeting’s files are safely filed, their originals are removed from knowledge/inbox so a re-run doesn’t refile them into a duplicate meeting entry. <timestamp> throughout is a filesystem-safe ISO 8601 value (YYYY-MM-DDTHH-MM-SSZ).

Filing deliberately judges each meeting on its own: an item a later meeting re-raises gets its own pending task rather than being silently folded into an existing one. Reconciling those across meetings is a separate concern, so once every group in the run has been filed, this skill invokes iru-knowledge-compact once over the whole knowledge base — collapsing duplicate pending tasks and checking off agreements whose tracked issue is already closed as completed. That step asks the user before it deletes or edits anything, and a compaction that can’t run (no tracker reachable, or the skill not installed) never invalidates the filing work that precedes it.

Invocation

/iru-knowledge-process-inbox

Inputs

Argument Required Description Default

(none)

No

This skill takes no arguments — it processes whatever is currently sitting in knowledge/inbox. If the inbox is empty, it reports that and stops.

Not applicable.

Outputs

  • One knowledge/meetings/meeting-<timestamp>/ directory per meeting found, each containing meeting.md (Summary + Full transcription) and a copy of every other file from that meeting’s inbox group.

  • A knowledge/people/<name>.md file created or updated per speaker, but only for meetings whose transcription was diarized.

  • A knowledge/agreements/agreement-<timestamp>.md per meeting that had agreements, listing them as numbered unchecked checkboxes.

  • One knowledge/pending/pending-<timestamp>-<n>.md per agreement item.

  • The processed files removed from knowledge/inbox.

  • Whatever iru-knowledge-compact then applies with the user’s approval — duplicate pending files collapsed into a surviving task, agreement items checked off from their tracked issue’s state.

  • A closing report per meeting group (what was created, how many people files, how many agreements/pending files) plus a list of any inbox files left behind because processing had to stop on an unresolved question, and — as its own section — the compaction outcome (or why it was skipped), kept separate so it stays clear which pending files this run created and which ones compaction then removed.

Execution flow

flowchart TD A[Start /iru-knowledge-process-inbox] --> B{"knowledge/inbox\nempty?"} B -- yes --> Z[Report nothing to process, stop] B -- no --> C["Group inbox files into meetings\n(default: one group; split only on\nclear multi-meeting evidence;\nask user if ambiguous)"] C --> D["For each meeting group:\nread transcription + every other\nreadable file for context"] D --> E["Determine meeting timestamp\n(content date, else filename date,\nelse file timestamp, else ask user)"] E --> F["Detect diarization + timestamps\nin the transcription"] F --> G["Create meeting-&lt;timestamp&gt;/meeting.md\n(Summary + Full transcription)\n+ copy other files in"] G --> H{Diarized?} H -- yes --> I["Create/update knowledge/people/&lt;name&gt;.md\nper speaker"] H -- no --> J["Skip people files"] I --> K J --> K["Extract agreements"] K --> L{"Any agreements\nfound?"} L -- yes --> M["Write agreement-&lt;timestamp&gt;.md\n(numbered, unchecked checkboxes)"] M --> N["Write pending-&lt;timestamp&gt;-&lt;n&gt;.md\nper agreement item"] L -- no --> O["Skip agreements/pending files"] N --> P O --> P["Delete this group's files\nfrom knowledge/inbox\n(kept if a step had to stop)"] P --> R{"More meeting groups\nto process?"} R -- yes --> D R -- no --> S{"Did this run create any\nagreement/pending file?"} S -- no --> Q S -- yes --> T{"iru-knowledge-compact\ninstalled?"} T -- no --> Q T -- yes --> U["Invoke iru-knowledge-compact once\nfor the whole run; pass its plan\nto the user for confirmation"] U --> Q["Report per-group filing outcome\n+ compaction outcome as its own section"]

Dependencies

Invokes

  • iru-knowledge-compact — Step 11, once for the whole run after every meeting group has been filed, to collapse pending tasks that restate work an earlier meeting already produced and check off agreements whose tracked issue is already closed as completed. Skipped (and reported as such) if the run created no agreements at all, or if the skill isn’t installed in this repository — this catalog’s skills are adopted individually, so its dedup/completion logic is never hand-rolled here as a fallback.

Invoked by

None — it’s a top-level entry point, run directly by a person whenever new material has landed in knowledge/inbox. It assumes the knowledge/ structure iru-knowledge-setup creates already exists.

None — this skill does not delegate any part of its work to a built-in or custom agent.

Source

SKILL.md on GitHub — the file this page was generated from.