本文へ移動
cccskills
無料GitHub で公開

pr

Review a new or open pull request for this repository with an adversarial security and quality lens. Use when the user says "/pr", "/pr-review", "check the new PR", "is this PR safe to merge", "look for malicious code", "review outside contribution", "should I merge this PR", or asks for reasons not to merge a pull request.

日本語の概要は準備中です。原文の説明を表示しています。

jtenniswood/espcontrolスター 1,120(GitHub 1,120 + cccskills 0)
連携ツールGitHub

実行スコア 未検証

インストール方法を見る

含まれるファイル(2)

  • SKILL.md5.5 KB
  • agents/openai.yaml272 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

/pr or /pr-review

Overview

Assess a pull request before merge. Focus on bugs, suspicious behavior, malicious code, supply-chain risk, broken project conventions, missing tests, and any reason the repo owner should wait before merging.

Default to review only. Do not merge, push fixes, approve the PR, or close linked issues unless the user explicitly asks. The repo owner wants to test changes before issues are closed.

Workflow

1. Identify the PR

Use the PR number or URL if the user provides one. Otherwise inspect open PRs and review the newest one, clearly saying that assumption.

Prefer GitHub connector tools when available. Otherwise use gh:

gh pr list --state open --limit 10 \
  --json number,title,author,createdAt,updatedAt,isCrossRepository,headRefName,baseRefName,url
gh pr view <number> \
  --json number,title,author,body,baseRefName,headRefName,isCrossRepository,files,commits,mergeStateStatus,statusCheckRollup,reviews,url
gh pr diff <number> --name-only
gh pr diff <number> --patch

Record the PR title, author, URL, base branch, source branch, whether it comes from a fork, changed files, diff size, existing CI state, and whether it touches release, firmware, workflow, dependency, generated, or web delivery paths.

2. Protect Local Work

Check the working tree before checkout or tests:

git status --short --branch

If there are local changes, do not overwrite or revert them. Review with gh pr diff when possible. Ask before checking out a PR if local changes might be affected.

3. Inspect for Malicious or Suspicious Changes

Treat outside contributions and dependency/workflow changes as higher risk until they are understood. Look especially for:

  • New network calls, telemetry, tracking, external downloads, curl/wget usage, remote scripts, or branch-based dependencies
  • GitHub Actions permission expansion, secret exposure, pull_request_target, unpinned third-party actions, or changed release credentials
  • Dependency changes, lockfile churn, install scripts, typosquatting, package manager config changes, or vendored/minified code
  • Obfuscated code, encoded payloads, unexplained binaries, generated files that do not match their source, or large unrelated rewrites
  • Changes to OTA behavior, firmware manifests, update URLs, release assets, GitHub Pages output, or Home Assistant service calls
  • Unsafe parsing, string escaping issues, unchecked indexes, buffer sizing, memory lifetime, LVGL object lifetime, or shell command construction
  • Backward-incompatible config changes, silent defaults, or user-visible behavior changes with no docs or migration note

Do not accuse the contributor of intent unless there is direct evidence. Say "suspicious", "high risk", or "could allow" when intent is unknown.

4. Review Correctness and Fit

Read the PR description, changed files, and surrounding code. Classify the change so checks match the affected area:

  • Docs: accuracy, broken links, outdated examples, docs build
  • Web UI: escaping, state handling, generated output, layout, config save and load behavior
  • Firmware YAML: ESPHome schema, substitutions, includes, device coverage, generated slot wiring
  • C++ component: bounds checks, ownership, LVGL lifetime, service calls, compile risk
  • Icons/fonts/timezones: generated asset consistency and validation scripts
  • CI/release/dependencies: permissions, secrets, action pinning, lockfile integrity, release behavior

Prioritize merge-blocking defects and practical risk over style comments.

5. Run Focused Checks

Run checks relevant to the changed files. Explain skipped checks plainly.

Common checks:

npm run check:config
python3 scripts/build.py --check
python3 scripts/generate_device_slots.py --check
python3 scripts/check_timezones.py
npm run docs:build
npm audit --json

Use the compile skill when firmware, common YAML, device YAML, or C++ changes could affect firmware builds and the user wants merge-level confidence.

6. Decide Whether to Merge

Choose exactly one recommendation:

  • Merge: No meaningful findings, relevant checks pass, and residual risk is low.
  • Merge after small fixes: The PR is basically sound but needs minor, specific changes first.
  • Request changes: There are bugs, stale generated files, missing tests, or documentation gaps that should be fixed before merge.
  • Hold: There is suspicious behavior, dependency/release/workflow risk, or a maintainer decision needed before the PR is safe to merge.

Output Format

Lead with findings when there are bugs or risks. Keep the explanation approachable for a technical non-developer.

Recommendation: <merge / merge after small fixes / request changes / hold>

What changed:
- <plain-English summary>

Findings:
- <severity, file/line, issue, impact, suggested fix>

Security and trust notes:
- <malicious-code, supply-chain, workflow, secret, release, or external-call risk>

Checks run:
- <command>: <pass/fail/skipped and why>

Questions or decisions:
- <only if needed>

If there are no findings, say that clearly and name any checks not run or residual risk that still remains.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Clean up completed Git branches and worktrees for this repository both locally and on GitHub. Use when the user asks to remove complete, completed, merged, stale, finished, or done branches, delete merged GitHub branches, tidy local worktrees, prune completed PR branches, or clean up branches and worktrees after pull requests have merged.

日本語の概要は準備中です。原文の説明を表示しています。

jtenniswood/espcontrol1,1202026年10月26日 更新

Clean up local branch worktree folders for this repository after their branches or pull requests have merged to main. Use when the user asks to remove merged branch folders, tidy local worktrees, clean old feature branch directories, prune merged PR worktrees, or clean up local development folders without impacting main.

日本語の概要は準備中です。原文の説明を表示しています。

jtenniswood/espcontrol1,1202026年10月26日 更新

compile

無料

Test compile ESPHome firmware for all devices using Docker and fix any YAML or configuration errors until every device compiles successfully. Use when the user says "/compile", "test compile", "compile check", "build test", "check builds", "verify compile", or wants to make sure all devices compile before committing.

日本語の概要は準備中です。原文の説明を表示しています。

jtenniswood/espcontrol1,1202026年10月26日 更新

Review EspControl repository changes specifically for missing, stale, excessive, or misplaced documentation. Use when the user asks for a documentation coverage review, asks whether a feature or behavior change is concisely documented, invokes $docs-review, or explicitly wants docs checked as a secondary pass during a pull request, branch, or local diff review.

日本語の概要は準備中です。原文の説明を表示しています。

jtenniswood/espcontrol1,1202026年10月26日 更新

Provide an expert codebase review for this repository. Use when the user says "Expert Review" or "/expert-review", asks for an expert review, wants refactoring or codebase improvement recommendations, wants consistency and quality assessed, or asks how to reduce duplication, improve component use, preserve the end-user experience, and keep upgrades cleanly migratable.

日本語の概要は準備中です。原文の説明を表示しています。

jtenniswood/espcontrol1,1202026年10月26日 更新

Reimagine this repository from first principles using the current product and user experience as the target. Use when the user says "/expert-reset", asks how the project should be rebuilt if starting again, wants bold architecture or component-structure recommendations, or wants a research-only reset plan unconstrained by current implementation details.

日本語の概要は準備中です。原文の説明を表示しています。

jtenniswood/espcontrol1,1202026年10月26日 更新

jtenniswood のスキルをすべて見る

このスキルの問題を報告する