agentleFS
FuDesign2008FuDesign2008/open-skills/skills/jira-status-lifecycle/SKILL.md

jira-status-lifecycle

Skill6 starsChanged 6 days agoMITView on GitHub

Developer-owned Jira bug status decisions. Before analysis, claim 「解决中」 when the bug is assigned to the session user and still 「待处理」. After the fix merges, decide 「已修复」. Triggers — 「Jira 状态生命周期」「分析前改解决中」「待处理改解决中」「合并后已修复」「Jira 生命周期」 / jira status lifecycle, claim before analysis, mark fixed after merge. Do NOT use to set 验证通过 or 关闭, to read an issue, or to post the repair comment. Load before analyzing a Jira bug and before the post-merge status decision.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run this after the issue's assignee and status are known, and before the first analysis stage.

    line 29
  2. Very specific:

    Keep the decision table in this skill.

    line 61

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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 Status Lifecycle

Shared decision for developer-owned Jira bug status. Hosts load it after the issue is read and before analysis. jira-status-writeback loads it before the post-merge transition and still owns the repair comment. This skill does not post that comment and does not depend on jira-status-writeback.

The executable matrix is scripts/decide.mjs (decidePreAnalysis, decidePostMerge, applyTransitionResult). Classify the status, call the function, then act on the returned outcome. After a transition call, pass boolean true to applyTransitionResult only when that call succeeded. Pass false for every other result. Do not pass the raw API result. transition-fixed keeps lifecycleComplete false until that call returns true.

Status classes

Compare the authenticated session user with the issue assignee using the same stable identity the read step already has (account id when both sides have it).

ClassCanonical nameAlso matches
todo待处理A project status with the same meaning: not started, waiting for the developer
in-progress解决中A project status with the same meaning: the developer is working on it
fixed已修复A project status with the same meaning: the developer has finished, QA has not closed it
other—Everything else, including 验证通过 and 关闭

验证通过 and 关闭 stay other. This skill never selects a transition whose target means verified or closed.

Before analysis

Run this after the issue's assignee and status are known, and before the first analysis stage.

Resolve the authenticated user of the Jira session that read the issue. Pass that user as actor. An empty actor is stop-identity-unresolved: report it, do not call the issue unassigned to the operator, and do not start analysis.

OutcomeWhat the host does
stop-identity-unresolvedReport and stop before analysis
stop-transition-failedReport and stop before analysis. The claim was required and the transition failed or had no same-meaning target
need-claimTransition to the in-progress status with no comment on the transition call, then applyTransitionResult
continue-claimedStart analysis
continue-already-in-progressStart analysis. Do not transition again
continue-unchangedStart analysis. Do not transition
continue-not-assigneeTell the operator the status was left unchanged because the issue is not assigned to them. Start analysis

After merge

jira-status-writeback calls decidePostMerge only after the fix PR/MR is on the target branch. transitionAvailable is true when the workflow exposes a transition to the fixed status.

OutcomeWhat writeback does
incomplete-identityDo not transition and do not treat the issue as someone else's. Post the repair comment. Leave the lifecycle incomplete. Keep the merge
incomplete-not-assigneeDo not transition and do not post the repair comment. Tell the operator. Leave the lifecycle incomplete. Keep the merge
status-satisfiedThe status is already fixed. Skip the transition. Post the repair comment. The status obligation is met
transition-fixedTransition to fixed with no comment on the transition call, then applyTransitionResult. The lifecycle stays incomplete until that call returns boolean true
incomplete-transitionPost the repair comment when comment is true. Leave the lifecycle incomplete. Keep the merge

A failed transition call on transition-fixed becomes incomplete-transition. The repair comment still posts. The merge stays. The host reports the lifecycle incomplete and does not describe the bug as 已修复.

Integration

Hosts that analyze a Jira bug, and jira-status-writeback, declare jira-status-lifecycle in frontmatter dependencies and abort when it is missing (npx skills add FuDesign2008/open-skills -g --skill jira-status-lifecycle --yes).

Keep the decision table in this skill. Hosts keep a load pointer and follow the outcome. Under ai-proxy, these two developer-owned transitions still run. Merge, 验证通过, and 关闭 stay with a person.

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.