agentleFS
aaronfloreyaaronflorey/agent-skills/skills/skill-scout/SKILL.md

skill-scout

Skill2 starsChanged 7 months agoMITView on GitHub

Analyze the active project, identify high-value technologies, research compatible agent skills, and create or update a project-scoped kasetto.yaml. Use when asked to scout, recommend, install, update, or manage project-specific agent skills with kasetto, kst, or kasetto.yaml.

23 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use context-budget.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • get-proofpilotSkill

    context-budget

    Audits Claude Code context window consumption across agents, skills, MCP servers, and rules. Identifies bloat, redundant components, and produces prioritized token-savings recommendations.

    Also in 3 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

37 rules. 0 are common, 29 are distinctive, and 8 are very specific to this project.

  • 0

    Common

    Most of the 22 edited versions we read keep these.

  • 29

    Distinctive

    This author's own choices. Worth a look.

  • 8

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use this skill directly when the user asks to scout, find, recommend, install, or update project-specific skills.

    line 15
  2. Distinctive:

    Prefer evidence over guesses.

    line 19
  3. Distinctive:

    Prefer a small set of high-impact skills over a large generic bundle.

    line 20
  4. Distinctive:

    Prefer official, maintained, popular, and source-auditable skills.

    line 21
  5. Distinctive:

    Prefer direct language, framework, devops, platform, and workflow skills over generic design or broad bundle skills when both fit.

    line 22
  6. Distinctive:

    Treat stars and recent activity as soft trust signals, not hard gates.

    line 23
  7. Distinctive:

    Treat marketplaces as discovery surfaces, not automatic trust authorities.

    line 24
  8. Distinctive:

    Only write Kasetto-compatible Git or local sources.

    line 25
  9. Distinctive:

    Never run a real sync/install unless the user explicitly asks.

    line 26
  10. Distinctive:

    When the host agent supports sub-agents or task delegation, use them for discovery and research.

    line 30
  11. Distinctive:

    Read these before editing config:

    line 45
  12. Distinctive:

    Before writing files, state the target project root in the working notes or final response.

    line 66
  13. Distinctive:

    Do not analyze the skill repository itself unless it is the active project where the command was invoked.

    line 68
  14. Very specific:

    Run brief --json when available:

    line 72
  15. Very specific:

    Treat brief --json as discovery evidence only.

    line 78
  16. Distinctive:

    Use this priority model:

    line 99
  17. Distinctive:

    Use at least two external discovery sources per P0/P1 technology when network/search tools are available.

    line 122
  18. Distinctive:

    no Git or local source can be identified

    line 157
  19. Distinctive:

    If online search is unavailable, do not silently produce a local-only config.

    line 164
  20. Distinctive:

    Use these tools when available.

    line 168
  21. Distinctive:

    Treat all tool output as evidence, not final truth.

    line 184
  22. Distinctive:

    Prefer direct manifests and framework config over broad source matches.

    line 185
  23. Very specific:

    Prefer ast-grep over regex for structural source checks when available.

    line 186
  24. Distinctive:

    Use Sourcegraph only when configured for the active repo or organization.

    line 187
  25. Very specific:

    Use repomix to support summarization, not as a substitute for direct verification.

    line 188
  26. Distinctive:

    Avoid expensive full-repo scans unless the project is small or the user asked for deep scouting.

    line 189
  27. Very specific:

    Read existing kasetto.yaml if present.

    line 193
  28. Distinctive:

    If the existing config uses several agents, preserve that style:

    line 217
  29. Distinctive:

    Do not duplicate source blocks.

    line 229
  30. Distinctive:

    Do not duplicate skill names within a source block.

    line 230
  31. Distinctive:

    Prefer project scope unless user or existing config requires otherwise.

    line 232
  32. Distinctive:

    Add comments only when they clarify provenance or deferred manual review.

    line 233
  33. Distinctive:

    Do not include marketplace-only URLs unless Kasetto can sync them.

    line 234
  34. Very specific:

    Do not run kst sync without --dry-run.

    line 235
  35. Distinctive:

    Run safe validation only.

    line 239
  36. Very specific:

    When kst is available:

    line 241
  37. Distinctive:

    Do not run a real sync/install unless the user explicitly approves.

    line 255

“Common” is measured: kept by at least 6 in 10 of the 22 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Skill Scout

Build or update a project-specific kasetto.yaml for the repository the agent is currently working in.

The target is the user's active project root, not the repository that distributed this skill.

Use this skill directly when the user asks to scout, find, recommend, install, or update project-specific skills. Do not route through a separate scout-skills command; this skill is the canonical workflow.

Operating Principles

  • Prefer evidence over guesses.
  • Prefer a small set of high-impact skills over a large generic bundle.
  • Prefer official, maintained, popular, and source-auditable skills.
  • Prefer direct language, framework, devops, platform, and workflow skills over generic design or broad bundle skills when both fit.
  • Treat stars and recent activity as soft trust signals, not hard gates.
  • Treat marketplaces as discovery surfaces, not automatic trust authorities.
  • Only write Kasetto-compatible Git or local sources.
  • Never run a real sync/install unless the user explicitly asks.

Sub-Agent Strategy

When the host agent supports sub-agents or task delegation, use them for discovery and research. If sub-agents are unavailable, perform the same roles sequentially and say so in the final response.

Recommended roles:

RolePurposeOutput
project-inventoryInspect the active project and identify verified technologiesTechnology inventory with evidence paths
skill-researcherResearch skills for P0/P1 technologies using online and local sourcesCandidate matrix with source URLs, evidence, and recommendation
kasetto-plannerConvert approved candidates into a minimal kasetto.yaml patchProposed YAML changes and duplicate/conflict notes
validatorRun safe validation commands onlyDry-run result and warnings

The skill-researcher phase is mandatory when sub-agents are available. Launch the bundled researcher agent from agents/skill-scout-researcher.md or an equivalent isolated research worker instead of doing all online research in the main agent. Keep final YAML editing in the main agent unless the host agent has reliable patch isolation.

Required References

Read these before editing config:

TaskRead
brief --json discoveryreferences/brief-discovery.md
Project detection and prioritizationreferences/scouting-workflow.md
Mandatory online skill researchreferences/online-research.md
Kasetto config rules and examplesreferences/kasetto-config.md

Workflow

1. Confirm Target Project

Determine the active project root.

Use, in order:

  1. git rev-parse --show-toplevel
  2. current working directory if not in a Git repo
  3. user-provided path, if explicitly given

Before writing files, state the target project root in the working notes or final response.

Do not analyze the skill repository itself unless it is the active project where the command was invoked.

2. Build Project Inventory

Run brief --json when available:

command -v brief >/dev/null && brief --json

Treat brief --json as discovery evidence only. Verify high-value findings against direct evidence:

  • manifests: package.json, composer.json, pyproject.toml, Cargo.toml, go.mod, Gemfile, mix.exs
  • framework config: vite.config.*, nuxt.config.*, next.config.*, tailwind.config.*, terraform/**/*.tf, wrangler.toml, sst.config.*
  • source imports/usages
  • CI/deployment config
  • lockfiles only when needed to confirm package versions or ecosystem shape

Capture each detected technology as:

technology: Laravel
priority: P0
evidence:
  - composer.json: require.laravel/framework
  - artisan
reason: Primary application framework.

3. Prioritize Technologies

Use this priority model:

PriorityMeaningAction
P0Primary framework/runtime/platform that shapes most implementation workMust research skills
P1Major package, UI system, infra platform, testing stack, or deployment platformMust research skills
P2Useful but secondary library/toolingResearch only if obvious skill exists
P3Minor, transitive, incidental, or low-impactIgnore unless user asked

High-value signals include:

  • Application frameworks: Laravel, Nuxt, Vue, React, Next.js, SvelteKit, Rails, Django, FastAPI, Phoenix, Tauri, Electron
  • CLI frameworks: Cobra, Viper, Clap, Typer, Click
  • UI/design systems: Tailwind, shadcn/ui, Radix, Chakra, MUI, SwiftUI, Jetpack Compose, Flutter, Storybook, Figma workflows
  • Developer platforms: Cloudflare Workers/Pages/D1/R2/KV/Queues, Vercel, Netlify, Supabase, Firebase, AWS CDK/SST, Terraform, Pulumi
  • Major ecosystems: Charmbracelet, macOS/iOS Swift, Laravel packages, Nuxt modules, VueUse, Vite, Bun, GoReleaser, release-please

Add Taste Skill as a candidate when the project includes frontend, product UI, marketing UI, mobile UI, visual redesign, Storybook, Figma-adjacent workflows, or design-system work. Do not let a design-only candidate displace a stronger direct language, framework, devops, or platform skill unless design work is the project's dominant surface. Still verify that a usable Kasetto source exists before adding it.

