agentleFS
moezRebaimoezRebai/Skills/skills/jira/SKILL.md

jira

Skill0 starsChanged 53 days agoMITView on GitHub

Take actions against a Jira Cloud or Server/Data Center instance -- create, read, update, and search issues; transition status; add comments; manage assignees; attach files; and discover projects/issue types/fields. Use this WHENEVER the user wants to create a Jira ticket/issue/epic/story/bug, look up or search Jira issues, move a ticket to a new status, comment on a Jira issue, assign a ticket, attach a file to a Jira issue, or find out what projects/issue types/fields exist in a Jira instance. Trigger on requests like "create a Jira ticket for X", "what's the status of PROJ-123", "search Jira for open bugs assigned to me", "move PROJ-123 to Done", "comment on PROJ-123", "assign PROJ-123 to me", or "attach this file to PROJ-123". A general-purpose Jira tool, not tied to any one project's workflow.

  • Reads credentials

62 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use confluence, meet and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • SpillwaveSolutionsSkill

    confluence

    Manage Confluence documentation with downloads, uploads, conversions, and diagrams. Use when asked to "download Confluence pages", "upload to Confluence", "convert Wiki Markup", "sync markdown to Confluence", "create Confluence page", or "handle Confluence images".

    Also in 9 projects that use this

  • kv0906Skill

    meet

    Process meeting notes into structured notes with extracted decisions, blockers, and action items. Use for "/meet project type title" then paste notes.

    Also in 3 projects that use this

  • er1chuSkill

    monday

    Full Monday morning setup. Creates week folder, pulls carry-forward, and generates briefing in one pass. Use on Monday mornings or when the user says "monday", "start my week", or "monday morning".

    Also in 3 projects that use this

  • refly-aiSkill

    hubspot

    Integrate with HubSpot for CRM management. Use when you need to: (1) manage contacts and deals, (2) track sales pipelines, or (3) automate marketing and CRM workflows.

    Also in 4 projects that use this

  • koderoverSkill

    jenkins

    Jenkins CI/CD 操作。用于:(1) 触发 Jenkins 任务构建 (2) 查询任务状态和构建历史 (3) 获取构建日志 (4) 操作 Jenkins 节点和配置

    Also in 3 projects that use this

  • SentrySkill

    datadog

    Query live Datadog telemetry (logs, metrics, traces, spans, monitors, incidents, dashboards, services, hosts) through Datadog's Pup CLI. Use when users ask to investigate production behavior in Datadog, including searching logs, checking monitor status, inspecting traces or spans, looking up incidents, finding services, or correlating metrics. Do not use it for Sentry issues, repository/source-code work, or ticketing.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 0 are distinctive, and 8 are very specific to this project.

  • 0

    Common

    Most of the 56 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 8

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Make sure Node.js 18+ is available (node --version).

    line 34
  2. Very specific:

    Run echo '{}' | node scripts/jira.mjs whoami to confirm the credentials resolve and the Jira instance is reachable.

    line 36
  3. Very specific:

    Run whatever action you need (see "Running an action" below for the shape, and references/actions.md for every action's exact payload).

    line 44
  4. Very specific:

    Verify setup by running the whoami action (see below) before doing anything else.

    line 83
  5. Very specific:

    If whoami (or any action) fails with a TLS/certificate error against a Server/Data Center instance on an internal domain, the instance's …

    line 87
  6. Very specific:

    macOS/Linux: add export NODE_EXTRA_CA_CERTS=/path/to/internal-ca.pem to your shell profile (~/.zshrc, ~/.bashrc, etc.), then restart your …

    line 101
  7. Very specific:

    Before calling any of create-issue, update-issue, transition-issue, add-comment, set-assignee, or attach-file, show the user exactly what …

    line 140
  8. Very specific:

    Read-only actions -- get-issue, search-issues, list-transitions, list-comments, list-projects, list-issue-types, list-fields, whoami -- can …

    line 145

“Common” is measured: kept by at least 6 in 10 of the 56 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

jira

Talk to Jira Cloud or Server/Data Center directly via a bundled Node.js script -- no SDK, no build step.

Prerequisites

  • Node.js 18+ (for native fetch).
  • Jira credentials, depending on deployment type:
  • Server/Data Center only, if the instance uses a self-signed or internal CA certificate: either the internal CA's certificate file (to set NODE_EXTRA_CA_CERTS, the proper fix) or willingness to accept disabled TLS verification (allowInsecureTls, a last resort). See "Self-signed or internal CA certificates" below.

Quick start

  1. Make sure Node.js 18+ is available (node --version).
  2. Configure credentials -- see "Setup" below.
  3. Run echo '{}' | node scripts/jira.mjs whoami to confirm the credentials resolve and the Jira instance is reachable. If it fails with a "credentials not found" error, the script is not interactive -- it won't prompt for input. Ask the user whether their Jira is Cloud or Server/Data Center, then for their base URL and either a Cloud API token (with account email, generated at https://id.atlassian.com/manage-profile/security/api-tokens) or a Server/DC Personal Access Token (generated from their Jira profile's Personal Access Tokens page, no email needed). Write ~/.jira-credentials.json yourself (see "Setup" below for the exact shape) and retry.
  4. Run whatever action you need (see "Running an action" below for the shape, and references/actions.md for every action's exact payload).
  5. For anything that changes Jira (create/update/transition/comment/assign/attach), follow "Safety -- always confirm before mutating" below before calling it.

Setup

Credentials resolve from environment variables first, then ~/.jira-credentials.json. Two deployment types are supported, selected by deploymentType (JIRA_DEPLOYMENT_TYPE in env vars) -- it defaults to "cloud" when omitted:

Cloud (deploymentType: "cloud", the default):

  • JIRA_BASE_URL -- e.g. https://yourcompany.atlassian.net
  • JIRA_EMAIL -- the Atlassian account email
  • JIRA_API_TOKEN -- an API token from https://id.atlassian.com/manage-profile/security/api-tokens
  • JIRA_PROJECT_KEY -- optional default project (any action can override with its own project/projectKey field)

Server/Data Center (deploymentType: "server"):

  • JIRA_BASE_URL -- your company's Jira URL, e.g. https://jira.yourcompany.com
  • JIRA_API_TOKEN -- a Personal Access Token, generated from your Jira profile's Personal Access Tokens page (not id.atlassian.com -- that's Cloud-only). No email needed.
  • JIRA_PROJECT_KEY -- optional default project, same as Cloud

