Skip to content

Instantly share code, notes, and snippets.

RAG Agent Implementation Plan

Architecture Overview

The RAG Agent will follow the existing modular patterns in the codebase, providing both a dedicated agent routable via the supervisor and standalone tools that any agent can use.

graph TB
    subgraph rag_components [RAG Components]
 RAGAgent[RAGAgent]

Office Hours: Building a PPM Image Drawing Agent

Objective: Add a custom AI agent that can create PPM images using natural language instructions.

This guide walks through adding a new Image Artist agent to the modular agent supervisor system. The agent will understand human-readable prompts like:

"Draw a PPM image of size 200 by 200, add a square at coordinate 10,10 with a size of 20 pixels in red color, then add 10 circles of varying sizes and colors randomly around the image, and write the file as image.ppm"


#!/bin/bash
if [ "$#" -ne 3 ]; then
echo "Usage: $0 <ORG_NAME> <GITHUB_TOKEN> <MEMBERS_FILE>"
exit 1
fi
ORG_NAME="$1"
GITHUB_TOKEN="$2"
MEMBERS_FILE="$3"

Neo4j Primer: Basics for Complete Beginners

This primer serves as an absolute beginner's introduction to Neo4j, assuming no prior knowledge of databases, graphs, or programming beyond basic computer literacy. It breaks down the foundational concepts into digestible steps, explaining "why" before "how," and using simple analogies. The focus is on pure Neo4j groundwork, with practical, code-driven examples using Python and Cypher. No advanced topics like RAG (Retrieval-Augmented Generation) are covered here—this is just the essentials to get you started.

Structure: One sprint with 4 modules for quick pacing (1-2 hours total). Code uses Python (basic level) and Cypher. If you don't have Python installed, download it from https://www.python.org/downloads/ and follow the installation instructions for your operating system.

Sprint 0: Core Neo4j Concepts and First Steps

Estimated time: 30-45 minutes per module.

Module 1: What is Neo4j and Why Graphs?

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Simple Calculator</title>
<style>
body {
font-family: Arial, sans-serif;
max-width: 400px;

Epic 4: Modular Code Structure Task List

This task list breaks down Epic 4 for ReplyNow into sequential, actionable steps. Each task includes dependencies (if any), estimated effort (low/medium/high based on complexity in vanilla HTML/CSS/JS), and success criteria. Tasks are grouped by feature for clarity but can be tackled in order. Assume the project setup from Epics 1-3 (e.g., index.html, styles.css, separate JS files like input.js, replyGenerator.js, output.js, and a main.js) is in place. This epic focuses on enforcing modularity and SOLID principles without adding new features—refactor if needed. Use Git for version control—commit after each major task.

Feature 4.1: Module Separation

  1. Create separate JS files for each module
    • Description: Organize code into distinct files for InputModule, ReplyGenerator, OutputModule.
  • Details: If not already done, create input.js, replyGenerator.js, output.js. Move existing code from prior epics into these (e.g., event listeners to input.js,

Epic 3: UX and Responsiveness Task List

This task list breaks down Epic 3 for ReplyNow into sequential, actionable steps. Each task includes dependencies (if any), estimated effort (low/medium/high based on complexity in vanilla HTML/CSS/JS), and success criteria. Tasks are grouped by feature for clarity but can be tackled in order. Assume the project setup from Epics 1 and 2 (e.g., index.html with form and output, styles.css with basic styles, JS modules) is in place. Use Git for version control—commit after each major task.

Feature 3.1: Mobile-First Layout

  1. Add viewport meta tag to HTML
    • Description: Insert a meta tag in the of index.html to ensure proper mobile scaling.
    • Details: . This prevents zooming issues on mobile devices.
    • Dependencies: None (basic HTML setup from prior epics).
  • Effort: Low.

Epic 2: Output and Interaction Task List

This task list breaks down Epic 2 for ReplyNow into sequential, actionable steps. Each task includes dependencies (if any), estimated effort (low/medium/high based on complexity in vanilla HTML/CSS/JS), and success criteria. Tasks are grouped by feature for clarity but can be tackled in order. Assume the project setup from Epic 1 (e.g., index.html with form, styles.css, app.js with module files like output.js) is in place. Use Git for version control—commit after each major task.

Feature 2.1: Display Generated Reply

  1. Create the HTML read-only textarea for output
    • Description: Add a <textarea> element to index.html for displaying the generated reply.
    • Details: ID="reply-output", rows=5, cols=50, disabled="disabled", placeholder="Your reply will appear here...". Place it in a new section below the form (e.g.,
      ). Initially hide it with CSS (display: none;) until a reply is generated.
  • Dependencies: Epic 1 c

Epic 1: Core Input and Generation Flow Task List

This task list breaks down Epic 1 for ReplyNow into sequential, actionable steps. Each task includes dependencies (if any), estimated effort (low/medium/high based on complexity in vanilla HTML/CSS/JS), and success criteria. Tasks are grouped by feature for clarity but can be tackled in order. Assume a basic project setup (e.g., index.html, styles.css, app.js with module files) is already in place. Use Git for version control—commit after each major task.

Feature 1.1: Email Input Handling

  1. Create the HTML textarea element
    • Description: Add a <textarea> to index.html for users to paste the incoming email.
    • Details: ID="email-input", rows=5, cols=50, placeholder="Paste the incoming email here...". Wrap in a for structure.
    • Dependencies: None.
  • Effort: Low.

Product Requirements Document (PRD) for OneThing

Avatar Persona

  • Name: Morgan
  • Role: Knowledge worker / student
  • Environment: Distracted, task-heavy days
  • Pain: Too many tasks lead to paralysis
  • Motivation: End the day feeling accomplished

Executive Summary