atlassian

Use Atlassian integration to query and manage Jira Cloud and Confluence Cloud — Jira issues, comments, transitions, assignments, agile boards/sprints, and Confluence pages, spaces, labels, attachments. Use whenever the user asks about Jira tickets/issues/sprints or Confluence pages/spaces — searching with JQL/CQL, getting or creating issues, transitioning workflows, finding or updating pages, etc. Use even when you think you know the answer — issue and page state are dynamic; only the live API reflects current assignments, transitions, comments, or page revisions. Do not use for: self-hosted Jira/Confluence Server or Data Center (Cloud only), generic project management theory, or anything outside the configured Atlassian site.

Best use case

atlassian is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use Atlassian integration to query and manage Jira Cloud and Confluence Cloud — Jira issues, comments, transitions, assignments, agile boards/sprints, and Confluence pages, spaces, labels, attachments. Use whenever the user asks about Jira tickets/issues/sprints or Confluence pages/spaces — searching with JQL/CQL, getting or creating issues, transitioning workflows, finding or updating pages, etc. Use even when you think you know the answer — issue and page state are dynamic; only the live API reflects current assignments, transitions, comments, or page revisions. Do not use for: self-hosted Jira/Confluence Server or Data Center (Cloud only), generic project management theory, or anything outside the configured Atlassian site.

Teams using atlassian should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/atlassian/SKILL.md --create-dirs "https://raw.githubusercontent.com/speednet-software/speedwave/main/containers/claude-resources/skills/integrations/atlassian/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/atlassian/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How atlassian Compares

Feature / AgentatlassianStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use Atlassian integration to query and manage Jira Cloud and Confluence Cloud — Jira issues, comments, transitions, assignments, agile boards/sprints, and Confluence pages, spaces, labels, attachments. Use whenever the user asks about Jira tickets/issues/sprints or Confluence pages/spaces — searching with JQL/CQL, getting or creating issues, transitioning workflows, finding or updating pages, etc. Use even when you think you know the answer — issue and page state are dynamic; only the live API reflects current assignments, transitions, comments, or page revisions. Do not use for: self-hosted Jira/Confluence Server or Data Center (Cloud only), generic project management theory, or anything outside the configured Atlassian site.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Atlassian (Jira Cloud + Confluence Cloud)

Atlassian access (Jira and Confluence) goes through the MCP Hub via `search_tools` and `execute_code` using the injected `atlassian` global. `site_url`, `email`, and `api_token` are pre-configured on the worker — never pass them, never ask the user. An optional allowlist (`jira_project_keys`, `confluence_space_keys`) may also be pre-configured, restricting which projects/spaces are visible and writable.

## Workflow

1. `search_tools({ query: "jira issue" | "confluence page" | task keyword, detail_level: "names_only", service: "atlassian" })` — discover available tools. Filtering by product keyword (e.g. `"jira"` vs `"confluence"`) narrows results.
2. `search_tools` with `detail_level: "full_schema"` for the specific tool — confirm exact parameter names before calling.
3. `execute_code` with dot-notation: `await atlassian.toolName({ param: value })`.

## Pitfalls

**Allowlists may silently filter results to empty.** If a search returns 0 hits for something the user expects to exist, mention the project/space key may not be in the allowlist — do not claim the issue or page doesn't exist.

**JQL ≠ CQL.** Jira uses JQL (`searchIssues`); Confluence uses CQL (`searchPages`). The field names, functions, and operators differ — never mix them. Example JQL: `assignee = currentUser() AND statusCategory != Done`. Example CQL: `space = DEV AND type = page AND text ~ "runbook"`.

**ADF vs storage format.** Jira Cloud content (issue description, comments) is ADF (Atlassian Document Format — a JSON tree). Confluence content is "storage" format (XHTML-like). Use `bodyText` for plain-text input to either product and let the worker convert; only pass `bodyAdf` or `bodyStorage` when you have the native format. Never feed ADF to a Confluence tool or storage XHTML to a Jira tool.

**User references use `accountId`.** `assignIssue`, `createIssue`, and similar tools take an opaque Cloud account ID (e.g. `5b10ac8d82e05b22cc7d4ef5`), not a username or email. Resolve the current user with `getMyself`; for other users, use a user-lookup tool — do not guess.

**Transitions need a `transitionId`.** Call the transitions endpoint first to map a status name (e.g. "Done", "In Progress") to the valid numeric ID for that issue's current workflow before calling transition.

**`updatePage` requires the current version number.** Fetch the page first, increment the version, then push. If the API returns a conflict, re-read and retry — do not blindly retry with a stale version.

**Pagination differs by product.** Jira uses `startAt`/`maxResults` (or an opaque `nextPageToken` on some tools); Confluence uses cursor-based pagination. Read the full schema each time — do not assume offsets work the same across tools.

**Write/delete confirmation.** Per the container CLAUDE.md rule, never execute any create, update, transition, assign, or delete operation without explicit user confirmation in the current turn.

Related Skills

speedwave-product-showcase

7
from speednet-software/speedwave

Build a self-contained, dependency-free animated "live product" demo for a landing page — a step carousel that faithfully recreates the real app UI (chat, settings, integrations, logs…) using only HTML + scoped CSS + one inline rAF script. Use when asked to add an animated product walkthrough / hero demo / "show the app in motion" to a marketing site.

sharepoint

7
from speednet-software/speedwave

Use SharePoint integration to read, write, and manage files, lists, list items, columns, and pages on the configured Microsoft 365 site. Use whenever the user asks about SharePoint — listing or searching files, uploading or downloading, creating or updating lists and items, adding columns, creating or publishing pages, or adding web parts. Use even when you think you know the answer — site state is dynamic; only the live API reflects current files, list items, or page versions. Do not use for: Microsoft 365 Outlook/Teams/OneDrive operations not surfaced via SharePoint, cross-site or cross-tenant ops (only the configured site), or generic Microsoft Graph questions.

