Skip to content
Back to skills

Init Jira

ASecurity

Set up the Jira Cloud integration for this project. Verifies credentials against a real Jira Cloud tenant, discovers the tenant's custom-field catalogue and project list, and persists the results under `<paths.integrations>/jira/` (default `.accelerator/state/integrations/jira/`) as team-shared, version-controlled JSON caches. Idempotent: safe to re-run after credential or project changes.

  • 34 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 10, 2026
ai-agentsbashgitapisecurity

Works with

  • api

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add atomicinnovation/accelerator --skill init-jira --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Init Jira?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Init Jira
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/atomicinnovation-init-jira/badge)](https://www.skillsdirectory.com/skills/atomicinnovation-init-jira)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: init-jira
description: >
  Set up the Jira Cloud integration for this project. Verifies credentials
  against a real Jira Cloud tenant, discovers the tenant's custom-field
  catalogue and project list, and persists the results under
  `<paths.integrations>/jira/` (default `.accelerator/state/integrations/jira/`)
  as team-shared, version-controlled JSON caches. Idempotent: safe to re-run
  after credential or project changes.
argument-hint: "[--site <subdomain>] [--email <addr>] [--refresh-fields] [--list-projects] [--list-fields]"
disable-model-invocation: true
allowed-tools:
  - Bash(accelerator config *)
  - Bash(accelerator jira *)
---

# Init Jira

!`accelerator config context --skill init-jira --fail-safe`

> **Configuration**: Set `work.integration: jira` and
> `jira.project_key: <KEY>` in `.accelerator/config.md` to
> enable auto-scoping. See the
> [`### work` section of `configure/SKILL.md`](../../config/configure/SKILL.md#work)
> for the full reference.

You are setting up the Jira Cloud integration for this project. Work through
the steps below in order, stopping to prompt the user only when a value is
missing and cannot be derived from existing configuration.

Run every `accelerator jira …` and `accelerator config …` invocation **directly**
as an executable; never prefix it with `bash`/`sh`/`env` and never pipe its
output (a wrapper prefix or a pipe escapes the skill's `allowed-tools`
permission and forces an unnecessary prompt).

## Step 0: Parse arguments

Read the argument string (if any) and note:

- `--site <subdomain>` — Jira Cloud subdomain override (e.g. `atomic-innovation`)
- `--email <addr>` — Atlassian account email override
- `--refresh-fields` — re-run field discovery only
- `--list-projects` — print cached projects and exit (no network call)
- `--list-fields` — print cached fields and exit (no network call)

If `--list-projects` was requested, run:

```
accelerator jira init list-projects
```

If `--list-fields` was requested, run:

```
accelerator jira init list-fields
```

Both print the cached JSON array; render it as a readable list. If
`--refresh-fields` was requested, skip to Step 5 (field discovery only).

## Step 1: Resolve site

Use the site from `--site` if provided. Otherwise read it from config:
`accelerator config get jira.site`. If still empty,
prompt: *"Enter your Jira Cloud subdomain (the part before `.atlassian.net`,
e.g. `mycompany`):"*

## Step 2: Resolve email

Use `--email` if provided. Otherwise read it from config:
`accelerator config get jira.email`. If still empty,
prompt: *"Enter your Atlassian account email:"*

## Step 3: Verify and persist site.json

Run:

```
accelerator jira init verify
```

Credential resolution folds into this one call; the token is never printed. On
success the subcommand emits a JSON document with `outcome: "verified"` plus
`{site, accountId}`, and writes
`.accelerator/state/integrations/jira/site.json`. Print: *"Verified as
`<accountId>` on `<site>.atlassian.net`."*

If it fails naming a missing token, tell the user:

> No Jira API token found. Generate one at
> <https://id.atlassian.com/manage-profile/security/api-tokens>, then add it
> to `.accelerator/config.local.md` (which is gitignored):
>
> ```yaml
> ---
> jira:
>   token_cmd: "op read op://Work/Atlassian/credential"
> ---
> ```
>
> Re-run `/init-jira` once the token is configured.

Then stop. On any other non-zero exit, show the error and stop.

## Step 4: Discover projects and fields

Run:

```
accelerator jira init discover
```

On `outcome: "discovered"` the subcommand writes `projects.json` (project
key/id/name) and `fields.json` (field id/key/name/slug/schema) atomically. Both
are byte-idempotent — re-running against an unchanged tenant produces no diff.

If `--refresh-fields` was requested, run only:

```
accelerator jira init refresh-fields
```

## Step 5: Default project key

Run:

```
accelerator jira init prompt-default
```

On `default-prompted` the subcommand reports the resolved default project. If
`jira.project_key` is already set this is a no-op; otherwise offer to
write the chosen key to `config.md`.

## Step 6: Confirm completion

Print a summary:

```
Jira integration initialised:
  Site:     <site>.atlassian.net
  Fields:   <N> fields cached (.accelerator/state/integrations/jira/fields.json)
  Projects: <M> projects cached (.accelerator/state/integrations/jira/projects.json)
  Default:  <KEY> (jira.project_key)
```

Remind the user to commit `.accelerator/state/integrations/jira/{fields,projects}.json`
so teammates pick up the shared cache without running `/init-jira` themselves.
(`site.json` is gitignored — each developer runs `/init-jira` to configure their
own credentials.)

!`accelerator config instructions init-jira --fail-safe`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.