agentleFS
synaptiaisynaptiai/agent-capability-standard/skills/search/SKILL.md

search

Skill6 starsChanged 14 days agoApache-2.0View on GitHub

Find relevant items under uncertainty across repositories, databases, web sources, or any searchable corpus. Use when exploring unknown territory, finding related information, or discovering relevant resources.

  • Reads credentials

54 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use fetch, export and 9 more.

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.
  • jtfasulo7Skill

    fetch

    Use this skill when the user wants to retrieve a URL without a full browser session: fetch HTML or JSON from static pages, inspect status codes or headers, follow redirects, or get page source for simple scraping. Prefer it over a browser when JavaScript rendering and page interaction are not needed. Supports proxies and redirect control.

    Also in 3 projects that use this

  • soilmassSkill

    export

    Animation export configurations including format selection, resolution, framerate, quality, and optimization settings. Use when rendering animations for web, mobile, video, or social media. Provides tokens for all export parameters across Lottie, GIF, video, and sprite sheet formats.

    Also in 4 projects that use this

  • rogue-dev-studioSkill

    monitoring

    Claude monitoring and usage tracking tools (UV, claude-monitor, claude-usage-cli). Use when the project needs this capability or the user / team manifest asks for it. Use for specialized `monitoring` work when listed in TEAM.yaml or explicitly requested.

    Also in 3 projects that use this

  • DockerSkill

    write

    Write or edit reader-facing technical prose for immediate comprehension. Use for documentation, PR titles and descriptions, release notes, design documents, user-facing explanations, and substantive comments. Also use when asked to make writing clearer, more natural, less AI-generated, or easier to read. For documentation fixes, handles edits, formatting, self-review, and commits after research identifies what to change. Do not use for code-only tasks with no prose deliverable.

    Also in 3 projects that use this

  • JaimeGBASkill

    ingest

    Digest an external source (article, paper, transcript, URL, book chapter) and integrate its content into the knowledge base

    Also in 4 projects that use this

  • wrsmith108Skill

    docker

    Container-based development for isolated, reproducible environments. Use when running npm commands, installing packages, executing code, or managing project dependencies. Trigger phrases include "npm install", "run the build", "start the server", "install package", or any code execution request.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 9 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 47 edited versions we read keep these.

  • 9

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Search strategy is appropriate for the domain

    line 28
  2. Very specific:

    Search feeds into the State Layer by discovering entities and observations to include in world-state.

    line 34
  3. Distinctive:

    Code/repo search: Use Grep patterns, file globs

    line 58
  4. Distinctive:

    Web search: Use web search tools with keywords

    line 59
  5. Distinctive:

    Documentation: Search docs directories, README files

    line 60
  6. Distinctive:

    Execute searches: Run queries across sources

    line 68
  7. Distinctive:

    Use multiple query variations if first returns poor results

    line 69
  8. Distinctive:

    Remove duplicates (same content, different paths)

    line 75
  9. Distinctive:

    Do not search paths marked as sensitive

    line 322
  10. Very specific:

    Avoid searching when exact path is known (use retrieve)

    line 340
  11. Distinctive:

    Never search without considering coverage limitations

    line 341

“Common” is measured: kept by at least 6 in 10 of the 47 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

Live Context

Available search context:

  • Current directory: !pwd
  • File types available: !find . -type f -not -path './.git/*' 2>/dev/null | sed 's/.*\.//' | sort | uniq -c | sort -rn | head -10
  • Total searchable files: !find . -type f -not -path './.git/*' 2>/dev/null | wc -l | tr -d ' '
  • Common directories: !find . -type d -maxdepth 2 -not -path './.git/*' 2>/dev/null | head -10
  • README files: !find . -name 'README*' -not -path './.git/*' 2>/dev/null | head -5

Intent

Execute search to find relevant information when you don't know exactly where to look. Unlike retrieve (which fetches known items), search explores under uncertainty and ranks results by relevance.

Success criteria:

  • Relevant results are found and ranked
  • Search strategy is appropriate for the domain
  • Coverage is sufficient for the use case
  • Results include relevance scores and evidence
  • False positives are minimized

World Modeling Context: Search feeds into the State Layer by discovering entities and observations to include in world-state. It supports the Identity & Continuity Layer by finding candidate matches for identity-resolution.

Compatible schemas:

  • schemas/output_schema.yaml

Inputs

ParameterRequiredTypeDescription
queryYesstring|objectWhat to search for (natural language or structured)
scopeNostringSearch scope/domain
limitNointegerMaximum results

