Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add synaptiai/agent-capability-standard --skill "retrieve"
Install specific skill from multi-skill repository
# Description
Fetch known facts or data from specified sources with citations and evidence pointers. Use when you know what you need and where to find it. Emphasizes provenance and verifiable references.
# SKILL.md
name: retrieve
description: Fetch known facts or data from specified sources with citations and evidence pointers. Use when you know what you need and where to find it. Emphasizes provenance and verifiable references.
argument-hint: "[target] [source] [format]"
disable-model-invocation: false
user-invocable: true
allowed-tools: Read, Web
context: fork
agent: explore
Intent
Execute retrieve to fetch specific, known information from specified sources. Unlike search (which explores under uncertainty), retrieve fetches identified items with full provenance tracking.
Success criteria:
- Requested data is fetched completely
- Source and timestamp are recorded
- Data integrity is verified where possible
- Citations enable re-retrieval
- Missing data is explicitly flagged
World Modeling Context:
Retrieve feeds into all world modeling layers by providing grounded observations for world-state, timestamps for temporal-reasoning, and evidence for grounding.
Inputs
| Parameter | Required | Type | Description |
|---|---|---|---|
target |
Yes | string|object | What to retrieve (path, URL, query, or identifier) |
source |
No | string | Where to retrieve from (file, api, database); default: infer |
format |
No | string | Expected format (json, text, binary); default: auto-detect |
constraints |
No | object | Filters, projections, version specifications |
Procedure
1) Identify target: Determine exactly what to fetch
- File path: Exact file location
- URL: Web resource address
- API endpoint: Service + parameters
- Record: Database/system identifier
2) Verify source accessibility: Confirm retrieval is possible
- Check permissions
- Verify network access if remote
- Confirm source exists
3) Execute retrieval: Fetch the data
- For files: Read with line numbers preserved
- For URLs: Fetch with timeout and retry
- For APIs: Call with appropriate auth
- Record exact timestamp of retrieval
4) Validate retrieved data: Check completeness and integrity
- Verify format matches expected
- Check for truncation or corruption
- Validate against schema if available
- Compute hash for integrity tracking
5) Extract relevant portions: If constraints specified
- Apply filters to reduce data
- Project specific fields
- Slice by line numbers or sections
6) Construct citation: Build verifiable reference
- Full path/URL
- Timestamp of retrieval
- Version/revision if available
- Hash for integrity verification
7) Document provenance: Record retrieval metadata
- Source authority
- Freshness (how current)
- Reliability (historical accuracy)
8) Handle failures: If retrieval fails
- Record failure reason
- Suggest alternatives if available
- Note partial success if applicable
Output Contract
Return a structured object:
retrieved:
target: string # What was requested
source: string # Where it came from
timestamp: string # ISO 8601 retrieval time
data: object | string | array # The retrieved content
format: string # Data format (json, text, etc.)
complete: boolean # Was full content retrieved?
citation:
reference: string # Full citation for re-retrieval
version: string | null # Version/revision if applicable
hash: string | null # Content hash for integrity
authority: low | medium | high
provenance:
source_type: string # file, api, database, web
last_modified: string | null # When source was last changed
freshness: fresh | stale | unknown # How current is this data
reliability: string # Assessment of source reliability
extraction:
applied_filters: object | null
original_size: integer | null
returned_size: integer | null
truncated: boolean
confidence: number # 0.0-1.0
evidence_anchors: array[string]
assumptions: array[string]
Field Definitions
| Field | Type | Description |
|---|---|---|
retrieved.data |
any | The fetched content |
citation |
object | Verifiable reference to re-fetch |
provenance |
object | Source reliability and freshness |
extraction |
object | Filtering/processing applied |
Examples
Example 1: Retrieve Configuration File
Input:
target: "config/database.yml"
source: file
Output:
retrieved:
target: "config/database.yml"
source: "file:config/database.yml"
timestamp: "2025-01-24T15:30:00Z"
data:
development:
adapter: postgresql
host: localhost
database: myapp_dev
production:
adapter: postgresql
host: "${DATABASE_HOST}"
database: myapp_prod
pool: 25
format: yaml
complete: true
citation:
reference: "config/database.yml:1-15"
version: "git:abc123"
hash: "sha256:def456..."
authority: high
provenance:
source_type: file
last_modified: "2025-01-20T10:00:00Z"
freshness: fresh
reliability: "Version controlled, reviewed configuration"
extraction:
applied_filters: null
original_size: 450
returned_size: 450
truncated: false
confidence: 1.0
evidence_anchors:
- "config/database.yml:1-15"
assumptions:
- "File contents reflect deployed configuration"
Evidence pattern: Read file directly, computed hash, tracked git version.
Example 2: Retrieve API Documentation
Input:
target: "https://api.example.com/docs/v2/endpoints"
source: web
format: json
Output:
retrieved:
target: "https://api.example.com/docs/v2/endpoints"
source: "web:api.example.com"
timestamp: "2025-01-24T15:35:00Z"
data:
version: "2.0.0"
endpoints:
- path: "/users"
methods: ["GET", "POST"]
auth_required: true
- path: "/users/{id}"
methods: ["GET", "PUT", "DELETE"]
auth_required: true
format: json
complete: true
citation:
reference: "https://api.example.com/docs/v2/endpoints"
version: "v2.0.0"
hash: "sha256:789abc..."
authority: high
provenance:
source_type: web
last_modified: "2025-01-15T00:00:00Z"
freshness: fresh
reliability: "Official API documentation"
extraction:
applied_filters: null
original_size: 2500
returned_size: 2500
truncated: false
confidence: 0.95
evidence_anchors:
- "url:https://api.example.com/docs/v2/endpoints"
assumptions:
- "API documentation reflects actual API behavior"
Example 3: Retrieve with Filtering
Input:
target: "src/models/user.ts"
source: file
constraints:
lines: "1-50"
sections: ["interface", "class"]
Output:
retrieved:
target: "src/models/user.ts"
source: "file:src/models/user.ts"
timestamp: "2025-01-24T15:40:00Z"
data: |
interface UserAttributes {
id: string;
email: string;
name: string;
createdAt: Date;
}
class User implements UserAttributes {
id: string;
email: string;
name: string;
createdAt: Date;
constructor(attrs: UserAttributes) {
Object.assign(this, attrs);
}
}
format: text
complete: false
citation:
reference: "src/models/user.ts:1-50"
version: "git:abc123"
hash: null
authority: high
provenance:
source_type: file
last_modified: "2025-01-22T09:00:00Z"
freshness: fresh
reliability: "Source code"
extraction:
applied_filters:
lines: "1-50"
sections: ["interface", "class"]
original_size: 5000
returned_size: 500
truncated: true
confidence: 0.95
evidence_anchors:
- "src/models/user.ts:1-20"
- "src/models/user.ts:22-35"
assumptions:
- "Extracted sections are complete within specified lines"
Verification
- [ ] Retrieved data matches expected format
- [ ] Citation enables exact re-retrieval
- [ ] Hash validates data integrity (when available)
- [ ] Truncation is explicitly flagged
- [ ] Timestamp is accurate
Verification tools: Hash verification, re-retrieval test
Safety Constraints
mutation: falserequires_checkpoint: falserequires_approval: falserisk: low
Capability-specific rules:
- Do not retrieve from paths marked as sensitive
- Respect rate limits on remote sources
- Flag stale data (>24h old for volatile sources)
- Never fabricate retrieved content
Composition Patterns
Commonly follows:
- search - After finding, retrieve full content
- inspect - Retrieve specific files discovered during inspection
Commonly precedes:
- world-state - Retrieved data becomes observations
- grounding - Retrieved content provides evidence
- provenance - Retrieval is a step in provenance chain
- integrate - Retrieved data feeds integration
Anti-patterns:
- Avoid retrieving without tracking provenance
- Never assume retrieval succeeded without checking complete
Workflow references:
- See composition_patterns.md#world-model-build for retrieval in model construction
- See composition_patterns.md#digital-twin-sync-loop for ongoing data retrieval
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.