These are different token types tied to different Jira deployments -- a Cloud API token and a Server/DC Personal Access Token are not interchangeable, and using the wrong deploymentType for a given token will fail auth (401/403).

Or create ~/.jira-credentials.json, e.g. for Cloud:

{ "baseUrl": "https://yourcompany.atlassian.net", "email": "you@example.com", "apiToken": "...", "projectKey": "PROJ" }

or for Server/Data Center:

{ "baseUrl": "https://jira.yourcompany.com", "apiToken": "...", "deploymentType": "server", "projectKey": "PROJ" }

Verify setup by running the whoami action (see below) before doing anything else.

Self-signed or internal CA certificates

If whoami (or any action) fails with a TLS/certificate error against a Server/Data Center instance on an internal domain, the instance's certificate is likely signed by an internal or self-signed CA that Node doesn't trust by default. Two options, in order of preference:

  • Set NODE_EXTRA_CA_CERTS to the internal CA's certificate file. This is a standard Node.js environment variable, not specific to this skill, and Node only reads it once at process startup -- setting it in ~/.jira-credentials.json would have no effect, since the credentials file is read after the process has already started. It must exist as a real environment variable before the skill's node process launches, which in practice means setting it persistently at the OS level (a one-time setup step, not something to redo per session):
    • Windows: setx NODE_EXTRA_CA_CERTS "C:\path\to\internal-ca.pem", then restart any terminal/app (including Claude Code) that should pick it up -- setx only affects new processes started after it runs, not the current session.
    • macOS/Linux: add export NODE_EXTRA_CA_CERTS=/path/to/internal-ca.pem to your shell profile (~/.zshrc, ~/.bashrc, etc.), then restart your terminal/app. This properly verifies the certificate chain, unlike the option below.
  • Set allowInsecureTls (JIRA_ALLOW_INSECURE_TLS=true in env vars, or "allowInsecureTls": true in ~/.jira-credentials.json) only if you can't obtain the CA certificate. This disables TLS certificate verification for this skill's requests -- insecure, last resort.

Running an action

node scripts/jira.mjs <action>

The JSON payload is piped via stdin, not passed as an argument -- this avoids shell-quoting problems with multi-line markdown. Example:

echo '{"issueType":"Bug","summary":"Login button unresponsive"}' | node scripts/jira.mjs create-issue

On success the script prints a JSON result to stdout and exits 0. On failure it prints {"error": "..."} to stderr and exits 1.

See references/actions.md for every action's full payload/response shape and examples.

Choosing a project for create-issue

create-issue's project field is optional and falls back to the configured default (JIRA_PROJECT_KEY / projectKey) when omitted -- but if the user works across more than one project on this Jira site, don't rely on that silently. Before calling create-issue, if the target project isn't already clear from the request or the conversation so far (e.g. they gave an explicit key, or the conversation has been scoped to one project throughout), ask which project to create the issue in. If you're not sure what projects exist, offer to run list-projects first so the user can pick from real options instead of guessing a key. This applies to every issue type -- Epic, Story, Bug, Task, etc. -- not just some of them, since a silently-wrong project is the risk regardless of issue type.

Safety -- always confirm before mutating

Before calling any of create-issue, update-issue, transition-issue, add-comment, set-assignee, or attach-file, show the user exactly what will change (issue key/summary and the specific change) and get explicit confirmation. These calls hit a real Jira instance and are not easily reversible from here.

Read-only actions -- get-issue, search-issues, list-transitions, list-comments, list-projects, list-issue-types, list-fields, whoami -- can run without confirmation.

Known limitations

  • No delete-issue action -- delete issues manually in the Jira UI.
  • Description/comment markdown supports headings, paragraphs, bullet/numbered lists, bold/italic, inline code, fenced code blocks, and links -- converted to Atlassian Document Format on Cloud, Jira wiki markup on Server/Data Center. Tables, panels, mentions, and emoji are not supported -- content in those forms round-trips as best-effort plain text. Headings and fenced code blocks are recognized even when glued directly to adjacent text (no blank line needed). Bullet/numbered lists still need a blank line separating them from surrounding paragraphs, and nested lists are not supported -- flatten them into a single list or separate top-level lists instead. On Server/Data Center, the wiki-markup conversion round-trips content this skill itself wrote reliably; wiki markup a person hand-authored directly in Jira's web editor may not match this subset and falls back to best-effort plain text.
  • One-shot actions only -- this is not a continuous or bidirectional sync of any kind.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.