php artisan boost:add-skill pekral/arch-app-services
Save this content to: .cursor/rules/jira/general.mdc
## JIRA Rules
- Never change JIRA issue status, with two exceptions: (1) an early transition to the project's In Progress status at the start of work, performed only via `skills/code-review-jira/scripts/transition-to-in-progress.sh`; (2) a transition to the project's Code Review status when the PR opens, performed only via `skills/code-review-jira/scripts/transition-to-code-review.sh`. Every other transition (To Do, Done, Closed, …) stays human-only. Both helpers refuse any out-of-scope target, re-read the status to confirm the issue actually reached the column before reporting success, and are idempotent (no-op when already in the target status). Each project may name these columns differently, so the target is resolved and validated by each helper, never hardcoded.
## Tooling
- Use `acli` as the primary tool for all JIRA operations (read, comment, attachments).
- If `acli` is unavailable, use a JIRA MCP server.
- If no JIRA tool is available, stop and report that JIRA access is not available.
## Comments Format
- Always use JIRA Wiki Markup so the JIRA web UI renders the comment as formatted text. Posting Markdown leaves raw `#`, `**`, `[label](url)`, and ``` ``` ``` characters visible in the UI, which is unreadable. Convert before sending via `acli` / JIRA MCP server.
- Do not use Markdown syntax:
- no fenced code blocks
- no `#` headings
- no markdown tables
- Wiki markup conversion cheatsheet (apply to every JIRA comment):
- Heading: `## Heading` → `h2. Heading` (`### Heading` → `h3. Heading`)
- Bold: `**bold**` → `*bold*`
- Italic: `*italic*` or `_italic_` → `_italic_`
- Inline code: `` `code` `` → `{{code}}`
- Code block: ` ```php ... ``` ` → `{code:php} ... {code}`
- Bullet list: `- item` → `* item`
- Numbered list: `1. item` → `# item`
- Link: `[label](https://example.com)` → `[label|https://example.com]`
- Quote: `> text` → `{quote}text{quote}`
- **Verify before posting — no leaked Markdown.** After converting, scan the final comment body and confirm it contains **zero** Markdown control characters that JIRA would render literally: no `**` / `__` (bold), no leading `#` / `##` / `###` (ATX headings), no `` ` `` / ```` ``` ```` (inline / fenced code), no `- ` / `+ ` bullets, no `[label](url)` links. If any remain, convert them per the cheatsheet above before sending. The reader must never see a raw `**` or `#` in the rendered JIRA comment.
skills/code-review-jira/scripts/transition-to-in-progress.sh; (2) a transition to the project's Code Review status when the PR opens, performed only via skills/code-review-jira/scripts/transition-to-code-review.sh. Every other transition (To Do, Done, Closed, …) stays human-only. Both helpers refuse any out-of-scope target, re-read the status to confirm the issue actually reached the column before reporting success, and are idempotent (no-op when already in the target status). Each project may name these columns differently, so the target is resolved and validated by each helper, never hardcoded.acli as the primary tool for all JIRA operations (read, comment, attachments).acli is unavailable, use a JIRA MCP server.#, **, [label](url), and ``` characters visible in the UI, which is unreadable. Convert before sending via acli / JIRA MCP server.# headings## Heading → h2. Heading (### Heading → h3. Heading)**bold** → *bold**italic* or _italic_ → _italic_`code` → {{code}}```php ... ``` → {code:php} ... {code}- item → * item1. item → # item[label](https://example.com) → [label|https://example.com]> text → {quote}text{quote}** / __ (bold), no leading # / ## / ### (ATX headings), no ` / ``` (inline / fenced code), no - / + bullets, no [label](url) links. If any remain, convert them per the cheatsheet above before sending. The reader must never see a raw ** or # in the rendered JIRA comment.How can I help you explore Laravel packages today?