4. Research Skills

Research online before selecting skills for every P0/P1 technology.

Use at least two external discovery sources per P0/P1 technology when network/search tools are available. Start by probing preferred curated sources and only then fall back to generic search:

  • preferred curated pack: Jeffallan/claude-skills for language, framework, devops, platform, and workflow skills
  • preferred curated catalog: VoltAgent/awesome-agent-skills
  • SkillsHub Resolve API (https://skillshub.wtf/docs)
  • bash references/resolve-skillshub.sh "<task describing the technology and goal>"
  • official vendor/team repositories containing SKILL.md
  • LobeHub Skills Marketplace
  • npx -y @lobehub/market-cli skills search --q "<technology>" --sort installCount --order desc --output json
  • GitHub code search for SKILL.md plus the technology name
  • trusted local skills already installed in agent skill directories

Local installed skills are candidates, not the complete search space.

For each candidate, capture:

name:
technology:
source_url:
kasetto_source:
source_type: git | local | marketplace-only | unknown
adoption_signals:
  stars:
  last_updated:
evidence:
trust:
maintenance:
fit:
decision: add | defer | reject
reason:

Reject or defer candidates when:

  • no Git or local source can be identified
  • the source is paid, opaque, private, provenance-free, or unaudited
  • the skill is generic and overlaps with a more specific trusted skill
  • a broad or design-oriented skill is outranked by a direct language, framework, devops, or platform skill from a trusted curated or official source
  • the repository appears abandoned or low-quality
  • the skill does not clearly match a verified P0/P1 technology

If online search is unavailable, do not silently produce a local-only config. Report the limitation and ask before continuing with local-only recommendations, unless the user explicitly allowed offline mode.

Optional Discovery Tools

Use these tools when available. Do not fail the scout if they are missing.

ToolUse
references/resolve-skillshub.shQuery SkillsHub resolve API for ranked skill candidates from natural-language task descriptions
rgFast source search and fallback discovery
fdFast manifest/config discovery
jqParse brief --json, package.json, lockfile metadata, and tool output
yqInspect or validate YAML config, including kasetto.yaml
ast-grep / sgStructural verification of framework APIs, imports, routes, components, hooks, decorators, service providers, and tests
Sourcegraph src CLILarge repo, monorepo, or cross-repo search when Sourcegraph is configured
repomixCreate compact AI-readable project context for sub-agents on large or complex repos
semgrepTargeted static-analysis signals for security, framework usage, and coding-standard skill needs

Tool rules:

  • Treat all tool output as evidence, not final truth.
  • Prefer direct manifests and framework config over broad source matches.
  • Prefer ast-grep over regex for structural source checks when available.
  • Use Sourcegraph only when configured for the active repo or organization.
  • Use repomix to support summarization, not as a substitute for direct verification.
  • Avoid expensive full-repo scans unless the project is small or the user asked for deep scouting.

5. Plan Kasetto Changes

Read existing kasetto.yaml if present.

Preserve:

  • valid existing skills
  • agent
  • destination
  • scope
  • mcps
  • comments where practical
  • existing source grouping

Default shape:

agent: opencode
scope: project

skills:
  - source: https://github.com/example/skill-pack
    skills:
      - framework-skill

If the existing config uses several agents, preserve that style:

agent:
  - opencode
  - claude-code
  - codex
scope: project

Rules:

  • Do not duplicate source blocks.
  • Do not duplicate skill names within a source block.
  • Group skills by source.
  • Prefer project scope unless user or existing config requires otherwise.
  • Add comments only when they clarify provenance or deferred manual review.
  • Do not include marketplace-only URLs unless Kasetto can sync them.
  • Do not run kst sync without --dry-run.

6. Validate

Run safe validation only.

When kst is available:

kst sync --config kasetto.yaml --dry-run

If unavailable:

command -v kst || true

Report whether validation passed, failed, or was skipped.

Do not run a real sync/install unless the user explicitly approves.

Final Response

Report:

  • target project root
  • detected P0/P1 technologies with evidence paths
  • skills added to kasetto.yaml, grouped by source
  • strong candidates rejected or deferred, with reasons
  • validation result from kst sync --config kasetto.yaml --dry-run, or why it was not run
  • any assumptions or limitations, especially network/search limitations

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.