From 11bd55fa7954034b6cfb2f594849a049861a9564 Mon Sep 17 00:00:00 2001 From: Kai Schwarz Date: Thu, 15 Oct 2026 15:45:35 +0200 Subject: [PATCH 1/2] docs(claude): link every Jira key, close an issue once nothing is left Re-renders the jira-conventions skill from the template, which now has two more rules: every issue key written for a reader is a link to the issue, and an issue is closed without asking once its last pull request has merged, the worklog is in and nothing is left. CLAUDE.md states both rules too, so they hold before the skill loads. Refs: RSRMID-3126 --- .claude/skills/jira-conventions/SKILL.md | 26 +++++++++++++++++++++++- CLAUDE.md | 8 ++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/.claude/skills/jira-conventions/SKILL.md b/.claude/skills/jira-conventions/SKILL.md index 450c482..ec2314c 100644 --- a/.claude/skills/jira-conventions/SKILL.md +++ b/.claude/skills/jira-conventions/SKILL.md @@ -1,6 +1,6 @@ --- name: jira-conventions -description: "RSRMID Jira conventions — the fields every issue needs (Work Category, Business Unit, Team, Components), this repository's `[COMPONENT][BU]: ` title prefix, choosing the parent epic, the Markdown description format, and the worklog rule for Done and Cancelled. Load before creating, editing, or transitioning a Jira issue." +description: "RSRMID Jira conventions — the fields every issue needs (Work Category, Business Unit, Team, Components), this repository's `[COMPONENT][BU]: ` title prefix, choosing the parent epic, the Markdown description format, linking every issue key, the worklog rule for Done and Cancelled, and closing an issue once its PR has merged. Load before creating, editing, transitioning, or naming a Jira issue to the user." --- @@ -133,6 +133,16 @@ Square brackets are Markdown link syntax, so a bare `[WHMCS][CNR]`-style prefix description gets escaped. Either wrap it in backticks or drop the brackets when referring to another issue's title. +## Referring to an Issue + +Every issue key you write for a reader is a link to the issue, never a bare key — in a reply, +a summary, a PR description or a PR comment, and for every project's keys, not only RSRMID's: +`[RSRMID-1234](https://centralnic.atlassian.net/browse/RSRMID-1234)`. A bare key makes the +reader search for it; the link costs nothing. + +Branch names and commit messages keep the bare key. They are not rendered, and tooling matches +the key in them. + ## Closing an Issue: Done or Cancelled Neither **Done** nor **Cancelled** holds without a worklog — automation stamps @@ -143,4 +153,18 @@ is not obvious; (2) remove the `missing-time-spent` label if present; (3) transi After opening a pull request for an issue, add the PR URL to the issue as a comment. +### Close It Once Nothing Is Left + +When the last pull request for an issue has merged and the worklog is in, close the issue +without asking — provided nothing is left: + +- every pull request for the issue is merged or closed, in every repository it touched; +- for a change in a submodule of rtldev-middleware-workspace, the pin bump there has merged too; +- the issue has no open sub-task and no open item in its description; +- every follow-up the work turned up has its own issue. + +Bring the description up to the final state before the transition, since it is what a reader of a +closed issue sees first. Then report the close with the issue linked. If anything on the list is +still open, leave the issue open and say what is left. + diff --git a/CLAUDE.md b/CLAUDE.md index d720c8a..ae2051c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -95,6 +95,14 @@ Work is tracked in **Jira Cloud**, project `RSRMID` — not GitHub Issues. Load `jira-conventions` skill before creating, editing or transitioning an issue: it carries the required fields, this repository's title prefix and component, and the worklog rule for Done and Cancelled. +Two of its rules apply whether or not the skill is loaded: + +- Write every Jira issue key as a link to the issue, never bare: + `[RSRMID-1234](https://centralnic.atlassian.net/browse/RSRMID-1234)`. + Branch names and commit messages keep the bare key. +- Once an issue's last pull request has merged and its worklog is in, close it + without asking if nothing is left — the skill lists what counts. + ## Do NOT - Add dependencies without explicit request From 0ca4608047eae0a432d31410d06ac242ff194e59 Mon Sep 17 00:00:00 2001 From: Kai Schwarz Date: Fri, 16 Oct 2026 09:32:18 +0200 Subject: [PATCH 2/2] docs(claude): allow Jira account IDs in private repositories Re-renders the jira-conventions skill from the template: an account ID is forbidden in a public repository only, and a private repository may list the ones its work keeps needing. Refs: RSRMID-3126 --- .claude/skills/jira-conventions/SKILL.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.claude/skills/jira-conventions/SKILL.md b/.claude/skills/jira-conventions/SKILL.md index ec2314c..58bcd0d 100644 --- a/.claude/skills/jira-conventions/SKILL.md +++ b/.claude/skills/jira-conventions/SKILL.md @@ -35,8 +35,11 @@ copies byte-identical under every repository's own prettier config. - **Transitions** (global, available from any status): To Do (`11`), In Progress (`21`), In Review (`41`), Q&A (`61`), Ready for Deployment (`51`), Done (`31`), Stand-by (`71`), Cancelled (`91`) -- **Account IDs** (assignee, mentions): look them up with `lookupJiraAccountId` by name; - never write one into a repository file — most of these repositories are public +- **Account IDs** (assignee, mentions): look them up with `lookupJiraAccountId` by name. + Never write one into a file of a **public** repository — most of these repositories are + public, and an account ID there is published. A **private** repository may list the IDs its + work keeps needing, e.g. the regular assignees in its `CLAUDE.md`; check the repository's + visibility before you write one ## Fields to Set on Every Issue