Agent skill

PR Code Review

by Samsung in Samsung/TizenFX

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

Apache-2.0Auto-check passedDevelopment

Install PR Code Review

skills CLI
$ npx skills add Samsung/TizenFX --skill pr-code-review -a claude-code

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

GitHub CLI
$ gh skill install Samsung/TizenFX pr-code-review --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/.agents/skills/pr-code-review .claude/skills/pr-code-review && 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
pr-code-review
GitHub stars
214
Token cost
~3.3k tokens
SKILL.md length
1,302 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
Apache-2.0

At a glance

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

  • Works in 2 steps: Perform a code review and leave… → Respond, from a technical perspective,…
  • Tasks that involve Code review
  • Calls gh

What it does

PR Code Review is an agent skill from Samsung/TizenFX. Performs code review on every open PR of TizenFX and replies with technical responses to new comments left by other reviewers. Never asks the author/reviewers for action and never leaves follow-up reminders.

Its SKILL.md is about 3.3k 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 Code review. It works with C# and .NET. The repository describes itself as: C Device APIs for Tizen. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Code review

Example prompts

  • “Use the pr-code-review skill to perform code review on every open PR of TizenFX and replies with technical responses to new comments left by other…”
  • “/pr-code-review”

Workflow steps

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

  1. Perform a code review and leave improvement suggestions as comments.
  2. Respond, from a technical perspective, to new questions/requests left by other reviewers.

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

PR Code Review loads about 3.3k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 1,302 words of instructions outside code blocks.

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

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). 1,302 words, ~3,287 tokens.

