scout
Search the web for new Claude Code patterns, release notes, and community skills. Use periodically to check for framework optimization opportunities.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Search the web for new Claude Code patterns, release notes, and community skills. Use periodically to check for framework optimization opportunities.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Create well-structured atomic commits with conventional commit messages. Use when ready to commit working changes.
Write a feature spec from requirements in .claude/input/. Use when starting a new feature, before implementation begins.
Orchestrate the full spec → implement → review → fix → commit pipeline. Use when shipping a complete feature end-to-end.
Break a concept document, draft, or product brief into independent PRDs that each feed into /ship. Use when input contains multiple features or a big-picture vision.
Ship decomposed PRDs in parallel. Analyzes file conflicts, groups into batches, runs /ship in isolated worktrees, merges results. Use after /decompose.
Implement a feature from a spec file in .claude/specs/. Use after a spec is written and approved.
| name | scout |
| description | Search the web for new Claude Code patterns, release notes, and community skills. Use periodically to check for framework optimization opportunities. |
| disable-model-invocation | true |
| argument-hint | [--quick] |
| model | claude-opus-4-6 |
| effort | high |
Search the web for recent Claude Code developments and compare against the current framework. Report optimization opportunities without modifying any files.
$ARGUMENTS is optional. Pass --quick to search only (no page fetching) — returns titles and links for manual review.
.claude/skills/ to understand current capabilities.claude/context/lessons.md if it exists (.claude/rules/instincts.md is auto-loaded by Claude Code).claude/references/blogs/scout-*.md and read the latest one. This is used in the diff phase later. If none exists, skip diffing..claude/metrics-scout.csv exists and contains 2+ rows, compute the trend direction for findings_count and action_items_count across the last 3 scout runs (increasing / decreasing / stable). Store as a one-line summary for the report header. If fewer than 2 scout rows exist, note "First/second run — no trend data."Fetch the official Claude Code changelog directly — do not rely on search for this:
a. WebFetch https://docs.anthropic.com/en/docs/claude-code/changelog
b. If that fails, try: WebFetch https://code.claude.com/docs/en/changelog
c. If both fail, fall back to WebSearch: "Claude Code" changelog site:anthropic.com
Extract all entries from the last 60 days. For each entry, note:
Compare each entry against the current framework: does it affect any of our skills, hooks, or settings? Flag anything that does.
Actionable mapping: For each flagged entry, map it to a concrete change target: which skill file and what to change (e.g., "add maxTurns: 15 to 3_fix/SKILL.md frontmatter"), or which rule file to create/update in .claude/rules/. If the change doesn't map to any skill or rule, note it as "informational only" — do not propose writing it to a knowledge file.
Check the official Anthropic skills repository for new patterns and spec changes:
a. WebFetch https://github.com/anthropics/skills — extract README, directory listing, skill format docs
b. WebFetch https://agentskills.io/specification — extract the Agent Skills spec (frontmatter fields, directory conventions, file naming)
For each finding:
scripts/, references/, assets/) against oursInclude findings in the report under a dedicated "Official Anthropic skills repo analysis" section.
Read .claude/references/scout-registry.md if it exists. This file tracks every URL the scout has already fetched. Format:
# Scout Registry
| URL | Title | Status | Date |
| ------------------------- | ---------- | ------- | ---------- |
| https://example.com/post | Some Post | fetched | 2026-03-20 |
| https://example.com/other | Other Post | queued | 2026-03-20 |
Status values: fetched (already read and analyzed), queued (flagged for next run), queued-repo (GitHub repo flagged for /harvest), skip (manually marked irrelevant).
If the table has a Type column, use it. If not, treat all existing rows as type article. When adding new rows, always include the Type column (article or repo).
Build a set of known URLs from this file. These are used in the search and fetch phases to avoid re-reading content.
Read .claude/reviews/learn-proposals.md if it exists. Identify proposals with Status pending or deferred. From the top 3 by priority, generate 1–2 targeted search queries that could find supporting evidence, alternatives, or updated information. Example: if a pending proposal suggests adding worktree isolation to /ship, generate "Claude Code" worktree isolation workflow 2026.
Cap adaptive queries at 2. If no proposals file exists or no open proposals remain, skip this phase.
Run the 4 standard searches below, plus any adaptive queries from the previous phase (max 6 total). Use WebSearch:
a. "Claude Code" best practices 2026
b. "Claude Code" skills site:github.com
c. "Claude Code" hooks OR subagents OR "agent teams" new
d. "CLAUDE.md" patterns OR framework
e–f. (adaptive queries, if generated above)
For each search, collect the top 3 results (title, URL, snippet).
Deduplicate by URL. Discard results older than 60 days if the date is visible in the snippet. Remove any URL already in the registry with status fetched or skip.
Classify each result by source tier:
anthropic.com, code.claude.com, agentskills.io, github.com/anthropicsInclude the tier in all report tables that reference external sources.
Search GitHub specifically for Claude Code framework repos and skill collections:
a. WebSearch "Claude Code" framework skills site:github.com
b. WebSearch ".claude" commands OR skills directory site:github.com
c. WebSearch CLAUDE.md hooks OR agents "best practices" site:github.com
For each result that is a GitHub repository URL (not a file blob, issue, or discussion):
fetched, queued-repo, or skipqueued-repo, type repo, and today's dateDo NOT clone or deeply analyze repos — that is /harvest's job. Scout only discovers and queues.
If --quick was passed: skip this phase entirely. Go straight to the Quick report.
Collect fetch candidates from two sources:
queued) — these were flagged by a previous runPrioritize: queued items first, then new items. From the combined list, take the top 5 (prioritize: T1 > T2 > T3; within each tier: docs > GitHub repos > blog posts):
a. Fetch the page content with WebFetch b. Extract only actionable information: new Claude Code features or CLI flags, new skill frontmatter fields or hook events, workflow patterns this framework doesn't use, breaking changes that affect current skills, community skills worth evaluating c. For each insight, assess: does our framework already handle this? (yes / partially / no)
Write the report to .claude/references/blogs/scout-<YYYY-MM-DD>.md with this structure (this ensures /learn automatically picks it up for processing):
# Scout Report — <YYYY-MM-DD>
**Trend:** <trend summary from step 5, e.g. "Findings ↓ (66→48), action items ↓ (34→18) over last 3 runs" or "First run — no trend data">
## Claude Code release notes (last 60 days)
| Version | Date | Change | Affects our framework? | Action needed |
| --------- | ------ | ---------------- | ---------------------- | ------------- |
| <version> | <date> | <change summary> | /<skill> or "none" | <what to do> |
## Official Anthropic skills repo analysis
| Field/Convention | Official spec | Our framework | Gap |
| ---------------- | ------------- | ------------- | ----------------- |
| <field> | <spec status> | <our status> | <gap description> |
## Proposed changes
Concrete edits to skills and rules. Each proposal maps directly to a file and change.
| # | Target file | Change | Source | Tier | Priority |
| --- | --------------------------------- | --------------------------------------- | ------ | ------ | --------------- |
| 1 | `.claude/skills/<skill>/SKILL.md` | <specific edit: add/change/remove what> | <link> | T1/2/3 | high/medium/low |
| 2 | `.claude/rules/<rule>.md` | <create or update rule> | <link> | T1/2/3 | high/medium/low |
For each high-priority proposal, include a diff block:
File: .claude/skills//SKILL.md What: Why: Diff:
## Breaking changes / deprecations
| Change | Affects | Source | Action needed |
| -------- | -------- | ------ | ---------------- |
| <change> | /<skill> | <link> | <what to update> |
## Worth investigating
Links to save into `.claude/references/` for deeper `/learn` processing:
- [<title>](url) — <why it's relevant>
## Repos worth harvesting
GitHub repos discovered that may contain adoptable skills, hooks, or patterns:
| Repo URL | Description | Tier | Status |
| -------- | ------------------------------------------- | -------- | ----------- |
| <url> | <description from search snippet or README> | T1/T2/T3 | queued-repo |
Run `/harvest <url>` to clone and analyze any of these repos.
## No action needed
Patterns we already implement correctly:
- <pattern> — ✅ already in /<skill>
If no findings in a section, write "None found." — do not omit the section.
If a previous scout report was loaded in step 4, compare the new report against it:
## What's new since last scout
- **New findings:** <count> items not in the previous report
- **Resolved:** <count> items from the previous report that are no longer relevant
- **Carried over:** <count> items still open from last time
### New this scan
- <one-line summary of each new finding>
This prevents report fatigue — the user can focus on deltas instead of re-reading the full report.
After the report is written, update .claude/references/scout-registry.md:
fetched with today's datequeued, type article, with today's date (unless already in the registry)queued-repo, type repo, with today's date (unless already in the registry)queued and got fetched this run, update its status to fetchedskip status)After the report and registry are updated, write formal proposals directly to .claude/reviews/learn-proposals.md for every entry in the "Proposed changes" table:
Read existing proposals. If learn-proposals.md exists, parse the **Status:** line of each proposal. Skip any item whose Status is accepted or rejected. Do not re-propose something already tracked.
Append under a dated separator. Add new proposals below a ## Proposals — YYYY-MM-DD heading. Do not overwrite or remove existing sections.
Use this format for each proposal:
### Skill: <skill-name> (or Rule: <rule-name>)
**What:** <one-line description of the change>
**Why:** <which finding motivates this>
**Source:** scout-<YYYY-MM-DD> — <source URL>
**Source tier:** T1/T2/T3
**Status:** pending
**Diff:** <show the specific lines to change — old → new>
Update the summary table at the bottom of the file if it exists.
Do NOT modify skill or rule files directly — proposals are reviewed by the user first.
Append a row to .claude/metrics-scout.csv (create if missing, with header row):
date,skill,model,findings_count,new_findings_count,action_items_count
Count: total findings across all tables, new findings (from diff phase, 0 if first run), and items with action needed (non-"none" entries).
--quick is passed)Skip the full report format. Instead, print a concise list:
# Scout Quick Scan — <YYYY-MM-DD>
## Search results worth reading
1. [<title>](url) — <one-line relevance note>
2. ...
Run `/scout` (without --quick) to fetch and analyze the top results.
Still update the registry: add all discovered URLs as queued (they weren't fetched, so they'll be prioritized next full run).
Ask: "Scout report written to .claude/references/blogs/scout-<date>.md. Proposals added to .claude/reviews/learn-proposals.md. Options:
A) Run /apply-proposals to review and apply proposals now
B) Run /learn <url> on a "Worth investigating" URL
C) Run /harvest <url> on a discovered repo
D) Done — I'll review manually"