Agent skill

Changelog To Jira

by Devolutions in Devolutions/devolutions-gateway

Creates missing DGW Jira tickets from CHANGELOG.md entries and updates the file with the new ticket links.

Apache-2.0Auto-check passedDevelopment

Install Changelog To Jira

skills CLI
$ npx skills add Devolutions/devolutions-gateway --skill changelog-to-jira -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Devolutions/devolutions-gateway changelog-to-jira --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Devolutions/devolutions-gateway.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/changelog-to-jira .claude/skills/changelog-to-jira && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
changelog-to-jira
GitHub stars
162
Token cost
~2.7k tokens
SKILL.md length
1,093 words
Files
3 (incl. scripts)
Skills in repo
19
Repo updated
First seen
Licence
Apache-2.0

At a glance

Creates missing DGW Jira tickets from CHANGELOG.md entries and updates the file with the new ticket links.

  • Works in 7 steps: Read and Parse CHANGELOG.md → Classify and Group Entries → Show the Plan → …
  • Tasks that involve Changelog and release notes
  • SKILL.md covers Scope, Audience, Workflow and Edge Cases, plus 1 more section
  • Runs PowerShell scripts from its folder; calls git and pwsh; reaches devolutions.atlassian.net and proxy.corp

What it does

Changelog To Jira is an agent skill from Devolutions/devolutions-gateway. Creates missing DGW Jira tickets from CHANGELOG.md entries and updates the file with the new ticket links.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `README.md`).

It sits in Development, covering Changelog and release notes. It works with Jira. The repository describes itself as: A blazing fast relay server adaptable to different protocols and desired levels of traffic inspection. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Changelog and release notes

Example prompts

  • “Use the changelog-to-jira skill to create missing DGW Jira tickets from CHANGELOG.md entries and updates the file with the new ticket links”
  • “/changelog-to-jira”

Requirements

  • PowerShell

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Read and Parse CHANGELOG.md
  2. Classify and Group Entries
  3. Show the Plan
  4. Infer Assignee from Commit Author
  5. Build the ticket plan and run the script
  6. Update CHANGELOG.md
  7. Summary Report

What it can do on your machine

Read from SKILL.md and the folder at commit 6039a46. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (PowerShell), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • pwsh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • devolutions.atlassian.net
    • proxy.corp

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Changelog To Jira loads about 2.7k tokens when it runs. Until then it costs about 31 tokens; SKILL.md has 1,093 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~31
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from Devolutions/devolutions-gateway at commit 6039a46, republished under its Apache-2.0 licence (© Devolutions). 1,093 words, ~2,726 tokens.

Download SKILL.mdSave it as .claude/skills/changelog-to-jira/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
changelog-to-jira
description
Creates missing DGW Jira tickets from CHANGELOG.md entries and updates the file with the new ticket links.

Changelog to Jira Skill

This skill reads CHANGELOG.md, identifies entries that don't have a DGW-* Jira ticket, groups similar entries together, creates them in the DGW project, infers the assignee from the commit author, transitions them to Done, and updates CHANGELOG.md with the new ticket links.

Scope

Only process entries for these components (text inside _italics_):

  • dgw — Devolutions Gateway core
  • installer — Devolutions Gateway installer
  • agent — Devolutions Agent
  • agent-installer — Agent installer

Skip entries for any other component (e.g., webapp, jetsocat, crates).

Always default to the latest release — the first ## VERSION (DATE) block in the file.

Audience

Ticket descriptions are for QA technicians, support technicians, and marketing people. Write them from a consumer perspective — what changed for the user, not how it was implemented. Avoid internal code references, crate names, and architecture notes.

Length: calibrate to the complexity of the change.

  • A bug fix or minor improvement: 1–2 sentences is enough.
  • A new feature that requires configuration or has non-obvious behaviour: write as much as needed. Include what the feature does, how to enable or configure it, and any relevant defaults or caveats. This gives QA and support enough context to test and explain it without needing to read the code.

Examples:

Bug fix (short):

Fixed a crash that could occur when the Gateway service was restarted while an active session was recording.

New feature needing configuration (longer):

