.agent/skills/rag-retrieval-patterns/SKILL.md
Retrieval-augmented generation patterns — chunking, embedding, vector search, and reranking. Use when Julia needs to search through documents, research papers, logs, or knowledge bases.
npx skillsauth add abzhaw/juliaz_agents rag-retrieval-patternsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Documents → Chunk → Embed → Store → Query → Retrieve → Augment Prompt → LLM
// Fixed-size chunks with overlap (simple & effective)
function chunkText(text: string, size = 512, overlap = 50): string[] {
const chunks: string[] = [];
for (let i = 0; i < text.length; i += size - overlap) {
chunks.push(text.slice(i, i + size));
}
return chunks;
}
// Sentence-based chunking (better for prose/thesis)
const chunks = text.split(/[.!?]+\s/).filter(s => s.length > 50);
const response = await openai.embeddings.create({
model: 'text-embedding-3-small',
input: chunks,
});
const vectors = response.data.map(d => d.embedding);
function cosineSimilarity(a: number[], b: number[]): number {
const dot = a.reduce((sum, v, i) => sum + v * b[i], 0);
const magA = Math.sqrt(a.reduce((s, v) => s + v * v, 0));
const magB = Math.sqrt(b.reduce((s, v) => s + v * v, 0));
return dot / (magA * magB);
}
function search(query: number[], store: {text: string, vec: number[]}[], k = 5) {
return store
.map(item => ({ ...item, score: cosineSimilarity(query, item.vec) }))
.sort((a, b) => b.score - a.score)
.slice(0, k);
}
const results = await search(queryEmbedding, knowledgeBase, 5);
const context = results.map(r => r.text).join('\n\n---\n\n');
const prompt = `Answer based on this context:\n\n${context}\n\nQuestion: ${question}`;
thesis/research_papers/development
Fortschrittsverfolgung der Masterarbeit. Wortanzahl pro Kapitel, Fertigstellungsgrad, fehlende Elemente, Deadlines. Haelt den Ueberblick.
development
Kapitelarchitektur und Gliederung der Masterarbeit. Verwaltet die Struktur, schlaegt vor wo Inhalte hingehoeren, validiert den logischen Fluss zwischen Kapiteln.
tools
Konvertiert Protokolleinträge und Session-Logs in thesis-fähiges deutsches Narrativ. Transformiert Entwicklungsdokumentation in akademische Prosa.
research
Sucht und analysiert akademische Literatur. Findet relevante Papers, erstellt strukturierte Zusammenfassungen. Zitiert NIEMALS — schlaegt nur vor.