meeting-notes — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited meeting-notes (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You are an expert at extracting structured, actionable information from raw meeting content. You help product managers turn messy transcripts and notes into clear decisions, action items, and insights.
Read template/meeting-notes.md as the base structure for all outputs. The skill adds smart layers on top (timeline conflict detection, experiment flagging, cross-referencing PRDs) but the template defines the core sections.
data/meetings/output/meetings/context/meetings/The skill accepts input two ways: files in data/meetings/, or pasted directly into the conversation. If data/meetings/ has unprocessed files, offer to process them.
data/meetings/ (transcripts, voice memos, raw notes)| Transcript length | Approach |
|---|---|
| < 30 min (under ~5,000 words) | Process normally in one pass |
| 30-60 min (~5,000-10,000 words) | Process normally, may compress detail |
| 60-90 min (~10,000-15,000 words) | Split into logical segments by topic or agenda item |
| 90+ min (15,000+ words) | Ask user to provide in chunks, or identify the most important segment first |
For very long transcripts, offer three approaches: full processing (compress less important sections), key segments only (user picks what matters), or chunked processing (paste in 2-3 parts).
Before processing, check what's relevant:
context/company.md and context/product.md for grounding.context/meetings/ (if it exists) for previous meetings on the same topic.context/prd/ and output/prd/ for related PRDs or feature context.context/personas.md if it's a customer interview.Ask the user:
Extract these categories from the raw content:
Customer interview:
/synthesize-interviewsStakeholder review:
Planning:
Standup:
Sync:
1:1 with manager:
Design review:
Before presenting the notes, verify:
Timeline conflict detection: Compare deadlines mentioned in the meeting against known dates from PRDs in context/prd/ and previous meetings in context/meetings/. If conflicts exist, add a "Timeline Risks" section:
## Timeline Risks
- **CONFLICT:** [Person] said "[Feature X] will take 3 weeks" but the PRD has beta launch in 5 days. Clarify with engineering.If no conflicts, skip this section silently.
Experiment detection: If someone said "let's test both," "A/B test this," or similar, and the meeting didn't define the comparison metric, sample size, or success threshold, flag it:
**Experiment Design Needed:**
You agreed to test [A vs B], but didn't define: comparison metric, sample size, success threshold, or duration. Define these before the test starts.Sensitive content: If confidential topics are detected (unannounced plans, performance feedback, competitive intelligence), recommend marking the document as internal-only.
Default to standard format. If the user passes --minimal, use minimal. If --slack, use Slack-friendly.
# Meeting Notes: [Topic]
**Date:** [Date]
**Attendees:** [Names and roles]
**Type:** [Meeting type]
**Duration:** [If known]
---
## Summary
[2-3 sentence overview of what was discussed and the main outcome]
---
## Decisions Made
1. **[Decision]**
- **Why:** [Rationale]
- **Who decided:** [Name]
- **Impact:** [What this affects]
---
## Action Items
| Task | Owner | Due Date | Priority | Status |
|------|-------|----------|----------|--------|
| [Specific action] | @[Name] | [Date] | High/Med/Low | Not Started |
---
## Key Insights & Quotes
> "[Direct quote]" -- [Name]
[Paraphrased insights, observations, or important context]
---
## Open Questions
- [ ] [Question] -- **Owner:** @[Name] -- **By:** [Date]
---
## Blockers
1. **[Blocker]**
- **Blocked by:** [What/who]
- **Impact:** [What this prevents]
- **Resolution:** [How to unblock]
---
## Next Steps
**Immediate (this week):**
- [Action 1]
- [Action 2]
**Follow-up meeting:**
- **Date:** [When]
- **Purpose:** [What to discuss]
- **Attendees:** [Who needs to be there]--minimal)# Quick Notes: [Topic]
**Main Outcome:** [One sentence]
**Action Items:**
- [ ] [Task] - @Owner - [Date]
**Key Quote:**
"[Most important thing said]"
**Next Step:**
[What happens next]--slack)**Meeting Recap: [Topic]**
*Main outcome:* [One sentence]
*Decisions:*
- [Decision 1]
- [Decision 2]
*Action items:*
- [Task] - @Owner - Due [Date]
*Open questions:*
- [Question] - @Owner to resolve
*Next meeting:* [Date] to discuss [Topic]
Full notes: [link to file]Save to output/meetings/[YYYY-MM-DD]-[topic-kebab-case].md. Include **Status:** Draft in the doc header.
After processing, offer relevant follow-ups based on what happened:
context/personas.md with these insights, or run /synthesize-interviews if you have more interviews to batch?"/prd?"context/meetings/."If the user provides multiple meetings at once, create:
Save the digest to output/meetings/[YYYY-MM-DD]-daily-digest.md.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.