meeting-autopilot
Turn meeting transcripts into operational outputs — action items, decisions, follow-up email drafts, and ticket drafts. Not a summarizer. An operator. Accepts VTT, SRT, or plain text. Multi-pass LLM extraction.
- License 许可
- MIT
- 最近更新
- 2026-06-07
- Stars
- ★ 0
- Forks
- 1
01 前言 Front Matter
- name
- meeting-autopilot
- tags
- [ "meetings", "productivity", "action-items", "email-drafts", "transcripts", "operations", "discord", "discord-v2" ]
- author
- Anvil AI
- version
- 0.1.1
- description
- Turn meeting transcripts into operational outputs — action items, decisions, follow-up email drafts, and ticket drafts. Not a summarizer. An operator. Accepts VTT, SRT, or plain text. Multi-pass LLM extraction.
03 SKILL.md 正文
✈️ Meeting Autopilot
Turn meeting transcripts into structured operational outputs — NOT just summaries.
Activation
This skill activates when the user mentions:
- "meeting transcript", "meeting notes", "meeting autopilot"
- "action items from meeting", "meeting follow-up"
- "process this transcript", "analyze this meeting"
- "extract decisions from meeting", "meeting email draft"
- Uploading or pasting a VTT, SRT, or text transcript
Permissions
permissions:
exec: true # Run extraction scripts
read: true # Read transcript files
write: true # Save history and reports
network: true # LLM API calls (Anthropic or OpenAI)
Requirements
- bash, jq, python3, curl (typically pre-installed)
- ANTHROPIC_API_KEY or OPENAI_API_KEY environment variable
Agent Workflow
Step 1: Get the Transcript
Ask the user for their meeting transcript. Accept any of:
- A file path to a VTT, SRT, or TXT file
- Pasted text directly in the conversation
- A file upload
The skill auto-detects the format (VTT, SRT, or plain text).
Important: This skill does NOT do audio transcription. If the user has an audio/video file, suggest they use:
- Zoom/Google Meet/Teams built-in transcription
- Otter.ai or Fireflies.ai for recording + transcription
whisper.cppfor local transcription
Step 2: Get Optional Context
Ask for (but don't require):
- Meeting title — helps with email subject lines and report headers
- If not provided, the skill derives it from the filename or uses "Meeting [date]"
Step 3: Run the Autopilot
Save the transcript to a temporary file if pasted, then run:
bash "$SKILL_DIR/scripts/meeting-autopilot.sh" <transcript_file> --title "Meeting Title"
Or from stdin:
echo "$TRANSCRIPT" | bash "$SKILL_DIR/scripts/meeting-autopilot.sh" - --title "Meeting Title"
The script handles all three passes automatically:
- Parse — normalize the transcript format
- Extract — pull out decisions, action items, questions via LLM
- Generate — create email drafts, ticket drafts, beautiful report
Step 4: Present the Report
The script outputs a complete Markdown report to stdout. Present it directly — the formatting is designed to look great in Slack, email, or any Markdown renderer.
The report includes:
- 📊 Overview table (counts by category)
- ✅ Decisions with rationale
- 📋 Action items table (owner, deadline, status)
- ❓ Open questions
- 🅿️ Parking lot items
- 📧 Follow-up email draft(s) — ready to send
- 🎫 Ticket/issue drafts — ready to file
Discord v2 Delivery Mode (OpenClaw v2026.2.14+)
When the conversation is happening in a Discord channel:
- Send a compact first summary (decision count, action-item count, top owners), then ask if the user wants full report sections.
- Keep the first response under ~1200 characters and avoid long tables in the first message.
- If Discord components are available, include quick actions:
Show Action ItemsShow Follow-Up Email DraftShow Ticket Drafts
- If components are not available, provide the same follow-ups as a numbered list.
- Prefer short follow-up chunks (<=15 lines per message) for long reports.
Step 5: Offer Next Steps
After presenting the report, offer:
- "Want me to refine any of the email drafts?"
- "Should I adjust any action item assignments?"
- "Want to save this report to a file?"
- "I can also process another meeting — transcripts from different meetings build up a tracking history."
Error Handling
| Situation | Behavior |
|---|---|
| No API key set | Print branded error with setup instructions |
| Transcript too short (<20 chars) | Suggest pasting more content or checking file path |
| Empty LLM response | Report API issue, suggest checking key/network |
| No items extracted | Report "meeting may not have had actionable content" — still show key points if any |
| Unsupported file format | Suggest --format txt to force plain text parsing |
Notes for the Agent
- The report is the star. Present it in full. Don't summarize the summary.
- Follow-up emails are the WOW moment. Highlight them — they're ready to copy and send.
- Be proactive: After the report, suggest specific improvements based on what was found.
- Cross-meeting tracking: Items are automatically saved to
~/.meeting-autopilot/history/. Mention this — it's a preview of the v1.1 feature that tracks commitments across meetings. - If the transcript has no speaker labels, mention that adding "Speaker: text" format improves attribution accuracy.
References
scripts/meeting-autopilot.sh— Main orchestrator (the only entry point you need)scripts/parse-transcript.sh— Transcript parser (VTT/SRT/TXT → JSONL)scripts/extract-items.sh— LLM extraction + classificationscripts/generate-outputs.sh— Operational output generation + report formatting
04 同仓库更多 Skills
crowd-prompting
A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.
ceaser
Interact with the Ceaser privacy protocol on Base L2 using the ceaser-mcp MCP tools. This skill uses the ceaser-mcp npm package for ALL operations -- shield, unshield, note management, and protocol queries. All ceaser tool calls use CLI subcommands (npx -y ceaser-mcp <subcommand>). Ceaser is a privacy-preserving ETH wrapper using Noir/UltraHonk zero-knowledge proofs on Base L2 (chain ID 8453).
ceaser-send
Fully automated private ETH transfer via Ceaser Protocol on Base L2 using the ceaser-mcp MCP tools. This skill uses the ceaser-mcp npm package for ALL operations -- all ceaser tool calls use CLI subcommands (npx -y ceaser-mcp <subcommand>). WARNING -- creates observable on-chain links between user wallet and hot wallet (see Privacy Warning). Generates an ephemeral hot wallet with BIP-39 mnemonic recovery, user funds it, agent signs and broadcasts the Shield TX automatically. Exactly one manual step required (funding the hot wallet with ETH). Uses Noir/UltraHonk zero-knowledge proofs.
dilemm-ai
Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).
moldium
Post and manage content on the Moldium blog platform. Triggered by "post to Moldium", "write a blog post", "publish an article", etc.
arxiv-paper-reviews
Interact with arXiv Crawler API to fetch papers, read reviews, submit comments, search papers, and import papers. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, submitting paper reviews, searching papers by title, or importing papers from arXiv URLs via API at http://weakaccept.top:8000/.