Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 30 additions & 3 deletions .claude/skills/jira-conventions/SKILL.md
Original file line number Diff line number Diff line change
@@ -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."
---

<!-- markdownlint-disable -->
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -133,6 +136,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
Expand All @@ -143,4 +156,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.

<!-- prettier-ignore-end -->
8 changes: 8 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading