multi
Goal: Build an LLM-based RAG App
Here is the MVP Implementation Plan.
5 stars
Installation
Claude Code / Cursor / Codex
$curl -o ~/.claude/skills/mvp/SKILL.md --create-dirs "https://raw.githubusercontent.com/Harmeet10000/skills/main/skills/product-management/mvp/SKILL.md"
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/mvp/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How Goal: Build an LLM-based RAG App Compares
| Feature / Agent | Goal: Build an LLM-based RAG App | Standard Approach |
|---|---|---|
| Platform Support | multi | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Here is the MVP Implementation Plan.
Which AI agents support this skill?
This skill is compatible with multi.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
Goal: Build an LLM-based RAG App
Here is the MVP Implementation Plan.
MVP Scope
A "second brain" application that leverages Retrieval Augmented Generation (RAG) to integrate external knowledge and data with LLM capabilities. This MVP will allow users to upload their files as a knowledge base and perform natural language queries against that data using LM Studio.
Technical Stack
Frontend: Streamlit
Backend: FastAPI
LLM Integration: LM Studio
Core Features
1. File Upload
Users can upload documents (PDFs, text files, etc.) into the system.
Extract key information from the uploaded files and store them in a vector database or simple on-disk index.
2. Basic Search
Natural language search, powered by LM Studio.
In-context learning approach with few-shot learning to enhance responses.
RAG flow:
Retrieve relevant segments from the knowledge base.
Combine retrieved segments with user query.
Generate a context-enriched answer.
Data Structure
Document Schema
class Document:
id: str # Unique identifier
title: str # File title or name
content: str # Extracted text
metadata: dict # Any additional metadata (e.g., upload date, tags)
Index/Vector Embeddings
Depending on the chosen approach (vector DB vs. local embeddings):
Vector Database: Each Document (or chunk of a document) will have an embedding vector.
Local Index: Store embeddings in a local file or simple database.
Implementation Plan
1. Backend Setup with FastAPI
File Upload Endpoint
Accept file uploads (PDF, TXT, etc.).
Extract and preprocess text (OCR if necessary).
Split text into chunks for indexing.
Generate embeddings via LM Studio or a compatible embedding model.
Store the embeddings and metadata in a vector store local index.
Search Endpoint
Accept natural language queries.
Use embeddings to find the most relevant chunks from the knowledge base.
Construct context from these chunks.
Send context + query to LM Studio for final RAG-based answer.
Data Storage
For MVP, consider a simple JSON or SQLite-based storage for metadata and a local or cloud-based vector index.
Add basic error handling (invalid file format, missing data, etc.).
CORS Setup
Configure CORS in FastAPI to allow calls from the Streamlit frontend.
2. Frontend Development (Streamlit)
File Upload Interface
Simple file upload widget.
On submission, call the FastAPI file upload endpoint.
Provide feedback on success/failure.
Search Interface
Text input for queries.
On submission, call the FastAPI search endpoint.
Display the AI-generated response and (optionally) the top retrieved chunks.
UX & Basic Layout
Show a list of previously uploaded files (titles, metadata, etc.).
Simple and intuitive design with minimal clutter.
Provide error messages or success confirmations.
Error Handling & User Feedback
Show relevant messages for file upload errors, incomplete data, etc.
Display a loading indicator while the system is querying or processing.
API Endpoints
POST /api/files/upload
Description: Upload and store documents.
Payload: File(s) + optional metadata.
Response: Success message with document ID(s).
GET /api/files
Description: List all uploaded documents.
Response: A JSON array of documents with basic metadata.
GET /api/files/{id}
Description: Fetch the details of a specific document by ID.
Response: Document details (title, content if needed, metadata).
POST /api/search
Description: Search the knowledge base with a natural language query.
Payload: { "query": "Your question here" }
Response: RAG-based answer and possibly the top chunks or references.
Future Enhancements (Beyond MVP)
Authentication & Authorization for secure file sharing.
Advanced File Parsing (OCR for scanned PDFs, docx parsing).
Versioning & Revision History for uploaded documents.
UI Improvements such as advanced filtering, summarization, or highlight features.