All skills

Agent skill

Research and review

Look into a topic, link, or repository and turn the evidence into useful notes.

Use this skill

Install it into a project with the Skills CLI, or read the files below and adapt them to your own agent.

npx skills add shan8851/agent-skills --skill research-review
View source on GitHub
SKILL.mdView this file on GitHub
---
name: research-review
description: "Unified review/research workflow for links, repos, posts, videos, and topics. Use when the user asks to review, research, summarize, sanity-check, or 'look into' something. Enforce safe defaults: never run untrusted repo code/tests/builds, prefer static analysis, write findings to a notes repo, return a concise TL;DR, and keep the main chat responsive via quick-ack + background execution for longer tasks."
---

# Research Review

Single, safety-first review workflow.

## Non-negotiable defaults

- Do **not** run untrusted project code (`npm test`, `go test`, build scripts, binaries) unless user explicitly asks.
- Do **not** clone into the main workspace.
- Prefer metadata + static reads over local execution.
- Always return a short TL;DR in chat.
- **Do NOT always write to notes.** Apply the persistence decision tree below.

If deep code execution is explicitly requested later, call that out as a mode change and confirm.

## Quick execution flow

1) **Ack immediately**
- If work may exceed ~60–90s, send a quick "on it" response first.
- Use background/sub-agent execution for long jobs so the channel lane stays responsive.

2) **Route by source type**
- Use `references/routing-cheatsheet.md`.
- Route examples:
  - GitHub repo link → static repo review (no code execution).
  - X/Twitter link → social reader tool first.
  - YouTube link → `summarize` first (`--youtube auto`), then fallback.
  - Direct URL/article link → `summarize` first, then fallback to web fetch/search if needed.
  - General topic → web search + fetch (include Reddit scan when useful).

3) **URL/YouTube summarize-first lane**
- For direct article URLs: run `summarize "<url>"` first.
- For YouTube links: run `summarize "<url>" --youtube auto` first.
- If `summarize` fails or coverage is weak, fallback to web search/fetch and explicitly note fallback.
- Never run downloaded code/binaries from target content.

4) **Synthesize**
- Output sections (in this order):
  - TL;DR (2–5 bullets)
  - Why it matters (for the user/request)
  - Risks/caveats
  - Recommended next move

5) **Persistence decision (do NOT default to writing)**

Apply this decision tree:
- **ALWAYS persist** if: user explicitly asks to write it up, OR it's a project/tool we're actively adopting, OR it contains a concrete action plan we'll execute
- **ASK first** if: it's a repo/tool review that might be useful later but isn't immediately actionable — offer: "Want the full write-up in notes or is the TL;DR enough?"
- **SKIP persistence** if: it's a quick sanity check, one-off curiosity, or the TL;DR covers everything useful

When persisting:
- Use `references/note-template.md` format
- Default destination: your configured notes repo or workspace notes directory

6) **Commit + push notes changes** (only when persisting)
- In your notes repo:
  - `git pull --rebase`
  - apply changes
  - `git add -A && git commit -m "..."`
  - `git push`

## Safety mode details

For repo reviews, these are allowed by default:
- README, manifests, file tree, recent commits, CI/workflow files, dependency metadata, docs.

These are blocked by default:
- test/build/run commands
- executing checked-out scripts from target repo
- running downloaded binaries

Optional deep-static mode (still safe):
- cloning to ephemeral scratch (e.g. `/tmp/research/<id>`) for read-only file inspection, then cleanup.

## Quality bar

- Prefer practical, opinionated conclusions over generic summaries.
- Be explicit about confidence and gaps.
- Avoid over-claiming from sparse evidence.
- Keep chat response concise; keep full detail in notes.
references/note-template.mdView this file on GitHub
# Notes template

Default destination:
`{{NOTES_REPO}}/skill-notes/repo-reviews.md`

Use this section format:

## YYYY-MM-DD — <subject>
- Link(s): <url list>
- Context: <why this was reviewed>

### TL;DR
- <bullet>
- <bullet>

### Why it matters
- <bullet>

### Risks / caveats
- <bullet>

### Suggested next move
- <single practical next action>

### Confidence
- <high|medium|low> — <brief reason>

---

Commit message style:
- `Add <subject> review notes`
- `Append review notes: <subject>`
references/routing-cheatsheet.mdView this file on GitHub
# Routing cheatsheet

Use this source router before doing work.

## A) GitHub repo / PR / issue links

Goal: static analysis by default.

Preferred:
- `gh repo view`
- `gh api` for tree/manifests/metadata
- targeted file reads

Do not run:
- `go test`, `npm test`, `make`, setup scripts, project binaries

Only if explicitly requested:
- deeper verification / runtime checks

## B) X/Twitter links or asks

- Use `bird` first.
- If `bird` fails, use web fallback and mark lower confidence.

## C) YouTube links

- Use `summarize "<url>" --youtube auto --cli codex` first.
- Summarize claims, decisions, action items.
- If `--cli codex` is unavailable, fallback to provider/API-backed summarize.
- If `summarize` transcript coverage is weak/fails, fallback to web fetch/search and state fallback.

## D) Direct web URLs (articles/docs/posts)

- Use `summarize "<url>" --cli codex` first.
- If `--cli codex` is unavailable, fallback to provider/API-backed summarize.
- If extraction quality is poor, fallback to `web_fetch` + targeted `web_search`.

## E) General web/topic research

- Use web search + fetch.
- Include Reddit scan where community sentiment is useful:
  - e.g. add `site:reddit.com` query pass.

## F) Unknown/combined inputs

- Split into sub-questions by source type.
- Preserve one unified final output contract.