Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Structured Minutes

ASecurity

Transforms raw meeting materials (transcripts, notes, chat logs) into structured minutes by automatically extracting agenda topics, discussion highlights, decisions, and action items with owners and deadlines. Use when a user provides a transcript, notes, or chat log and asks to create meeting minutes, summarize a meeting, extract action items, recap a discussion, or clean up a transcript.

15 stars
0 votes
0 copies
1 views
Added 9/19/2026
ai-agentspythongobashexpress

Security Analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned 9/19/2026

$npx -y skills add null0xxx/atlas-orchestrator --skill structured-minutes --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Structured Minutes?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Structured Minutes
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/null0xxx-structured-minutes-fd676cda/badge)](https://www.skillsdirectory.com/skills/null0xxx-structured-minutes-fd676cda)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: structured-minutes
description: "Transforms raw meeting materials (transcripts, notes, chat logs) into structured minutes by automatically extracting agenda topics, discussion highlights, decisions, and action items with owners and deadlines. Use when a user provides a transcript, notes, or chat log and asks to create meeting minutes, summarize a meeting, extract action items, recap a discussion, or clean up a transcript."
license: MIT
---

# Structured Minutes — Raw Notes to Structured Minutes SOP

Transforms raw meeting materials (transcripts, notes, chat logs) into professional, structured meeting minutes with automatic extraction of topics, decisions, and action items.

## Quick Start

1. User provides raw meeting material (transcript / notes / pasted text)
2. Agent processes step by step following the SOP below
3. Outputs structured minutes; optionally runs `scripts/validate_minutes.py` to verify completeness
4. After user confirmation, exports as a Markdown file

---

## SOP Workflow

### Phase 1: Input Collection & Preprocessing

**Goal**: Identify the type of source material and fill in any missing metadata.

**Steps**:

1. **Identify the material type** and confirm with the user:
   - Speech-to-text transcript (ASR transcript)
   - Handwritten notes
   - IM chat log (Slack / Teams / Discord / etc.)
   - Mixed materials

2. **Extract or ask for metadata** (all fields are required):

   | Field | Description | Example |
   |-------|-------------|---------|
   | Meeting Title | Topic of the meeting | Q2 Product Review |
   | Date | YYYY-MM-DD format | 2026-04-14 |
   | Time | HH:MM-HH:MM | 14:00-15:30 |
   | Location / Format | Physical room or online tool | Zoom Meeting |
   | Facilitator | Meeting organizer | Alice Chen |
   | Recorder | Person writing the minutes | AI-assisted |
   | Attendees | List of all participants | Alice, Bob, Carol |

3. **If any of the above fields are missing from the material**, proactively ask the user to fill them in. Do not guess attendees or dates.

---

### Phase 2: Topic Identification & Segmentation

**Goal**: Split the continuous meeting content into distinct agenda topics.

**Method**:

1. **Read through the entire text** and identify topic transition points. Common signals:
   - Explicit topic introductions ("Next topic", "Moving on to", "Regarding XX")
   - Speaker change + subject change
   - Timestamp jumps (if available)

2. **Number and name each topic** using this format:
   ```
   Topic 1: [Concise title, ≤ 10 words]
   Topic 2: [Concise title, ≤ 10 words]
   ...
   ```

3. **Special handling rules**:
   - If a topic was interrupted and revisited later, merge into a single topic
   - Brief small talk or off-topic chat should not become a standalone topic — ignore or group under "Other"
   - Even if the entire meeting covers only one subject, explicitly label it as "Topic 1"

4. **Present the topic list to the user for confirmation** before proceeding.

---

### Phase 3: Deep Extraction per Topic

**Goal**: Extract structured information for each topic.

**For each topic, extract using the following template**:

```markdown
### Topic N: [Title]

**Background**: (1-2 sentences — why this was discussed)

**Discussion Highlights**:
- [Point 1]: [Key opinion / data / proposal] (Speaker: XX)
- [Point 2]: [Key opinion / data / proposal] (Speaker: XX)
- ...

**Disagreements**: (if any)
- [Issue]: Side A argues… / Side B argues…

**Decisions**:
- ✅ [Clear decision, stated as a declarative sentence]
- ✅ [List each decision separately if there are multiple]

**Action Items**:
| # | Task Description | Owner | Deadline | Priority |
|---|------------------|-------|----------|----------|
| 1 | [Specific, actionable task] | [Name] | YYYY-MM-DD | High/Med/Low |
```

**Extraction rules**:

- **Discussion Highlights**: Retain key information; remove repetitive or overly colloquial content. Each point ≤ 50 words.
- **Decisions**: Must be an agreed-upon outcome, not "to be continued." If no clear decision was reached, note "**Pending**: needs [condition] before revisiting."
- **Action item criteria** (all of the following must be met):
  - Has a clear "what to do" (verb + object)
  - Has a clear or inferable owner
  - Is a specific, executable task — not a directional statement
- **Deadline handling**:
  - Explicitly mentioned in the transcript → use directly
  - Vague expressions like "next week" / "end of month" → convert to a specific date and mark `(estimated)`
  - Not mentioned at all → mark "TBD" and flag it for the user in notes
- **Priority assessment**:
  - High: Blocks other work / has a clearly urgent deadline / was emphasized repeatedly
  - Medium: Has a deadline but not urgent / routine follow-up
  - Low: Nice-to-have / exploratory task

---

### Phase 4: Cross-Topic Global Extraction

**Goal**: Extract information that spans across topics.

1. **Open Issues** (items with no conclusion that need further discussion):
   ```markdown
   ## Open Issues
   | # | Description | Related Topic | Next Steps |
   |---|-------------|---------------|------------|
   | 1 | [Issue] | Topic N | [Discuss next meeting / Waiting on XX for more info] |
   ```

2. **Risk Alerts** (potential risks identified during the summarization process):
   ```markdown
   ## ⚠️ Risk Alerts
   - [Risk 1]: [Description] (Source: Topic N)
   - [Risk 2]: [Description]
   ```
   Common risk signals: deadline conflicts, insufficient resources, unclear dependencies, action items with no owner.

3. **Key Metrics** (specific numbers mentioned during the meeting):
   ```markdown
   ## Key Metrics
   - [Metric name]: [Value] (Source: Topic N)
   ```

---

### Phase 5: Assembly & Output

**Goal**: Assemble all extracted results into complete minutes.

**Output template**:

```markdown
# Meeting Minutes: [Meeting Title]

| Field | Details |
|-------|---------|
| Date | YYYY-MM-DD |
| Time | HH:MM - HH:MM |
| Location | [Location / online tool] |
| Facilitator | [Name] |
| Recorder | [Name] |
| Attendees | [List of names] |

---

## Topic Overview

| Topic | Decision Status | Action Items |
|-------|----------------|--------------|
| Topic 1: [Title] | ✅ Decided / ⏳ Pending | N |
| Topic 2: [Title] | ✅ Decided / ⏳ Pending | N |

---

## Detailed Record

### Topic 1: [Title]
(Full content extracted in Phase 3)

### Topic 2: [Title]
(Full content extracted in Phase 3)

---

## Action Items Summary

| # | Task Description | Owner | Deadline | Priority | Source Topic |
|---|------------------|-------|----------|----------|--------------|
| 1 | [Task] | [Name] | YYYY-MM-DD | High/Med/Low | Topic N |
| ... | | | | | |

## Open Issues
(Phase 4 content)

## ⚠️ Risk Alerts
(Phase 4 content — omit this section if none)

## Key Metrics
(Phase 4 content — omit this section if none)
```

---

### Phase 6: Quality Check

**Goal**: Ensure the minutes are complete, accurate, and actionable.

**Automated checklist** (check each item and report):

- [ ] All metadata fields are filled (no "unknown" or blank values)
- [ ] Every topic has a decision (even if marked "Pending")
- [ ] Every action item has an owner (no "TBD" owners)
- [ ] Every action item has a deadline (may be "TBD" but must be noted)
- [ ] Action items summary count = sum of per-topic action items
- [ ] No names appear that were not mentioned in the source material (guard against hallucination)
- [ ] Date format is consistently YYYY-MM-DD
- [ ] Data cited in the minutes matches the source

**Validation script**: After completing the minutes, you can run `scripts/validate_minutes.py` to perform structural validation on the output Markdown file.

```bash
python3 scripts/validate_minutes.py <minutes_file.md>
```

The script checks:
- Whether required sections are present
- Whether the action item table format is complete
- Whether deadline formats are valid
- Whether owner fields are empty
- Whether topic overview and detailed record counts match

---

### Phase 7: Delivery & Follow-up

1. **Present the minutes to the user for review**, focusing on:
   - "Are the action items accurate? Anything missing?"
   - "Do the decisions reflect what was actually discussed?"
   - "Is there anything that needs to be added or changed?"

2. **Revise based on user feedback** until the user is satisfied.

3. **Export options**:
   - Save as a Markdown file
   - If the user needs another format (Google Docs, Word, etc.), suggest using the corresponding skill for conversion

---

## Configuration

This skill requires no external parameters. The following are optional customizations:

| Setting | Default | Description |
|---------|---------|-------------|
| Language | English | Output language for the minutes; follows the source material language |
| Action Item Priority | Enabled | Whether to label priorities (High / Med / Low) |
| Risk Alerts | Enabled | Whether to generate the risk alerts section |
| Key Metrics | Enabled | Whether to extract numbers/metrics mentioned in the meeting |

---

## Common Scenarios

### Scenario 1: Transcript Cleanup
User pastes a transcript exported from Otter.ai, Fireflies, or a similar tool. Agent follows the SOP to produce structured minutes.

### Scenario 2: Chat Log Organization
User pastes a Slack thread or Teams chat. Agent identifies topics and extracts action items.

### Scenario 3: Handwritten Notes
User pastes bullet points jotted down during the meeting. Agent adds structure and confirms any gaps.

### Scenario 4: Cross-Timezone Multilingual Meeting
User provides a transcript in any language. Agent processes it with the same workflow and outputs minutes in the user's preferred language.

Attribution

null0xxxnull0xxx
View sourceSee grades on GitHubMore from null0xxx →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →