Agent skill

Issue Triage

by Samsung in Samsung/TizenFX

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.

Apache-2.0Auto-check passedDevelopment

Install Issue Triage

skills CLI
$ npx skills add Samsung/TizenFX --skill issue-triage -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Samsung/TizenFX issue-triage --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Samsung/TizenFX.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/issue-triage .claude/skills/issue-triage && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
issue-triage
GitHub stars
214
Token cost
~2.1k tokens
SKILL.md length
716 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
Apache-2.0

At a glance

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.

  • Works in 2 steps: Post a first-pass technical response in… → Identify the most likely code area, look…
  • Tasks that involve Issue triage
  • Calls gh

What it does

Issue Triage is an agent skill from Samsung/TizenFX. 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.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Issue triage. It works with GitHub. The repository describes itself as: C Device APIs for Tizen. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Issue triage

Example prompts

  • “/issue-triage”

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Post a first-pass technical response in English summarising the issue and offering an initial analysis or pointer.
  2. Identify the most likely code area, look up .github/CODEOWNERS, and mention the matching reviewer(s) so they can self-assign.

What it can do on your machine

Read from SKILL.md and the folder at commit 0352388. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Issue Triage loads about 2.1k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 716 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~61
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Samsung/TizenFX at commit 0352388, republished under its Apache-2.0 licence (© Samsung). 716 words, ~2,114 tokens.

Download SKILL.mdSave it as .claude/skills/issue-triage/SKILL.md (or your agent's skills folder).
name
issue-triage
description
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.

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):

  1. Post a first-pass technical response in English summarising the issue and offering an initial analysis or pointer.
  2. 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: gh CLI (authenticated)
  • CODEOWNERS path: .github/CODEOWNERS in the repo working tree
Constants
MAX_ISSUES_PER_RUN   = 5
STALE_THRESHOLD_DAYS = 90        # Issues with updatedAt older than this are skipped
DEFAULT_FALLBACK     = @JoonghyunCho   # When CODEOWNERS lookup fails
COMMENT_PREFIX       = 🤖 [AI Triage]

Pipeline Flow
⓪ Discover triage candidates
  → ① Apply skip filters
    → ② For each survivor (max 5):
      a. Fetch issue body + comments
      b. Identify likely code area
      c. CODEOWNERS lookup
      d. Draft first-pass technical response
      e. Post comment (mention only — no assign, no label)

