
This runs a consistency check across your meeting notes to surface decision conflicts and overdue action items. It flags when two meetings reached different conclusions on the same topic, shows commitments that have gone stale past a threshold you set, and can filter by person or staleness window. The conflict detection is topic based, so it will flag intentional reversals alongside genuine contradictions. You'll need to use judgment to tell which is which. Useful when your meeting corpus gets large enough that you're not sure if last week's pricing decision contradicts the one from last month, or when you want to audit who's sitting on overdue tasks. Outputs JSON that you format into a readable report.
$ npx -y skills add silverstein/minutes --skill minutes-lint --agent claude-codeInstalls into .claude/skills of the current project.
Run a consistency check across policy-authorized normal meetings to find decision conflicts and stale commitments. Restricted meetings are excluded from this agent workflow by default and must never be described as absent evidence.
Run the consistency check:
minutes consistency --stale-after-days 14
Optional filters:
--owner <name> — limit to commitments assigned to a specific person--stale-after-days <N> — change the staleness threshold (default: 7)Parse the JSON output and present it as readable markdown.
For each conflict, show:
**Topic: {topic}**
- Latest: "{latest decision text}" — *{meeting title}* ({date})
- Prior: "{prior decision text}" — *{meeting title}* ({date})
- **Status**: These decisions may contradict each other.
Frontmatter v2: resolved supersessions. When the resolution field is
present on a conflict, the newer decision has a supersedes: entry in its
frontmatter. Treat this as informational, not a red flag. Format as:
**Topic: {topic}** ✓ Resolved
- Current: "{latest decision text}" — *{meeting title}* ({date})
- Superseded: "{prior decision text}" — *{meeting title}* ({date})
- **Status**: {resolution text}
If the latest decision also carries an authority field (high/medium/low),
surface it next to the title. Authority is optional — when absent, omit the tag.
For each stale item, show:
- [ ] **@{who}**: {task} (due {due_date}, {age_days} days overdue)
- Last discussed: *{meeting title}* ({date})
If no conflicts and no stale commitments, say: "No decision conflicts or stale commitments found across your meetings. Everything looks consistent."
/minutes-debrief on the most recent conflicting meeting, or /minutes-search "{topic}" to review the full decision historyminutes commitments --json; treat a nonzero exit as unavailable, never emptygraph.db (it does not exist)Sponsors