Gateway and Agent now support outbound proxy configuration for all network traffic. The proxy mode is controlled by the Proxy.Mode field in the configuration file:

  • System (default): auto-detects proxy settings from environment variables (HTTP_PROXY, HTTPS_PROXY, NO_PROXY) or system settings (WinHTTP on Windows, /etc/sysconfig/proxy on RHEL/SUSE, system preferences on macOS).
  • Manual: uses explicitly configured URLs. Set Proxy.Http, Proxy.Https, or Proxy.All to a proxy URL (e.g. http://proxy.corp:8080 or socks5://proxy.corp:1080).
  • Off: disables proxy entirely.

HTTP, HTTPS, SOCKS4, and SOCKS5 proxies are supported.

Workflow

Step 1: Read and Parse CHANGELOG.md

Read CHANGELOG.md from the current working directory. Take the first ## VERSION (DATE) block.

Entry format:

## VERSION (DATE)

### Section (Features / Bug Fixes / Security / Performance / etc.)

- _component_: short description ([#PR](github-pr-url)) ([commit](commit-url)) ([TICKET-ID](jira-url))

  Optional multi-line body with more detail.

Parse each entry into:

  • section: Features / Bug Fixes / Security / Performance / etc.
  • component: text inside _italics_
  • description: the short description text
  • body: optional indented multi-line description
  • github_pr: PR number if present (e.g., #1676)
  • commit_hash: short hash from the commit URL if present
  • existing_tickets: all Jira ticket IDs found (pattern: [A-Z]+-\d+ with atlassian.net/browse URL)

Filter to only entries whose component is one of: dgw, installer, agent, agent-installer.

Step 2: Classify and Group Entries
Classify each entry
CaseConditionAction
Already doneHas a DGW-* ticketSkip
Cross-projectHas a ticket from another project (e.g., ARC-353, PI-651)Create a DGW ticket linked to the original
MissingNo Jira ticketCreate a new DGW ticket
Group similar entries into a single ticket

Before planning ticket creation, look for entries that describe the same underlying change and should be represented by one ticket rather than several. Group them when:

  • They share the same PR number (most reliable signal — same code change, multiple components affected)
  • They are clearly two sides of the same feature (e.g., both dgw and agent entries describe adding the same capability)
  • The descriptions are semantically equivalent (same fix or feature, slightly different wording)

When grouping, create one ticket that:

  • Lists all affected components in the summary: [dgw, agent] Feature description
  • Has a description that covers all components
  • Maps CHANGELOG.md lines for all grouped entries to this single ticket

Do not force groupings. When in doubt, create separate tickets.

Step 3: Show the Plan

Before creating anything, show a summary table and wait for confirmation:

Latest release: 2026.1.0 (2026-02-23)

Will CREATE (no ticket):
  [Features] dgw: Add CredSSP certificate configuration keys (#1676)
  [Bug Fixes] agent-installer: Specify ARM64 platform for ARM64 installer

Will CREATE (grouped — same change):
  [Features] dgw + agent: RDM pipe passthrough logic (#1701)
    • dgw: add pipe passthrough for RDM
    • agent: handle pipe passthrough messages from RDM

Will CREATE + LINK (cross-project ticket):
  [Features] agent: RDM messages and pipe passthrough logic → PI-651

Already have DGW tickets (skipping):
  DGW-341 — Improve real-time performance of session shadowing

Proceed?
Step 4: Infer Assignee from Commit Author

For every entry that needs a new ticket (missing or cross-project), infer the assignee by looking up the commit author in git and resolving them to a Jira account.

For entries with a commit hash:

bash
git log --format="%ae %an" -1 <commit-hash>

This gives you the author's email and name. Then look up their Jira account:

mcp__claude_ai_Atlassian__lookupJiraAccountId  →  query = "<author email or name>"

Use the email first — it's the most reliable identifier. If no match, try the display name.

For cross-project entries: Also fetch the original ticket's assignee (getJiraIssue → assignee.accountId) as a fallback if the commit lookup yields no result. Prefer the commit author when both are available.

If no commit hash is available, or the author lookup returns no result, omit the assignee field — do not block ticket creation.

Cache the results — if two entries share the same commit author, reuse the resolved accountId without a second lookup.

Show full SKILL.md (372 more words)Show less
Step 5: Build the ticket plan and run the script

Construct a jira-plan.json file in the repo root with all tickets to create:

json
{
  "tickets": [
    {
      "id": "t1",
      "summary": "[dgw] Add CredSSP certificate configuration keys",
      "issuetype": "Story",
      "description": "Consumer-facing description. Length should match complexity — see Audience section.",
      "assignee_account_id": "557058:eeb3e2d6-ef7a-463e-9d9e-5834dd925adb",
      "cross_project_link": null
    },
    {
      "id": "t2",
      "summary": "[dgw, agent] RDM pipe passthrough logic",
      "issuetype": "Bug",
      "description": "...",
      "assignee_account_id": null,
      "cross_project_link": "PI-651"
    }
  ]
}

Issue type by section:

Sectionissuetype
FeaturesStory
Bug FixesBug
SecurityBug
PerformanceStory
OtherTask

Summary format: [component] Capitalized short description

  • Single entry: [dgw] Add CredSSP certificate configuration keys
  • Grouped entry: [dgw, agent] Add CredSSP certificate configuration keys

Description: 2–4 sentences, consumer-facing. Rewrite for a non-technical audience. For cross-project entries, append: Related ticket: ARC-353.

Keep a local map of id → CHANGELOG.md line(s) — you will need it in Step 7 to write back the ticket keys.

Then run the script, capturing its JSON output:

powershell
pwsh <skill-dir>/scripts/invoke-jira.ps1 -PlanFile jira-plan.json

The script handles everything mechanical: creating each ticket, linking cross-project tickets, walking the DGW workflow to Done (Backlog → To Do → Development → Reviewing → Done), and deleting jira-plan.json when done.

The result JSON is written to stdout:

json
{
  "created": [
    { "id": "t1", "key": "DGW-400" },
    { "id": "t2", "key": "DGW-401" }
  ],
  "errors": []
}

If errors is non-empty, report the failures to the user before continuing.

Step 7: Update CHANGELOG.md

After creating all tickets, automatically update CHANGELOG.md to append the new ticket links to each affected entry line.

Entry format for the appended link: ([DGW-400](https://devolutions.atlassian.net/browse/DGW-400))

It goes at the end of the - line, after existing links. For grouped entries, add the same ticket link to all the CHANGELOG.md lines that were grouped together. Example:

Before:

- _dgw_: add CredSSP certificate configuration keys ([#1676](...)) ([443e5f0b02](...))

After:

- _dgw_: add CredSSP certificate configuration keys ([#1676](...)) ([443e5f0b02](...)) ([DGW-400](https://devolutions.atlassian.net/browse/DGW-400))
Step 8: Summary Report
Created N DGW tickets for version 2026.1.0:
  DGW-400: [dgw] Add CredSSP certificate configuration keys  (assignee: Alice)
  DGW-401: [agent-installer] Specify ARM64 platform for ARM64 installer  (assignee: Bob)
  DGW-402: [dgw, agent] RDM pipe passthrough logic (grouped 2 entries)  (assignee: Carol)
  DGW-403: [agent] RDM messages and pipe passthrough logic (→ PI-651)  (assignee: Dave)

All tickets transitioned to Done.

Skipped 1 (already had DGW ticket):
  DGW-341 — Improve real-time performance of session shadowing

CHANGELOG.md updated with new ticket links.

Edge Cases

  • Multi-component entries like _dgw,agent_: Process it (both components are in scope), use the combined form in the summary.
  • No body text: Write a 1-sentence description from the summary alone — don't leave it blank.
  • Unknown link type: Call mcp__claude_ai_Atlassian__getIssueLinkTypes to find "relates to".
  • Unknown issue types: Call mcp__claude_ai_Atlassian__getJiraProjectIssueTypesMetadata for project DGW.
  • Commit author not in Jira: If lookupJiraAccountId returns no results (e.g., a contractor or external contributor), skip the assignee — don't block ticket creation.
  • No "Done" transition: If the project uses different terminal state names, pick the closest one. If genuinely ambiguous, skip transitioning and note it in the summary.

Atlassian MCP Tools

These are the only MCP tools still needed — ticket creation, linking, and transitions are handled by the PowerShell script.

  • mcp__claude_ai_Atlassian__lookupJiraAccountId — resolve a commit author's email or name to a Jira account ID (Step 4)
  • mcp__claude_ai_Atlassian__getJiraIssue — fetch cross-project ticket details (assignee fallback, Step 4)
  • mcp__claude_ai_Atlassian__searchJiraIssuesUsingJql — search existing tickets if needed

© Devolutions, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts) in .agents/skills/changelog-to-jira of Devolutions/devolutions-gateway.

  • SKILL.md
  • README.md
  • scripts/invoke-jira.ps1

Open the folder on GitHubat commit 6039a46

Compare with similar skills

Changelog To Jira next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Changelog To Jira compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Changelog To Jira this skillDevolutions/devolutions-gateway162—~2.7kAutomated safety check: PassApache-2.0
SDK Changelogbouffalolab/bouffalo_sdk500—~1.1kAutomated safety check: PassApache-2.0
Create Epic RecapDataDog/datadog-agent3.8k—~5kAutomated safety check: NotesApache-2.0
Review Release Noteschef/chef-web-docs143—~5.2kAutomated safety check: PassCustom licence
Codap V3 Buildconcord-consortium/codap106—~15kAutomated safety check: PassMIT
Generate Release Noteshuytieu/COG-second-brain1.3k—~2.5kAutomated safety check: PassMIT

Similar skills

  • SDK Changelog

    bouffalolab/bouffalo_sdk

    A skill your agent uses when generating a customer-facing CHANGELOG between two SDK release tags.

    500 GitHub stars~1.1k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Create Epic Recap

    DataDog/datadog-agent

    Official

    A skill your agent uses when an engineer or manager asks to recap, summarize, or post an update on a Jira Epic — a progress update for an in-progress Epic (how far along it is, what's shipped so…

    3.8k GitHub stars~5k tokensUpdated today
    DevelopmentAuto-check: notes
  • Review Release Notes

    chef/chef-web-docs

    Read a release notes file and edit it using Jira release data and GitHub pull requests as co-equal, optional sources.

    143 GitHub stars~5.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Codap V3 Build

    concord-consortium/codap

    A skill your agent uses when preparing a CODAP v3 release, creating release notes, updating version files, creating release PRs, tagging releases, or deploying to staging/production.

    106 GitHub stars~15k tokensUpdated today
    DevelopmentAuto-check passed
  • Generate Release Notes

    huytieu/COG-second-brain

    Generate categorized release notes from any source (GitHub, Linear, Jira, or manual input) with optional publishing

    1.3k GitHub stars~2.5k tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Release Notes Generator

    amplitude/builder-skills

    Read completed tickets from Linear, Jira, or GitHub Issues, filter to user-visible changes, group by product area, and write polished user-facing release notes saved as a .docx to Google Drive.

    159 GitHub stars~684 tokensUpdated 2 mo ago
    DevelopmentAuto-check passed

More from Devolutions/devolutions-gateway

All 19 skills in this repo
  • Tessl Skill Linting

    Devolutions/devolutions-gateway

    Review, lint, create, edit, refine, optimize, compress, or validate any agent skill in this repository, including any SKILL.md.

    162 GitHub stars~740 tokensUpdated today
    Auto-check passed
  • Build Agent Msi

    Devolutions/devolutions-gateway

    Build the Devolutions Agent Windows MSI installer locally. An agent skill from Devolutions/devolutions-gateway.

    162 GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Commit And PR Conventions

    Devolutions/devolutions-gateway

    Follow the adopted commit and pull-request conventions. An agent skill from Devolutions/devolutions-gateway.

    162 GitHub stars~739 tokensUpdated today
    Auto-check passed
  • Prepare Release

    Devolutions/devolutions-gateway

    Prepares a Devolutions Gateway / Devolutions Agent release commit: bumps the version, generates and inserts the changelog, creates Jira tickets, generates the ToolBox changelog, and produces the…

    162 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Build Gateway Msi

    Devolutions/devolutions-gateway

    Build the Devolutions Gateway Windows MSI installer locally.

    162 GitHub stars~2.3k tokensUpdated today
    Auto-check: warnings
  • Installer Localization

    Devolutions/devolutions-gateway

    Add or change Windows installer (MSI) strings or languages for Devolutions Gateway or Devolutions Agent.

    162 GitHub stars~618 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Changelog To Jira

What does Changelog To Jira do?

Creates missing DGW Jira tickets from CHANGELOG.md entries and updates the file with the new ticket links. Changelog To Jira is an agent skill from Devolutions/devolutions-gateway.md entries and updates the file with the new ticket links.

When should I use Changelog To Jira?

Changelog To Jira fits situations like: tasks that involve Changelog and release notes.

How do I install Changelog To Jira in Claude Code?

Run `npx skills add Devolutions/devolutions-gateway --skill changelog-to-jira -a claude-code`. Or copy the skill folder (.agents/skills/changelog-to-jira in Devolutions/devolutions-gateway) into .claude/skills/changelog-to-jira in your project. Claude Code loads it when a task matches its description.

How do I install Changelog To Jira in Codex?

Run `npx skills add Devolutions/devolutions-gateway --skill changelog-to-jira -a codex`. Or copy the skill folder (.agents/skills/changelog-to-jira in Devolutions/devolutions-gateway) into .agents/skills/changelog-to-jira in your project. Codex loads it when a task matches its description.

Can I use Changelog To Jira in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Devolutions/devolutions-gateway --skill changelog-to-jira -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/changelog-to-jira, .gemini/skills/changelog-to-jira, .github/skills/changelog-to-jira and .opencode/skills/changelog-to-jira in your project.

What does Changelog To Jira need to run?

Going by SKILL.md and its folder, Changelog To Jira needs PowerShell for the scripts in its folder and the command-line tools its instructions call (git and pwsh). Our summary lists: PowerShell.

Does Changelog To Jira access the network?

SKILL.md names 2 domains. In commands or code: devolutions.atlassian.net and proxy.corp; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Changelog To Jira safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Changelog To Jira use?

Changelog To Jira is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Changelog To Jira use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Changelog To Jira?

Skills that share tags, products or a category with Changelog To Jira: SDK Changelog (bouffalolab/bouffalo_sdk, 500 stars), Create Epic Recap (DataDog/datadog-agent, 3.8k stars), Review Release Notes (chef/chef-web-docs, 143 stars) and Codap V3 Build (concord-consortium/codap, 106 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Changelog To Jira?

Devolutions (a GitHub organization) maintains it in Devolutions/devolutions-gateway, which has 162 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 9, 2026.

Source: Devolutions/devolutions-gateway on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.