Download SKILL.mdSave it as .claude/skills/pr-code-review/SKILL.md (or your agent's skills folder).
name
pr-code-review
description
Performs code review on every open PR of TizenFX and replies with technical responses to new comments left by other reviewers. Never asks the author/reviewers for action and never leaves follow-up reminders.

TizenFX PR Code Review Pipeline

Overview

For every open PR in the samsung/TizenFX repository:

  1. Perform a code review and leave improvement suggestions as comments.
  2. Respond, from a technical perspective, to new questions/requests left by other reviewers.

All comments are written in English.

Role boundaries (important):

  • We provide technical feedback and responses on the code.
  • Do not ask the author or other reviewers for answers/actions.
  • Never leave follow-up / reminder / status-check comments on our own previous reviews.
    • ❌ Forbidden examples: Follow-up on @X review (unanswered), @author Could you please address..., "please confirm", "checking review status" style
    • Reason: such comments are merely pings that pressure people and add no value to the code
Repository
  • Repo: samsung/TizenFX (GitHub)
  • CLI: gh CLI (authenticated)

Stage ①: List Open PRs
bash
gh pr list --repo samsung/TizenFX --state open \
  --json number,title,author,updatedAt,isDraft,labels \
  --jq '[.[] | select(.isDraft | not)]
         | sort_by(.updatedAt) | reverse
         | .[] | "\(.number)\t\(.title)\t\(.author.login)\t\(.updatedAt)"'
  • draft PRs are skipped
  • ai-task labeled PRs are reviewed on the same basis (serves as an objective second-pass review of AI-authored PRs)
  • Sort by most recently updated, max 5 PRs per run

Stage ②: Delta Judgment — Skip / Proceed

Core rule: if no new commits or human comments have appeared since the last AI activity, skip immediately. (This rule fundamentally blocks the "leave follow-up on a PR where nothing changed" pattern.)

For each PR:

  1. Look up the most recent AI activity timestamp (both review and issue comments):

    bash
    LAST_AI_AT=$(
      {
        gh api repos/samsung/TizenFX/pulls/{NUMBER}/comments \
          --jq '.[] | select(.body | startswith("🤖 [AI Review]")) | .created_at'
        gh api repos/samsung/TizenFX/issues/{NUMBER}/comments \
          --jq '.[] | select(.body | startswith("🤖 [AI Review]")) | .created_at'
      } | sort | tail -1
    )
  2. Check for new commits and new human comments after that timestamp:

    bash
    NEW_COMMITS=$(gh api repos/samsung/TizenFX/pulls/{NUMBER}/commits \
      --jq ".[] | select(.commit.committer.date > \"$LAST_AI_AT\") | .sha" | wc -l)
    
    NEW_HUMAN_COMMENTS=$(
      {
        gh api repos/samsung/TizenFX/pulls/{NUMBER}/comments \
          --jq ".[] | select(.created_at > \"$LAST_AI_AT\")
                     | select(.body | startswith(\"🤖 [AI Review]\") | not) | .id"
        gh api repos/samsung/TizenFX/issues/{NUMBER}/comments \
          --jq ".[] | select(.created_at > \"$LAST_AI_AT\")
                     | select(.body | startswith(\"🤖 [AI Review]\") | not) | .id"
      } | wc -l
    )
  3. Decision:

    • LAST_AI_AT is empty → new PR. Proceed to Stage ③ (full-diff review). Stage ④ not needed.
    • NEW_COMMITS == 0 && NEW_HUMAN_COMMENTS == 0 → skip. Reason: no-delta.
    • NEW_COMMITS > 0 → proceed to Stage ③ (delta-range review).
    • NEW_HUMAN_COMMENTS > 0 → proceed to Stage ④ (respond only to new human comments).
    • If both, run Stage ③ and Stage ④.

Stage ③: Write Code Review Comments

Review from the perspective of a .NET / C# / Tizen expert developer.

Review priorities:

  • 🔴 Critical (must flag): bugs, broken builds, public API compatibility issues, null safety, memory leaks, missing public API XML documentation
  • 🟡 Suggestion: readability, modern C# 12 syntax, duplicate removal, obvious performance issues (e.g., heavy allocation inside loops)
  • No nitpicks: whitespace/style/naming preferences that do not affect behavior are not mentioned

Public API documentation check (🔴 Critical):

  • In the PR diff, identify newly added or signature-changed public/protected members (class, struct, interface, enum, method, property, event, field, delegate).
  • If the member is missing an XML doc comment (///) or is missing required tags, always flag it.
  • Required tags:
    • <summary> — all public/protected members
    • <param name="..."> — every parameter
    • <returns> — non-void methods, property getters
    • <exception cref="..."> — explicitly thrown exceptions
    • <typeparam name="..."> — generic types/methods
    • <since_tizen> — TizenFX public API version info (TizenFX convention)
  • Judgment guide:
    • internal, private, file-scoped members are out of scope (not flagged)
    • If only the body of an existing public member changes (signature unchanged), skip
    • If the partial class has documentation on the other side, it is OK
    • Public APIs annotated with [EditorBrowsable(EditorBrowsableState.Never)] are excluded — by TizenFX convention, IntelliSense-hidden APIs are not part of the official documentation surface

Full-file fetch required before flagging missing docs (to prevent false positives):

A raw diff can clip attributes or existing XML doc out of context. Before flagging missing documentation, always fetch the file at the PR branch and verify:

bash
# Get the PR head SHA
HEAD_SHA=$(gh api repos/samsung/TizenFX/pulls/{NUMBER} --jq '.head.sha')

# Fetch full file content (base64 → decode)
gh api repos/samsung/TizenFX/contents/{FILE_PATH}?ref=$HEAD_SHA \
  --jq '.content' | base64 -d

Checkpoints:

  1. Is [EditorBrowsable(EditorBrowsableState.Never)] / [Obsolete] placed right above the member?
  2. Is the containing class/type declared with [EditorBrowsable(...Never)]? (if yes, skip all its members)
  3. Does another file of the partial class already contain XML doc? (check via grep -l or repeated gh api .../contents)
  4. Is the /// doc already present but only missing a few tags, vs. completely missing?

If any one of the four applies, do not flag. Prioritize accuracy over diff-browsing convenience.

Comment style rules (concise + diff-centric):

  1. Write in English, always start with 🤖 [AI Review]
  2. Explanation within 1–2 sentences. Only the "why" in one line.
  3. Always include a ```suggestion block when proposing a fix. Avoid prose-only feedback with no diff.
  4. Use only two severity levels: 🔴 / 🟡
  5. Max 5 comments per PR. Essentials only.
  6. No "looks good" filler. Praise is limited to a single line only for design choices with clearly surfaced intent. The single allowed exception is the mandatory "Reviewed — no findings" summary at the end of this stage, posted when the review found nothing to flag — so the maintainer / author knows the review actually ran.
  7. No follow-up / reminder / status-check / @-mention action-request comments (e.g., @author please address... ❌)

Standard template (inline comment):

🤖 [AI Review]
🟡 **Suggestion**: {one-line reason}

```suggestion
{corrected code — in a form directly applicable from GitHub}
```

Critical exception (structural issues that cannot be expressed as a suggestion block — class split, signature change, etc.): prose allowed but keep it within 3 sentences; attach a Before/After code snippet whenever possible.

Public API missing-docs template example:

🤖 [AI Review]
🔴 **Critical**: Public API missing XML documentation. TizenFX public APIs require `<summary>`, `<param>`, `<returns>`, and `<since_tizen>` tags.

```suggestion
/// <summary>
/// {Brief description of what this member does}.
/// </summary>
/// <param name="value">{Description of parameter}.</param>
/// <returns>{Description of return value}.</returns>
/// <since_tizen> {API level} </since_tizen>
public int DoSomething(int value)
```

Line-level inline comment call:

bash
gh api repos/samsung/TizenFX/pulls/{NUMBER}/comments \
  -f body="🤖 [AI Review]
🟡 **Suggestion**: Use FrozenDictionary for this read-only mapping.

\`\`\`suggestion
private static readonly FrozenDictionary<string, int> _mapping = new Dictionary<string, int>
{
    ...
}.ToFrozenDictionary();
\`\`\`" \
  -f commit_id="{COMMIT_SHA}" \
  -f path="{FILE_PATH}" \
  -F line={LINE_NUMBER}

Final summary comment — required behavior

After completing the inline review, post exactly one PR-level summary comment via gh pr comment. Which form to use depends on what was produced:

Show full SKILL.md (521 more words)Show less

Case A — at least one inline comment was left (optional; recommended once total ≥ 2):

bash
gh pr comment {NUMBER} --repo samsung/TizenFX --body "🤖 [AI Review]
Left {N} inline comments (🔴 {critical}, 🟡 {suggestion}). See inline for details.

---
*Automated review by AI assistant*"

Case B — no inline comments produced (the diff was reviewed and judged clean): mandatory. Posting nothing is no longer acceptable — the audit trail and the maintainers must be able to see that the review ran.

bash
gh pr comment {NUMBER} --repo samsung/TizenFX --body "🤖 [AI Review]

**Reviewed — no findings.**

**Scope checked:**
- {3–6 bullets enumerating what was actually verified on this diff — see rules below}

No 🔴 critical issues, no 🟡 suggestions to flag.

---
*Automated review — final merge decision rests with human reviewers.*"

Rules for the Scope checked block (Case B):

  1. Each bullet must be specific to this PR's diff — generic phrases like "code looks good", "no obvious bugs", "follows conventions" are forbidden.
  2. If the bullets you would write are all generic, that means the review was shallow — re-do the diff inspection until you can name at least 3 concrete checks you performed on this PR.
  3. Pick from the dimensions actually applicable to the change kind:
    • Refactor → behavior preservation sites, public API signature unchanged, TFM/feature compatibility (e.g., ArgumentNullException.ThrowIfNull ≥ .NET 6), excluded-pattern intent (e.g., "lines with custom messages left untouched")
    • Feature → new public API has docs and since_tizen, edge cases handled, no breaking change
    • Bug fix → root cause matches reported behavior, regression coverage thought through
    • Build / packaging / docs → state the artifact you verified
  4. Quote the count where helpful ("11 manual null-check sites", "4 new public methods", etc.) — proves the review actually read the diff.

Case C — only Stage ④ replies were produced (no Stage ③ inline comments): do not post a Case-B summary; the reply itself is the activity record. (Stage ② already filtered out "skip — no-delta" before we reached this point.)


Stage ④: Respond to New Comments from Other Reviewers

Target: new human comments after LAST_AI_AT that are not replies to a previous AI comment.

Response principles (strict):

  • ✅ Allowed:

    • Technical answers to their questions (factual statements grounded in the code context and .NET/Tizen behavior)
    • Validity analysis of their change request, with a specific rationale and a ```suggestion block when possible
    • One-line agreement when their approval/critique is valid
  • ❌ Forbidden:

    • Phrasing that asks the author/reviewer for an answer or action (Could you please..., Please confirm..., "please check")
    • @-mention patterns that call someone out to demand action
    • Titles/phrases like "Follow-up", "unanswered", "status check", "reminder"
    • Ceremonial agreements without code context (Thanks!, Agreed. alone)

Comment format:

  • Must start with 🤖 [AI Review]
  • English, 1–3 sentences, with a ```suggestion block when helpful
  • End with an answer/opinion, not a question

Reply call (preserving reply-to relationship):

bash
gh api repos/samsung/TizenFX/pulls/{NUMBER}/comments \
  -f body="🤖 [AI Review]
{technical response — 1–3 sentences, with suggestion block when possible}" \
  -F in_reply_to={COMMENT_ID}

Judgment guide: when unsure whether to respond, choose not to. A comment that doesn't add value to the code is noise.


Constraints
  • Max 5 PRs per run
  • Comments must be written in English
  • Skip if no new commits/human comments after the last AI activity (Stage ②)
  • No follow-up / reminder / status-check comments on our own previous reviews
  • No asking for answers/actions from the author or reviewers (including pings via @-mention)
  • No formal reviews such as approve / request changes (inline comments only)
  • No PR merge / close
  • Draft PRs are skipped (ai-task PRs are not skipped)
Reporting
  • Review performed: PR number, link, number of inline comments left, severity distribution (🔴 / 🟡), and the summary form posted (Case A = inline-summary, Case B = clean-review, Case C = replies-only)
  • Responses performed: PR number, number of comments answered
  • Skipped: PR number and reason (no-delta / draft / quota-5)
  • Errors: PR number and error summary, if any

© 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 .agents/skills/pr-code-review of Samsung/TizenFX.

Open the folder on GitHubat commit 0352388

Compare with similar skills

PR Code Review 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.

PR Code Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PR Code Review this skillSamsung/TizenFX214—~3.3kAutomated safety check: PassApache-2.0
Analyzing .NET Performancedotnet/skills5.6k3 repos~3.1kAutomated safety check: PassMIT
Code Reviewdotnet/macios2.9k—~1.7kAutomated safety check: PassCustom licence
Code Reviewjonathanpeppers/dotnes780—~2.1kAutomated safety check: PassMIT
Dotnet Copfmflurry/settings-opencode171—~2kAutomated safety check: PassMIT
Blazor Component Authordotnet/skills5.6k1 repos~830Automated safety check: PassMIT

Similar skills

  • Official

    Scans C# and .NET code for about 50 performance anti-patterns and reports prioritized findings with concrete fixes, at a scan depth you choose.

    5.6k GitHub starsUsed in 3 repos~3.1k tokens
    DevelopmentAuto-check passed
  • Code Review

    dotnet/macios

    Official

    Review dotnet/macios PRs against established rules. An agent skill from dotnet/macios.

    2.9k GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check passed
  • Code Review

    jonathanpeppers/dotnes

    Review dotnes pull requests against established repository rules.

    780 GitHub stars~2.1k tokensUpdated 13 days ago
    DevelopmentAuto-check passed
  • Dotnet Cop

    fmflurry/settings-opencode

    Pre-merge code review for .NET 10 pull requests. An agent skill from fmflurry/settings-opencode.

    171 GitHub stars~2k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Official

    Writes and reviews Blazor .razor components with correct parameters, EventCallback, lifecycle, async and disposal patterns, for components that need no JavaScript interop.

    5.6k GitHub starsUsed in 1 repo~830 tokens
    Frontend & DesignAuto-check passed
  • Speckit Constitution

    WeihanLi/WeihanLi.Common

    Create or update the project constitution from interactive or provided principle inputs, ensuring all dependent templates stay in sync.

    242 GitHub starsUsed in 11 repos~2.1k tokens
    DevelopmentAuto-check passed

More from Samsung/TizenFX

  • Issue Triage

    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.

    214 GitHub stars~2.1k tokensUpdated today
    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 today
    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 today
    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 today
    Auto-check passed

Works with

Categories

Questions about PR Code Review

What does PR Code Review do?

Performs code review on every open PR of TizenFX and replies with technical responses to new comments left by other reviewers. PR Code Review is an agent skill from Samsung/TizenFX. Performs code review on every open PR of TizenFX and replies with technical responses to new comments left by other reviewers.

When should I use PR Code Review?

PR Code Review fits situations like: tasks that involve Code review.

How do I install PR Code Review in Claude Code?

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

How do I install PR Code Review in Codex?

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

Can I use PR Code Review 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 pr-code-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pr-code-review, .gemini/skills/pr-code-review, .github/skills/pr-code-review and .opencode/skills/pr-code-review in your project.

What does PR Code Review need to run?

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

Does PR Code Review 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 PR Code Review 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 PR Code Review use?

PR Code Review 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 PR Code Review use?

About 3.3k tokens (SKILL.md is roughly 13k 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 PR Code Review?

Skills that share tags, products or a category with PR Code Review: Analyzing .NET Performance (dotnet/skills, 5.6k stars), Code Review (dotnet/macios, 2.9k stars), Code Review (jonathanpeppers/dotnes, 780 stars) and Dotnet Cop (fmflurry/settings-opencode, 171 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PR Code Review?

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 6, 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.