▶ Demo: the extraction pipeline

Module 07 demo · ~4 minutes · forty notes become a tracker with its checks attached

Repo, pipeline & checks

client-project/
30 Meetings/ (forty notes of prose)
.claude/skills/
The pipeline
tracker skill · criteria + two examples
commitments.csv · four columns
needs-review.md · where doubt goes
The checks
shape: every row fills four columns ✓
grounding: every row cites its source ✓
the trap: vague date flagged, never invented ✓
fresh session runs the whole pipeline ✓
.claude/skills/commitment-tracker/SKILL.md
---
name: commitment-tracker
description: Extract commitments from meeting
  notes into the four column tracker.
---

A commitment is a stated promise by a named
person or party to do a specific thing.
Discussion is not a commitment.

Columns, exactly four: commitment, owner,
due, source_note.
Dates as YYYY-MM-DD. No stated date:
write "none stated". Never convert a
relative phrase ("next week") into a date.
Owner is the most specific party named.

Examples:
legal review of clause 7 | vendor counsel |
  none stated | 2026-08-11 pbm-renewal.md
restore the data feed | vendor IT |
  2026-08-13 | 2026-08-11 pbm-renewal.md
the run · one note at a time
Processing 30 Meetings, one note per pass:

2026-08-04 kickoff.md        2 rows
2026-08-11 pbm-renewal.md    3 rows
2026-08-13 vendor-check.md   1 row
...
2026-08-18 sponsor-sync.md   2 rows

40 notes -> 61 rows appended to
commitments.csv. Each pass started with
a clean window and one note's worth of
attention.
commitments.csv · the shape gate
commitment            owner          due
--------------------  -------------  ----------
reconcile rate tables consulting tm  2026-08-15
legal review clause 7 vendor counsel none stated
restore the data feed vendor IT      2026-08-13
draft renewal memo    consulting tm  2026-08-22
...

61 rows. Every row fills all four columns
(source_note not shown here for width).
The shape gate passes. The shape gate is
not the interesting gate.
the grounding pass
> check every row against its source note.
  list any row you cannot support.

Row 12: due 2026-08-25
Source: "vendor counsel will complete the
legal review the week after next"

UNSUPPORTED. The note contains no date.
2026-08-25 is a computed guess wearing a
date's clothes.

Retry sent, with the failure attached:
"row 12 cites 2026-08-25; the note states
no date. correct it or mark none stated."

Row 12 -> due: "none stated". PASS.
needs-review.md
Rows routed here this run: 2

1. "handle the rebate question"
   (2026-08-13 vendor-check.md)
   No named owner in the note. A person
   should decide who owns this.

2. "circle back on network adequacy"
   (2026-08-18 sponsor-sync.md)
   Unclear if this is a commitment or
   discussion. A person should judge.

Thirty seconds each. Neither shipped
disguised as a certainty.
fresh session · today's note
(fresh session)
> run the commitment-tracker skill on
  today's note, checks included

2026-08-22 legal-sync.md: 2 candidate rows

Row 1: sign-off on clause 7 | vendor
counsel | 2026-08-29 | 2026-08-22
legal-sync.md
  grounding: "by the 29th" in source. PASS

Row 2: "revisit pricing next month"
  no date stated, and "next month" stays
  words. Routed to needs-review: is this
  a commitment at all?

Tracker: +1 row. Needs review: +1.
The pipeline
40 notesprose
→
extractthe tracker skill
→
validateshape + grounding
→
tracker / needs reviewcertain / flagged
Module 07 · Demo
The extraction pipeline
Forty meeting notes become a commitments tracker the team can trust: a contract in a skill, a run with its checks attached, and a trap that proves the checks work. Three parts:
1 · Write the contract 2 · Run and validate 3 · Prove it
Built by asking, trusted by checking
A skill carries the contract, every run carries its checks, and doubt has a file of its own. The prompt pack builds this exact pipeline in your second brain, trap included.

Open the prompt pack →   On to the quiz →

Part 1 · Write the contract Part 2 · Run and validate Part 3 · Prove it