원클릭으로
jira-assign-scrum-team
// Assign a scrum team label to issues based on area-to-scrum mapping and team keyword associations, producing ADD_LABEL operations in the standard triage format.
// Assign a scrum team label to issues based on area-to-scrum mapping and team keyword associations, producing ADD_LABEL operations in the standard triage format.
Evaluates code changes in a PR against the acceptance criteria of a Jira issue. Given a Jira issue key, determines whether each criterion is satisfied, partially satisfied, or missed. Use when asked to evaluate a PR against a Jira issue, check acceptance criteria, or verify implementation completeness.
Builds and deploys the gen-ai sidecar container to a personal OpenShift cluster for testing. Handles frontend build, Go BFF cross-compile, Podman image build/push to quay.io, and deployment patching. Supports both initial deploy and fast iteration (rebuild + pod delete). Use when the user wants to test local gen-ai changes on a real (dev) cluster.
Fetch Jira issues by filter criteria, define structured triage operations, and bulk-apply them. Full Triage mode orchestrates all analysis skills on New issues end-to-end.
Validate and assign dashboard-area-* labels on Jira issues using multi-signal analysis. Tag mode assigns missing labels; Validate mode audits existing labels for correctness.
Pre-merge readiness check for a PR or local branch. Gathers context, runs reviews and checks, reports a results table. Interactive by default — asks what to review and whether to fix. Supports flags: --fix, --local, --review X,Y, --skip-review X,Y, --ci, --help.
Sync upstream changes for a package and open a PR. Pass a package name as the first argument (e.g. model-registry or notebooks) or be prompted to choose. Optionally pass a PR URL to do a temporary test sync.
| name | jira-assign-scrum-team |
| description | Assign a scrum team label to issues based on area-to-scrum mapping and team keyword associations, producing ADD_LABEL operations in the standard triage format. |
Analysis skill for the jira-triage infrastructure. Maps area labels to scrum team labels using the Area-to-Scrum Default Mapping, with a keyword-based path for issues without area labels. Produces ADD_LABEL operations that flow into the Apply capability.
Before running this skill, read persona.md and jira-project-reference.md. The persona defines the execution protocol (thoroughness, verification, no assumptions). The project reference provides the Area-to-Scrum Default Mapping, Areas without a default team, and Team keyword / feature associations sections.
This skill applies only to issues owned by the RHOAI Dashboard program team. Full Triage: run only after jira-triage Step 2a passes. If the issue belongs to another team, produce no operations for that issue — do not assign dashboard-*-scrum labels for non-dashboard ownership. See jira-project-reference.md § Dashboard ownership (triage scope).
All issue types processed by the triage pipeline. Every issue in the input set is evaluated.
When fetching issues (via the triage Fetch capability or directly), request these fields:
| Field | ID | Why |
|---|---|---|
| Summary | summary | Readability in output + keyword matching |
| Description | description | Keyword matching when no area labels |
| Labels | labels | Detect existing scrum and area labels |
An issue must have at most one dashboard-*-scrum label. This skill never assigns more than one.
For each issue in the input set:
Skip the issue (produce no operations) if it already has any dashboard-*-scrum label. The scrum team has already been assigned, either by a human or a prior triage run.
Build the set of area labels for this issue from two sources:
dashboard-area-* label already on the issue in Jira.dashboard-area-* label from ADD_LABEL operations produced by earlier pipeline steps (specifically validate-area-label). These labels have not been applied to Jira yet, but represent the pipeline's best assessment.The union of these two sources is the effective area set.
Follow the resolution path that matches the issue's state:
dashboard-area-* labels).dashboard-area-manifests and at least one other dashboard-area-* label that maps to a different team than Monarch in the Area-to-Scrum Default Mapping table, remove dashboard-area-manifests from the mapping set for this resolution only. Rationale: the manifests area label marks cross-cutting manifests/ / install work that defaults to Monarch; a feature area (model serving, MaaS, pipelines, etc.) identifies which team owns deployment assets for that capability — use that team when it disagrees with the generic manifests mapping. If removal leaves a single team, produce that scrum label. See jira-project-reference.md § Manifests area and scrum routing.jira-project-reference.md.dashboard-area-e2e and dashboard-area-cypress) produce no mapping and are ignored.ADD_LABEL operation with the corresponding dashboard-*-scrum label.(Step 2 above is only applied for scrum resolution; it does not remove labels from Jira — it adjusts which area labels participate in the mapping-set lookup for this issue.)
When the effective area set is empty (no existing or proposed area labels), attempt resolution via the Team keyword / feature associations table in jira-project-reference.md.
*.cy.ts, *.test.ts, *.tsx, *.go, or any identifiable source file), search the repository using workspace tools (e.g., Glob with **/<filename>) to find matching paths. Add each resolved path's intermediate directory names as additional keyword signals. If no matches are found, continue without path signals. This is the same resolution procedure documented in the validate-area-label skill § Signal Dimensions → Code paths. File resolution is especially valuable for test failure/flake issues where the spec file name is the primary content signal.ADD_LABEL operation with the corresponding dashboard-*-scrum label.Keyword matching follows the same principles as the area-label skill: multi-word phrases match first with higher weight, summary hits weigh more than description hits, and a single generic keyword alone is not sufficient.
dashboard-area-e2e, dashboard-area-cypress) are intentionally unmapped — they provide context but do not determine team ownership. The feature under test determines the team. When these are the only area labels, fall back to keyword analysis (Path B).dashboard-area-manifests per step 2; deployment YAML tied to a feature routes to that feature’s team. Generic install-base / shared manifests/ work with no feature area stays on Monarch via the manifests default mapping.Output MUST validate against operations-schema.json. This skill emits only ADD_LABEL operations.
Wrap the operations in the standard metadata envelope:
{
"metadata": {
"generated": "<ISO-8601 timestamp>",
"query": "<JQL or description of how issues were selected>",
"issueCount": "<total issues in the evaluated set (static, set from initial query)>"
},
"operations": [ ... ]
}
The output flows into the Apply capability of the triage infrastructure. When invoked standalone (outside Full Triage), Apply defaults to dry-run mode.
Issue RHOAIENG-55100 ("InferenceService returns 500 after deploying model") has dashboard-area-model-serving (existing or proposed). Model serving maps to Zaffre.
{
"metadata": {
"generated": "2026-03-27T10:00:00Z",
"query": "Triage batch of 6 new issues",
"issueCount": 1
},
"operations": [
{
"issueKey": "RHOAIENG-55100",
"summary": "InferenceService returns 500 after deploying model",
"action": "ADD_LABEL",
"params": { "labels": ["dashboard-zaffre-scrum"] },
"reason": "Area 'dashboard-area-model-serving' maps to Zaffre"
}
]
}
Issue RHOAIENG-55101 ("Pipeline run fails when workbench uses GPU hardware profile") has proposed labels dashboard-area-pipelines and dashboard-area-hardware-profiles. Both map to Razzmatazz.
{
"operations": [
{
"issueKey": "RHOAIENG-55101",
"summary": "Pipeline run fails when workbench uses GPU hardware profile",
"action": "ADD_LABEL",
"params": { "labels": ["dashboard-razzmatazz-scrum"] },
"reason": "Areas 'dashboard-area-pipelines' and 'dashboard-area-hardware-profiles' both map to Razzmatazz"
}
]
}
Issue RHOAIENG-55102 ("Model registry integration with pipeline artifacts") has proposed labels dashboard-area-model-registry (Green) and dashboard-area-pipelines (Razzmatazz). Conflicting teams -- no operations produced.
Issue RHOAIENG-55103 ("Edge deployment configuration page") has proposed label dashboard-area-edge. Edge has no default team mapping -- no operations produced.
Issue RHOAIENG-55104 ("Fix shared auth middleware across BFF modules") has no area labels. Summary matches Monarch keywords "shared auth", "middleware", "BFF".
{
"operations": [
{
"issueKey": "RHOAIENG-55104",
"summary": "Fix shared auth middleware across BFF modules",
"action": "ADD_LABEL",
"params": { "labels": ["dashboard-monarch-scrum"] },
"reason": "Keywords 'shared auth', 'middleware', 'BFF' match Monarch team associations"
}
]
}
Issue RHOAIENG-55105 has dashboard-green-scrum already present. No operations produced regardless of area labels.