silverstein/minutes-lint
Health-check your meeting knowledge for contradictions, stale commitments, and decision conflicts. Use when the user asks "any conflicts in my meetings", "check for stale action items", "lint my meetings", "consistency check", "are there contradictions", or wants to audit their decision history.
npx skills add https://github.com/silverstein/minutes --skill minutes-lint
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.
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)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)Take silverstein/minutes-lint from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.