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

kelly-pr-review

GitHub pull request review desk (Busabase App-in-Skill) using the gh CLI for real GitHub access, an AirApp review UI for human approval, and a trusted gh pr review execution step. Use when the user invokes /kelly-pr-review or $kelly-pr-review, asks to review GitHub PRs, generate a PR review batch, approve/comment/request changes through the review UI, or execute approved GitHub reviews.

インストール方法を見る

含まれるファイル(74)

  • SKILL.md9.5 KB
  • agents/openai.yaml272 B
  • assets/screenshots/blocked-security-zh-CN.webp130 B
  • assets/screenshots/blocked-security.webp130 B
  • assets/screenshots/needs-review-zh-CN.webp130 B
  • assets/screenshots/needs-review.webp130 B
  • assets/screenshots/needs-test-zh-CN.webp130 B
  • assets/screenshots/needs-test.webp130 B
  • assets/screenshots/overview-zh-CN.webp130 B
  • assets/screenshots/overview.webp130 B
  • assets/screenshots/ready-zh-CN.webp130 B
  • assets/screenshots/ready.webp130 B
  • assets/screenshots/tested-zh-CN.webp130 B
  • assets/screenshots/tested.webp130 B
  • assets/screenshots/thumbs/blocked-security-zh-CN.webp130 B
  • assets/screenshots/thumbs/blocked-security.webp130 B
  • assets/screenshots/thumbs/needs-review-zh-CN.webp130 B
  • assets/screenshots/thumbs/needs-review.webp130 B
  • assets/screenshots/thumbs/needs-test-zh-CN.webp130 B
  • assets/screenshots/thumbs/needs-test.webp130 B
  • assets/screenshots/thumbs/overview-zh-CN.webp130 B
  • assets/screenshots/thumbs/overview.webp130 B
  • assets/screenshots/thumbs/ready-zh-CN.webp130 B
  • assets/screenshots/thumbs/ready.webp130 B
  • assets/screenshots/thumbs/tested-zh-CN.webp130 B
  • assets/screenshots/thumbs/tested.webp130 B
  • busabase.json960 B
  • content/_folder.json105 B
  • content/kelly-pr-review-app/_node.json125 B
  • content/kelly-pr-review-app/.busabaseignore194 B
  • content/kelly-pr-review-app/app/accent-theme.css8.0 KB
  • content/kelly-pr-review-app/app/accent-theme.js7.3 KB
  • content/kelly-pr-review-app/app/app.js17.1 KB
  • content/kelly-pr-review-app/app/base-ui.css13.0 KB
  • content/kelly-pr-review-app/app/demo-visuals.css1.5 KB
  • content/kelly-pr-review-app/app/demo-visuals.js3.4 KB
  • content/kelly-pr-review-app/app/i18n/messages.js8.9 KB
  • content/kelly-pr-review-app/app/index.html6.6 KB
  • content/kelly-pr-review-app/app/js/busabase-client.js226 B
  • content/kelly-pr-review-app/app/js/config.js4.3 KB
  • content/kelly-pr-review-app/app/js/connect-gate.js1.6 KB
  • content/kelly-pr-review-app/app/js/demo-visuals-data.js4.0 KB
  • content/kelly-pr-review-app/app/js/pr-review-model.js6.7 KB
  • content/kelly-pr-review-app/app/js/providers/busabase-provider.js14.0 KB
  • content/kelly-pr-review-app/app/js/providers/demo-provider.js11.1 KB
  • content/kelly-pr-review-app/app/js/providers/index.js270 B
  • content/kelly-pr-review-app/app/js/review-views.js11.7 KB
  • content/kelly-pr-review-app/app/js/runtime.js3.4 KB
  • content/kelly-pr-review-app/app/styles.css16.6 KB
  • content/kelly-pr-review-app/app/styles/editorial.css30.7 KB
  • content/kelly-pr-review-app/app/vendor/busabase-airapp-gate.css6.1 KB
  • content/kelly-pr-review-app/app/vendor/busabase-airapp-gate.js11.2 KB
  • content/kelly-pr-review-app/app/vendor/busabase-airapp.js556.0 KB
  • content/kelly-pr-review-app/app/vendor/busabase-sdk.js849.5 KB
  • content/kelly-pr-review-app/package.json1.1 KB
  • content/kelly-pr-review-app/pnpm-lock.yaml5.2 KB
  • content/kelly-pr-review-app/pnpm-workspace.yaml50 B
  • content/kelly-pr-review-app/scripts/check-editorial.mjs6.1 KB
  • content/kelly-pr-review-app/scripts/check.mjs4.2 KB
  • content/kelly-pr-review-app/server.js3.1 KB
  • content/kelly-pr-review-app/test/pr-review-model.test.mjs4.7 KB
  • content/reviews/base.json5.5 KB
  • content/reviews/records.ndjson6.4 KB
  • content/settings/base.json746 B
  • package.json491 B
  • pnpm-lock.yaml4.3 KB
  • pnpm-workspace.yaml50 B
  • README.md3.6 KB
  • references/ui-schema.md6.9 KB
  • scripts/execute_decisions.mjs7.3 KB
  • scripts/generate_review_batch.mjs20.0 KB
  • scripts/publish_airapp.mjs3.1 KB
  • scripts/setup.mjs6.4 KB
  • scripts/sync-content.mjs2.5 KB

SKILL.md(原文)

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

Kelly PR Review

App UI Screenshots

<table> <tr> <td width="50%"><img src="assets/screenshots/overview.webp" alt="Kelly PR Review overview"></td> <td width="50%"><img src="assets/screenshots/needs-review.webp" alt="Kelly PR Review needs review"></td> </tr> <tr> <td><strong>Overview</strong><br>Pull request review desk with repository filters, status counts, and reviewer configuration.</td> <td><strong>Needs review</strong><br>Pull request review with findings, risk signals, review body, and suggested actions.</td> </tr> <tr> <td width="50%"><img src="assets/screenshots/ready.webp" alt="Kelly PR Review ready to approve"></td> <td width="50%"><img src="assets/screenshots/blocked-security.webp" alt="Kelly PR Review blocked review"></td> </tr> <tr> <td><strong>Ready to approve</strong><br>Approval-focused review where checks pass and the final recommendation is ready to send.</td> <td><strong>Blocked review</strong><br>Security-sensitive PR scenario with unresolved risk, blocking rationale, and reviewer handoff details.</td> </tr> <tr> <td width="50%"><img src="assets/screenshots/needs-test.webp" alt="Kelly PR Review merged PR needs test"></td> <td width="50%"><img src="assets/screenshots/tested.webp" alt="Kelly PR Review tested verification"></td> </tr> <tr> <td><strong>Needs test</strong><br>Merged pull request waiting for human verification with a required test note or evidence link.</td> <td><strong>Tested</strong><br>Post-merge verification record showing the test note that proves a human checked the change.</td> </tr> </table>

Overview

Use this skill as a GitHub pull request review desk backed by the gh CLI and Busabase. scripts/generate_review_batch.mjs gathers PRs with gh, scores risk, proposes a review action, and writes the resulting queue into Busabase; the AirApp shows it for human approval (approve / comment / request changes / block / needs_review); scripts/execute_decisions.mjs later submits only approved decisions with the real gh pr review command.

Default behavior is AirApp-first. Unless the user explicitly asks only for explanation, generate or refresh the batch and give the user the clickable AirApp URL (or the local preview URL when local preview is explicitly requested). Use chat-only mode only when the user says "纯聊天", "chat only", "不要打开 UI", or similar.

The AirApp itself never calls GitHub. It reads and writes Busabase records only — no merge, close, comment, review submission, or repository mutation happens from the browser. Both gh CLI directions (reading PRs in, submitting approved reviews out) are genuinely trusted-process-only, since a browser cannot invoke a local CLI: scripts/generate_review_batch.mjs ingests PR data via gh into Busabase, and scripts/execute_decisions.mjs is the one place that actually calls gh pr review for an approved item.

Mandatory Dependencies

  1. Read and follow $kelly-app-skill-creator for product behavior, visual quality, responsive layout, and the complete canonical content/kelly-pr-review-app/ artifact.
  2. Read and follow $busabase for connection, target Space, node discovery, ChangeRequests, review, and merge behavior.
  3. Read and follow $busabase-app-creator for resource modeling, AirApp runtime limits, security, validation, and deployment.

If a dependency is unavailable, preserve this skill's local artifact and product contracts, stop before the unavailable Busabase operation, and report the exact missing dependency. Do not invent a second data backend.

Private Configuration

Private config is optional and consumed only by the trusted scripts (never by the AirApp browser). By default scripts/generate_review_batch.mjs uses the current gh authenticated account and searches open PRs requesting @me across accessible repositories. Use private config only for repo filters, reviewers, default review policy, and risk rules. Do not hardcode personal repositories or tokens into committed files.

Config priority:

  1. KELLY_PR_REVIEW_CONFIG=/absolute/path/to/config.json
  2. skills/kelly-pr-review/config.local.json
  3. ~/.config/kelly-pr-review/config.json
  4. gh defaults (no config found)

Env priority:

  1. Existing system environment variables
  2. KELLY_PR_REVIEW_ENV_FILE=/absolute/path/to/.env
  3. repository root .env
  4. skills/kelly-pr-review/.env.local
  5. ~/.config/kelly-pr-review/.env

Secrets should live in env files only. Usually gh auth login is enough, so this skill does not require a token in config. The resolved config is also written to Busabase's kelly-pr-review-profile settings row (see references/ui-schema.md) so the AirApp can display it — the AirApp never writes that row itself.

Busabase Resources

Two Bases under one application Folder (kelly-pr-review), declared in content/kelly-pr-review-app/app/js/config.js and the generated template sidecars under content/:

  • reviews: the pull request review queue — GitHub PR metadata, risk, proposed action, workflow status, editable review-body, the human verdict fields (decision-action/decision-note/decided-at), execution result (execution-status/execution-detail), and post-merge test verification (tested/test-note/test-evidence).
  • settings: one row per kind — kelly-pr-review-profile (reviewer, repos, query, review policy, style, written only by scripts/generate_review_batch.mjs --apply) and kelly-pr-review-lock.

Resources provision lazily through an idempotent Busabase ChangeRequest the first time the app runs in a Space; see references/ui-schema.md for exact field shapes. Workflow-status bucketing and the review-ref numbering are computed client-side from the reviews Base on every read — they are never stored.

Workflow

  1. Check gh auth status. If not authenticated, stop and ask the user to authenticate with gh auth login.
  2. Run node scripts/generate_review_batch.mjs --apply to gather PRs with gh and write/refresh the review queue in Busabase. Use --sample instead of a real gh read only when the user explicitly wants to preview the UI with fake data. Omit --apply to see a dry-run preview first.
  3. Classify status (assigned by the generator, refined by the human in the UI):
    • needs_review: user or agent needs to inspect before deciding.
    • to_approve: agent proposes a concrete review action.
    • approved: user approved an action in the UI.
    • done: review action already executed or intentionally no-op.
    • blocked: missing access, too risky, failing preconditions, or too large to review safely.
  4. Give the user the AirApp URL (or local preview URL) to review the queue.
  5. For an item moved to a different status by the human, no re-drafting is needed here — the agent may still edit review-body before the next decision if asked.
  6. On "execute" / "submit approved reviews": run node scripts/execute_decisions.mjs --apply to re-read approved items from Busabase and submit the real gh pr review call for each, one item at a time. Omit --apply first to see the dry-run command list.

Review Actions

Supported approved actions, submitted by scripts/execute_decisions.mjs:

  • approve: gh pr review <number> --approve --body-file <tmp>
  • comment: gh pr review <number> --comment --body-file <tmp>
  • request_changes: gh pr review <number> --request-changes --body-file <tmp>
  • no_action: write execution detail only; no GitHub call.
  • needs_review or block: never execute (status stays out of approved).

Never merge, close, push, edit branches, rerun workflows, or dismiss reviews from this skill.

