reviewing-pr-description

作成者: streamlit

PRのタイトルと説明文の可読性を評価します——変更内容とその理由がレビュアーに明確かつ簡潔に伝わるかどうか。以下のような所見を生成します…

npx skills add https://github.com/streamlit/streamlit --skill reviewing-pr-description

Reviewing PR Description

Review a PR's title and description for readability: do they clearly and concisely tell a reviewer what changed and why? Focus on the prose — checking the format (title pattern, required template sections) is a secondary, lighter concern.

This skill only evaluates: it produces findings with concrete proposed rewrites and does not apply them. The caller decides whether to apply the rewrites or present them as feedback.

Audience

The reader is a reviewer or teammate skimming the PR to understand what changed and why. They may not know the implementation context, and later readers will find this text via the commit log or changelog. The title and description should stand on their own.

Principles

  1. Lead with the change and its purpose — the first sentence should state what changed and why, not setup, process, or a description of the problem area.
  2. Explain intent, not mechanics — say what the change enables or why it was made; don't narrate the diff step by step.
  3. Cut what the diff already shows — omit routine, obvious changes (added tests, updated types, fixed lint). Call out only what's non-obvious or decision-worthy.
  4. Concise wins — fewer, denser bullets beat many thin ones. If a bullet restates the title or another bullet, drop it.
  5. Explain non-obvious decisions — deprecations, unit choices, fallback behavior, and trade-offs deserve a sentence on why.
  6. Avoid jargon without context — spell out internal terms or acronyms a newcomer wouldn't know.
  7. Active voice; name the actor — "Deprecates use_container_width" or "The server now rejects oversized uploads" reads more directly than passive or vague phrasing.
  8. The title stands alone — it should convey the change on its own in a commit list or changelog, without the body.
  9. No meta-commentary — cut "This PR...", "We have...", "I added..."; state what changed directly.

Evaluation Process

  1. Gather the PR title and description (gh pr view <n> --json title,body).
  2. For each, ask:
    • Does the title convey the change on its own, or does it need the body to make sense?
    • Does the description lead with the main change and its purpose, or bury it under context/mechanics?
    • Does it explain why for non-obvious decisions, or only list what?
    • Is there jargon or an acronym a newcomer wouldn't understand?
    • Could it be shorter — are there obvious or duplicated points to cut?
    • Is it in passive or vague voice where naming the actor would read more directly?
    • Is there meta-commentary that adds no information?
  3. Also confirm the format briefly (secondary): title matches [type] Description within ~63 chars, and the required template sections from .github/pull_request_template.md are present. For the full standards, see creating-pull-requests and wiki/pull-requests.md.
  4. Report the findings per the Output Format below.

Common Patterns to Flag

  • A title that only makes sense alongside the body (e.g. "[fix] Fix the bug")
  • A description that opens with context or process instead of the change itself
  • Bullets that restate the diff (added tests, updated types) instead of explaining intent
  • Non-obvious decisions (deprecations, fallbacks, unit choices) stated without the why
  • Internal jargon or acronyms with no expansion
  • Passive or actor-less phrasing where naming the actor reads more directly
  • Meta-commentary ("This PR...", "I added...") that could be cut
  • More bullets than the change warrants, or bullets that duplicate each other

Output Format

For the title and for the description, give the issue and a concrete proposed rewrite.

streamlitのその他のスキル

building-streamlit-custom-components-v2
streamlit
Builds bidirectional Streamlit Custom Components v2 (CCv2) using `st.components.v2.component`. Use when authoring inline HTML/CSS/JS components or packaged…
creating-streamlit-themes
streamlit
Streamlitテーマの作成とカスタマイズ。アプリの色、フォント、外観を変更する場合や、アプリをブランドガイドラインに合わせる場合に使用します。config.tomlの設定を含みます…
developing-with-streamlit
streamlit
**[必須]** すべてのStreamlitタスク(Streamlitアプリケーションの作成、編集、デバッグ、美化、スタイリング、テーマ設定、最適化)に使用します。また必須…
building-streamlit-custom-components-v2
streamlit
Builds bidirectional Streamlit Custom Components v2 (CCv2) using `st.components.v2.component`. Use when authoring inline HTML/CSS/JS components or packaged…
connecting-streamlit-to-snowflake
streamlit
StreamlitアプリをSnowflakeに接続します。データベース接続の設定、シークレットの管理、またはStreamlitアプリからSnowflakeへのクエリ実行時に使用します。
creating-streamlit-themes
streamlit
Streamlitテーマの作成とカスタマイズ。アプリの色、フォント、外観を変更する場合、またはアプリをブランドガイドラインに合わせる場合に使用します。config.toml…を扱います。
optimizing-streamlit-performance
streamlit
Streamlitアプリのパフォーマンス最適化。アプリが遅い、再実行が多すぎる、または重いコンテンツを読み込む場合に使用します。キャッシング、フラグメント、静的と動的の比較などをカバーしています。
organizing-streamlit-code
streamlit
保守性を考慮したStreamlitコードの整理。アプリを個別のモジュールとユーティリティで構成する際に使用。関心の分離、UIコードの維持…