reminders

7
from speednet-software/speedwave

Use the OS reminders integration to query and manage native macOS Reminders.app — listing reminder lists, fetching reminders by list or due date, creating new reminders, updating, completing, or deleting them. Use even when you think you know the answer — Reminders state is dynamic; only the live API reflects current items, due dates, and completion status. Do not use for: non-macOS systems, other reminder/task apps (Todoist, TickTick, etc.), or anything outside the user's local Reminders.app.

redmine

7
from speednet-software/speedwave

Use Redmine integration to query and manage Redmine projects, issues, time entries, journals, comments, relations, and user mappings. Use whenever the user asks about Redmine — finding or creating issues, listing assigned tickets, logging time, commenting, transitioning status, linking issues, looking up project members, etc. Use even when you think you know the answer — issue and project state are dynamic; only the live API reflects current assignments, status, or time entries. Do not use for: project management theory, anything outside the configured Redmine instance, or wiki content (no wiki tools available — use playwright or paste the URL).

playwright

7
from speednet-software/speedwave

Use Playwright integration to browse the web, take screenshots, and interact with web pages in a headless Chromium browser. Use whenever the user asks to screenshot a page, navigate to a URL, check what is on a website, fill a form, click through a flow, or extract content from a rendered page. Use even when you think you know the page content — websites change constantly; only the live browser reflects current rendering, JS-injected content, and dynamic state. Do not use for: fetching plain HTML or JSON that does not need JavaScript rendering (use WebFetch), scraping that violates the site's terms of service, anything requiring credentials the user has not provided, or local file access (the Playwright container has no /workspace mount).

office

7
from speednet-software/speedwave

Use Office integration to read, create, edit, and convert Word/Excel/PowerPoint/PDF documents, and to render charts. Use whenever the user asks about working with .docx, .xlsx, .pptx, or .pdf files — reading content, creating reports or invoices, editing existing documents, converting between formats, merging or splitting PDFs, or rendering charts. Use even when you think you know the answer — document libraries change between framework versions; only the live tool reflects current Office/PDF format support and chart rendering capabilities. Do not use for: plain text files (read them directly), generic Markdown conversion that does not need PDF output (use built-in tools), or installing document-processing libraries — they are already behind office__* tools.

notes

7
from speednet-software/speedwave

Use the OS notes integration to query and manage native macOS Notes.app — listing folders and accounts, searching notes by title or body, reading note content, creating new notes, updating existing notes, and deleting notes. Use even when you think you know the answer — Notes state is dynamic; only the live API reflects current content, folder structure, and iCloud-sync updates. Do not use for: non-macOS systems, other note apps (Obsidian, Bear, Logseq, Notion, etc.), or generic note-taking-methodology advice.

mail

7
from speednet-software/speedwave

Use the OS mail integration to query the user's native macOS Mail.app — listing mailboxes and accounts, searching messages, reading message bodies and attachments, and sending new mail through the configured accounts. Use even when you think you know the answer — inbox state is dynamic; only the live API reflects current messages, unread counts, and folder organization. Do not use for: web-based mail (Gmail/Outlook web), non-macOS systems, email protocol questions (IMAP/SMTP), or generic email-marketing/composition advice.

gitlab

7
from speednet-software/speedwave

Use GitLab integration to query and manage projects, merge requests, issues, pipelines, branches, commits, files, and releases on the configured GitLab instance. Use whenever the user asks about GitLab — listing MRs, reviewing diffs, opening or merging MRs, creating/closing issues, comparing branches, reading pipeline status, fetching files, searching code, etc. Use even when you think you know the answer — repository state is dynamic and only the live API reflects current MR status, pipeline runs, or issue assignments. Do not use for: plain git operations on the local checkout, GitHub.com (use github), general code review questions, or anything outside the configured GitLab instance.

github

7
from speednet-software/speedwave

Use GitHub integration to query and manage GitHub.com repositories, pull requests, issues, branches, commits, Actions workflow runs, labels, tags, and releases. Use whenever the user asks about GitHub — opening or reviewing PRs, getting PR diffs, listing or commenting on issues, comparing branches, reading workflow logs, creating releases, searching code, etc. Use even when you think you know the answer — repository state is dynamic; only the live API reflects current PR status, workflow runs, or issue assignments. Do not use for: plain git operations on the local checkout, GitLab or self-hosted GitHub Enterprise (out of scope), general code review questions, or any repo not on GitHub.com.

context7

7
from speednet-software/speedwave

Use Context7 to fetch current library/framework/API/SDK/CLI/cloud-service documentation whenever the user asks about a named technology — including setup, configuration, code examples, version migration, library-specific debugging, best practices, and "is X the right way to do Y" questions. Covers popular technologies such as React, Next.js, Angular, Vue, Svelte, Prisma, Drizzle, Express, NestJS, FastAPI, Django, Flask, Spring Boot, Tailwind, shadcn/ui, and any other named library, SDK, API, CLI tool, or cloud service. Use even when you think you know the answer — your training data may not reflect recent changes. Prefer this over web search for library docs. Do not use for: refactoring, writing scripts from scratch, debugging business logic, code review, or general programming concepts.

calendar

7
from speednet-software/speedwave

Use the OS calendar integration to query and manage native macOS Calendar.app — listing calendars, fetching events by date range, creating/updating/deleting events, and checking availability. Use even when you think you know the answer — calendar state is dynamic; only the live API reflects current events, RSVP status, and shared-calendar updates. Do not use for: non-macOS systems, third-party calendar services (Google Calendar API directly, Outlook web, etc.) — those go through their own integrations if configured.