samsung/tizenfx/issue-triage
Claude Code and agent skill by samsung/tizenfx
- community
Checking that the SKILL.md file is still in the repository.
For TizenFX issues that lack the `ai-task` label and have no assignee, posts an English first-pass technical answer plus a CODEOWNERS-based reviewer mention. Comments only — never assigns, never edits labels, never modifies code.
Install
npx vskill@latest install samsung/tizenfx/issue-triageSKILL.md
TizenFX Issue Triage Pipeline
Overview
For open issues in samsung/TizenFX that have not been claimed by a human owner and are not already in the AI execution queue (ai-task label):
- Post a first-pass technical response in English summarising the issue and offering an initial analysis or pointer.
- Identify the most likely code area, look up
.github/CODEOWNERS, and mention the matching reviewer(s) so they can self-assign.
This skill never:
- modifies code,
- creates PRs or branches,
- assigns issues (
gh issue edit --add-assignee), - adds or removes labels,
- closes issues.
It only comments. All decisions stay with the humans involved.
All comments are written in English and prefixed with 🤖 [AI Triage] so future runs can skip already-triaged issues.
Repository
- Repo: samsung/TizenFX (GitHub)
- CLI:
ghCLI (authenticated) - CODEOWNERS path:
.github/CODEOWNERSin the repo working tree
Constants
Pipeline Flow
Stage ⓪: Discover Open Triage Candidates
- Drops issues with
ai-tasklabel (handled byrefactor-execute) - Drops issues with any assignee (someone is already on it)
- Sorted by
updatedAtdescending (most recently active first)
Stage ①: Apply Skip Filters
Filter the candidate list down further. In order, drop an issue when any of these holds:
- Already triaged by AI — issue has at least one comment whose body starts with
🤖 [AI Triage].
```bash gh issue view {N} --repo samsung/TizenFX --comments \ --json comments --jq '.comments[] | select(.body | startswith("🤖 [AI Triage]"))' \
``` Non-empty result → skip.
- Stale —
updatedAtis older thanSTALE_THRESHOLD_DAYS(90 days).
- Compute:
(now - updatedAt) in days. If> 90, skip. - Reason: Re-engaging a long-dormant thread creates noise; re-activation is a human decision.
- Author is a bot —
author.loginends with[bot]or matches a known bot list (dependabot,renovate,github-actions).
- Skip; bots typically don't need triage answers.
After filters, take up to `MAX_ISSUES_PER_RUN` (5) issues, oldest-updatedAt-first among the survivors so we drain the older ones first.
Stage ②a: Fetch Issue Detail
For each selected issue:
Read all comments (not only the body) so we don't repeat what someone has already answered.
Stage ②b: Identify Likely Code Area
Goal: produce a list of candidate repo paths for CODEOWNERS lookup.
Heuristics (apply all that match):
- Explicit code references in body — file paths like
src/Tizen.Sensor/...,Tizen.NUI.Layout, fully-qualified class names likeBluetoothErrorFactory. - Title keywords — namespace fragments (
NUI,Sensor,Bluetooth,Application) map tosrc/Tizen.NUI/,src/Tizen.Sensor/, etc. - Code blocks —
using Tizen.Foo;reveals the namespace, which maps to asrc/Tizen.Foo/directory (verify byls src/Tizen.Foo*if uncertain).
If no path can be inferred, emit a single placeholder candidate of (unknown) and proceed to Stage ②c with the fallback owner.
Cap candidate paths at 3 to keep CODEOWNERS lookup focused — the most-mentioned path wins ties.
Stage ②c: CODEOWNERS Lookup
Read .github/CODEOWNERS from the local repo working tree (already synced by the launcher).
Standard CODEOWNERS semantics:
- Each non-comment, non-empty line:
<path-pattern> @owner1 @owner2 ... - Last matching rule wins (per GitHub's CODEOWNERS spec).
- Inline
#comments are stripped —@user1 #@user2means owner is@user1only.
Algorithm:
- Parse CODEOWNERS into ordered list of
(pattern, owners[])tuples. - For each candidate path from Stage ②b:
- Walk the rule list in reverse and pick the first rule whose pattern matches the path. (= last-match-wins.)
- Collect the owner set.
- Combine owner sets across candidate paths; deduplicate; cap at 3 owners to prevent mass-pinging.
- Fallback — if no rule matched any candidate path, mention
DEFAULT_FALLBACK(=@JoonghyunCho) and note in the comment that auto-routing failed.
Stage ②d: First-Pass Technical Response
The comment is English and structured. Default template:
If the fallback owner was used:
Tone constraints:
- No promises ("This will be fixed in vNN") — AI cannot commit on maintainers' behalf.
- No follow-up reminders or pings to the filer.
- No condescension; assume the filer made a good-faith report.
- Don't speculate beyond the evidence — if uncertain, say "this looks like X but I'm not sure" rather than asserting.
Stage ②e: Post the Comment
After posting, do nothing else — no labels, no assignees, no follow-up. Move to the next issue.
Constraints (hard rules)
- At most `MAX_ISSUES_PER_RUN` (5) issues per run. Exit unconditionally after that.
- Never call
gh issue edit(no labels, no assignees, no state changes). - Never open or modify code files in the repo. This skill is comment-only.
- Never post a second
🤖 [AI Triage]comment on the same issue. - If
ghexits non-zero on any sub-step for an issue, log it, skip that issue, and continue with the next survivor — do not retry indefinitely.
Result Report
At the end of the run, print a short structured report:
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/issue-triage/SKILL.md
Popularity
- Repository stars
- 210
- Repository forks
- 275
- 7-day trend score
- 27
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/samsung/tizenfx/issue-triage)