Install
$ agentstack add skill-cacheforge-ai-cacheforge-skills-meeting-autopilot ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
✈️ 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)
- ANTHROPICAPIKEY or OPENAIAPIKEY 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" --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
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: cacheforge-ai
- Source: cacheforge-ai/cacheforge-skills
- License: MIT
- Homepage: https://clawhub.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.