Enrich
Published by sharpdeveye in maestro
What this skill does
Use when the agent needs access to information beyond its training data — knowledge sources, RAG pipelines, or grounding data.
Add Enrich to your agent
Review the source and files first. When you are ready, copy the prompt instruction or use the CLI command supported by your environment.
Install with a prompt
Paste this into a compatible coding agent:
add this skill "enrich" from https://github.com/sharpdeveye/maestroInstall with the CLI
Run this command in a controlled environment after reviewing the repository:
npx skills add https://github.com/sharpdeveye/maestro --skill enrichSkill instructions
MANDATORY PREPARATION
Invoke /agent-workflow — it contains workflow principles, anti-patterns, and the Context Gathering Protocol. Follow the protocol before proceeding — if no workflow context exists yet, you MUST run /teach-maestro first. Consult the knowledge-systems reference in the agent-workflow skill for RAG architecture, chunking strategies, and retrieval patterns.
Add knowledge sources to ground the workflow in facts. Without grounding, agents hallucinate. With grounding, they cite sources.
Knowledge Source Assessment
Identify what knowledge the workflow needs:
| Knowledge Type | Source | Update Frequency | Access Pattern |
|---|---|---|---|
| Domain docs | Internal docs, specs | Monthly | Semantic search |
| Code context | Codebase | Real-time | Code search |
| User data | Database, CRM | Real-time | Structured query |
| External data | APIs, web | Real-time | API call |
| Historical | Logs, past interactions | Daily | Time-range query |
Add RAG Pipeline
For document-based knowledge (consult the knowledge-systems reference in the agent-workflow skill):
- Select documents: Identify the authoritative source documents
- Chunk strategy: Choose chunking based on document type (semantic > token-based)
- Embed: Use appropriate embedding model for the domain
- Index: Store in vector database with metadata
- Retrieve: Implement hybrid search (semantic + keyword)
- Inject: Add retrieved context to the prompt with source attribution
Add Structured Data
For database-backed knowledge:
- Define the query interface: Natural language → structured query
- Add guardrails: Read-only access, query complexity limits
- Format results: Transform raw data into context the model can use
- Attribute: Include data source and freshness in the context
Add Real-Time Data
For live information:
- Identify APIs: What external services provide the needed data
- Cache strategy: How often does the data change? Cache accordingly
- Fallback: What happens when the API is down?
- Attribution: Include data timestamp and source
Enrichment Checklist
- Every knowledge source has attribution (source, date, confidence)
- Retrieval quality tested independently of generation quality
- Chunk sizes tested and optimized for the document types
- Fallbacks exist for all external knowledge sources
- Knowledge base has a refresh/update strategy
- PII is handled appropriately in knowledge sources
Recommended Next Step
After enrichment, run /evaluate to test retrieval quality, or /iterate to set up continuous monitoring of knowledge freshness.
NEVER:
- Index everything without curation (garbage in = garbage out)
- Skip source attribution (hallucination without attribution is undetectable)
- Build RAG without testing retrieval quality first
- Use fixed chunk sizes for all document types
- Assume embedding similarity equals relevance
Files included
- SKILL.md

