Agent skill

ms-agent-framework-rag

Comprehensive guide for building Agentic RAG systems using Microsoft Agent Framework in C#. Use when creating RAG applications with semantic search, document indexing, and intelligent agent orchestration. Includes scaffolding scripts, reference implementations, and documentation for vector databases, embedding models, and multi-agent workflows.

Stars 322
Forks 39

Install this agent skill to your Project

npx add-skill https://github.com/shuyu-labs/WebCode/tree/main/skills/codex/ms-agent-framework-rag

SKILL.md

Microsoft Agent Framework - Agentic RAG System

This skill provides scaffolding and guidance for building production-ready Agentic RAG (Retrieval-Augmented Generation) systems using Microsoft Agent Framework with C#.

Quick Start

Use the scaffolding script to create a new RAG system:

bash
scripts/create_rag_system.sh <project-name> [--output-dir <path>]

Example:

bash
scripts/create_rag_system.sh MyKnowledgeBase --output-dir ./my-rag-project

Architecture Overview

An Agentic RAG system consists of:

  1. Ingestion Layer: Document parsing, chunking, and embedding generation
  2. Vector Store: Semantic search index (Azure AI Search, Qdrant, or Pinecone)
  3. Agent Framework: Multi-agent orchestration with Microsoft AutoGen
  4. LLM Integration: Azure OpenAI or OpenAI API for generation
  5. API Layer: RESTful endpoints for querying

Core Components

1. Semantic Search

  • Use Azure AI Search for integrated vector + keyword search
  • Store embeddings with metadata (source, timestamp, tags)
  • Implement hybrid search (vector + BM25) for best results

See references/semantic_search.md for implementation details.

2. Multi-Agent System

Build specialized agents:

  • Research Agent: Finds relevant documents
  • Synthesis Agent: Combines information from multiple sources
  • Validation Agent: Checks accuracy and citations

See references/agent_patterns.md for agent design patterns.

3. Document Processing

  • Supported formats: PDF, DOCX, TXT, MD, HTML
  • Chunking strategies: semantic, sliding window, hierarchical
  • Metadata extraction: title, author, date, tags

See references/document_processing.md for chunking strategies.

Available Scripts

create_rag_system.sh

Scaffolds a complete RAG system with:

  • Project structure following best practices
  • Configuration files (appsettings.json)
  • Docker compose for local development
  • Example agents and tools

Usage:

bash
scripts/create_rag_system.sh <project-name> [--output-dir <path>]

ingest_documents.sh

Batch document ingestion:

bash
scripts/ingest_documents.sh <source-dir> <index-name>

run_local.sh

Start the RAG system locally:

bash
scripts/run_local.sh <project-dir>

Configuration

Required environment variables:

bash
AZURE_OPENAI_ENDPOINT=<your-endpoint>
AZURE_OPENAI_API_KEY=<your-key>
AZURE_SEARCH_ENDPOINT=<your-search-endpoint>
AZURE_SEARCH_KEY=<your-search-key>
EMBEDDING_MODEL=text-embedding-ada-002
CHAT_MODEL=gpt-4

Reference Documentation

  • references/semantic_search.md - Vector search implementation
  • references/agent_patterns.md - Multi-agent design patterns
  • references/document_processing.md - Chunking and preprocessing
  • references/evaluation.md - RAG quality metrics

Best Practices

  1. Start Simple: Begin with basic RAG, add agents incrementally
  2. Metadata Matters: Rich metadata improves retrieval accuracy
  3. Hybrid Search: Combine vector and keyword search
  4. Citation Tracking: Always include source references
  5. Evaluation: Use RAGAS framework for quality metrics

Common Patterns

Multi-Step Retrieval

For complex queries, use iterative refinement:

  1. Initial search with broad query
  2. Research agent expands with sub-queries
  3. Synthesis agent combines results
  4. Validation agent checks citations

Citation Management

Always track:

  • Document ID
  • Page number
  • Chunk index
  • Relevance score

See references/citations.md for implementation.

Troubleshooting

Poor Retrieval Quality

  • Adjust chunk size (try 512-1024 tokens)
  • Use hybrid search instead of pure vector
  • Add more metadata for filtering
  • Consider re-embedding with different model

Slow Performance

  • Enable caching on vector queries
  • Use streaming responses
  • Implement async document ingestion
  • Consider partitioning large indices

High Costs

  • Use smaller models for embeddings
  • Cache frequently asked questions
  • Implement result pagination
  • Use batch processing for ingestion

Expand your agent's capabilities with these related and highly-rated skills.

shuyu-labs/WebCode

doc-coauthoring

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.

322 39
Explore
shuyu-labs/WebCode

internal-comms

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

322 39
Explore
shuyu-labs/WebCode

mcp-builder

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

322 39
Explore
shuyu-labs/WebCode

canvas-design

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

322 39
Explore
shuyu-labs/WebCode

web-artifacts-builder

Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.

322 39
Explore
shuyu-labs/WebCode

pdf

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.

322 39
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results