MAUI PR Performance Analysis
dotnet/maui
Interprets pinned managed benchmark evidence for a dotnet/maui pull request and writes a narrative for the performance review workflow, without running or publishing anything.
For AI-generated PRs labeled ai-task in TizenFX, evaluates human/AI review feedback and either applies it to the code or responds.
$ npx skills add Samsung/TizenFX --skill pr-review-check -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Samsung/TizenFX pr-review-check --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Samsung/TizenFX.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pr-review-check .claude/skills/pr-review-check && rm -rf skills-srcUse ~/.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/
Install the "pr-review-check" agent skill from https://github.com/Samsung/TizenFX/tree/main/.agents/skills/pr-review-check into .claude/skills/pr-review-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-review-check", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Samsung/TizenFX/tree/main/.agents/skills/pr-review-checkType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Samsung/TizenFX --skill pr-review-check -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Samsung/TizenFX pr-review-check --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Samsung/TizenFX.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/pr-review-check .agents/skills/pr-review-check && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pr-review-check" agent skill from https://github.com/Samsung/TizenFX/tree/main/.agents/skills/pr-review-check into .agents/skills/pr-review-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-review-check", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Samsung/TizenFX --skill pr-review-check -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Samsung/TizenFX pr-review-check --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Samsung/TizenFX.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/pr-review-check .cursor/skills/pr-review-check && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "pr-review-check" agent skill from https://github.com/Samsung/TizenFX/tree/main/.agents/skills/pr-review-check into .cursor/skills/pr-review-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-review-check", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Samsung/TizenFX.git --path .agents/skills/pr-review-check--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Samsung/TizenFX --skill pr-review-check -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Samsung/TizenFX pr-review-check --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Samsung/TizenFX.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/pr-review-check .gemini/skills/pr-review-check && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "pr-review-check" agent skill from https://github.com/Samsung/TizenFX/tree/main/.agents/skills/pr-review-check into .gemini/skills/pr-review-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-review-check", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Samsung/TizenFX pr-review-checkInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Samsung/TizenFX --skill pr-review-check -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Samsung/TizenFX.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/pr-review-check .github/skills/pr-review-check && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "pr-review-check" agent skill from https://github.com/Samsung/TizenFX/tree/main/.agents/skills/pr-review-check into .github/skills/pr-review-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-review-check", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Samsung/TizenFX --skill pr-review-check -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Samsung/TizenFX pr-review-check --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Samsung/TizenFX.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/pr-review-check .opencode/skills/pr-review-check && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "pr-review-check" agent skill from https://github.com/Samsung/TizenFX/tree/main/.agents/skills/pr-review-check into .opencode/skills/pr-review-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-review-check", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
pr-review-checkFor AI-generated PRs labeled ai-task in TizenFX, evaluates human/AI review feedback and either applies it to the code or responds.
PR Review Check is an agent skill from 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. AI comments are capped at MAXAIROUNDS=3 — beyond that they are skipped entirely to prevent infinite loops.
Its SKILL.md is about 3.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 Pull requests. It works with .NET. The repository describes itself as: C Device APIs for Tizen. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0352388. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitghdotnetFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
PR Review Check loads about 3.1k tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 1,071 words of instructions outside code blocks.
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.
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.
The full file from Samsung/TizenFX at commit 0352388, republished under its Apache-2.0 licence (© Samsung). 1,071 words, ~3,071 tokens.
.claude/skills/pr-review-check/SKILL.md (or your agent's skills folder).For open PRs in samsung/TizenFX that carry the ai-task label:
🤖 [AI Review] left by pr-code-review) → apply the decision matrix, then apply or respondAll comments and commit messages are written in English.
pr-code-review re-reviews whenever new commits are added. So each time AI feedback is applied and committed, additional AI review can be triggered — a bounded termination mechanism is required.
MAX_AI_ROUNDS = 3Applied-AI-Comments: trailermax-ai-rounds in the report)~/src/TizenFX)gh, git, dotnet (all authenticated/installed)gh pr list --repo samsung/TizenFX --label "ai-task" --state open \
--json number,title,headRefName,baseRefName,updatedAt,isDraft,url \
--jq '[.[] | select(.isDraft | not)]
| sort_by(.updatedAt) | reverse
| .[] | @json'draft PRs are skippedCounting via gh api is possible before checkout, but git log after checkout is faster and more accurate. So measurement happens after Stage ⑤.
Handling mode:
AI_ROUNDS < 3 → active: apply the AI comment decision matrixAI_ROUNDS ≥ 3 → skip: bypass AI comment handling entirely (no application, no response)Core rule: consider only new comments after the last commit timestamp.
LAST_COMMIT_AT=$(gh api repos/samsung/TizenFX/pulls/{NUMBER}/commits \
--jq '.[-1].commit.committer.date')Outdated-comment exclusion rule: review comments with position == null are outdated — the diff has evolved and the anchor is gone. These are likely unrelated to the current code, so skip them at the collection stage. (Issue comments have no line anchor, so "outdated" does not apply.)
Collect human comments (review + issue):
HUMAN_REVIEW=$(gh api repos/samsung/TizenFX/pulls/{NUMBER}/comments \
--jq ".[] | select(.created_at > \"$LAST_COMMIT_AT\")
| select(.body | startswith(\"🤖 [AI Review]\") | not)
| select(.position != null)
| {id, path, line, body, user: .user.login, created_at}")
HUMAN_ISSUE=$(gh api repos/samsung/TizenFX/issues/{NUMBER}/comments \
--jq ".[] | select(.created_at > \"$LAST_COMMIT_AT\")
| select(.body | startswith(\"🤖 [AI Review]\") | not)
| {id, body, user: .user.login, created_at}")Collect AI comments (review only — AI only leaves inline comments):
AI_REVIEW=$(gh api repos/samsung/TizenFX/pulls/{NUMBER}/comments \
--jq ".[] | select(.created_at > \"$LAST_COMMIT_AT\")
| select(.body | startswith(\"🤖 [AI Review]\"))
| select(.position != null)
| {id, path, line, body, in_reply_to_id, created_at}")active && AI comments ≥ 1 → proceedskip || AI comments == 0) → skip (no-delta)cd {TIZEN_FX_LOCAL_PATH}
git fetch origin
gh pr checkout {NUMBER}
git pull --rebase origin {headRefName}On merge conflict:
if git status --porcelain | grep -qE '^(UU|AA|DD)'; then
git rebase --abort 2>/dev/null
git reset --hard HEAD
# Record reason `merge-conflict` and move to next PR
fiAfter checkout, measure AI round count (to finalize Stage ② decision):
AI_ROUNDS=$(git log "origin/{baseRefName}..HEAD" \
--grep="^Applied-AI-Comments:" --oneline | wc -l)For each human comment:
path, line, body to understand the requested change.NET / C# / Tizen perspectiveApplied-Human-Comments)Application principles:
active)If AI mode is skip, skip this entire stage. Do not even leave response comments.
"Not every AI comment deserves to be applied." Only meaningful, reasonable suggestions qualify. Because pr-code-review leaves a severity marker (🔴/🟡) on each comment, reuse it as the first-pass filter.
| AI comment type | Apply? | Notes |
|---|---|---|
| 🔴 Critical (bugs, broken build, public API compatibility, null safety, memory leaks) | Apply candidate (proceed to decision matrix) | Highest priority |
| 🟡 Suggestion + objectively measurable improvement (performance, obvious readability, duplicate removal, modern C# feature adoption) | Apply candidate | |
| 🟡 Suggestion + subjective preference (naming taste, style) | Ignore | No response either |
| No marker / nitpick-ish | Ignore | No response either |
Ignored items do not receive a response comment either (to prevent noise). This mirrors pr-code-review's "no-nitpick" policy.
| Verdict | Action | Response template |
|---|---|---|
| Valid + unapplied | Modify code | Addressed in {SHA} (reply in Stage ⑨) |
| Already addressed (a previous commit's diff already resolved the finding) | Response only | Already addressed in {SHA} |
| Misjudged / not applicable | Response only | Respectfully disagree: {technical reason} |
"Already addressed" judgment guide:
path:lineApplied AI comment IDs are added to the Applied-AI-Comments list.
Performed only when there are applied changes. A full TizenFX build takes a very long time, so only the .csproj that owns each changed file is built.
# Current staged/working-tree changed file list
CHANGED_FILES=$(git diff --cached --name-only; git diff --name-only)
# Find the first .csproj by walking up from each file
find_parent_csproj() {
local dir
dir=$(dirname "$1")
while [ "$dir" != "." ] && [ "$dir" != "/" ]; do
local csproj
csproj=$(ls "$dir"/*.csproj 2>/dev/null | head -1)
[ -n "$csproj" ] && echo "$csproj" && return
dir=$(dirname "$dir")
done
}
CHANGED_CSPROJS=$(echo "$CHANGED_FILES" | while read -r f; do
[ -n "$f" ] && find_parent_csproj "$f"
done | sort -u)BUILD_EXIT=0
BUILD_LOG=/tmp/build-{NUMBER}.log
: > "$BUILD_LOG"
if [ -z "$CHANGED_CSPROJS" ]; then
# Changes live outside any csproj (docs, .github, etc.) — skip build but treat as pass
echo "No csproj affected; skipping build." | tee -a "$BUILD_LOG"
else
for csproj in $CHANGED_CSPROJS; do
echo "=== Building: $csproj ===" | tee -a "$BUILD_LOG"
dotnet build "$csproj" -c Release 2>&1 | tee -a "$BUILD_LOG"
rc=${PIPESTATUS[0]}
[ "$rc" -ne 0 ] && BUILD_EXIT=$rc
done
fiLimitations of selective builds: compile errors in downstream projects (projects that reference the changed csproj) cannot be detected here. Public API signature changes are already forbidden by this pipeline, so this is usually safe; anything edge-casey is caught by CI. This step only serves as a "quick first gate".
Roll back all local changes:
git reset --hard origin/{headRefName}Report failure on the PR:
gh pr comment {NUMBER} --repo samsung/TizenFX --body "🤖 [AI Review]
Attempted to address review feedback but build failed. Changes not pushed — manual review required.
<details><summary>Build error excerpt</summary>
\`\`\`
{first 3–5 lines of the error, including which csproj failed}
\`\`\`
</details>"Record reason as build-failed and move to the next PR.
Commit message convention (combine trailers based on what was applied):
Address review feedback
{one-line summary of what changed}
Applied-Human-Comments: {id,id,...}
Applied-AI-Comments: {id,id,...}Applied-Human-Comments: onlyApplied-AI-Comments: only (this is required for round counting +1)git add -A
git commit -m "{format above}"
git push origin HEADResponse comments:
Human application summary (issue comment):
gh pr comment {NUMBER} --repo samsung/TizenFX --body "🤖 [AI Review]
Addressed review feedback in commit {SHORT_SHA}. Summary: {summary}"Individually reply to each AI comment via in_reply_to (using the Stage ⑦ template):
gh api repos/samsung/TizenFX/pulls/{NUMBER}/comments \
-f body="🤖 [AI Review]
{response template}" \
-F in_reply_to={AI_COMMENT_ID}Ambiguous human comments left for question — reply with a question:
gh api repos/samsung/TizenFX/pulls/{NUMBER}/comments \
-f body="🤖 [AI Review]
{question — 1–3 sentences}" \
-F in_reply_to={HUMAN_COMMENT_ID}ai-taskMAX_AI_ROUNDS = 3: beyond the cap, AI comments are fully skipped (no application/response). Human comments are not capped.Applied-Human-Comments: / Applied-AI-Comments:) — the basis for round counting and traceabilityposition == null)rebase --abort + reset --hard)🤖 [AI Review]no-delta: no eligible itemsdraft: draft PRmerge-conflict: merge conflictbuild-failed: build failed (local rollback performed)quota-5: per-run cap of 5 reached© 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
Just SKILL.md in .agents/skills/pr-review-check of Samsung/TizenFX.
Open the folder on GitHubat commit 0352388
PR Review Check 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| PR Review Check this skillSamsung/TizenFX | 214 | — | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| MAUI PR Performance Analysisdotnet/maui | 23k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Code Reviewjonathanpeppers/dotnes | 780 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Gh Stackdotnet/macios | 2.9k | 3 repos | ~10k | Automated safety check: Pass | Custom licence | |
| Open Pull RequestGremlinq/ExRam.Gremlinq | 187 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Pull RequestOpenCoreMMO/OpenCoreMMO | 481 | — | ~814 | Automated safety check: Pass | GPL-3.0 |
dotnet/maui
Interprets pinned managed benchmark evidence for a dotnet/maui pull request and writes a narrative for the performance review workflow, without running or publishing anything.
jonathanpeppers/dotnes
Review dotnes pull requests against established repository rules.
dotnet/macios
Manage stacked branches and pull requests with the gh-stack GitHub CLI extension.
Gremlinq/ExRam.Gremlinq
A skill your agent uses when opening a pull request for the current branch, or when an existing pull request needs a better description - including when the check-description CI check has failed.
OpenCoreMMO/OpenCoreMMO
Create a pull request for OpenCoreMMO following the project's PR template.
Aiko-IT-Systems/DisCatSharp
Guides changes to the DisCatSharp C# Discord library: tracing a payload field through parsing, serialization and caches, then validating across target frameworks.
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.
Samsung/TizenFX
Performs code review on every open PR of TizenFX and replies with technical responses to new comments left by other reviewers.
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.
Samsung/TizenFX
Automatically processes TizenFX ai-task issues (dispatching between refactoring/feature modes) and creates a PR.
Works with
Categories
For AI-generated PRs labeled ai-task in TizenFX, evaluates human/AI review feedback and either applies it to the code or responds. PR Review Check is an agent skill from 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.
PR Review Check fits situations like: tasks that involve Pull requests.
Run `npx skills add Samsung/TizenFX --skill pr-review-check -a claude-code`. Or copy the skill folder (.agents/skills/pr-review-check in Samsung/TizenFX) into .claude/skills/pr-review-check in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Samsung/TizenFX --skill pr-review-check -a codex`. Or copy the skill folder (.agents/skills/pr-review-check in Samsung/TizenFX) into .agents/skills/pr-review-check in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Samsung/TizenFX --skill pr-review-check -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-review-check, .gemini/skills/pr-review-check, .github/skills/pr-review-check and .opencode/skills/pr-review-check in your project.
Going by SKILL.md and its folder, PR Review Check needs the command-line tools its instructions call (git, gh and dotnet).
SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
PR Review Check 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.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with PR Review Check: MAUI PR Performance Analysis (dotnet/maui, 23k stars), Code Review (jonathanpeppers/dotnes, 780 stars), Gh Stack (dotnet/macios, 2.9k stars) and Open Pull Request (Gremlinq/ExRam.Gremlinq, 187 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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 9, 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.