second-opinion
Review a diff or pull request for correctness, readability, and maintainability issues.
Skill by caestrella1
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/caestrella1-second-opinion
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/second-opinion
What's inside
- Skill name
second-opinion- Description
- Review a diff or pull request for correctness, readability, and maintainability issues. Use when asked to review code changes.
- License
- MIT
- Instructions
- 84 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Second opinion ## Purpose Produce a prioritized list of actionable findings for a set of code changes. Focus on defects that would cause wrong behavior first, then on issues that make the code harder to maintain. ## When to use - "Review this PR", "look over my changes", "any issues with this diff?" - Before committing or merging, when the user asks for a second opinion - When given a branch, commit range, PR number, or pasted diff ## When not to use - Writing new code from scratch (no diff to review) - Pure style or formatting passes. Use the project's formatter or linter instead. - Security audits that need threat modeling beyond the diff ## Steps 1. **Get the diff.** Use `git diff <base>...HEAD` for a branch, or the PR diff. Note which files changed and how many lines. 2. **Understand intent.** Read the PR description, commit messages, and any linked issue. If intent is unclear, say so in the review instead of guessing. 3. **Read surrounding context.** For every changed function, open the full function and its callers. Most real bugs are in how new code interacts with existing code. 4. **Check correctness first.** Look for: - Off-by-one errors, wrong comparison operators, inverted conditions - Unhandled `null`/`undefined`/`None`, empty collections, zero, negative numbers - Error paths: swallowed exceptions, missing cleanup, partial writes - Concurrency: shared mutable state, missing awaits, race conditions - API contract changes that break existing callers 5. **Check tests.** Does a test cover the new behavior? Would it fail if the change were reverted? 6. **Check maintainability.** Look for duplicated logic, unclear names, functions doing too much, and dead code. Flag comments that narrate the code, restate names, or record history. They should explain why (human-mode rules C1 to C3). 7. **Verify before reporting.** For each finding, confirm it against the actual code. Drop anything you cannot back up with a concrete scenario. 8. **Report** using the format below, most severe first. Keep each finding short: the problem, the scenario, the fix. No preamble or closing summary beyond the verdict. ## Output format ```markdown ### [severity] file.py:42 — short summary **Problem:** What is wrong. **Scenario:** Concrete input or state → wrong result. **Fix:** Suggested change (code snippet if short). ``` | Severity | Meaning | |---|---| | `blocker` | Wrong behavior, data loss, security issue | | `major` | Likely bug or missing test for new behavior | | `minor` | Maintainability or clarity issue | | `nit` | Optional polish | End with a one-line verdict: **Approve**, **Approve with nits**, or **Request changes**. ## Examples ### Example 1 **Input:** ```diff def average(values): - return sum(values) / len(values) + total = 0 + for i in range(1, len(values)): + total += values[i] + return total / len(values) ``` **Output:** ```markdown ### [blocker] stats.py:3 — loop skips the first element **Problem:** `range(1, len(values))` starts at index 1, so `values[0]` is never added. **Scenario:** `average([10, 20])` returns `10.0` instead of `15.0`. **Fix:** Use `for v in values: total += v`, or keep the original `sum(values)`. ### [major] stats.py:6 — empty input raises ZeroDivisionError **Problem:** Behavior on `[]` is unchanged but still unhandled, and there is no test. **Scenario:** `average([])` → `ZeroDivisionError`. **Fix:** Return `0.0` or raise a `ValueError` with a clear message, and add a test. **Verdict:** Request changes ```
From caestrella1/clankerlib, MIT.
More from caestrella1/clankerlib
- 0.529score
declank
caestrella1
Rewrite text, code comments, or documentation to be shorter, plainer, and more direct.
SkillBFreshness: BClaude Code +9 - 0.524score
huh
caestrella1
Re-explain your last response in simpler, plainer words.
SkillBFreshness: BClaude Code +9 - 0.523score
data-analysis
caestrella1
Explore, clean, and summarize tabular data.
SkillBFreshness: BClaude Code +9 - 0.523score
docx-handling
caestrella1
Create, read, and edit Word (.docx) documents.
SkillBFreshness: BClaude Code +9 - 0.514score
_template
caestrella1
One sentence describing what the skill does and when an agent should use it.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 24, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/caestrella1/clankerlib
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from caestrella1
- 0.529score
declank
caestrella1
Rewrite text, code comments, or documentation to be shorter, plainer, and more direct.
SkillBFreshness: BClaude Code +9 - 0.524score
huh
caestrella1
Re-explain your last response in simpler, plainer words.
SkillBFreshness: BClaude Code +9 - 0.523score
data-analysis
caestrella1
Explore, clean, and summarize tabular data.
SkillBFreshness: BClaude Code +9 - 0.523score
docx-handling
caestrella1
Create, read, and edit Word (.docx) documents.
SkillBFreshness: BClaude Code +9 - 0.514score
_template
caestrella1
One sentence describing what the skill does and when an agent should use it.
SkillBFreshness: BClaude Code +9
Cite this page
second-opinion skill. Agent Mart. https://agentmart.dev/skills/caestrella1-second-opinion (last updated 2026-10-24)