Project Session Manager
Yeachan-Heo/oh-my-claudecode
Creates isolated git worktrees, with optional tmux sessions, for PR reviews, issue fixes and feature work across projects and repositories.
Jira integration — view issues, generate branches, create tickets, transition status.
$ npx skills add sd0xdev/sd0x-harness --skill jira -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sd0xdev/sd0x-harness jira --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/sd0xdev/sd0x-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/jira .claude/skills/jira && rm -rf skills-srcUse ~/.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/
Install the "jira" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/jira into .claude/skills/jira/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jira", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/sd0xdev/sd0x-harness/tree/main/skills/jiraType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add sd0xdev/sd0x-harness --skill jira -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sd0xdev/sd0x-harness jira --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sd0xdev/sd0x-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/jira .agents/skills/jira && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jira" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/jira into .agents/skills/jira/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jira", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sd0xdev/sd0x-harness --skill jira -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sd0xdev/sd0x-harness jira --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sd0xdev/sd0x-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/jira .cursor/skills/jira && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "jira" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/jira into .cursor/skills/jira/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jira", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/sd0xdev/sd0x-harness.git --path skills/jira--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add sd0xdev/sd0x-harness --skill jira -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sd0xdev/sd0x-harness jira --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sd0xdev/sd0x-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/jira .gemini/skills/jira && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "jira" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/jira into .gemini/skills/jira/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jira", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install sd0xdev/sd0x-harness jiraInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add sd0xdev/sd0x-harness --skill jira -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sd0xdev/sd0x-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/jira .github/skills/jira && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "jira" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/jira into .github/skills/jira/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jira", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sd0xdev/sd0x-harness --skill jira -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sd0xdev/sd0x-harness jira --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sd0xdev/sd0x-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/jira .opencode/skills/jira && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "jira" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/jira into .opencode/skills/jira/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jira", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
jiraJira integration — view issues, generate branches, create tickets, transition status.
Jira is an agent skill from sd0xdev/sd0x-harness. Jira integration — view issues, generate branches, create tickets, transition status. Use when: user mentions Jira ticket key (XX-123), says /jira, wants to create branch from ticket, create a new ticket, or update Jira status. Not for: GitHub issues (use issue-analyze).
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/branch-policy.md`, `references/create-policy.md` and `references/transition-mapping.md`).
It sits in Development, covering Git workflow. It works with Jira and GitHub. The repository describes itself as: The harness layer for Claude Code — a reference implementation of harness engineering with hook-enforced dual review, state-machine gates that survive context compaction, and… The licence is MIT.
Read from SKILL.md and the folder at commit c9a2036. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
mcp__claude_ai_Atlassian__getAccessibleAtlassianResourcesmcp__claude_ai_Atlassian__getJiraIssuemcp__claude_ai_Atlassian__getTransitionsForJiraIssuemcp__claude_ai_Atlassian__transitionJiraIssuemcp__claude_ai_Atlassian__addCommentToJiraIssuemcp__claude_ai_Atlassian__searchJiraIssuesUsingJqlmcp__claude_ai_Atlassian__createJiraIssuemcp__claude_ai_Atlassian__getJiraProjectIssueTypesMetadataBash(git:*)AskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Jira loads about 1.9k tokens when it runs, and up to ~3.2k if it reads all its reference files. Until then it costs about 69 tokens; SKILL.md has 485 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from sd0xdev/sd0x-harness at commit c9a2036, republished under its MIT licence (© sd0xdev). 485 words, ~1,853 tokens.
.claude/skills/jira/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.View Jira issues, generate branch names from tickets, transition issue status — all via Atlassian MCP.
[A-Z][A-Z0-9]+-\d+), branch from ticket, transition status, start work, pr opened, pr merged/jira/issue-analyzeExtract issueKey and optional host from user input:
| Input Format | Example | Extraction |
|---|---|---|
| Bare key | OK-51513 | key=OK-51513 |
| Full URL | https://foo.atlassian.net/browse/OK-51513 | key=OK-51513, host=foo.atlassian.net |
| Software URL | https://foo.atlassian.net/jira/software/.../OK-51513 | key=OK-51513, host=foo.atlassian.net |
| Branch context | (auto from git branch --show-current) | key via {TICKET_PATTERN} regex |
Regex:
([A-Z][A-Z0-9]+-\d+)https?://([^/]+\.atlassian\.net)1. Call getAccessibleAtlassianResources()
2. 0 results → error: "Atlassian MCP not configured or unauthorized"
3. 1 result → use its cloudId automatically
4. N results →
Host provided and matches? → use matching cloudId
Host provided but no match? → warn: "Host '<host>' not found. Available: ..." → AskUserQuestion to select or abort
No host? → AskUserQuestion to choose instanceDo NOT persist cloudId. Resolve at runtime each time; Claude context naturally caches within a session.
view| Step | Action |
|---|---|
| 1 | Parse input → issueKey (+ host if URL) |
| 2 | Resolve cloudId |
| 3 | getJiraIssue(cloudId, issueKey) |
| 4 | Format output |
Output format:
## KEY: Summary
| Field | Value |
|-------|-------|
| Status | ... |
| Assignee | ... |
| Priority | ... |
| Type | ... |
| Created | ... |
### Description
(first 500 chars, truncated if longer)branch| Step | Action |
|---|---|
| 1 | Parse input → issueKey |
| 2 | Resolve cloudId |
| 3 | getJiraIssue → get summary + issuetype |
| 4 | Map issue type → branch prefix (see references/branch-policy.md) |
| 5 | Apply --type override if provided |
| 6 | Generate slug from summary |
| 7 | Assemble branch name: ${prefix}/${issueKey}-${slug} |
| 8 | Check collision (local + remote) |
| 9 | Plan mode: output branch name + command. Execute mode: run git checkout -b |
See references/branch-policy.md for full mapping table, slug algorithm, and collision detection.
Plan output (default):
Branch: feat/OK-51513-add-user-profile-page
From: OK-51513 "Add user profile page" (Story)
To create: git checkout -b feat/OK-51513-add-user-profile-pageExecute mode (--execute): run git checkout -b <branch> directly.
transition| Step | Action |
|---|---|
| 1 | Parse input → issueKey + --event value |
| 2 | Resolve cloudId |
| 3 | getJiraIssue → current status |
| 4 | getTransitionsForJiraIssue → available transitions |
| 5 | Match event → target transition (see references/transition-mapping.md) |
| 6 | Plan mode: show plan. Execute mode: AskUserQuestion → transitionJiraIssue |
See references/transition-mapping.md for event vocabulary, regex patterns, and resolution algorithm.
Plan output (default):
## Transition Plan
- Issue: OK-51513 "Add user profile page"
- Current: To Do
- Event: start_work
- Target: In Progress (transition id: 21)
Execute? /jira transition OK-51513 --event start_work --executecreate| Step | Action |
|---|---|
| 1 | Extract project key from input (bare key like OK, or from issue key prefix) |
| 2 | Resolve cloudId |
| 3 | getJiraProjectIssueTypesMetadata(cloudId, projectKey) → list available types |
| 4 | Validate issue type against available types (case-insensitive match) |
| 5 | Format description as markdown (see references/create-policy.md) |
| 6 | Plan mode: display creation plan. Execute mode: AskUserQuestion → createJiraIssue |
Input sources (both supported):
--summary and --description flags: explicit valuesMCP call (createJiraIssue):
| Parameter | Source |
|---|---|
cloudId | Resolved via step 2 |
projectKey | From input |
issueTypeName | Validated against available types |
summary | From --summary or context |
description | Formatted markdown from --description or context |
contentFormat | Always "markdown" |
Plan output (default):
## Create Issue Plan
- Project: OK
- Type: Task
- Summary: P1 Hardening — Quote state machine + Recovery Worker
- Description: (preview first 200 chars...)
Execute? /jira create OK --summary "..." --type Task --executeExecute output:
✅ Created: OK-51514
https://yourorg.atlassian.net/browse/OK-51514See references/create-policy.md for description format guidelines, project key extraction, and issue type validation.
| Failure | Message |
|---|---|
| MCP tools not available | "Atlassian MCP not connected. Enable Atlassian integration in claude.ai settings." |
| OAuth expired | "Atlassian authorization expired. Please re-authorize." |
| Issue not found | "Issue <KEY> not found. Verify the key and your access permissions." |
| Transition not available | "Cannot execute <event> from current status <status>. Available transitions: ..." |
| Network error | "Atlassian API unreachable. Please retry later." |
| Project not found | "Project '<KEY>' not accessible. Check key and permissions." |
| Issue type not available | "Type '<type>' not in project '<KEY>'. Available: [list from metadata]" |
/jira view OK-51513
→ Displays issue details (summary, status, assignee, priority, type, description)
/jira branch OK-51513
→ Plan: feat/OK-51513-add-user-profile-page
/jira branch OK-51513 --type fix --execute
→ Executes: git checkout -b fix/OK-51513-add-user-profile-page
/jira transition OK-51513 --event start_work
→ Plan: To Do → In Progress
/jira transition OK-51513 --event pr_merged --execute --comment "Merged via PR #42"
→ Executes transition + adds comment
/jira create OK --summary "Fix login timeout" --type Bug
→ Plan: Create Bug in OK
/jira create OK --summary "Add user dashboard" --type Story --description "## Background\nDashboard needed for..." --execute
→ ✅ Created: OK-51515© sd0xdev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in skills/jira of sd0xdev/sd0x-harness.
Open the folder on GitHubat commit c9a2036
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Jira this skillsd0xdev/sd0x-harness | 192 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Project Session ManagerYeachan-Heo/oh-my-claudecode | 40k | — | ~4k | Automated safety check: Pass | MIT | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| Create Pull Requestcline/cline | 70k | 1 repos | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Release Bumpjamiepine/voicebox | 57k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Creating Description For Gh PRredis/jedis | 12k | — | ~838 | Automated safety check: Pass | MIT |
Yeachan-Heo/oh-my-claudecode
Creates isolated git worktrees, with optional tmux sessions, for PR reviews, issue fixes and feature work across projects and repositories.
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
cline/cline
Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.
jamiepine/voicebox
Ends a release cycle by moving the Unreleased changelog notes under a dated version heading, bumping version files with bumpversion and tagging the commit.
redis/jedis
Generate a clear, concise GitHub PR title and description from the diff between two local git branches, and save it to prDescription.md in the repo root.
makeplane/plane
Opens a pull request for the current branch using the repo's template, a work item ID in the title and a description filled in from the actual diff.
sd0xdev/sd0x-harness
Write an Architecture Decision Record (ADR) for a feature — Context / Decision / Status / Consequences / Alternatives, filed as docs/features/<feature/adr-<NNN-<title.md with a 3-digit zero-padded…
sd0xdev/sd0x-harness
Load GitHub PR review comments into AI session — analyze, triage, plan.
sd0xdev/sd0x-harness
Change-aware next step advisor. An agent skill from sd0xdev/sd0x-harness.
sd0xdev/sd0x-harness
Obsidian vault integration via official CLI. An agent skill from sd0xdev/sd0x-harness.
sd0xdev/sd0x-harness
Agent-driven workflow orchestration (v1 report-only). An agent skill from sd0xdev/sd0x-harness.
sd0xdev/sd0x-harness
Post friendly review comments to a GitHub PR — prepare locally, preview, then submit as atomic review.
Categories
Jira integration — view issues, generate branches, create tickets, transition status. Jira is an agent skill from sd0xdev/sd0x-harness. Jira integration — view issues, generate branches, create tickets, transition status.
Jira fits situations like: : user mentions Jira ticket key (XX-123); wants to create branch from ticket; create a new ticket; update Jira status.
Run `npx skills add sd0xdev/sd0x-harness --skill jira -a claude-code`. Or copy the skill folder (skills/jira in sd0xdev/sd0x-harness) into .claude/skills/jira in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sd0xdev/sd0x-harness --skill jira -a codex`. Or copy the skill folder (skills/jira in sd0xdev/sd0x-harness) into .agents/skills/jira in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sd0xdev/sd0x-harness --skill 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/jira, .gemini/skills/jira, .github/skills/jira and .opencode/skills/jira in your project.
Going by SKILL.md and its folder, Jira needs the command-line tools its instructions call (git). Its frontmatter pre-approves these tools: mcp__claude_ai_Atlassian__getAccessibleAtlassianResources, mcp__claude_ai_Atlassian__getJiraIssue, mcp__claude_ai_Atlassian__getTransitionsForJiraIssue, mcp__claude_ai_Atlassian__transitionJiraIssue, mcp__claude_ai_Atlassian__addCommentToJiraIssue, mcp__claude_ai_Atlassian__searchJiraIssuesUsingJql, mcp__claude_ai_Atlassian__createJiraIssue, mcp__claude_ai_Atlassian__getJiraProjectIssueTypesMetadata, Bash(git:*), AskUserQuestion.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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. Review the folder before installing.
Jira is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Jira: Project Session Manager (Yeachan-Heo/oh-my-claudecode, 40k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), Create Pull Request (cline/cline, 70k stars) and Release Bump (jamiepine/voicebox, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sd0xdev (a GitHub user) maintains it in sd0xdev/sd0x-harness, which has 192 GitHub stars. The repository holds 91 skills in this directory. The repository was last updated on October 6, 2026.
Source: sd0xdev/sd0x-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.