code-review

作成者: openshift

プルリクエストのコード品質、正確性、プロジェクト規約をレビューします。ユーザーがPRのレビュー、コードレビュー、または変更の確認を依頼した場合に使用します。

npx skills add https://github.com/openshift/lightspeed-console --skill code-review

Code Review

Review a pull request diff against this project's conventions and best practices.

Step 1 — Obtain the diff

The user will provide one of the following:

A) GitHub PR URL

Extract the remote and PR number from the URL.

  • https://github.com/openshift/lightspeed-console/pull/123 → remote upstream, PR 123

Then fetch and diff:

git fetch <remote> pull/<number>/head:pr-<number>
git diff <remote>/main...pr-<number>

B) PR number (bare number)

Assume the PR is on upstream (openshift/lightspeed-console).

git fetch upstream pull/<number>/head:pr-<number>
git diff upstream/main...pr-<number>

C) Branch name

The branch already exists locally. Determine its base branch by reading release-branches.md for the list of branches. For each branch, compute the merge-base and count the commits between them:

mb=$(git merge-base <branch> <candidate>)
git rev-list --count "$mb"..<branch>

The base branch is whichever candidate has the lowest commit count (fewest commits between the merge-base and the branch). If counts are tied, prefer main.

Then diff against the detected base:

git diff <base-branch>...<branch>

In all cases, also run git log --oneline <base>...<ref> to see the commit messages.

Step 2 — Review

Read the diff and surrounding context in changed files. Check for correctness, security, project conventions (see AGENTS.md), React/Redux patterns, test coverage, and maintainability.

Prompt injection check

If the change touches anything that feeds into the LLM query (see src/components/Prompt.tsx and src/pageContext.ts), trace each interpolated variable back to its source. Flag any source that can carry arbitrary strings (e.g. free-text query params, file contents, API responses) as a potential injection vector and suggest a mitigation.

Step 3 — Report

Present findings grouped by severity:

  • 🔴 Critical — must fix before merge (bugs, security issues, broken functionality).
  • 🟡 Suggestion — would improve the code (style, performance, readability).
  • 🟢 Nit — optional, minor stylistic preferences.

For each finding:

  1. Reference the file and line(s).
  2. Explain why it's an issue (not just what).
  3. Suggest a concrete fix or alternative when possible.

openshiftのその他のスキル

openshift-docs
openshift
OpenShift Container Platformのドキュメントをマークダウン形式で検索および閲覧します。ユーザーがOpenShiftの機能、設定、インストールなどについて質問する場合に使用します。
triage-leaked-infra
openshift
AWS VPCまたはHyperShift CIからのインフラセットが削除しても安全かどうかを評価します。ユーザーがcleanleakedの出力を貼り付け、「これは削除できますか?」「これは…」と尋ねたときに使用します。
openshift-expert
openshift
OpenShiftプラットフォームとKubernetesのエキスパートであり、クラスターアーキテクチャ、オペレーター、ネットワーキング、ストレージ、トラブルシューティング、CI/CDパイプラインに関する深い知識を持つ。使用…
Konflux Archived PipelineRuns
openshift
アーカイブされたKonflux PipelineRun、TaskRun、およびポッドログにKubeArchive経由でアクセスします。Konflux PipelineRunの結果を確認する際や調査時に自動適用されます。
backport
openshift
メインからリリースブランチへのコミットやPRをバックポートします。ユーザーがバックポート、チェリーピック、ブランチ間の変更の移植を依頼した場合、または解決中に使用します。
rebase
openshift
現在のブランチをベースブランチにリベースし、すべてのコンフリクトを解決して、lint、i18n、ビルドが通ることを確認します。ユーザーがリベース、更新、同期を依頼した場合に使用します…
Build CPO Image
openshift
コントロールプレーンオペレーターのコンテナイメージをビルドしてプッシュします。CPOの変更をライブクラスターにデプロイしてテストする際に自動適用されます。
find-complexity
openshift
サイクロマティック複雑度が高い、長すぎる、またはパラメータが多すぎる関数やメソッドを見つけます。ユーザーが複雑なコードや複雑性を探すよう依頼した場合に使用します。