feat(roo): add Patrick-persona custom modes, skills, and mode-specific rules
Add 4 new custom modes with BigMind guidance: - rules-bigmind/: Introspective Patrick mode (BigMind development) - rules-homelab/: Tinkerer Patrick mode (TrueNAS, Docker, infra) - rules-mcp-builder/: Craftsman Patrick mode (pi_mcps MCP servers) - rules-paisy/: Professional Patrick mode (ADP Germany payroll) Add reusable skills: - skills/assessment-first/: structured assessment.md before implementation - skills/bigmind-session-ritual/: mandatory session start/end ritual - skills/gitea-push/: conventional commit + Gitea push workflow - skills/new-mcp-server/: FastMCP scaffold procedure - skills-bigmind/, skills-homelab/, skills-mcp-builder/, skills-paisy/: mode-specific skill dirs Update existing rules: - rules-architect, rules-ask, rules-code, rules-debug, rules-orchestrator: add BigMind session guidance (search before task, announce focus, hypotheses) Add plans/MODES_AND_SKILLS_PLAN.md: full architecture document
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
---
|
||||
name: jira-ticket
|
||||
description: Creates an ADP Germany ESIDEPAISY Jira ticket following German language conventions and mandatory custom field requirements. Use this skill when opening a new ticket for Paisy work — handles summary, description, mandatory custom fields, and sprint assignment.
|
||||
---
|
||||
|
||||
# Jira Ticket (Paisy/ADP)
|
||||
|
||||
## When to use
|
||||
- Opening a new ESIDEPAISY Jira ticket
|
||||
- Need to ensure all mandatory custom fields are set correctly
|
||||
|
||||
## When NOT to use
|
||||
- Updating an existing ticket (use `update_ticket_fields` directly)
|
||||
- Non-ESIDEPAISY projects
|
||||
|
||||
## Inputs required
|
||||
- **Summary** — in German (technical terms as-is)
|
||||
- **Description** — in German, include context and steps to reproduce
|
||||
- **Issue type** — Bug, Story, Task, Sub-task
|
||||
- **Feature Link** — current MEMO Feature (default: ESIDEPAISY-9648)
|
||||
- **Sprint ID** — current active sprint (stored in BigMind: sprint 173657)
|
||||
|
||||
## Workflow
|
||||
|
||||
### Step 1 — Search for duplicate tickets
|
||||
```
|
||||
memory_search_facts("ESIDEPAISY {keyword}")
|
||||
```
|
||||
Also search Jira directly before creating.
|
||||
|
||||
### Step 2 — Create the ticket
|
||||
|
||||
Mandatory fields at creation:
|
||||
```json
|
||||
{
|
||||
"summary": "[Deutscher Titel]",
|
||||
"description": "[Deutschsprachige Beschreibung]",
|
||||
"issuetype": {"name": "Bug"},
|
||||
"customfield_10001": "ESIDEPAISY-9648",
|
||||
"customfield_10501": {"value": "PAISY MEMO"},
|
||||
"customfield_12700": {"value": "FY26 / 2"}
|
||||
}
|
||||
```
|
||||
|
||||
**Language rule:** Summary + description + comments → German. Class names, method names, stack traces, log output → original form.
|
||||
|
||||
### Step 3 — Set sprint (must be done AFTER creation)
|
||||
```
|
||||
update_ticket_fields(
|
||||
ticket_id="{new-ticket-id}",
|
||||
fields={"customfield_10000": [{"id": 173657}]}
|
||||
)
|
||||
```
|
||||
|
||||
### Step 4 — Link to Feature
|
||||
If not set at creation, add Feature Link via update.
|
||||
|
||||
### Step 5 — Store in BigMind
|
||||
```
|
||||
memory_store_fact("codebase", "ESIDEPAISY-XXXXX created: [summary in English]. Module: [module].")
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
- **Missing customfield_10001:** Ticket will be rejected or flagged at sprint review — always set
|
||||
- **Sprint not assignable at creation:** Normal — Jira blocks this; use step 3 update pattern
|
||||
- **Status confusion:** Terminal status is "Accepted" (not "Done"/"Closed")
|
||||
Reference in New Issue
Block a user