AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
An SDLC layer for AI coding assistants; using JIRA API, Gitflow model, git worktrees as isolated per-issue workspaces.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
An SDLC layer for AI coding assistants — the Jira API, the Gitflow model, and
git worktrees as isolated per-issue workspaces.
Shipped as a Claude Code plugin (installable from its own marketplace) and as
a loose skill set for coding-assistant platforms that respect the Claude or
agentskills.io specifications.
The skills are explicit-invocation only by design — never auto-triggered —
and carry the corresponding setting on both specs: disable-model-invocation
for Claude, allow_implicit_invocation: false for agentskills.io.檢視完整 README ↗An SDLC layer for AI coding assistants — the Jira API, the Gitflow model, and git worktrees as isolated per-issue workspaces.
Shipped as a Claude Code plugin (installable from its own marketplace) and as a loose skill set for coding-assistant platforms that respect the Claude or agentskills.io specifications.
The skills are explicit-invocation only by design — never auto-triggered —
and carry the corresponding setting on both specs: disable-model-invocation
for Claude, allow_implicit_invocation: false for agentskills.io.
Jira and Atlassian are trademarks or registered trademarks of Atlassian Pty Ltd, in the United States and/or other countries. This is an independent, community-built project that integrates with Jira through its public CLI and APIs; it is not affiliated with, endorsed by, or sponsored by Atlassian, and its references to Jira are solely to describe compatibility.
This plugin acts as an authenticated user in both git and Jira. Given
credentials, it will commit, create and push branches, open and update
pull requests, and take the other actions needed to follow the
gitflow strategy — and it will
create, update, transition, and comment on issues in your Jira project.
Those actions are visible to your team and land under whichever account you
configured — your own, or a dedicated one per skill.
Use it with caution: point it at a project you're comfortable having changed, and read Settings files before the first run so you know which repo and which Jira project it's wired to.
What it deliberately never does on its own — merging into your base branch, deleting Jira issues, resolving conflicts — is listed in Safety model.
You will need:
git, gh, and jqContents (read/write)Pull requests (read/write)Meta (read) - added automaticallyProject Key, e.g. XYZ)TODOIN_PROGRESSIN_REVIEWDONEassigner, executor, reviewer (fits the free tier - up to
10 users in org).assigner, executor, reviewer) with the following permissions:
read:jira-userread:jira-workwrite:jira-workPrefer a single tickable list over this section-by-section walkthrough? See Full setup checklist.
Detailed reference for each item: Environment setup.
/plugin marketplace add kantorv/jira-sdlc-tools
/plugin install jira-sdlc@jira-sdlc-tools
--plugin-dirgit clone https://github.com/kantorv/jira-sdlc-tools.git
claude --plugin-dir ./jira-sdlc-tools/plugins/jira-sdlc
See full doc: CLAUDECODE.md
This plugin can also be installed as a loose skill set with various coding assistants other than Claude Code, Antigravity, Cursor, Kimi Code, and more. See the Platform Compatibility Matrix for the full list and integration status per platform.
The skills target the Claude skills spec, so jira-sdlc also works —
natively or through the Agent Skills
adaptation — in a growing set of other AI coding assistants: Cursor, Kilo
Code, Codex, Antigravity, OpenCode, Grok Build, Pi,
Kimi Code, and Muse Code. See Platform Compatibility Matrix for the
platform-by-platform table — each one's spec, wiring, integration status,
and a link to its detailed doc.
| Platform | Specification | How it loads | Integration status | Compatibility | Documentation |
|---|---|---|---|---|---|
| Claude Code | Native Claude skills | plugin marketplace · .claude/skills/ drop-in copy · --plugin-dir | First-class (reference) | ✅ | CLAUDECODE.md |
| Cursor | Native Claude skills | shares the ~/.claude/ tree with Claude Code | Verified — Linux/macOS | ✅ | CURSOR.md |
| Kilo Code | Native Claude skills | kilo.jsonc skills path | Working | ✅ | KILO.md |
| Codex (CLI) | Agent Skills | .codex/skills/ copy + per-skill agents/openai.yml | Working — sandbox & timing caveats, testing needed | ⚠️ |
Compatibility: ✅ works — verified in a live session · ⚠️ caution — works with caveats, not run end-to-end here · ❌ not compatible · ❔ not tested — not yet exercised in this environment. See Platform Compatibility Matrix for the full status legend.
The three skills map to three phases of a task's life. The Jira states below use the default Kanban board names (To Do / In Progress / In Review) — these are configurable per project, so map them to your own workflow's status names.
See Task lifecycle for the full phase-by-phase breakdown (skills, Jira states, and per-phase steps).
flowchart LR
Kickoff([👤<br/>Phase 0 · Kickoff<br/>Human<br/>invokes /jira-task-assigner]) -->|feature · task · bug| Plan
Plan([🤖<br/>Phase 1 · Plan<br/>jira-task-assigner<br/>To Do]) -->|create issues<br/>branches<br/>worktrees| Execute([🤖<br/>Phase 2 · Implement<br/>jira-task-executor<br/>In Progress])
Execute -->|implement<br/>run tests<br/>open PRs| Review([🤖<br/>Phase 3 · Review<br/>jira-task-reviewer<br/>In Review])
Review -->|changes requested<br/>back to In Progress| Execute
Review -->|approved<br/>verdicts posted| Merge([👤<br/>Phase 4 · Merge<br/>Human<br/>Done])
claude
> /jira-sdlc:jira-task-assigner "Refactor the InstantProductViewset create action. The action is currently separated into two perform_create methods. Investigate the code to determine whether this flow could be simplified. Additionally, check for any redundant code. Reference: cropapp/catalog/views.py, lines 1265–1676"
# cd into each worktree it creates, run this in each one (no key —
# derived from that worktree's branch):
claude
> /jira-sdlc:jira-task-executor
# once the sub-task's PR is up, run from the same worktree:
claude
> /jira-sdlc:jira-task-reviewer
This repo currently hosts one plugin, jira-sdlc
— three coupled skills (jira-task-assigner, jira-task-executor,
jira-task-reviewer) that turn a feature request into Jira issues and
git worktrees, implement each piece in parallel, and then review and
merge the result as a single unit, leaving only the final release merge
for a human. A fourth, jst-install, is the setup skill you run once
before any of them.
This page is the front door. Everything about how the plugin actually
works — architecture, prerequisites, configuration, a full usage
walkthrough, safety model, and troubleshooting — lives in
plugins/jira-sdlc/README.md.
The three skills, one per stage of the lifecycle:
jira-task-assigner — turns a feature/task/bug description into
Jira issues with matching git branches and worktrees. Investigates the
codebase, asks clarifying questions, decides whether the request is one
self-contained task or a multistep split into parallel sub-tasks, and
gives every leaf issue its own branch and worktree so parallel work can
start immediately.jira-task-executor — implements the issue implied by the current
worktree's branch, end to end: status transition, investigation,
implementation, tests, commit, push, and PR. No issue-key argument —
run it from inside the issue's own worktree.jira-task-reviewer — run from the parent issue's worktree.
Reviews each sub-task PR into the parent branch (approve or request
changes), posts findings to Jira, and reviews the parent PR into the
base branch once the sub-task PRs are merged. Never merges anything
itself.Plus one that runs before all three, once per project:
jst-install — guided
first-time setup. Walks
Step-by-step installation — local tooling,
GitHub repo prep, Jira board prep, healthcheck — verifying each with the
bundled statuscheck script before moving on, so a missing development
branch or a misspelled status name surfaces at setup rather than mid-run.Everything to have in place before the first run — the three CLIs, both API tokens, the two settings files, and the branches and board your project needs — is a tickable list in Full setup checklist, ending in one command that verifies most of it for you.
Prefer it as prose? Step-by-step installation walks the same ground in the order you actually do it.
Prefer to be walked through it? /jira-sdlc:jst-install covers the same four
sections interactively, checking each one before moving to the next.
Beyond the walkthrough above, the plugin is consumed two ways — as a Claude
Code marketplace plugin, or as a loose skillset copied into a project's own
skills folder — and this repo ships demo GitHub Actions workflows under
docs/github-automations/example-workflows/ showing both consumption modes
driving the three skills headlessly in CI, from a standalone reviewer gate on
an open PR up to the full assigner → executor → reviewer chain on the feature
and hotfix paths. Full detail, including which repository secrets each demo
reads, is in
GitHub Automations.
Four scenarios, each with its own walkthrough. None of them pauses for approval: each is gated only on who can trigger it (an OWNER comment), then runs start to finish on repository secrets.
feature/* branch, gets implemented,
and ends as an open, reviewed PR. Nothing is merged. Comment-triggered.
demo-claude-feature-flow.yml
(Claude Code · /make-feature) ·
demo-fcc-nvidia-nim-feature-flow.yml
(Free Claude Code + NVIDIA NIM · /fcc-make-feature)hotfix/* cut off
<PRODUCTION_BRANCH>, PR aimed back at it, assigner forced single-step.
Comment-triggered.
demo-claude-hotfix-flow.yml
(Claude Code · /make-hotfix)demo-claude-reviewer.yml
(Claude Code · /review) ·
demo-fcc-nvidia-nim-reviewer.yml
(Free Claude Code + NVIDIA NIM · /fcc-review)The four anchor statuses (<STATUS_TODO>, <STATUS_IN_PROGRESS>,
<STATUS_IN_REVIEW>, <STATUS_DONE>) are configurable — the tokens you map
onto your board's real status names in .jst/jira-sdlc-tools.env. Who moves a
card to which state — the three skills, GitHub Actions, a Jira automation
app, or direct REST calls — is consolidated in
Jira state movements.
jira-sdlc-tools/
├── .claude-plugin/
│ └── marketplace.json # lists every plugin this repo offers
├── plugins/
│ └── jira-sdlc/ # the plugin itself
│ ├── .claude-plugin/
│ │ └── plugin.json
│ ├── skills/
│ ├── docs/
│ ├── LICENSE
│ └── README.md # full plugin documentation
├── .jst/ # settings folder — the only location the skills read
│ ├── jira-sdlc-tools.env # template — team-shared settings (committed)
│ └── jira-sdlc-tools.local.env.example # template — machine-specific (gitignored)
├── AGENTS.md # repo-wide instructions for AI coding agents
├── CLAUDE.md # imports AGENTS.md + Claude Code–specific notes
├── LICENSE
└── README.md # this file
It's split into a marketplace layer (this level) and a plugin layer
(plugins/jira-sdlc/) so the marketplace can grow to host more
Jira/SDLC-related plugins later without another reorganization — right
now there's just the one.
Editing a skill needs a tighter loop than a marketplace install gives you: Claude Code copies a plugin snapshot into its cache at install time, so changes to your clone won't show up in an installed copy until you reinstall.
Clone the repo:
git clone https://github.com/kantorv/jira-sdlc-tools.git
cd jira-sdlc-tools
Load it manually, pointing at the plugin's own root — not the
toolkit repo root, which only holds marketplace.json:
claude --plugin-dir ./plugins/jira-sdlc
No install step, no marketplace. If jira-sdlc is already installed
from a marketplace elsewhere on the same machine, --plugin-dir
takes precedence for that session, so you're never testing against a
stale cached copy without realizing it.
After each edit, reload instead of restarting:
/reload-plugins
Picks up changes to skills, agents, hooks, and MCP/LSP servers without a full session restart.
There's no build or test suite to run — these are prompt files for an
LLM agent plus two JSON manifests, not compiled code. See
AGENTS.md for what actually counts as validating a
change. Note too that this toolkit repo isn't a valid target for its
own skills — you'll need a separate application repo, with its own
.jst/jira-sdlc-tools.env, to actually exercise one against.
For anyone who wants to customize the skills and run their own version rather than track this one.
This repo is MIT-licensed and is already a ready-to-use Claude Code marketplace — it's only a few clicks from being cloned or forked into your own copy, then registered as a marketplace in your local Claude Code. Fork or clone it, edit the skills to taste, and install from your local folder:
git clone https://github.com/<you>/jira-sdlc-tools.git
.claude-plugin/marketplace.json):
/plugin marketplace add ./jira-sdlc-tools
/plugin install jira-sdlc@jira-sdlc-tools
From here it behaves like the remote install — your fork is the source.
While actively editing, use the --plugin-dir edit-reload loop above
instead, since a marketplace install copies a snapshot into the cache.Read AGENTS.md first, especially if an AI coding agent is
doing the work — it covers the constraints that are easy to break
without realizing it (the _shared/ reference-path relationship, what
else to update if you rename a skill or the plugin, how to validate a
change with no test suite to run).
MIT, covering the whole repo, including the plugin.
Everything above describes the main channel — this repo's default branch, and what every install command on this page gives you: the three core skills, reviewed, released, and tagged.
The lab channel is the same plugin sourced from the lab branch
instead. It's kept synced with the default branch, so it's never behind
main — it's main plus work that hasn't landed yet: more advanced scripts,
wider permissions, and an extra skill.
| Name | Type | Description | Example reports |
|---|---|---|---|
conversation-debugger | skill | Post-mortems a recorded run of one of the three core skills against its own prose, verdicting each instruction as followed / diverged / skipped / not-reached. | TBD |
feature_report | script | Rolls a whole feature's runs up into a single report. | TBD |
| Report | Generated by | Source | Description |
|---|---|---|---|
jira-task-assigner-JST-126 | ai | conversation-debugger | Single-run post-mortem of a jira-task-assigner conversation for JST-126, verdicting each instruction as followed / diverged / skipped / not-reached. |
jira-task-executor-JST-125 | ai | conversation-debugger | Single-run post-mortem of a jira-task-executor conversation for JST-125, run on the Windows/PowerShell dispatch path. |
jira-task-reviewer-JST-122 | ai | conversation-debugger | Single-run post-mortem of a jira-task-reviewer conversation for JST-122, run on the Windows/PowerShell dispatch path. |
JST-122-story-report | script | feature_report | Feature-wide rollup for multistep JST-122 (parent + 3 child issues, 15 conversations) built from collect_feature JSON — token/cost/model totals, nothing re-estimated. |
JST-126-task-report | script | feature_report | Feature-wide rollup for single-issue JST-126 (3 conversations) built from collect_feature JSON — token/cost/model totals, nothing re-estimated. |
To install it, suffix the marketplace repo with @lab:
/plugin marketplace add kantorv/jira-sdlc-tools@lab
/plugin install jira-sdlc@jira-sdlc-tools
Worth knowing before you switch: the extras aren't release-gated, and they reach wider than the core three do — into your whole workspace rather than a single issue's worktree, with the scripts and permissions to match.
See LAB-CHANNEL.md on the lab branch for the full description, both install routes, and the lab-only configuration step.
CODEX.md| Antigravity | Agent Skills | .agent/skills/ discovery (live-tested) + per-skill agents/openai.yml | Verified — Antigravity IDE 1.23.2 & agy 1.0.8 work; other releases untested | ✅ | ANTIGRAVITY.md |
| OpenCode | Native Claude skills | .opencode/skills/ discovery + opencode.json override | Verified | ✅ | OPENCODE.md |
| Grok Build (xAI) | Native Claude skills | reads Claude Code skills, plugins, and hooks zero-config | Draft — flag honour unverified; not run in this environment | ❔ | GROK.md |
| Pi (pi.dev) | Native Claude skills | settings.json skills path | Caution — does not respect skill arguments | ⚠️ | PI.md |
| Kimi Code | Native Claude skills | extra_skill_dirs in config.toml | Working — verified in this run | ✅ | KIMI-CODE.md |
| Muse Code (Meta) | Native Claude skills | muse plugins marketplace install (claude-compatible bundle) | Verified — full live flow (assigner, executor, reviewer), plugin update 0.9.0→0.9.1 · TUI only, no headless route | ✅ | MUSE-CODE.md |
/make-task/make-bug/make-task/make-bug