Safety Rules

  • Require explicit AirApp (or chat) approval — writing status: "approved" onto a review record — before any gh pr review call.
  • scripts/execute_decisions.mjs re-reads each record immediately before executing it, so a revoked approval or an already-executed item is never submitted to GitHub twice.
  • Keep review bodies human-editable in the UI and quote only necessary source excerpts.
  • Mark security, auth, billing, schema migration, destructive data, generated-code-heavy, and large-diff PRs as risky.
  • If the review confidence is low, propose comment or needs_review, not approval.
  • Treat GitHub tokens and Busabase credentials as secrets; never commit them. The trusted scripts read BUSABASE_BASE_URL/BUSABASE_API_KEY/ BUSABASE_SPACE_ID from the environment, never the AirApp's session.

Useful Commands

node skills/kelly-pr-review/scripts/generate_review_batch.mjs --apply
node skills/kelly-pr-review/scripts/generate_review_batch.mjs --sample
node skills/kelly-pr-review/scripts/execute_decisions.mjs
node skills/kelly-pr-review/scripts/execute_decisions.mjs --apply
pnpm --dir skills/kelly-pr-review/content/kelly-pr-review-app dev

In normal use, invoke /kelly-pr-review, let the skill generate/refresh the batch, and open the AirApp.

レビュー

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

同じリポジトリのスキル

概要と使いどころ

Align all AI coding agents to a single source of truth. AGENTS.md for rules, .agents/skills/ for skills, symlinks for everything else. Use when setting up a repo for multiple agents, or when links are missing, broken, or out of date.

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

mr-kelly/skills52026年10月2日 更新

Read, answer and post on the Buda community forum at community.buda.im through its /api/v1/community REST API. Lists categories and posts, reads a thread with its replies, searches, and publishes posts and replies behind an explicit confirmation. Use when the user invokes $buda-community or /buda-community, asks what is happening in the Buda community, wants an unanswered question triaged or answered, or wants something posted or announced there.

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

mr-kelly/skills52026年10月2日 更新

Read, answer and post on the Busabase community forum at community.busabase.com through its /api/v1/community REST API. Lists categories and posts, reads a thread with its replies, searches, and publishes posts and replies behind an explicit confirmation. Use when the user invokes $busabase-community or /busabase-community, asks what is happening in the Busabase community, wants an unanswered question triaged or answered, or wants something posted or announced there.

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

mr-kelly/skills52026年10月2日 更新

kelly-ads

無料

Ad-campaign command desk (投放指挥台, Busabase App-in-Skill) for a cross-border e-commerce seller running Amazon Ads, Meta (FB/IG), TikTok Ads, and Google Ads. Use when the user invokes $kelly-ads or /kelly-ads, or asks about 投放, ad campaigns, ad spend, ACOS, ROAS, Amazon Ads, TikTok ads, Meta ads, Google Ads, search terms, negative keywords, bid adjustment, budget pacing, CPC spikes, rejected ads, ad anomaly detection, 广告优化, or reviewing agent-proposed adjustment cards (negative keyword, bid down/up, pause target, budget shift, creative refresh).

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

mr-kelly/skills52026年10月2日 更新

Busabase-backed App-in-Skill low-code agent configuration and governance console for a platform team. Use when the user invokes $kelly-agent-builder or /kelly-agent-builder, wants to review or edit a catalog of mock LLM agent configs, check quota usage, find configs that need attention, move a draft to live, pause a live agent, or archive an agent. Mock config/governance console only — it never provisions or calls any real agent.

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

mr-kelly/skills52026年10月2日 更新

Review board (Busabase App-in-Skill) that runs a fixed suite of mock test cases against a baseline vs candidate agent version and surfaces rubric-scored regressions before a release. Use when the user invokes $kelly-agent-eval or /kelly-agent-eval, wants to review agent-version regressions, compare baseline vs candidate quality, triage a release, or record a release approve/block decision. Deterministic mock rubric scores only — not a real LLM-judge call, and it never deploys anything.

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

mr-kelly/skills52026年10月2日 更新

mr-kelly のスキルをすべて見る

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