Stage ⓪: Discover Open Triage Candidates
bash
gh issue list --repo samsung/TizenFX --state open \
  --json number,title,createdAt,updatedAt,assignees,labels,author \
  --jq '[.[]
         | select((.labels // []) | map(.name) | index("ai-task") | not)
         | select((.assignees // []) | length == 0)]
        | sort_by(.updatedAt) | reverse'
  • Drops issues with ai-task label (handled by refactor-execute)
  • Drops issues with any assignee (someone is already on it)
  • Sorted by updatedAt descending (most recently active first)

Stage ①: Apply Skip Filters

Filter the candidate list down further. In order, drop an issue when any of these holds:

  1. 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]"))' \
      | head -1

    Non-empty result → skip.

  2. Stale — updatedAt is older than STALE_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.
  3. Author is a bot — author.login ends 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:

bash
gh issue view {N} --repo samsung/TizenFX --comments \
  --json title,body,comments,labels,author

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):

  1. Explicit code references in body — file paths like src/Tizen.Sensor/..., Tizen.NUI.Layout, fully-qualified class names like BluetoothErrorFactory.
  2. Title keywords — namespace fragments (NUI, Sensor, Bluetooth, Application) map to src/Tizen.NUI/, src/Tizen.Sensor/, etc.
  3. Code blocks — using Tizen.Foo; reveals the namespace, which maps to a src/Tizen.Foo/ directory (verify by ls 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.


Show full SKILL.md (301 more words)Show less
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 #@user2 means owner is @user1 only.

Algorithm:

  1. Parse CODEOWNERS into ordered list of (pattern, owners[]) tuples.
  2. 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.
  3. Combine owner sets across candidate paths; deduplicate; cap at 3 owners to prevent mass-pinging.
  4. 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:

markdown
🤖 [AI Triage]

**Summary**
{1-2 sentence restatement of the filer's question or reported behaviour. Show that the AI understood the issue.}

**Initial analysis**
{2-6 sentences of substantive technical content:
 - For "how do I" questions → a concrete answer or pointer to an API / sample.
 - For bug reports → a hypothesis about the cause and what the reporter could try
   (logs, repro steps, version checks).
 - For feature requests → acknowledge feasibility constraints if obvious (e.g.,
   "This requires native daemon support and is out of scope for the .NET binding").
 If the issue is too ambiguous to analyse meaningfully, ask **one** specific
 clarifying question instead of guessing.}

**Likely area & reviewer**
- Code area: `{src/Tizen.Foo/}` (or "unable to determine" if unknown)
- Suggested reviewer(s): {@user1 @user2}

---
*This is an automated first-pass triage. The mentioned maintainer(s) have not been
assigned — they will pick up the issue if appropriate. If the routing is wrong,
please re-direct or remove the mention.*

If the fallback owner was used:

markdown
**Likely area & reviewer**
- Code area: unable to determine from issue contents
- @JoonghyunCho — auto-routing via CODEOWNERS could not match a specific area;
  flagging you for manual triage.

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
bash
gh issue comment {N} --repo samsung/TizenFX --body-file triage_comment.md

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 gh exits 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:

### Stage ⓪: Candidates discovered
{N issues considered}

### Stage ①: Survivors after filters
{N issues passed: ai-task=excluded, assignee=excluded, already-triaged=excluded, stale=excluded, bot-author=excluded}

### Stage ②: Triage actions
- #{num} → mentioned @{owner}, area `{path}`, status: posted
- #{num} → fallback to @JoonghyunCho (no CODEOWNERS match), status: posted
- #{num} → skipped (gh comment posting failed: {reason})

### Outcome
- Triaged: {N}
- Skipped: {N}
- Failed: {N}

© Samsung, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/issue-triage of Samsung/TizenFX.

Open the folder on GitHubat commit 0352388

Compare with similar skills

Issue Triage next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Issue Triage compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Issue Triage this skillSamsung/TizenFX214—~2.1kAutomated safety check: PassApache-2.0
Setup Matt Pocock Skillsbestofjs/bestofjs3.1k20 repos~1.7kAutomated safety check: PassMIT
Windows App SDK Issue Triage Reportmicrosoft/WindowsAppSDK4.7k—~3.4kAutomated safety check: PassApache-2.0
Exposed Bug Fix WorkflowJetBrains/Exposed9.3k—~3.8kAutomated safety check: PassApache-2.0
Pre-Release PR Triagejamiepine/voicebox57k—~3.1kAutomated safety check: PassMIT
WinAppSDK Triage Meeting Prepmicrosoft/WindowsAppSDK4.7k—~2.8kAutomated safety check: PassApache-2.0

Similar skills

  • Setup Matt Pocock Skills

    bestofjs/bestofjs

    Configure this repo for the engineering skills — set up its issue tracker, triage label vocabulary, and domain doc layout.

    3.1k GitHub starsUsed in 20 repos~1.7k tokens
    DevelopmentAuto-check passed
  • Official

    Generates GitHub Feature Area Status reports for the Windows App SDK repository, scoring issues so teams can see what needs attention in each area.

    4.7k GitHub stars~3.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Exposed Bug Fix Workflow

    JetBrains/Exposed

    Official

    Takes a GitHub or YouTrack issue for the Exposed project through reproduction, a failing test, a fix, validation and a pull request.

    9.3k GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Pre-Release PR Triage

    jamiepine/voicebox

    Sorts a backlog of open pull requests into must-merge, candidate, superseded and deferred, writes a triage doc and works the merge loop before a release.

    57k GitHub stars~3.1k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • WinAppSDK Triage Meeting Prep

    microsoft/WindowsAppSDK

    Official

    Prepares the triage meeting summary for WinAppSDK Needs-Triage issues, with research-backed area suggestions, draft replies and a diff since the last triage.

    4.7k GitHub stars~2.8k tokensUpdated today
    DevelopmentAuto-check passed
  • A2ui Issue Triage

    a2ui-project/a2ui

    Automates the triage of GitHub issues in the A2UI repository.

    17k GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed

More from Samsung/TizenFX

  • PR Code Review

    Samsung/TizenFX

    Performs code review on every open PR of TizenFX and replies with technical responses to new comments left by other reviewers.

    214 GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed
  • PR Review Check

    Samsung/TizenFX

    For AI-generated PRs labeled ai-task in TizenFX, evaluates human/AI review feedback and either applies it to the code or responds.

    214 GitHub stars~3.1k tokensUpdated yesterday
    Auto-check passed
  • Refactor Analysis

    Samsung/TizenFX

    Automatically scans the TizenFX codebase on a rotating schedule to discover .NET 8 / C 12+ refactoring targets and register them as GitHub Issues.

    214 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Refactor Execute

    Samsung/TizenFX

    Automatically processes TizenFX ai-task issues (dispatching between refactoring/feature modes) and creates a PR.

    214 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Issue Triage

What does Issue Triage do?

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. Issue Triage is an agent skill from Samsung/TizenFX. 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.

When should I use Issue Triage?

Issue Triage fits situations like: tasks that involve Issue triage.

How do I install Issue Triage in Claude Code?

Run `npx skills add Samsung/TizenFX --skill issue-triage -a claude-code`. Or copy the skill folder (skills/issue-triage in Samsung/TizenFX) into .claude/skills/issue-triage in your project. Claude Code loads it when a task matches its description.

How do I install Issue Triage in Codex?

Run `npx skills add Samsung/TizenFX --skill issue-triage -a codex`. Or copy the skill folder (skills/issue-triage in Samsung/TizenFX) into .agents/skills/issue-triage in your project. Codex loads it when a task matches its description.

Can I use Issue Triage in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Samsung/TizenFX --skill issue-triage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/issue-triage, .gemini/skills/issue-triage, .github/skills/issue-triage and .opencode/skills/issue-triage in your project.

What does Issue Triage need to run?

Going by SKILL.md and its folder, Issue Triage needs the command-line tools its instructions call (gh).

Does Issue Triage access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Issue Triage safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Issue Triage use?

Issue Triage is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Issue Triage use?

About 2.1k tokens (SKILL.md is roughly 8.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Issue Triage?

Skills that share tags, products or a category with Issue Triage: Setup Matt Pocock Skills (bestofjs/bestofjs, 3.1k stars), Windows App SDK Issue Triage Report (microsoft/WindowsAppSDK, 4.7k stars), Exposed Bug Fix Workflow (JetBrains/Exposed, 9.3k stars) and Pre-Release PR Triage (jamiepine/voicebox, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Issue Triage?

Samsung (a GitHub organization) maintains it in Samsung/TizenFX, which has 214 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 8, 2026.

Source: Samsung/TizenFX on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.