agentleFS
PracticalSwanPracticalSwan/agent-skills/rag-blueprint/SKILL.md

rag-blueprint

Skill22 starsChanged 27 days agoMITView on GitHub

NVIDIA RAG Blueprint deployment, configuration, troubleshooting, and shutdown guidance for Docker, Helm, and library-based RAG stacks.

  • Reads credentials

2 other projects use a version of this, 2 of them edited.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

19 rules. About 0 are common, 16 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈16

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill for NVIDIA RAG Blueprint operations: deployment, configuration, troubleshooting, shutdown, and feature management across …

    line 14
  2. Distinctive:

    Read the referenced playbook before making changes.

    line 21
  3. Distinctive:

    Use repository docs and deployment config files as the source of truth.

    line 22
  4. Distinctive:

    Verify the affected service or workflow after changes.

    line 23
  5. Distinctive:

    If it can be checked with a command, check it — don't ask the user.

    line 35
  6. Distinctive:

    Ask only when user action is required: providing an API key, confirming data deletion, or choosing between equally valid options.

    line 36
  7. Distinctive:

    If the intent is ambiguous, infer from context (e.g., "RAG isn't working" → troubleshoot.

    line 50
  8. Distinctive:

    Use this table to determine platform, deployment type, and where config lives:

    line 90
  9. Distinctive:

    Check current feature state before changing anything — read the config location from step 3, then cross-check the live service:

    line 103
  10. Distinctive:

    If the config file and live service disagree, tell the user the service has stale config and will need a restart.

    line 107
  11. Distinctive:

    If the feature needs extra GPUs, check availability against hardware restrictions (see below):

    line 109
  12. Distinctive:

    Read the reference file and apply changes:

    line 114
  13. Very specific:

    If restart fails, read references/troubleshoot.md.

    line 135
  14. Distinctive:

    Run steps 2–3 above, then read the identified config file to list what's currently enabled:

    line 160
  15. Very specific:

    Read docs/support-matrix.md for current GPU requirements per deployment mode.

    line 170
  16. Very specific:

    Read docs/service-port-gpu-reference.md for port mappings and GPU assignments.

    line 171
  17. Distinctive:

    Do not claim an MCP operation was used when the active host does not expose it.

    line 198
  18. Distinctive:

    Treat local files, tests, rendered outputs, logs, or screenshots as the fallback evidence path.

    line 199
  19. Distinctive:

    Before claiming "skill applied successfully":

    line 211

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

NVIDIA RAG Blueprint

Purpose

Use this skill for NVIDIA RAG Blueprint operations: deployment, configuration, troubleshooting, shutdown, and feature management across Docker, Helm, and library deployments.

Instructions

  1. Match the user request to the intent routing table below.
  2. Read the referenced playbook before making changes.
  3. Use repository docs and deployment config files as the source of truth.
  4. Verify the affected service or workflow after changes.

Prerequisites

  • NVIDIA RAG Blueprint repository checkout.
  • Docker/Compose or Kubernetes/Helm for deployments.
  • Python 3.11+ for library workflows.
  • NVIDIA GPU tooling for self-hosted NIM services.

Autonomy Principles

  • Auto-detect everything: GPU, VRAM, drivers, Docker, CUDA, disk, OS, ports, existing services, NGC key, repo state.
  • If it can be checked with a command, check it — don't ask the user.
  • Ask only when user action is required: providing an API key, confirming data deletion, or choosing between equally valid options.
  • Once analysis is done, route to the correct workflow and execute.

Intent Detection

Determine what the user wants and route immediately:

User IntentAction
Deploy, install, set up, start RAGRead and follow references/deploy.md
Configure, enable, change, toggle a featureUse the Configure section below
Troubleshoot, debug, fix, error, unhealthyRead and follow references/troubleshoot.md
Stop, shutdown, tear down, clean upRead and follow references/shutdown.md

If the intent is ambiguous, infer from context (e.g., "RAG isn't working" → troubleshoot; "get RAG running" → deploy). Only ask if genuinely unclear.


Configure

Requires a running RAG deployment. If services are not running, deploy first via references/deploy.md.

Match the user's request to a reference file, then read and follow it:

Feature KeywordsReference
VLM, VLM embeddings, image captioningreferences/configure/vlm.md
NeMo Guardrailsreferences/configure/guardrails.md
Agentic RAG, planning/execution agent, agentic streaming, stage eventsreferences/configure/agentic-rag.md
Query rewriting, decomposition, multi-turnreferences/configure/query-and-conversation.md
Ingestion (text-only, audio, Nemotron Parse, OCR, batch CLI, NV-Ingest, volume mount, performance)references/configure/ingestion.md
Search, retrieval, hybrid search, multi-collection, metadata, filters, Elasticsearch filters, reranker, topK, accuracy/performancereferences/configure/search-and-retrieval.md
LLM/embedding/ranking model changes, vector DB, Milvus/Elasticsearch auth, service keys, model profiles, ports/GPUreferences/configure/models-and-infrastructure.md
Reasoning, thinking mode, reasoning_content, self-reflection, prompts, generation params (tokens, temperature, citations), per-request LLM paramsreferences/configure/reasoning-and-generation.md
Summarizationreferences/configure/summarization.md
Observability (tracing, Zipkin, Grafana, Prometheus)references/configure/observability.md
Multimodal query (image + text)references/configure/multimodal-query.md
Data catalog (collection/document metadata)references/configure/data-catalog.md
User interface (UI settings, reasoning panel, metadata filters)references/configure/user-interface.md
API reference (endpoints, schemas)references/configure/api-reference.md
Evaluation (RAGAS metrics)references/configure/evaluation.md (and skill rag-eval)
MCP server & client, agent toolkitreferences/configure/mcp.md
Migration (version upgrades)references/configure/migration.md
Notebooks (setup and catalog)references/configure/notebooks.md

Configure Flow

  1. Match the user's request to a reference file from the table above.
  2. Detect what's running:
    echo "=== NIM ===" && docker ps --format '{{.Names}}' 2>/dev/null | grep -iE '(nim-llm|nemotron-(vlm-)?embedding|nemotron-ranking|nemotron-vlm|nemotron-3-nano-omni|page-elements|graphic-elements|table-structure|nemotron-ocr)' || echo "NO_LOCAL_NIMS"; echo "=== RAG ===" && docker ps --format '{{.Names}}' 2>/dev/null | grep -iE '(rag-server|ingestor-server|elasticsearch|milvus|seaweedfs|lancedb)' || echo "NO_DOCKER_RAG"; echo "=== K8S ===" && kubectl get pods -n rag 2>/dev/null | head -5 || echo "NO_K8S"; echo "=== LIBRARY ===" && ps aux 2>/dev/null | grep -E '(nvidia_rag|uvicorn.*rag)' | grep -v grep || echo "NO_LIBRARY"
  3. Use this table to determine platform, deployment type, and where config lives:

    Local NIMs running?RAG services running?Deployment TypeConfig Location
    Yes (Docker)AnySelf-hosteddeploy/compose/.env
    NoYes (Docker)NVIDIA-hosteddeploy/compose/nvdev.env
    Yes (K8s pods)AnySelf-hostedvalues.yaml (NIM sections)
    NoYes (K8s pods)NVIDIA-hostedvalues.yaml (envVars)
    —Library processesLibrary modenotebooks/config.yaml
    NoNoNot runningDeploy first via references/deploy.md

    Tell the user what you detected and ask to confirm. Example: "I see local NIM containers running (nim-llm-ms, nemotron-vlm-embedding-ms) — this is a self-hosted deployment. Config file is deploy/compose/.env. Correct?"

  4. Check current feature state before changing anything — read the config location from step 3, then cross-check the live service:

    • Docker: docker exec rag-server env 2>/dev/null | grep -E "<VAR_NAME>"
    • Helm: kubectl get pod -n rag -l app=rag-server -o jsonpath='{.items[0].spec.containers[0].env}' 2>/dev/null

    If the config file and live service disagree, tell the user the service has stale config and will need a restart.

  5. If the feature needs extra GPUs, check availability against hardware restrictions (see below):
    nvidia-smi --query-gpu=index,name,memory.total,memory.used --format=csv,noheader 2>/dev/null || echo "NO_GPU"
  6. Read the reference file and apply changes:
    • Docker: edit the env file (uncomment to enable, re-comment to disable — the env file is the source of truth). Then restart the affected service:
      source <env-file> && docker compose -f deploy/compose/<compose-file> up -d
      ServiceCompose File
      rag-serverdocker-compose-rag-server.yaml
      ingestor-serverdocker-compose-ingestor-server.yaml
      Elasticsearch, Milvus, etcd, SeaweedFSvectordb.yaml
      NIM containers (LLM, embedding, ranking, VLM, OCR, parse, audio, extraction)nims.yaml
      guardrailsdocker-compose-nemo-guardrails.yaml
      observability (Grafana, Prometheus, Zipkin)observability.yaml
    • Helm: edit values.yaml, then upgrade: helm upgrade rag <chart> -n rag -f values.yaml
    • Library: edit notebooks/config.yaml, then restart the Python process
  7. Verify:
    • Docker: docker ps --format "table {{.Names}}\t{{.Status}}" | head -20; curl -s http://localhost:8081/v1/health?check_dependencies=true 2>/dev/null | head -1
    • Helm: kubectl get pods -n rag; kubectl rollout status deployment/rag-server -n rag --timeout=120s
    • Library: curl -s http://localhost:8081/v1/health 2>/dev/null | head -1
  8. If restart fails, read references/troubleshoot.md. If multiple features requested, repeat from step 1 for each.

Examples

  • "Deploy RAG" -> route to references/deploy.md.
  • "Enable VLM" -> route to references/configure/vlm.md.
  • "RAG is unhealthy" -> route to references/troubleshoot.md.
  • "Stop RAG" -> route to references/shutdown.md.

Limitations

  • Operational guidance only applies to this RAG Blueprint repository.
  • Live deployment changes require a running Docker, Helm, or library target.
  • Secrets such as NGC_API_KEY must be supplied by the user environment.

Troubleshooting

Error / signalWhat to do
Services are not runningFollow references/deploy.md before configuring features.
Restart or health check failsFollow references/troubleshoot.md.
User requests teardownFollow references/shutdown.md and confirm destructive cleanup.

When User Says "Configure" Without Specifics

Run steps 2–3 above, then read the identified config file to list what's currently enabled:

grep -E "^(export )?(ENABLE_|APP_)" <config-file> 2>/dev/null | sort

Summarize what's running and enabled, then ask which feature to change.


Hardware Restrictions

Read docs/support-matrix.md for current GPU requirements per deployment mode. Read docs/service-port-gpu-reference.md for port mappings and GPU assignments.

GPUFeature Restrictions
B200No VLM, No Guardrails, No Nemotron Parse. May need multi-GPU LLM (LLM_MS_GPU_ID).
RTX PRO 6000No Nemotron Parse. No Audio on Helm.
<!-- MCP:START --><!-- PORTABILITY:START -->

Cross-Client Portability

This skill is written to stay usable across GitHub Copilot, Claude Code, and Codex.

  • GitHub Copilot: keep the folder in a Copilot-visible skill path or wrap the workflow in project instructions when folder discovery is unavailable.
  • Claude Code: keep the folder in a local skills directory or a compatible plugin source.
  • Codex: install or sync the folder into $CODEX_HOME/skills/rag-blueprint and restart Codex after major changes.
<!-- PORTABILITY:END -->

MCP Availability And Fallback

Preferred MCP Server: None required

  • Fallback prompt: "Use the NVIDIA RAG Blueprint skill without MCP. Rely on its local instructions, bundled resources, standard shell or editor tools, and direct verification. Show the evidence used before concluding."
  • Do not claim an MCP operation was used when the active host does not expose it.
  • Treat local files, tests, rendered outputs, logs, or screenshots as the fallback evidence path.
<!-- MCP:END -->

Anti-Patterns

  • Changing deployment knobs before identifying the active deployment mode: Compose, Helm, and library paths are not interchangeable.
  • Treating retrieval, model, and infrastructure faults as the same class of problem: It wastes time and can hide the real failing layer.
  • Stopping or tearing down services without checking persistence impact: Cleanup can destroy the exact evidence needed for recovery.

Verification Protocol

Before claiming "skill applied successfully":

  1. Pass/fail: The workflow identifies the active deployment path and uses the matching upstream playbook before proposing changes.
  2. Pass/fail: Any configuration change is tied to the exact file, chart value, or environment variable that owns the behavior.
  3. Pass/fail: Health checks, logs, or a real retrieval request are used before claiming the stack is healthy again.
  4. Pressure-test scenario: Apply the workflow to a half-running deployment where ingestion works but retrieval answers are empty.
  5. Success metric: The requested RAG feature or service state is reproducible, observable, and verified with a live check path.

Related Skills

  • cloud-design-patterns: Use it when the RAG deployment decision also needs broader distributed-system tradeoff analysis.
  • devops-tooling: Use it when the work also needs repo, CI, or infrastructure automation steps.
  • notebooklm-management: Use it when the user also needs retrieval-oriented research workflows outside the deployment stack.

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.