The atlassian pack as a system¶
The atlassian pack is a thin, uniform layer over the Atlassian REST APIs. Each skill wraps one surface — issues, portfolio, wiki — behind a CLI the agent drives with subcommands. The agent never writes raw REST calls; it picks a subcommand and relays the result.
The four API surfaces¶
The pack covers three Atlassian products across four direct-API skills:
jira— the issue tracker. JQL search with auto-pagination, fetch and mutate issues, apply transitions, comment, attach. Handles Cloud (REST v3, ADF) and Server / Data Center (REST v2, plain text) differences automatically.jira-align— the portfolio product. Epics, features, stories, capabilities, portfolios, programs, teams over REST API 2.0 with OData-style filters. A separate product from Jira, with separate credentials.confluence-crawler— a space's page hierarchy out to Markdown with YAML frontmatter.confluence-publisher— Markdown, storage XHTML, or plain text into a new or updated page. The crawler's opposite direction, sharing its credentials.
The skills that build on top¶
Several skills compose the surfaces above instead of touching the API directly:
flow-metricscomputes DORA / Flow Framework metrics over a Jira scope. It reads through thejiraskill, joinsjira-alignfor program and portfolio scope, and emits canonical JSON / CSV. It is read-only — it never transitions, comments, or mutates.ai-adoption-reportpairsflow-metricsJSON outputs and renders a Markdown comparison report. It makes no upstream calls; its only inputs are local JSON files.jira-defect-flowhandles a Jira defect end-to-end: pulls the ticket viajira, hands the fix to thebug-fixskill, opens a PR, then comments and transitions the ticket.jira-brief-intaketurns a Jira epic (or a board / JQL selection) into shippable specs: pulls the epic and its children viajira, maps them onto a Shape B product brief, and hands off to thereceive-briefskill to elicit gaps, decompose, and build. Read-only against Jira; degrades gracefully whenreceive-briefis absent.jira-align-brief-intaketurns a Jira Align Feature into shippable specs: fetches the Feature and its child stories, tasks, and defects viajira-align, maps them onto a Shape B product brief using a configuration-guided field mapping reference (customised for org-specific workflow states and PI cadences), and hands off toreceive-brief. 1-way intake only — never writes to Jira Align. Degrades gracefully whenreceive-briefis absent.
The auth model¶
The four direct-API skills are credentialed. A credentialed skill holds no secret. It invokes a CLI that resolves the credential in-process through a three-tier ladder — environment variable, then OS keyring, then a ~/.agentbundle/credentials.env dotfile — and makes the API call itself. Cleartext never reaches the model.
This is enforced, not asked for. Each CLI refuses token-shaped flags (--token, --api-token, --bearer, --pat, --password) and exits. The skill body never reads the dotfile or echoes the token. When a credential is missing or expired, the CLI exits with a user-action code and the agent tells you to run credential-setup yourself — it's interactive, and the agent does not run it for you.
jira and jira-align carry separate credentials. confluence-crawler and confluence-publisher share one confluence namespace — configure either and both work.
The full two-layer model, and how it differs by install route, lives in Credentialed skills.
The composed skills inherit auth by composition. flow-metrics reads credentials through the jira and jira-align skills it invokes by name; it never reads a secret file itself. ai-adoption-report needs no credentials — it only reads local files.
How they fit together¶
A common arc: flow-metrics runs twice over a project — one pre-AI window, one current — and writes two JSON files. ai-adoption-report pairs them and renders the deltas. The crawler mirrors a space to Markdown, you edit, and the publisher pushes it back via the frontmatter the crawler left behind. Each skill does one job and hands its output to the next.