
capture-tasks-from-meeting-notes
Analyze meeting notes to find action items and create Jira tasks for assigned work. When an agent needs to: (1) Create Jira tasks or tickets from meeting notes, (2) Extract or find action items from notes or Confluence pages, (3) Parse meeting notes for assigned tasks, or (4) Analyze notes and generate tasks for team members. Identifies assignees, looks up account IDs, and creates tasks with proper context.
- Installs
- 296
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/atlassian/atlassian-mcp-server --skill capture-tasks-from-meeting-notes- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads capture-tasks-from-meeting-notes automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
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:
getConfluenceContent(
cloudId="...",
content_id="[extracted from URL]",
content_format="markdown",
detail="full"
)
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)
@Sarah to create user stories for chat feature
@Mike will update architecture doc
Pattern 2: Name + action verb
Sarah to create user stories
Mike will update architecture doc
Lisa should review the mockups
Pattern 3: Action: Name - Task
Action: Sarah - create user stories
Action Item: Mike - update architecture
Pattern 4: TODO with assignee
TODO: Create user stories (Sarah)
TODO: Update docs - Mike
Pattern 5: Bullet with name
- Sarah: create user stories
- Mike - update architecture
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:
# Product Planning - Dec 3
Action Items:
- @Sarah to create user stories for chat feature
- Mike will update the architecture doc
- Lisa: review and approve design mockups
Parsed:
1. Assignee: Sarah
Task: Create user stories for chat feature
Context: Product Planning meeting - Dec 3
2. Assignee: Mike
Task: Update the architecture doc
Context: Product Planning meeting - Dec 3
3. Assignee: Lisa
Task: Review and approve design mockups
Context: Product Planning meeting - Dec 3
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):
executeRead( # or execute(...) if your client exposes a single execute tool
name="listJiraProjects",
cloudId="...",
inputs={"action": "create"}
)
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:
executeRead( # or execute(...) if your client exposes a single execute tool
name="lookupJiraAccountId",
cloudId="...",
inputs={"query": "[assignee name]"}
)
The search string can be:
- Full name: "Sarah Johnson"
- First name: "Sarah"
- Last name: "Johnson"
- Email: "sarah@company.com"
Handle Results
Scenario A: Exact Match (1 result)
✅ Found: Sarah Johnson (sarah.johnson@company.com)
→ Use accountId from result
Scenario B: No Match (0 results)
⚠️ Couldn't find user "Sarah" in Jira.
Options:
1. Create task unassigned (assign manually later)
2. Skip this task
3. Try different name format (e.g., "Sarah Johnson")
Which would you prefer?
Scenario C: Multiple Matches (2+ results)
⚠️ Found multiple users named "Sarah":
1. Sarah Johnson (sarah.johnson@company.com)
2. Sarah Smith (sarah.smith@company.com)
Which user should be assigned the task "Create user stories"?
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
I found [N] action items from the meeting notes. Should I create these Jira tasks in [PROJECT]?
1. [TASK] [Task description]
Assigned to: [Name] ([email if found])
Context: [Meeting title/date]
2. [TASK] [Task description]
Assigned to: [Name] ([email if found])
Context: [Meeting title/date]
[...continue for all tasks...]
Would you like me to:
1. Create all tasks
2. Skip some tasks (which ones?)
3. Modify any descriptions or assignees
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:
executeRead( # or execute(...) if your client exposes a single execute tool
name="listJiraProjectIssueTypesMetadata",
cloudId="...",
inputs={"projectIdOrKey": "PROJ"}
)
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
createJiraIssue(
cloudId="...",
projectKey="PROJ",
issueType="[Task or available type]",
summary="[Task description]",
description="[Full description with context]",
assignee="[looked up account ID]"
)
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
**Action Item from Meeting Notes**
**Task:** [Original action item text]
**Context:**
[Meeting title/date]
[Relevant discussion points or decisions]
**Source:** [Link to Confluence meeting notes if available]
**Original Note:**
> [Exact quote from meeting notes]
Example:
**Action Item from Meeting Notes**
**Task:** Create user stories for chat feature
**Context:**
Product Planning Meeting - December 3, 2025
Discussed Q1 roadmap priorities and new feature requirements
**Source:** https://yoursite.atlassian.net/wiki/spaces/TEAM/pages/12345
**Original Note:**
> @Sarah to create user stories for chat feature
Step 7: Provide Summary
After all tasks are created, present a comprehensive summary.
Format:
✅ Created [N] tasks in [PROJECT]:
1. [PROJ-123] - [Task summary]
Assigned to: [Name]
https://yoursite.atlassian.net/browse/PROJ-123
2. [PROJ-124] - [Task summary]
Assigned to: [Name]
https://yoursite.atlassian.net/browse/PROJ-124
[...continue for all created tasks...]
**Source:** [Link to meeting notes]
**Next Steps:**
- Review tasks in Jira for accuracy
- Add any additional details or attachments
- Adjust priorities if needed
- Link related tickets if applicable
Action Item Pattern Examples
Pattern 1: @Mentions (Most Explicit)
@john to update documentation
@sarah will create the report
@mike should review PR #123
Parsed:
- Assignee: john/sarah/mike
- Task: update documentation / create the report / review PR #123
Pattern 2: Name + Action Verb
John to update documentation
Sarah will create the report
Mike should review PR #123
Lisa needs to test the feature
Parsed:
- Assignee: name before action verb
- Task: text after "to/will/should/needs to"
Pattern 3: Structured Action Format
Action: John - update documentation
Action Item: Sarah - create the report
AI: Mike - review PR #123
Parsed:
- Assignee: name after "Action:" and before "-"
- Task: text after "-"
Pattern 4: TODO Format
TODO: Update documentation (John)
TODO: Create report - Sarah
[ ] Mike: review PR #123
Parsed:
- Assignee: name in parentheses or after ":"
- Task: text between TODO and assignee
Pattern 5: Bullet Lists
- John: update documentation
- Sarah - create the report
* Mike will review PR #123
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:
I analyzed the meeting notes but couldn't find any action items with clear assignees.
Action items typically follow patterns like:
- @Name to do X
- Name will do X
- Action: Name - do X
- TODO: X (Name)
Options:
1. I can search for TODO items without assignees
2. You can point out specific action items to create
3. I can create tasks for bullet points you specify
What would you like to do?
Mixed Formats
If some action items have assignees and some don't:
I found [N] action items:
- [X] with clear assignees
- [Y] without assignees
Should I:
1. Create all [N] tasks ([X] assigned, [Y] unassigned)
2. Only create the [X] tasks with assignees
3. Ask you to assign the [Y] unassigned tasks
Which option would you prefer?
Assignee Name Variations
If the same person is mentioned different ways:
Notes mention: @sarah, Sarah, Sarah J.
These likely refer to the same person. I'll look up "Sarah" once and use
that account ID for all three mentions. Is that correct?
Duplicate Action Items
If the same task appears multiple times:
I found what appears to be the same action item twice:
1. "@Sarah to create user stories" (line 15)
2. "Action: Sarah - create user stories" (line 42)
Should I:
1. Create one task (combine duplicates)
2. Create two separate tasks
3. Skip the duplicate
What would you prefer?
Long Task Descriptions
If action item text is very long (>200 characters):
The task "[long text...]" is quite detailed.
Should I:
1. Use first sentence as summary, rest in description
2. Use full text as summary
3. Let you edit it to be more concise
Which would you prefer?
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
# Meeting Title - Date
Attendees: [Names]
## Decisions
[What was decided]
## Action Items
- @FullName to [specific task with context]
- @AnotherPerson will [specific task with context]
- etc.
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:
Team Sync - Dec 3, 2025
Action Items:
- @Sarah to create user stories for chat feature
- @Mike will update the architecture doc
- @Lisa should review design mockups
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:
✅ Created 3 tasks in PROJ:
1. PROJ-100 - Create user stories for chat feature
Assigned to: Sarah Johnson
2. PROJ-101 - Update the architecture doc
Assigned to: Mike Chen
3. PROJ-102 - Review design mockups
Assigned to: Lisa Park
Example 2: Mixed Formats
Input:
Product Review Meeting
Discussed new features and priorities.
Follow-ups:
- Sarah will draft the PRD
- Mike: implement API changes
- TODO: Review security audit (Lisa)
- Update stakeholders on timeline
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:
Sprint Planning
Action Items:
- @John to update tests
- @Sarah to refactor code
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:
executeRead( # or execute(...) if your client exposes a single execute tool
name="<operationName>",
cloudId="...",
inputs={"param": "value"}
)
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.
FAQ
What does the capture-tasks-from-meeting-notes skill do?
Analyze meeting notes to find action items and create Jira tasks for assigned work. When an agent needs to: (1) Create Jira tasks or tickets from meeting notes, (2) Extract or find action items from notes or Confluence pages, (3) Parse meeting notes for assigned tasks, or (4) Analyze notes and generate tasks for team members. Identifies assignees, looks up account IDs, and creates tasks with proper context.
How do I install capture-tasks-from-meeting-notes?
Run npx skills add https://github.com/atlassian/atlassian-mcp-server --skill capture-tasks-from-meeting-notes in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/capture-tasks-from-meeting-notes/ (personal) or .claude/skills/capture-tasks-from-meeting-notes/ (project).
Which AI agents can use capture-tasks-from-meeting-notes?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is capture-tasks-from-meeting-notes safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains capture-tasks-from-meeting-notes?
It is published by atlassian in atlassian/atlassian-mcp-server. It has 296 recorded installs.
More from atlassian/atlassian-mcp-server
triage-issue
atlassian/atlassian-mcp-server
Intelligently triage bug reports and error messages by searching for duplicates in Jira and offering to create new issues or add comments to existing ones. When an agent needs to: (1) Triage a bug report or error message, (2) Check if an issue is a duplicate, (3) Find similar past issues, (4) Create a new bug ticket with proper context, or (5) Add information to an existing ticket. Searches Jira for similar issues, identifies duplicates, checks fix history, and helps create well-structured bug reports.
search-company-knowledge
atlassian/atlassian-mcp-server
Search across company knowledge bases (Confluence, Jira, internal docs) to find and explain internal concepts, processes, and technical details. When an agent needs to: (1) Find or search for information about systems, terminology, processes, deployment, authentication, infrastructure, architecture, or technical concepts, (2) Search internal documentation, knowledge base, company docs, or our docs, (3) Explain what something is, how it works, or look up information, or (4) Synthesize information from multiple sources. Searches in parallel and provides cited answers.
spec-to-backlog
atlassian/atlassian-mcp-server
Automatically convert Confluence specification documents into structured Jira backlogs with Epics and implementation tickets. When an agent needs to: (1) Create Jira tickets from a Confluence page, (2) Generate a backlog from a specification, (3) Break down a spec into implementation tasks, or (4) Convert requirements into Jira issues. Handles reading Confluence pages, analyzing specifications, creating Epics with proper structure, and generating detailed implementation tickets linked to the Epic.
generate-status-report
atlassian/atlassian-mcp-server
Generate project status reports from Jira issues and publish to Confluence. When an agent needs to: (1) Create a status report for a project, (2) Summarize project progress or updates, (3) Generate weekly/daily reports from Jira, (4) Publish status summaries to Confluence, or (5) Analyze project blockers and completion. Queries Jira issues, categorizes by status/priority, and creates formatted reports for delivery managers and executives.
jira-sprint-dashboard
atlassian/atlassian-mcp-server
Create a visual Jira sprint dashboard from Jira project, space, sprint, board, filter, JQL, work item keys, or Jira URL data. Use when the user asks for a Jira sprint dashboard, standup dashboard, sprint review, delivery review, engineering manager dashboard, WIP review, planning view, closeout view, or a visual snapshot of Jira work that is more useful than a flat report. Use the richest dashboard format supported by the current agent, such as Cursor Canvas, an interactive artifact, HTML, or Markdown.
Popular productivity & automation skills
agent-browser
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.
lark-doc
open.feishu.cn
飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。
lark-base
open.feishu.cn
飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。
lark-drive
open.feishu.cn
飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。
lark-shared
open.feishu.cn
Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.
lark-im
open.feishu.cn
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。