meeting-to-issues
Parse meeting transcripts to extract action items and create GitHub issues after user confirmation. Converts discussions into trackable work items.
When & Why to Use This Skill
The Meeting to Issues skill automates the transition from verbal discussions to technical execution by intelligently parsing meeting transcripts to extract action items. It streamlines project management workflows by converting transcripts from platforms like Zoom, Teams, and Slack into structured GitHub issues, ensuring that key decisions and tasks are captured, labeled, and assigned without manual data entry.
Use Cases
- Post-Standup Task Automation: Quickly convert daily sync notes or transcripts into trackable GitHub issues to maintain development momentum.
- Sprint Planning & Backlog Refinement: Transform brainstorming sessions and planning discussions into a structured backlog with appropriate labels, priorities, and assignees.
- Technical Debt & Bug Logging: Identify and document bug reports or refactoring needs mentioned during developer meetings directly into the repository.
- Documentation Governance: Extract action items related to updating API docs or READMEs from meeting discussions to ensure technical documentation stays current.
| name | meeting-to-issues |
|---|---|
| description | Parse meeting transcripts to extract action items and create GitHub issues after user confirmation. Converts discussions into trackable work items. |
| license | MIT |
| compatibility | Requires gh CLI authenticated with repo access. |
| author | patrick |
| version | "1.0" |
| allowed-tools | bash gh jq |
Meeting to Issues
Transform meeting transcripts into structured GitHub issues with intelligent action item extraction.
When to Use
- After team meetings, planning sessions, or retrospectives
- Converting recorded decisions into trackable work
- Extracting action items from standup notes or async discussions
- Creating issues from Zoom/Teams/Slack transcripts
Workflow
Step 1: Share the Transcript
Provide the meeting transcript in any format:
- Copy-paste from Zoom/Teams/Google Meet
- Upload a text file
- Share meeting notes from Notion/Confluence
- Paste Slack thread content
Step 2: Extract & Review Issues
The agent will:
Parse the transcript for action items, decisions, and tasks
Generate proposed GitHub issues with:
- Clear, actionable titles
- Detailed descriptions with context
- Suggested labels (bug, enhancement, task, etc.)
- Priority indicators
- Assignee suggestions (if mentioned)
- Links to related issues (if discussed)
Present issues for your review in a readable format
Step 3: Confirm & Create
Review the proposed issues and either:
- Approve all - Create all issues as-is
- Edit specific issues - Modify titles, descriptions, or labels
- Remove issues - Exclude items that shouldn't be tracked
- Add issues - Include anything the agent missed
Once confirmed, the agent creates all issues in your specified repository.
Analysis Criteria
The agent evaluates transcript content to identify:
Actionable Items
- Explicit assignments: "John will fix the auth bug"
- Todo items: "We need to update the docs"
- Decisions requiring implementation: "Let's add dark mode support"
- Bugs reported: "Users are seeing timeout errors"
- Feature requests: "Can we add export to CSV?"
Context Extraction
- Who: People mentioned in connection with tasks
- What: Technical details, requirements, acceptance criteria
- Why: Business justification, user impact
- When: Deadlines or urgency indicators
- Where: Components, files, or systems mentioned
Intelligent Labeling
bug- Error reports, crashes, broken functionalityenhancement- New features, improvementsdocumentation- Docs updates, README changestask- General work items, refactoringquestion- Clarifications needed, open discussionsurgent- Time-sensitive itemsblocked- Dependencies mentioned
Example Usage
Input transcript:
[10:00] Sarah: The login page is throwing 500 errors for Gmail users.
[10:01] Mike: I can look into that today. Probably an OAuth scope issue.
[10:02] Sarah: Thanks. Also, we should add the export feature users have been requesting.
[10:03] Mike: Good idea. Maybe that's a separate story though.
[10:04] Sarah: Agreed. Let's also update the API docs - they're outdated.
[10:05] Mike: I'll handle the login bug. Can you or Alex take the docs?
Proposed issues:
Fix 500 errors on login for Gmail users
- Description: Users authenticating with Gmail are encountering 500 errors on the login page. Initial investigation suggests this may be an OAuth scope configuration issue.
- Labels:
bug,urgent - Suggested assignee: Mike
- Priority: High
Add data export feature
- Description: Users have requested the ability to export their data. Discussed in standup - should be tracked as a separate feature request.
- Labels:
enhancement - Priority: Medium
Update API documentation
- Description: The API documentation is currently outdated and needs to be refreshed to reflect the current state of the API.
- Labels:
documentation - Suggested assignee: Sarah or Alex
- Priority: Medium
Step 4: Create Issues
After confirmation:
Creating issues in owner/repo...
✓ #123 Fix 500 errors on login for Gmail users
✓ #124 Add data export feature
✓ #125 Update API documentation
Created 3 issues successfully.
Data Format
Issues are structured as JSON before creation:
{
"issues": [
{
"title": "Fix 500 errors on login for Gmail users",
"body": "Users authenticating with Gmail are encountering 500 errors...",
"labels": ["bug", "urgent"],
"assignee": "mike",
"priority": "high",
"reasoning": "Explicit bug report with technical details and assignee mentioned"
}
]
}
Best Practices
For Better Results
- Include full context in transcripts (who said what)
- Mention specific components, files, or systems
- Note any explicit assignments or deadlines
- Include technical details (error messages, versions, etc.)
Review Checklist
- ✓ Titles are clear and actionable
- ✓ Descriptions have enough context for someone not in the meeting
- ✓ Labels accurately categorize the work
- ✓ No duplicate issues with existing backlog
- ✓ Priorities reflect actual urgency
- ✓ Assignees are correct (or left unassigned)
Safety Features
- No automatic creation - Issues only created after explicit approval
- Review phase - All issues presented for editing before submission
- Dry-run option - Preview what would be created without committing
- Rollback support - Issues created in batch can be closed if needed
- Audit trail - All created issues link back to the meeting/transcript
Configuration
The skill can be customized per repository:
# Create in a specific repo
Repository: owner/repo
# Apply custom label mappings
Label mapping: bug → incident, enhancement → feature-request
# Default assignees
Default assignee: None (leave unassigned)
# Auto-apply labels
Additional labels: from-meeting, needs-refinement
Files
meeting-to-issues/
├── SKILL.md # This file
├── scripts/
│ ├── parse.sh # Extract action items from transcript
│ ├── create-issues.sh # Batch create issues via gh CLI
│ └── preview.sh # Show what would be created
├── transcript.txt # User-provided transcript (git-ignored)
├── proposed-issues.json # Extracted issues (git-ignored)
└── created-issues.json # Created issue references (git-ignored)
Notes
- Requires
ghCLI authenticated with write access - Run
gh auth statusto verify permissions - Supports Markdown formatting in issue bodies
- Can handle multiple meeting formats (timestamps optional)
- Works with partial transcripts or bullet-point notes
- Agent will ask clarifying questions if context is unclear
Limitations
- Cannot auto-assign to users not in the repository
- Labels must exist in target repository (creates standard ones if missing)
- Long transcripts may need to be split for optimal parsing
- Highly ambiguous discussions may require manual clarification