packages/forge/src/skills/soleri-research-scout/SKILL.md
Triggers: "scout", "research scout", "find new info", "what's new", "scan the web". Discovers new info that challenges or updates vault knowledge via web search.
npx skillsauth add adrozdenko/soleri soleri-research-scoutInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Finds new information that challenges or updates existing vault knowledge. Searches web, Reddit, HN, and Quora for strategies, tools, announcements, and workflow changes relevant to vault domains.
Findings go to a scout branch — never the main vault. Weekly review promotes the good ones, discards the rest.
Announce at start: "Scouting for new intelligence — findings go to the scout branch, not the main vault."
| Command | What it does |
| ------------------------ | ------------------------------------------------ |
| /research-scout | Run a scout pass — search web, capture to branch |
| /research-scout review | Review branch findings, promote or discard |
YOUR_AGENT_branching op:vault_branch_list
If no branch named scout-findings exists, create it:
YOUR_AGENT_branching op:vault_branch
params: { name: "scout-findings" }
Pull active domains and recent topics from the vault:
YOUR_AGENT_vault op:vault_domains
YOUR_AGENT_vault op:vault_recent params:{ limit: 15 }
YOUR_AGENT_brain op:brain_strengths params:{ limit: 10 }
From these, build 3-5 focused search queries based on:
For each query, search with year context:
WebSearch: "{topic} new tools breaking changes 2026"
WebSearch: "{topic} best practices updated site:reddit.com OR site:news.ycombinator.com"
Focus on:
For each finding, check if the main vault already knows:
YOUR_AGENT_vault op:search_intelligent
params: { query: "{finding summary}" }
Classify:
Only keep NEW, UPDATE, and CONTRADICTS. Discard REDUNDANT.
For each non-redundant finding:
If a finding can't be verified from 2 sources, skip it.
Switch to scout branch, capture, switch back:
YOUR_AGENT_branching op:vault_branch_add
params: {
branch: "scout-findings",
entry: {
title: "{concise finding title}",
type: "pattern",
domain: "{relevant domain}",
description: "{what changed and why it matters}",
why: "Scout [{date}]: {source URL}. {what it changes or adds}",
severity: "suggestion",
tags: ["research-scout", "{domain}", "{source-type}"]
}
}
If the finding CONTRADICTS an existing main vault entry, note the contradicted entry ID in the description so the reviewer can link them during promotion.
Present results:
| # | Finding | Type | Domain | Source | Status | | --- | ------- | ----------- | -------- | ------ | --------------------------------- | | 1 | {title} | NEW | {domain} | {url} | Captured to branch | | 2 | {title} | CONTRADICTS | {domain} | {url} | Captured — contradicts {entry_id} | | 3 | {title} | REDUNDANT | {domain} | — | Skipped |
Summary: {N} sources searched, {found} findings, {captured} captured to scout branch, {skipped} skipped as redundant.
YOUR_AGENT_memory op:session_capture
params: {
summary: "Research scout: searched {N} topics, {captured} findings staged to scout-findings branch, {contradictions} contradictions flagged",
topics: ["{domains searched}"],
intent: "research"
}
YOUR_AGENT_branching op:vault_branch_list
List all entries on the scout-findings branch.
For each entry on the branch, present to the user:
| Field | Value | | --------------- | ------------------------------ | | Title | {title} | | Domain | {domain} | | Source | {from why field} | | Age | {days since capture} | | Contradicts | {entry ID if noted, or "none"} |
Ask: Promote, Archive, or Skip?
vault_merge_branch or manual capture_knowledge. If it contradicts an entry, create a link_entries with type contradicts.After review, delete the branch and recreate fresh:
YOUR_AGENT_branching op:vault_delete_branch
params: { name: "scout-findings" }
YOUR_AGENT_branching op:vault_branch
params: { name: "scout-findings" }
| Metric | Value | | ------------ | ---------- | | Reviewed | {total} | | Promoted | {promoted} | | Archived | {archived} | | Skipped | {skipped} |
/schedule create --name "research-scout-nightly" --cron "0 2,4,6 * * *" --prompt "/research-scout"
/schedule create --name "research-scout-review" --cron "0 9 * * 1" --prompt "/research-scout review"
testing
Triggers: "terse mode", "be brief", "less tokens", "fewer tokens", "compress output", "caveman", or invokes /terse. Token-efficient responses with full technical accuracy.
tools
Triggers: "compress this file", "compress CLAUDE.md", "compress memory", "shrink this", "reduce tokens in file", or invokes /compress. Compresses natural language files to save input tokens.
testing
Triggers: "release", "bump version", "publish packages", "cut a release", "version bump", "npm publish". Bumps monorepo versions, commits, tags, pushes to trigger CI release. Use deliver-and-ship for quality gates.
development
Triggers: "implement X", "build Y", "fix Z", "add feature", or any work task needing planning + execution. Full orchestration loop: plan, execute, complete with vault context and brain recs.