Capture Tasks from Meeting Notes
Keywords
meeting notes, action items, create tasks, create tickets, extract tasks, parse notes, analyze notes, assigned work, assignees, from meeting, post-meeting, capture tasks, generate tasks, turn into tasks, convert to tasks, action item, to-do, task list, follow-up, assigned to, create Jira tasks, create Jira tickets, meeting action items, extract action items, find action items, analyze meeting
Overview
Automatically extract action items from meeting notes and create Jira tasks with proper assignees. This skill parses unstructured meeting notes (from Confluence or pasted text), identifies action items with assignees, looks up Jira account IDs, and creates tasks—eliminating the tedious post-meeting ticket creation process.
Use this skill when: Users have meeting notes with action items that need to become Jira tasks.
Workflow
Follow this 7-step process to turn meeting notes into actionable Jira tasks:
Step 1: Get Meeting Notes
Obtain the meeting notes from the user.
Option A: Confluence Page URL
If user provides a Confluence URL:
URL patterns:
https://[site].atlassian.net/wiki/spaces/[SPACE]/pages/[PAGE_ID]/[title]- Extract PAGE_ID from the numeric portion
- Get cloudId from site name or use
getAccessibleAtlassianResources
Option B: Pasted Text
If user pastes meeting notes directly:
- Use the text as-is
- No fetching needed
If Unclear
Ask: "Do you have a Confluence link to the meeting notes, or would you like to paste them directly?"
Step 2: Parse Action Items
Scan the notes for action items with assignees.
Common Patterns
Pattern 1: @mention format (highest priority)
Pattern 2: Name + action verb
Pattern 3: Action: Name - Task
Pattern 4: TODO with assignee
Pattern 5: Bullet with name
Extraction Logic
For each action item, extract:
-
Assignee Name
- Text after @ symbol
- Name before "to", "will", "should"
- Name after "Action:" or in parentheses
- First/last name or full name
-
Task Description
- Text after "to", "will", "should", "-", ":"
- Remove markers (@, Action:, TODO:)
- Keep original wording
- Include enough context
-
Context (optional but helpful)
- Meeting title/date if available
- Surrounding discussion context
- Related decisions
Example Parsing
Input:
Parsed:
Step 3: Ask for Project Key
Before looking up users or creating tasks, identify the Jira project.
Ask: "Which Jira project should I create these tasks in? (e.g., PROJ, PRODUCT, ENG)"
If User is Unsure
Call listJiraProjects to show options. It is not a primary tool, so run it through execute
(see Calling non-primary tools):
Present: "I found these projects you can create tasks in: PROJ (Project Alpha), PRODUCT (Product Team), ENG (Engineering)"
If the Notes Name a Project
Meeting notes often name a project key that doesn't exist on the site, or that the user can't
create in. Validate the key against listJiraProjects before creating anything — if it isn't
there, say so and offer the closest matches rather than failing on the first create call.
Step 4: Lookup Account IDs
For each assignee name, find their Jira account ID.
Lookup Process
lookupJiraAccountId is not a primary tool, so run it through execute:
The search string can be:
- Full name: "Sarah Johnson"
- First name: "Sarah"
- Last name: "Johnson"
- Email: "[email protected]"
Handle Results
Scenario A: Exact Match (1 result)
Scenario B: No Match (0 results)
Scenario C: Multiple Matches (2+ results)
Best Practices
- Try full name first ("Sarah Johnson")
- If no match, try first name only ("Sarah")
- If still no match, ask user
- Cache results (don't lookup same person twice)
Step 5: Present Action Items
CRITICAL: Always show the parsed action items to the user BEFORE creating any tasks.
Presentation Format
Wait for Confirmation
Do NOT create tasks until user confirms. Options:
- "Yes, create all" → proceed
- "Skip task 3" → create all except #3
- "Change assignee for task 2" → ask for new assignee
- "Edit description" → ask for changes
Step 6: Create Tasks
Once confirmed, create each Jira task.
Determine Issue Type
Before creating tasks, check what issue types are available in the project:
listJiraProjectIssueTypesMetadata is not a primary tool, so run it through execute:
Choose the appropriate issue type:
- Use "Task" if available (most common)
- Use "Story" for user-facing features
- Use "Bug" if it's a defect
- If "Task" doesn't exist, use the first available issue type or ask the user
For Each Action Item
Task Summary Format
Use action verbs and be specific:
- ✅ "Create user stories for chat feature"
- ✅ "Update architecture documentation"
- ✅ "Review and approve design mockups"
- ❌ "Do the thing" (too vague)
Task Description Format
Example:
Step 7: Provide Summary
After all tasks are created, present a comprehensive summary.
Format:
Action Item Pattern Examples
Pattern 1: @Mentions (Most Explicit)
Parsed:
- Assignee: john/sarah/mike
- Task: update documentation / create the report / review PR #123
Pattern 2: Name + Action Verb
Parsed:
- Assignee: name before action verb
- Task: text after "to/will/should/needs to"
Pattern 3: Structured Action Format
Parsed:
- Assignee: name after "Action:" and before "-"
- Task: text after "-"
Pattern 4: TODO Format
Parsed:
- Assignee: name in parentheses or after ":"
- Task: text between TODO and assignee
Pattern 5: Bullet Lists
Parsed:
- Assignee: name before ":" or "-" or action verb
- Task: remaining text
Handling Edge Cases
No Action Items Found
If no action items with assignees are detected:
Mixed Formats
If some action items have assignees and some don't:
Assignee Name Variations
If the same person is mentioned different ways:
Duplicate Action Items
If the same task appears multiple times:
Long Task Descriptions
If action item text is very long (>200 characters):
Tips for High-Quality Results
Do:
✅ Use consistent @mention format in notes
✅ Include full names when possible
✅ Be specific in action item descriptions
✅ Add context (why/what/when)
✅ Review parsed tasks before confirming
Don't:
❌ Mix multiple tasks for one person in one bullet
❌ Use ambiguous names (just "John" if you have 5 Johns)
❌ Skip action verbs (unclear what to do)
❌ Forget to specify project
Best Meeting Notes Format
When NOT to Use This Skill
This skill is for converting meeting action items to Jira tasks only.
Don't use for:
❌ Summarizing meetings (no task creation)
❌ Finding meeting notes (use search skill)
❌ Creating calendar events
❌ Sending meeting notes via email
❌ General note-taking
Use only when: Meeting notes exist and action items need to become Jira tasks.
Examples
Example 1: Simple @Mentions
Input:
Process:
- Parse → 3 action items found
- Project → "PROJ"
- Lookup → Sarah (123), Mike (456), Lisa (789)
- Present → User confirms
- Create → PROJ-100, PROJ-101, PROJ-102
Output:
Example 2: Mixed Formats
Input:
Process:
- Parse → Found 4 items (3 with assignees, 1 without)
- Ask → "Found 3 with assignees, 1 without. Create all or only assigned?"
- User → "All, make the last one unassigned"
- Create → 4 tasks (3 assigned, 1 unassigned)
Example 3: Name Lookup Issue
Input:
Process:
- Parse → 2 action items
- Lookup "John" → Found 3 Johns!
- Ask → "Which John? (John Smith, John Doe, John Wilson)"
- User → "John Smith"
- Create → Both tasks assigned correctly
Quick Reference
Primary tool: getConfluenceContent (if URL) or use pasted text
Account lookup: executeRead(name="lookupJiraAccountId", inputs={"query": ...}) (not a primary tool)
Task creation: createJiraIssue with assignee (the account ID)
Action patterns to look for:
@Name to/will/should XName to/will/should XAction: Name - XTODO: X (Name)Name: X
Always:
- Present parsed tasks before creating
- Handle name lookup failures gracefully
- Include context in task descriptions
- Provide summary with links
Remember:
- Human-in-loop is critical (show before creating)
- Name lookup can fail (have fallback)
- Be flexible with pattern matching
- Context preservation is important
Calling non-primary tools
The Atlassian Rovo MCP server exposes only a small set of primary tools directly in your tool list. Everything else lives in the catalog and is reached through meta-tools:
discover— describe the goal in natural language when you do not know an operation's name. It returns the exactnameandinputsto use. Do not calldiscoverfor an operation you already have as a primary tool.- An execute-family tool — run a catalog operation by name. Check your tool list: some clients
expose a single
execute, others exposeexecuteRead/executeWrite/executeDestructiveand expect the tier matching the operation. The arguments are identical:
Rules that matter:
cloudIdis a top-level argument, a sibling ofnameandinputs— never put it insideinputs. Operations declaredomitCloudId(such asgetContentFormatGuide) take nocloudId.inputsis a flat object. The server routes each parameter to path, query, or body itself.- Use the exact parameter names from the live tool schema. Unrecognized parameters are dropped
rather than reported as an error, so a wrong name fails silently — the call succeeds and your
value is simply ignored. When in doubt, read the schema or
discoverresult first. - If the call reports an unknown operation, run
discoverwith different keywords and use the name it returns rather than guessing.