Inputs not listed here are outside the capability's contract: a workflow step that binds them gets W604 (STANDARD v1.1 §5.5).

Procedure

  1. Parse query: Understand what the user is looking for
    • Extract key terms and concepts
    • Identify entity types being sought
    • Determine search intent (existence, discovery, comparison)
    • Expand with synonyms or related terms if appropriate
  2. Select search strategy: Based on scope and query type
    • Code/repo search: Use Grep patterns, file globs
    • Web search: Use web search tools with keywords
    • Documentation: Search docs directories, README files
    • Semantic: Expand query with related concepts
  3. Construct search queries: Formulate effective queries
    • For Grep: Build regex patterns that balance precision/recall
    • For web: Use keywords, exclude noise terms
    • Apply filters (file type, date range, domain)
  4. Execute searches: Run queries across sources
    • Use multiple query variations if first returns poor results
    • Apply pagination for comprehensive coverage
    • Track which queries were tried
  5. Collect and deduplicate results: Aggregate findings
    • Merge results from multiple sources
    • Remove duplicates (same content, different paths)
    • Note source and search method for each result
  6. Rank results: Score by relevance and other criteria
    • Term match: How well result matches query
    • Authority: Source credibility, recency
    • Context: Relevance to broader task
    • Uniqueness: Information not found elsewhere
  7. Extract key information: For top results
    • Relevant snippets that match query
    • Metadata (file, date, author)
    • Context around the match
  8. Assess coverage: Evaluate search completeness
    • What portion of relevant sources were searched?
    • Any known blind spots?
    • Suggest additional searches if coverage is poor

Output Contract

Return a structured object:

results:
  - id: string  # Result identifier
    type: file | web | doc | record
    source: string  # Where found
    path: string | null  # File path or URL
    title: string | null
    snippet: string  # Relevant excerpt
    relevance_score: number  # 0.0-1.0
    metadata:
      date: string | null
      author: string | null
      size: number | null
    evidence_anchor: string  # Reference for grounding
total_count: integer  # Total matches before filtering
query_details:
  query: string  # Original query
  query_expansions: array[string]  # Variations tried
  sources_searched: array[string]  # Where we looked
  returned: integer  # Results in this response
coverage:
  sources_available: array[string]
  sources_searched: array[string]
  coverage_ratio: number  # 0.0-1.0
  blind_spots: array[string]  # Known gaps
search_strategy:
  method: string  # How search was conducted
  queries_executed: array[string]  # Actual queries run
  filters_applied: object
confidence: number  # 0.0-1.0
evidence_anchors: array[string]
assumptions: array[string]
next_searches: array[string]  # Suggested follow-up searches

Field Definitions

FieldTypeDescription
resultsarrayRanked search results (empty when nothing matched)
results[].relevance_scorenumberHow well result matches query
total_countintegerTotal matches before filtering (results may hold fewer)
query_detailsobjectQuery, expansions tried, sources searched, and number returned
coverageobjectAssessment of search completeness
blind_spotsarrayKnown areas not searched
next_searchesarraySuggested follow-up queries
confidencenumber0.0-1.0 confidence the results answer the query
evidence_anchorsarrayReferences to where each result was found
assumptionsarrayExplicit assumptions

Examples

Example 1: Code Search for Authentication Logic

Input:

query: "JWT token validation"
scope: "repo: *.ts and *.js files, excluding node_modules/ and test/"

Output:

results:
  - id: "r1"
    type: file
    source: "repo"
    path: "src/middleware/auth.ts"
    title: null
    snippet: |
      export function validateToken(token: string): JWTPayload {
        return jwt.verify(token, process.env.JWT_SECRET) as JWTPayload;
      }
    relevance_score: 0.95
    metadata:
      date: "2025-01-20"
      author: null
      size: 2450
    evidence_anchor: "src/middleware/auth.ts:45-48"
  - id: "r2"
    type: file
    source: "repo"
    path: "src/services/user-service.ts"
    title: null
    snippet: |
      const decoded = validateToken(authHeader.split(' ')[1]);
    relevance_score: 0.75
    metadata:
      date: "2025-01-15"
      size: 5200
    evidence_anchor: "src/services/user-service.ts:23"
  - id: "r3"
    type: file
    source: "repo"
    path: "src/utils/jwt-helpers.ts"
    title: null
    snippet: |
      export const JWT_ALGORITHM = 'HS256';
      export const TOKEN_EXPIRY = '24h';
    relevance_score: 0.60
    metadata:
      date: "2024-12-01"
      size: 800
    evidence_anchor: "src/utils/jwt-helpers.ts:1-5"
total_count: 8
query_details:
  query: "JWT token validation"
  query_expansions:
    - "jwt.*valid"
    - "token.*verify"
    - "jsonwebtoken"
  sources_searched: ["repo:src/"]
  returned: 3
coverage:
  sources_available: ["repo", "docs"]
  sources_searched: ["repo:src/"]
  coverage_ratio: 0.85
  blind_spots:
    - "Config files not searched"
    - "Documentation not searched"
search_strategy:
  method: "grep_pattern_search"
  queries_executed:
    - "grep -r 'jwt.*valid' --include='*.ts' src/"
    - "grep -r 'token.*verify' --include='*.ts' src/"
  filters_applied:
    file_types: [".ts", ".js"]
    excluded: ["node_modules", "test"]
confidence: 0.9
evidence_anchors:
  - "src/middleware/auth.ts:45-48"
  - "src/services/user-service.ts:23"
  - "src/utils/jwt-helpers.ts:1-5"
assumptions:
  - "All JWT logic is in TypeScript files"
  - "No JWT validation in excluded test files matters"
next_searches:
  - "Search config/ for JWT_SECRET references"
  - "Search docs/ for authentication documentation"

Evidence pattern: Used Grep with multiple patterns to find JWT-related code, ranked by directness of validation logic.


Example 2: Web Search for API Documentation

Input:

query: "OpenAI API rate limits 2025"
scope: web

Output:

results:
  - id: "w1"
    type: web
    source: "web"
    path: "https://platform.openai.com/docs/guides/rate-limits"
    title: "Rate limits - OpenAI API"
    snippet: "Rate limits are measured in tokens per minute (TPM) and requests per minute (RPM). Tier 1 users: 500 RPM, 100,000 TPM..."
    relevance_score: 0.95
    metadata:
      date: "2025-01-15"
      author: "OpenAI"
    evidence_anchor: "url:https://platform.openai.com/docs/guides/rate-limits"
  - id: "w2"
    type: web
    source: "web"
    path: "https://community.openai.com/t/rate-limit-changes-2025"
    title: "Rate Limit Changes in 2025"
    snippet: "As of January 2025, we've updated rate limit tiers..."
    relevance_score: 0.85
    metadata:
      date: "2025-01-10"
    evidence_anchor: "url:https://community.openai.com/t/rate-limit-changes-2025"
total_count: 15
query_details:
  query: "OpenAI API rate limits 2025"
  query_expansions:
    - "OpenAI rate limit tiers"
    - "GPT-4 API quota"
  sources_searched: ["web"]
  returned: 2
coverage:
  sources_available: ["web", "docs"]
  sources_searched: ["web"]
  coverage_ratio: 0.7
  blind_spots:
    - "Internal documentation not accessible"
search_strategy:
  method: "web_search"
  queries_executed:
    - "OpenAI API rate limits 2025"
    - "OpenAI rate limit tiers"
  filters_applied:
    recency: "2025"
confidence: 0.85
evidence_anchors:
  - "url:https://platform.openai.com/docs/guides/rate-limits"
assumptions:
  - "Official documentation is current"
next_searches:
  - "Search OpenAI changelog for rate limit updates"

Verification

  • All returned results have valid evidence anchors
  • Relevance scores are between 0.0 and 1.0
  • Coverage assessment identifies blind spots
  • Search strategy is documented
  • Suggested next searches address coverage gaps

Verification tools: Link validators, file existence checks

Safety Constraints

  • mutation: false
  • requires_checkpoint: false
  • requires_approval: false
  • risk: low

Capability-specific rules:

  • Do not search paths marked as sensitive
  • Rate-limit web searches appropriately
  • Flag when search coverage is < 50%
  • Distinguish authoritative from user-generated sources

Composition Patterns

Commonly follows:

  • None typically - search is often a starting point
  • May follow inspect when inspection reveals knowledge gaps

Commonly precedes:

  • retrieve - After finding, retrieve full content
  • world-state - Search results inform state construction
  • identity-resolution - Find candidate entities to resolve
  • grounding - Search for evidence to ground claims

Anti-patterns:

  • Avoid searching when exact path is known (use retrieve)
  • Never search without considering coverage limitations

Workflow references:

  • See reference/composition_patterns.md#world-model-build for search in model construction
  • See reference/composition_patterns.md#debug-code-change for search during debugging

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.