Fix: Ensure all skills are tracked as files, not submodules

This commit is contained in:
sck_0
2026-01-14 18:48:48 +01:00
parent 7f46ed8ca1
commit 8bd204708b
1113 changed files with 82065 additions and 2 deletions

View File

@@ -0,0 +1,137 @@
# Loki Mode Demo
Video demonstration of Loki Mode - Multi-agent autonomous startup system.
## Quick Start
```bash
# Full end-to-end demo with screen recording (RECOMMENDED)
./demo/record-full-demo.sh simple-todo
# Or run the simulated terminal demo
./demo/run-demo-auto.sh
```
## Full End-to-End Demo
The `record-full-demo.sh` script creates a real demo showing:
- Loki Mode running autonomously
- Dashboard with agents and tasks
- App being built in real-time
- Quality gates and code review
### Setup for Best Results
Arrange your screen like this before running:
```
+------------------+------------------+
| | |
| TERMINAL | BROWSER |
| (run script) | (dashboard) |
| | |
+------------------+------------------+
```
### Run the Demo
```bash
# Simple todo app (5-10 min)
./demo/record-full-demo.sh simple-todo
# Static landing page (3-5 min)
./demo/record-full-demo.sh static-landing
# Full-stack app (15-30 min)
./demo/record-full-demo.sh full-stack
```
The dashboard opens at: http://127.0.0.1:57374/dashboard/index.html
## Demo Contents
| File | Purpose |
|------|---------|
| `run-demo.sh` | Interactive demo script |
| `record-demo.sh` | Records demo with asciinema |
| `voice-over-script.md` | Narration script for video |
| `vhs-tape.tape` | VHS script for GIF/video generation |
## Recording Options
### Option 1: Asciinema (Terminal Recording)
```bash
# Record
./demo/record-demo.sh
# Play back
asciinema play demo/recordings/loki-demo.cast
# Upload to asciinema.org
asciinema upload demo/recordings/loki-demo.cast
```
### Option 2: VHS (GIF/Video Generation)
```bash
# Install VHS
brew install charmbracelet/tap/vhs
# Generate GIF
vhs demo/vhs-tape.tape
# Output: demo/loki-demo.gif
```
### Option 3: Screen Recording
1. Open terminal and run `./demo/run-demo.sh`
2. Use QuickTime or OBS to screen record
3. Add voice-over using `voice-over-script.md`
## Voice-Over Recording
See `voice-over-script.md` for the complete narration script with timestamps.
### Tips for Voice Recording
1. Read through the script first
2. Match your narration to the terminal actions
3. Keep energy up but professional
4. Pause at key moments for emphasis
## Demo Scenarios
### Simple Todo App (5 min)
Best for quick demos. Shows core Loki Mode workflow.
```bash
./demo/run-demo.sh simple-todo
```
### Full-Stack Demo (15-20 min)
Complete demonstration including:
- Kanban board visualization
- Parallel agent execution
- Code review process
- Quality gates
```bash
./demo/run-demo.sh full-stack
```
## Published Demos
| Demo | Duration | Link |
|------|----------|------|
| Quick Start | 5 min | [asciinema](https://asciinema.org/a/loki-quick-start) |
| Full Demo | 15 min | [YouTube](https://youtube.com/watch?v=loki-demo) |
## Creating Final Video
1. Record terminal with asciinema or screen recording
2. Record voice-over separately (cleaner audio)
3. Combine in video editor (iMovie, DaVinci Resolve)
4. Add intro/outro cards
5. Export as MP4

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@@ -0,0 +1,69 @@
#!/bin/bash
# Record Loki Mode demo with asciinema
# Usage: ./demo/record-demo.sh [simple-todo|full-stack]
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
DEMO_TYPE="${1:-simple-todo}"
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
# Ensure recordings directory exists
mkdir -p "$SCRIPT_DIR/recordings"
# Output file
OUTPUT_FILE="$SCRIPT_DIR/recordings/loki-demo-$DEMO_TYPE-$TIMESTAMP.cast"
# Check for asciinema
ASCIINEMA_PATH=""
if command -v asciinema &> /dev/null; then
ASCIINEMA_PATH="asciinema"
elif [ -f "$PROJECT_DIR/benchmarks/venv/bin/asciinema" ]; then
ASCIINEMA_PATH="$PROJECT_DIR/benchmarks/venv/bin/asciinema"
else
echo "Error: asciinema not found"
echo "Install with: pip install asciinema"
echo "Or use the venv: source benchmarks/venv/bin/activate"
exit 1
fi
echo "============================================"
echo " Loki Mode Demo Recording"
echo "============================================"
echo ""
echo "Demo type: $DEMO_TYPE"
echo "Output file: $OUTPUT_FILE"
echo "Asciinema: $ASCIINEMA_PATH"
echo ""
echo "Tips for recording:"
echo " - Speak clearly if adding live narration"
echo " - Pause at key moments"
echo " - Type deliberately (viewers need to follow)"
echo ""
echo "Press Enter to start recording..."
read -r
# Record the demo
$ASCIINEMA_PATH rec \
--title "Loki Mode Demo - $DEMO_TYPE" \
--command "$SCRIPT_DIR/run-demo.sh $DEMO_TYPE" \
--idle-time-limit 3 \
"$OUTPUT_FILE"
echo ""
echo "============================================"
echo " Recording Complete"
echo "============================================"
echo ""
echo "Saved to: $OUTPUT_FILE"
echo ""
echo "Next steps:"
echo " 1. Play back: $ASCIINEMA_PATH play $OUTPUT_FILE"
echo " 2. Upload: $ASCIINEMA_PATH upload $OUTPUT_FILE"
echo " 3. Convert to GIF: agg $OUTPUT_FILE demo.gif"
echo ""
# Create symlink to latest
ln -sf "$(basename "$OUTPUT_FILE")" "$SCRIPT_DIR/recordings/latest.cast"
echo "Latest recording linked to: $SCRIPT_DIR/recordings/latest.cast"

View File

@@ -0,0 +1,208 @@
#!/bin/bash
#===============================================================================
# Record Full Loki Mode End-to-End Demo
#
# This script:
# 1. Creates a fresh demo workspace
# 2. Starts screen recording
# 3. Runs Loki Mode with a PRD
# 4. Opens dashboard in browser
# 5. Records until completion or timeout
# 6. Outputs final video
#
# Usage:
# ./demo/record-full-demo.sh [simple-todo|static-landing]
#===============================================================================
set -uo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
DEMO_TYPE="${1:-simple-todo}"
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
# Config
DEMO_WORKSPACE="/tmp/loki-full-demo-$TIMESTAMP"
OUTPUT_DIR="$SCRIPT_DIR/recordings"
OUTPUT_FILE="$OUTPUT_DIR/loki-full-demo-$DEMO_TYPE-$TIMESTAMP.mp4"
MAX_DURATION=1800 # 30 minutes max
# Colors
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
NC='\033[0m'
log_info() { echo -e "${GREEN}[INFO]${NC} $*"; }
log_step() { echo -e "${CYAN}[STEP]${NC} $*"; }
log_warn() { echo -e "${YELLOW}[WARN]${NC} $*"; }
# Select PRD based on demo type
case "$DEMO_TYPE" in
simple-todo)
PRD_SOURCE="$PROJECT_DIR/examples/simple-todo-app.md"
DEMO_NAME="Simple Todo App"
EXPECTED_DURATION="5-10 minutes"
;;
static-landing)
PRD_SOURCE="$PROJECT_DIR/examples/static-landing-page.md"
DEMO_NAME="Static Landing Page"
EXPECTED_DURATION="3-5 minutes"
;;
full-stack)
PRD_SOURCE="$PROJECT_DIR/examples/full-stack-demo.md"
DEMO_NAME="Full-Stack Bookmark Manager"
EXPECTED_DURATION="15-30 minutes"
;;
*)
echo "Unknown demo type: $DEMO_TYPE"
echo "Usage: $0 [simple-todo|static-landing|full-stack]"
exit 1
;;
esac
mkdir -p "$OUTPUT_DIR"
echo ""
echo -e "${CYAN}========================================${NC}"
echo -e "${CYAN} LOKI MODE FULL DEMO RECORDING${NC}"
echo -e "${CYAN}========================================${NC}"
echo ""
echo "Demo: $DEMO_NAME"
echo "PRD: $PRD_SOURCE"
echo "Expected time: $EXPECTED_DURATION"
echo "Workspace: $DEMO_WORKSPACE"
echo "Output: $OUTPUT_FILE"
echo ""
# Pre-flight checks
log_step "Checking prerequisites..."
if ! command -v ffmpeg &> /dev/null; then
log_warn "ffmpeg not found. Install with: brew install ffmpeg"
exit 1
fi
if ! command -v claude &> /dev/null; then
log_warn "Claude Code CLI not found"
exit 1
fi
if [ ! -f "$PRD_SOURCE" ]; then
log_warn "PRD file not found: $PRD_SOURCE"
exit 1
fi
log_info "All prerequisites met"
# Setup instructions
echo ""
echo -e "${YELLOW}========================================${NC}"
echo -e "${YELLOW} SETUP INSTRUCTIONS${NC}"
echo -e "${YELLOW}========================================${NC}"
echo ""
echo "For the best demo video, arrange your screen:"
echo ""
echo " +------------------+------------------+"
echo " | | |"
echo " | TERMINAL | BROWSER |"
echo " | (this window) | (dashboard) |"
echo " | | |"
echo " +------------------+------------------+"
echo ""
echo "The dashboard will open at: http://127.0.0.1:57374/dashboard/index.html"
echo ""
echo -e "${YELLOW}Recording will start in 10 seconds...${NC}"
echo "Press Ctrl+C now to cancel"
echo ""
for i in 10 9 8 7 6 5 4 3 2 1; do
printf "\rStarting in %d... " $i
sleep 1
done
echo ""
# Create demo workspace
log_step "Creating demo workspace..."
mkdir -p "$DEMO_WORKSPACE"
cd "$DEMO_WORKSPACE"
# Initialize git
git init -q
git config user.email "demo@loki-mode.local"
git config user.name "Loki Demo"
# Copy PRD
cp "$PRD_SOURCE" ./PRD.md
git add PRD.md
git commit -m "Initial PRD" -q
# Copy Loki Mode skill to workspace
mkdir -p .claude/skills/loki-mode
cp "$PROJECT_DIR/SKILL.md" .claude/skills/loki-mode/
cp -r "$PROJECT_DIR/references" .claude/skills/loki-mode/ 2>/dev/null || true
log_info "Workspace ready: $DEMO_WORKSPACE"
# Start screen recording
log_step "Starting screen recording..."
# Record screen (device 2 = Capture screen 0)
ffmpeg -y -f avfoundation -framerate 30 -i "2:none" \
-c:v libx264 -preset ultrafast -crf 23 \
-t $MAX_DURATION \
"$OUTPUT_FILE" 2>/dev/null &
FFMPEG_PID=$!
sleep 2
if ! kill -0 $FFMPEG_PID 2>/dev/null; then
log_warn "Failed to start screen recording"
log_info "Continuing without recording - you can use QuickTime manually"
FFMPEG_PID=""
fi
log_info "Recording started (PID: $FFMPEG_PID)"
# Cleanup handler
cleanup() {
echo ""
log_warn "Stopping demo..."
# Stop ffmpeg
if [ -n "$FFMPEG_PID" ] && kill -0 $FFMPEG_PID 2>/dev/null; then
kill -INT $FFMPEG_PID 2>/dev/null || true
wait $FFMPEG_PID 2>/dev/null || true
fi
echo ""
if [ -f "$OUTPUT_FILE" ]; then
log_info "Video saved to: $OUTPUT_FILE"
local size=$(du -h "$OUTPUT_FILE" | cut -f1)
log_info "File size: $size"
fi
log_info "Demo workspace: $DEMO_WORKSPACE"
exit 0
}
trap cleanup INT TERM
# Run Loki Mode
echo ""
log_step "Starting Loki Mode..."
echo ""
echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${CYAN} LOKI MODE OUTPUT${NC}"
echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo ""
# Run with dashboard enabled, skip prereqs (we already checked)
LOKI_SKIP_PREREQS=true \
LOKI_DASHBOARD=true \
LOKI_MAX_ITERATIONS=10 \
"$PROJECT_DIR/autonomy/run.sh" ./PRD.md
# Demo complete
cleanup

View File

@@ -0,0 +1,93 @@
{"version": 2, "width": 80, "height": 24, "timestamp": 1767726774, "idle_time_limit": 2.0, "env": {"SHELL": "/bin/zsh", "TERM": "xterm-256color"}, "title": "Loki Mode Demo"}
[0.198599, "o", "\u001b[3J\u001b[H\u001b[2J"]
[0.198976, "o", "\r\n\u001b[0;36m========================================\u001b[0m\r\n\u001b[0;36m LOKI MODE\u001b[0m\r\n\u001b[0;36m========================================\u001b[0m\r\n\r\n"]
[1.206856, "o", "\u001b[0;36mMulti-Agent Autonomous Startup System\u001b[0m\r\n\r\nFrom PRD to Production - Zero Human Intervention\r\n"]
[1.207031, "o", "\r\n"]
[3.216874, "o", "\r\n\u001b[0;36m========================================\u001b[0m\r\n\u001b[0;36m STEP 1: Product Requirements\u001b[0m\r\n"]
[3.216934, "o", "\u001b[0;36m========================================\u001b[0m\r\n\r\n"]
[4.226034, "o", "\u001b[0;32m>>> PRD: Simple Todo App\u001b[0m\r\n"]
[4.733082, "o", "\r\n"]
[4.737578, "o", "Features:\r\n - Add Todo - Create new task\r\n - View Todos - List all tasks\r\n - Complete - Mark task done\r\n - Delete - Remove task\r\n\r\nTech Stack:\r\n - React + TypeScript (Frontend)\r\n - Express + SQLite (Backend)\r\n"]
[4.737806, "o", "\r\n"]
[7.743966, "o", "\r\n\u001b[0;36m========================================\u001b[0m\r\n"]
[7.744079, "o", "\u001b[0;36m STEP 2: Bootstrap Phase\u001b[0m\r\n\u001b[0;36m========================================\u001b[0m\r\n\r\n"]
[8.748159, "o", "\u001b[0;32m>>> Initializing Loki Mode...\u001b[0m\r\n"]
[10.262518, "o", "\r\n.loki/\r\n CONTINUITY.md <- Working memory\r\n queue/\r\n pending.json <- Task queue\r\n"]
[10.262765, "o", " in-progress.json\r\n completed.json\r\n state/\r\n orchestrator.json <- Phase tracking\r\n specs/\r\n openapi.yaml <- API specification\r\n\r\n"]
[12.273545, "o", "\r\n\u001b[0;36m========================================\u001b[0m\r\n"]
[12.273727, "o", "\u001b[0;36m STEP 3: Discovery Phase\u001b[0m\r\n\u001b[0;36m========================================\u001b[0m\r\n\r\n"]
[13.278686, "o", "\u001b[0;32m>>> Analyzing PRD and generating tasks...\u001b[0m\r\n"]
[14.796934, "o", "\r\nTasks Generated:\r\n [1] Set up Express backend\r\n"]
[14.797055, "o", " [2] Create SQLite database schema\r\n [3] Implement GET /api/todos\r\n [4] Implement POST /api/todos\r\n [5] Implement PUT /api/todos/:id\r\n [6] Implement DELETE /api/todos/:id\r\n"]
[14.797071, "o", " [7] Set up React with Vite\r\n [8] Create TodoList component\r\n [9] Create AddTodo component\r\n [10] Write unit tests\r\n [11] Write integration tests\r\n\r\n\u001b[0;34m 11 tasks added to pending queue\u001b[0m\r\n"]
[17.111934, "o", "\r\n\u001b[0;36m========================================\u001b[0m\r\n"]
[17.11199, "o", "\u001b[0;36m STEP 4: Architecture Phase\u001b[0m\r\n\u001b[0;36m========================================\u001b[0m\r\n\r\n"]
[18.117181, "o", "\u001b[0;32m>>> Creating OpenAPI specification...\u001b[0m\r\n"]
[19.634081, "o", "\r\n"]
[19.638071, "o", "openapi: 3.0.0\r\ninfo:\r\n title: Todo API\r\n version: 1.0.0\r\npaths:\r\n /api/todos:\r\n get:\r\n summary: List all todos\r\n responses:\r\n 200:\r\n description: Array of todos\r\n post:\r\n summary: Create a todo\r\n requestBody:\r\n required: true\r\n content:\r\n application/json:\r\n schema:\r\n $ref: '#/components/schemas/TodoInput'\r\n"]
[19.638231, "o", "\r\n"]
[19.638263, "o", "\u001b[0;34m Spec-first development: API defined before code\u001b[0m\r\n"]
[21.955634, "o", "\r\n\u001b[0;36m========================================\u001b[0m\r\n\u001b[0;36m STEP 5: Agent Orchestration\u001b[0m\r\n"]
[21.955697, "o", "\u001b[0;36m========================================\u001b[0m\r\n\r\n"]
[22.961384, "o", "\u001b[0;32m>>> Spawning specialized agents...\u001b[0m\r\n"]
[23.470982, "o", "\r\n"]
[23.471022, "o", "\u001b[0;35m [SPAWN]\u001b[0m agent-backend-001 (Sonnet) - Backend implementation\r\n"]
[24.285692, "o", "\u001b[0;35m [SPAWN]\u001b[0m agent-frontend-001 (Sonnet) - Frontend development\r\n"]
[25.100661, "o", "\u001b[0;35m [SPAWN]\u001b[0m agent-database-001 (Haiku) - Database setup\r\n"]
[25.920319, "o", "\u001b[0;35m [SPAWN]\u001b[0m agent-qa-001 (Haiku) - Test execution\r\n"]
[26.226554, "o", "\r\n"]
[26.226702, "o", "\u001b[0;34m 4 agents working in parallel\u001b[0m\r\n"]
[26.536163, "o", "\u001b[0;34m Haiku for simple tasks, Sonnet for implementation\u001b[0m\r\n"]
[28.849567, "o", "\r\n\u001b[0;36m========================================\u001b[0m\r\n"]
[28.84969, "o", "\u001b[0;36m STEP 6: Development Phase\u001b[0m\r\n\u001b[0;36m========================================\u001b[0m\r\n\r\n"]
[29.857011, "o", "\r\n"]
[29.857121, "o", "\u001b[0;35m [backend-001]\u001b[0m Implementing Express server...\r\n"]
[30.971387, "o", "\u001b[0;35m [database-001]\u001b[0m Creating SQLite schema...\r\n"]
[31.786151, "o", "\u001b[0;35m [database-001]\u001b[0m DONE: Database ready\r\n"]
[32.404069, "o", "\u001b[0;35m [backend-001]\u001b[0m Implementing API endpoints...\r\n"]
[33.715423, "o", "\u001b[0;35m [frontend-001]\u001b[0m Setting up React + Vite...\r\n"]
[34.832447, "o", "\u001b[0;35m [backend-001]\u001b[0m DONE: All endpoints implemented\r\n"]
[35.45081, "o", "\u001b[0;35m [frontend-001]\u001b[0m Creating components...\r\n"]
[36.766951, "o", "\u001b[0;35m [qa-001]\u001b[0m Running unit tests...\r\n"]
[37.585158, "o", "\u001b[0;35m [frontend-001]\u001b[0m DONE: UI complete\r\n"]
[38.204027, "o", "\u001b[0;35m [qa-001]\u001b[0m DONE: 24/24 tests passing\r\n"]
[38.511212, "o", "\r\n"]
[40.516948, "o", "\r\n\u001b[0;36m========================================\u001b[0m\r\n\u001b[0;36m STEP 7: Code Review (Anti-Sycophancy)\u001b[0m\r\n"]
[40.516976, "o", "\u001b[0;36m========================================\u001b[0m\r\n\r\n"]
[41.525066, "o", "\u001b[0;32m>>> Launching 3 parallel reviewers (Opus model)...\u001b[0m\r\n"]
[42.035077, "o", "\r\n [1/3] Code Quality Reviewer\r\n - SOLID principles\r\n"]
[42.035145, "o", " - Best practices\r\n - Maintainability\r\n"]
[42.539921, "o", "\r\n [2/3] Business Logic Reviewer\r\n - Requirements alignment\r\n"]
[42.539995, "o", " - Edge cases\r\n - User experience\r\n"]
[43.04713, "o", "\r\n [3/3] Security Reviewer\r\n - OWASP Top 10\r\n"]
[43.047188, "o", " - Input validation\r\n - SQL injection\r\n\r\n"]
[44.55679, "o", "\u001b[0;32m>>> Review Results (Blind Review Mode):\u001b[0m\r\n"]
[45.067005, "o", "\r\n Code Quality: \u001b[0;32mAPPROVED\u001b[0m (0 issues)\r\n"]
[45.377077, "o", " Business Logic: \u001b[0;32mAPPROVED\u001b[0m (0 issues)\r\n"]
[45.686791, "o", " Security: \u001b[0;32mAPPROVED\u001b[0m (0 issues)\r\n\r\n"]
[46.69029, "o", "\u001b[0;32m>>> All approved - Running Devil's Advocate...\u001b[0m\r\n"]
[48.206636, "o", "\r\n Devil's Advocate: \u001b[0;32mAPPROVED\u001b[0m\r\n"]
[48.206761, "o", " Found 1 Low severity suggestion (added as TODO)\r\n\r\n"]
[48.206779, "o", "\u001b[0;34m Anti-sycophancy protocol prevents groupthink\u001b[0m\r\n"]
[50.523663, "o", "\r\n"]
[50.523722, "o", "\u001b[0;36m========================================\u001b[0m\r\n\u001b[0;36m STEP 8: Quality Gates\u001b[0m\r\n\u001b[0;36m========================================\u001b[0m\r\n\r\n"]
[51.533081, "o", "\r\nStatic Analysis:\r\n"]
[51.533227, "o", " ESLint: \u001b[0;32mPASS\u001b[0m (0 errors)\r\n TypeScript: \u001b[0;32mPASS\u001b[0m (strict mode)\r\n"]
[51.53327, "o", " CodeQL: \u001b[0;32mPASS\u001b[0m (no vulnerabilities)\r\n\r\n"]
[52.537953, "o", "Test Coverage:\r\n"]
[52.538006, "o", " Unit Tests: \u001b[0;32m24/24 PASS\u001b[0m (92% coverage)\r\n Integration Tests: \u001b[0;32m8/8 PASS\u001b[0m\r\n\r\n"]
[53.547199, "o", "Quality Gate: \u001b[0;32mPASSED\u001b[0m\r\n\r\n"]
[55.556766, "o", "\r\n\u001b[0;36m========================================\u001b[0m\r\n"]
[55.556903, "o", "\u001b[0;36m STEP 9: Memory System\u001b[0m\r\n\u001b[0;36m========================================\u001b[0m\r\n\r\n"]
[56.566267, "o", "\u001b[0;32m>>> CONTINUITY.md - Working Memory\u001b[0m\r\n"]
[57.075557, "o", "\r\n"]
[57.082419, "o", "## Current State\r\nPhase: DEVELOPMENT (complete)\r\nTasks: 11/11 done\r\n\r\n## Decisions Made\r\n- SQLite for simplicity (per PRD)\r\n- React Query for data fetching\r\n- TailwindCSS for styling\r\n\r\n## Mistakes & Learnings\r\n- Express handlers need explicit return types\r\n- Run npm install before tests\r\n"]
[57.082682, "o", "\r\n"]
[57.082734, "o", "\u001b[0;34m Context persists across sessions\u001b[0m\r\n"]
[57.391021, "o", "\u001b[0;34m Learnings improve future runs\u001b[0m\r\n"]
[59.705249, "o", "\r\n\u001b[0;36m========================================\u001b[0m\r\n"]
[59.705293, "o", "\u001b[0;36m COMPLETE\u001b[0m\r\n\u001b[0;36m========================================\u001b[0m\r\n\r\n"]
[60.710976, "o", "\r\n\u001b[0;32mTodo App Successfully Generated!\u001b[0m\r\n\r\n"]
[60.711106, "o", " Files created: 24\r\n Tests passing: 32\r\n Code coverage: 92%\r\n Time elapsed: 8m 42s\r\n Human input: 0\r\n\r\n"]
[62.716656, "o", "\u001b[0;36mFrom PRD to Production\u001b[0m\r\n\u001b[0;36mZero Human Intervention\u001b[0m\r\n\r\ngithub.com/asklokesh/loki-mode\r\n"]
[62.716785, "o", "\r\n"]

View File

@@ -0,0 +1,293 @@
#!/bin/bash
# Loki Mode Auto Demo - Non-interactive version for recording
# Usage: ./demo/run-demo-auto.sh
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
# Colors
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
MAGENTA='\033[0;35m'
NC='\033[0m'
# Demo output helpers
banner() {
echo ""
echo -e "${CYAN}========================================${NC}"
echo -e "${CYAN} $1${NC}"
echo -e "${CYAN}========================================${NC}"
echo ""
sleep 1
}
step() {
echo -e "${GREEN}>>> $1${NC}"
sleep 0.5
}
info() {
echo -e "${BLUE} $1${NC}"
sleep 0.3
}
agent() {
echo -e "${MAGENTA} [$1]${NC} $2"
sleep 0.3
}
# Clear screen
clear
# Introduction
banner "LOKI MODE"
echo -e "${CYAN}Multi-Agent Autonomous Startup System${NC}"
echo ""
echo "From PRD to Production - Zero Human Intervention"
echo ""
sleep 2
# Show PRD
banner "STEP 1: Product Requirements"
step "PRD: Simple Todo App"
echo ""
cat << 'EOF'
Features:
- Add Todo - Create new task
- View Todos - List all tasks
- Complete - Mark task done
- Delete - Remove task
Tech Stack:
- React + TypeScript (Frontend)
- Express + SQLite (Backend)
EOF
echo ""
sleep 3
# Bootstrap
banner "STEP 2: Bootstrap Phase"
step "Initializing Loki Mode..."
sleep 1
echo ""
echo ".loki/"
echo " CONTINUITY.md <- Working memory"
echo " queue/"
echo " pending.json <- Task queue"
echo " in-progress.json"
echo " completed.json"
echo " state/"
echo " orchestrator.json <- Phase tracking"
echo " specs/"
echo " openapi.yaml <- API specification"
echo ""
sleep 2
# Discovery
banner "STEP 3: Discovery Phase"
step "Analyzing PRD and generating tasks..."
sleep 1
echo ""
echo "Tasks Generated:"
echo " [1] Set up Express backend"
echo " [2] Create SQLite database schema"
echo " [3] Implement GET /api/todos"
echo " [4] Implement POST /api/todos"
echo " [5] Implement PUT /api/todos/:id"
echo " [6] Implement DELETE /api/todos/:id"
echo " [7] Set up React with Vite"
echo " [8] Create TodoList component"
echo " [9] Create AddTodo component"
echo " [10] Write unit tests"
echo " [11] Write integration tests"
echo ""
info "11 tasks added to pending queue"
sleep 2
# Architecture
banner "STEP 4: Architecture Phase"
step "Creating OpenAPI specification..."
sleep 1
echo ""
cat << 'EOF'
openapi: 3.0.0
info:
title: Todo API
version: 1.0.0
paths:
/api/todos:
get:
summary: List all todos
responses:
200:
description: Array of todos
post:
summary: Create a todo
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TodoInput'
EOF
echo ""
info "Spec-first development: API defined before code"
sleep 2
# Agent Spawning
banner "STEP 5: Agent Orchestration"
step "Spawning specialized agents..."
echo ""
agent "SPAWN" "agent-backend-001 (Sonnet) - Backend implementation"
sleep 0.5
agent "SPAWN" "agent-frontend-001 (Sonnet) - Frontend development"
sleep 0.5
agent "SPAWN" "agent-database-001 (Haiku) - Database setup"
sleep 0.5
agent "SPAWN" "agent-qa-001 (Haiku) - Test execution"
echo ""
info "4 agents working in parallel"
info "Haiku for simple tasks, Sonnet for implementation"
sleep 2
# Development
banner "STEP 6: Development Phase"
echo ""
agent "backend-001" "Implementing Express server..."
sleep 0.8
agent "database-001" "Creating SQLite schema..."
sleep 0.5
agent "database-001" "DONE: Database ready"
sleep 0.3
agent "backend-001" "Implementing API endpoints..."
sleep 1
agent "frontend-001" "Setting up React + Vite..."
sleep 0.8
agent "backend-001" "DONE: All endpoints implemented"
sleep 0.3
agent "frontend-001" "Creating components..."
sleep 1
agent "qa-001" "Running unit tests..."
sleep 0.5
agent "frontend-001" "DONE: UI complete"
sleep 0.3
agent "qa-001" "DONE: 24/24 tests passing"
echo ""
sleep 2
# Code Review
banner "STEP 7: Code Review (Anti-Sycophancy)"
step "Launching 3 parallel reviewers (Opus model)..."
echo ""
echo " [1/3] Code Quality Reviewer"
echo " - SOLID principles"
echo " - Best practices"
echo " - Maintainability"
sleep 0.5
echo ""
echo " [2/3] Business Logic Reviewer"
echo " - Requirements alignment"
echo " - Edge cases"
echo " - User experience"
sleep 0.5
echo ""
echo " [3/3] Security Reviewer"
echo " - OWASP Top 10"
echo " - Input validation"
echo " - SQL injection"
echo ""
sleep 1.5
step "Review Results (Blind Review Mode):"
echo ""
echo -e " Code Quality: ${GREEN}APPROVED${NC} (0 issues)"
sleep 0.3
echo -e " Business Logic: ${GREEN}APPROVED${NC} (0 issues)"
sleep 0.3
echo -e " Security: ${GREEN}APPROVED${NC} (0 issues)"
echo ""
sleep 1
step "All approved - Running Devil's Advocate..."
sleep 1
echo ""
echo -e " Devil's Advocate: ${GREEN}APPROVED${NC}"
echo " Found 1 Low severity suggestion (added as TODO)"
echo ""
info "Anti-sycophancy protocol prevents groupthink"
sleep 2
# Quality Gates
banner "STEP 8: Quality Gates"
echo ""
echo "Static Analysis:"
echo -e " ESLint: ${GREEN}PASS${NC} (0 errors)"
echo -e " TypeScript: ${GREEN}PASS${NC} (strict mode)"
echo -e " CodeQL: ${GREEN}PASS${NC} (no vulnerabilities)"
echo ""
sleep 1
echo "Test Coverage:"
echo -e " Unit Tests: ${GREEN}24/24 PASS${NC} (92% coverage)"
echo -e " Integration Tests: ${GREEN}8/8 PASS${NC}"
echo ""
sleep 1
echo -e "Quality Gate: ${GREEN}PASSED${NC}"
echo ""
sleep 2
# CONTINUITY.md
banner "STEP 9: Memory System"
step "CONTINUITY.md - Working Memory"
echo ""
cat << 'EOF'
## Current State
Phase: DEVELOPMENT (complete)
Tasks: 11/11 done
## Decisions Made
- SQLite for simplicity (per PRD)
- React Query for data fetching
- TailwindCSS for styling
## Mistakes & Learnings
- Express handlers need explicit return types
- Run npm install before tests
EOF
echo ""
info "Context persists across sessions"
info "Learnings improve future runs"
sleep 2
# Completion
banner "COMPLETE"
echo ""
echo -e "${GREEN}Todo App Successfully Generated!${NC}"
echo ""
echo " Files created: 24"
echo " Tests passing: 32"
echo " Code coverage: 92%"
echo " Time elapsed: 8m 42s"
echo " Human input: 0"
echo ""
sleep 2
echo -e "${CYAN}From PRD to Production${NC}"
echo -e "${CYAN}Zero Human Intervention${NC}"
echo ""
echo "github.com/asklokesh/loki-mode"
echo ""
sleep 3

323
skills/loki-mode/demo/run-demo.sh Executable file
View File

@@ -0,0 +1,323 @@
#!/bin/bash
# Loki Mode Demo Runner
# Usage: ./demo/run-demo.sh [simple-todo|full-stack]
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
DEMO_TYPE="${1:-simple-todo}"
# Colors
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
NC='\033[0m'
# Demo output helpers
banner() {
echo ""
echo -e "${CYAN}========================================${NC}"
echo -e "${CYAN} $1${NC}"
echo -e "${CYAN}========================================${NC}"
echo ""
}
step() {
echo -e "${GREEN}>>> $1${NC}"
sleep 1
}
info() {
echo -e "${BLUE} $1${NC}"
}
pause() {
echo -e "${YELLOW}[Press Enter to continue...]${NC}"
read -r
}
# Demo introduction
banner "LOKI MODE DEMO"
echo "Loki Mode - Multi-Agent Autonomous Startup System"
echo ""
echo "This demo will show:"
echo " - Autonomous project generation from PRD"
echo " - Multi-agent orchestration"
echo " - Kanban board task tracking"
echo " - Parallel code review system"
echo " - Quality gates enforcement"
echo ""
case "$DEMO_TYPE" in
simple-todo)
PRD_FILE="examples/simple-todo-app.md"
DEMO_NAME="Simple Todo App"
;;
full-stack)
PRD_FILE="examples/full-stack-demo.md"
DEMO_NAME="Full-Stack Bookmark Manager"
;;
*)
echo "Unknown demo type: $DEMO_TYPE"
echo "Usage: $0 [simple-todo|full-stack]"
exit 1
;;
esac
step "Demo: $DEMO_NAME"
step "PRD: $PRD_FILE"
pause
# Create demo workspace
banner "STEP 1: Setting Up Demo Workspace"
DEMO_WORKSPACE="/tmp/loki-demo-$(date +%s)"
step "Creating workspace: $DEMO_WORKSPACE"
mkdir -p "$DEMO_WORKSPACE"
cd "$DEMO_WORKSPACE"
info "Workspace ready"
pause
# Show PRD content
banner "STEP 2: Reviewing PRD"
step "PRD Contents:"
echo ""
cat "$PROJECT_DIR/$PRD_FILE"
echo ""
pause
# Initialize git
banner "STEP 3: Initialize Git Repository"
step "git init"
git init
git add -A 2>/dev/null || true
git commit -m "Initial commit" --allow-empty
info "Git initialized"
pause
# Show how to invoke Loki Mode
banner "STEP 4: Invoking Loki Mode"
step "To invoke Loki Mode, you would run:"
echo ""
echo -e "${CYAN} claude --dangerously-skip-permissions${NC}"
echo ""
echo "Then type:"
echo ""
echo -e "${CYAN} Loki Mode with PRD at $PRD_FILE${NC}"
echo ""
info "Loki Mode will then:"
info " 1. Read and analyze the PRD"
info " 2. Create .loki/ directory for state management"
info " 3. Generate tasks and add to queue"
info " 4. Spawn specialized agents"
info " 5. Execute RARV cycle until completion"
pause
# Show expected .loki structure
banner "STEP 5: Loki State Directory"
step "Creating sample .loki structure..."
mkdir -p .loki/{queue,state,memory/{episodic,semantic,skills},metrics/{efficiency,rewards},specs}
# Create sample orchestrator state
cat > .loki/state/orchestrator.json << 'EOF'
{
"currentPhase": "DEVELOPMENT",
"startedAt": "2026-01-06T10:00:00Z",
"metrics": {
"tasksCompleted": 12,
"tasksPending": 5,
"agentsSpawned": 8,
"reviewsPassed": 4
}
}
EOF
# Create sample queue
cat > .loki/queue/pending.json << 'EOF'
[
{
"id": "task-013",
"type": "eng-frontend",
"priority": 8,
"payload": {
"action": "Implement TodoList component",
"description": "Create React component to display todos"
}
},
{
"id": "task-014",
"type": "eng-backend",
"priority": 7,
"payload": {
"action": "Add DELETE endpoint",
"description": "Implement DELETE /api/todos/:id"
}
}
]
EOF
cat > .loki/queue/in-progress.json << 'EOF'
[
{
"id": "task-012",
"type": "eng-frontend",
"claimedBy": "agent-frontend-001",
"payload": {
"action": "Implement AddTodo form",
"description": "Create form component with validation"
}
}
]
EOF
# Create sample CONTINUITY.md
cat > .loki/CONTINUITY.md << 'EOF'
# CONTINUITY - Working Memory
## Current State
- **Phase:** DEVELOPMENT
- **Current Task:** task-012 (Implement AddTodo form)
- **Agent:** agent-frontend-001
## Progress Today
- [x] Bootstrap complete
- [x] Discovery complete
- [x] Architecture complete - OpenAPI spec created
- [x] Database schema implemented
- [x] Backend API endpoints (GET, POST, PUT)
- [ ] Frontend components (in progress)
- [ ] DELETE endpoint
- [ ] Integration tests
## Decisions Made
- Using SQLite for simplicity (per PRD)
- React Query for data fetching
- TailwindCSS for styling
## Mistakes & Learnings
- Initially forgot return type on Express handler
- Fix: Always add `: void` to handlers
- First test run failed due to missing dev dependency
- Fix: Check package.json before running tests
## Next Steps
1. Complete AddTodo form component
2. Implement TodoList component
3. Add DELETE endpoint
4. Run full test suite
EOF
step "Directory structure:"
find .loki -type f | head -20
info "CONTINUITY.md contains working memory"
info "Queue files track task states"
info "Orchestrator tracks overall progress"
pause
# Show kanban export
banner "STEP 6: Vibe Kanban Integration"
step "Exporting tasks to Vibe Kanban format..."
mkdir -p ~/.vibe-kanban/loki-demo
"$PROJECT_DIR/scripts/export-to-vibe-kanban.sh" ~/.vibe-kanban/loki-demo 2>/dev/null || true
info "Tasks exported to kanban board"
info "Run 'npx vibe-kanban' to view visual board"
pause
# Show agent spawning simulation
banner "STEP 7: Agent Orchestration"
step "Simulating agent spawning..."
echo ""
echo "Agent Pool Status:"
echo " [ACTIVE] agent-frontend-001 - Working on task-012"
echo " [IDLE] agent-backend-001 - Waiting for task"
echo " [ACTIVE] agent-qa-001 - Running tests"
echo ""
info "Agents work in parallel but respect dependencies"
info "Task queue prevents conflicts"
pause
# Show code review simulation
banner "STEP 8: Code Review System"
step "Launching 3-reviewer parallel review..."
echo ""
echo "Reviewers (Opus model):"
echo " [1/3] Code Quality - Checking patterns, SOLID principles"
echo " [2/3] Business Logic - Verifying requirements, edge cases"
echo " [3/3] Security - Scanning for vulnerabilities"
echo ""
sleep 2
echo "Review Results:"
echo " Code Quality: APPROVED (0 issues)"
echo " Business Logic: APPROVED (0 issues)"
echo " Security: APPROVED (0 issues)"
echo ""
echo " >>> All approved - Running Devil's Advocate check..."
sleep 1
echo " Devil's Advocate: APPROVED (found 1 Low severity suggestion)"
echo ""
info "Anti-sycophancy protocol prevents groupthink"
info "Blind review ensures independent analysis"
pause
# Show quality gates
banner "STEP 9: Quality Gates"
step "Running quality gates..."
echo ""
echo "Static Analysis:"
echo " ESLint: PASS (0 errors, 2 warnings)"
echo " TypeScript: PASS (strict mode)"
echo " CodeQL: PASS (no vulnerabilities)"
echo ""
echo "Test Coverage:"
echo " Unit Tests: 24/24 PASS (92% coverage)"
echo " Integration Tests: 8/8 PASS"
echo ""
echo "Quality Gate: PASSED"
echo ""
info "Critical/High/Medium issues BLOCK the pipeline"
info "Low/Cosmetic issues become TODO comments"
pause
# Final summary
banner "DEMO COMPLETE"
echo "Loki Mode Demo Summary:"
echo ""
echo " PRD: $DEMO_NAME"
echo " Workspace: $DEMO_WORKSPACE"
echo " Tasks Created: 17"
echo " Tasks Complete: 12"
echo " Agents Used: 8"
echo " Reviews Passed: 4"
echo ""
echo "To run Loki Mode for real:"
echo ""
echo -e " ${CYAN}claude --dangerously-skip-permissions${NC}"
echo -e " ${CYAN}> Loki Mode with PRD at $PRD_FILE${NC}"
echo ""
echo "Documentation: https://github.com/asklokesh/loki-mode"
echo ""
# Cleanup prompt
echo -e "${YELLOW}Demo workspace at: $DEMO_WORKSPACE${NC}"
echo -e "${YELLOW}Run 'rm -rf $DEMO_WORKSPACE' to clean up${NC}"

View File

@@ -0,0 +1,223 @@
# Loki Mode Demo - VHS Tape
# Generate with: vhs demo/vhs-tape.tape
# Output: demo/loki-demo.gif
Output demo/loki-demo.gif
Output demo/loki-demo.mp4
Set FontSize 14
Set Width 1200
Set Height 800
Set Theme "Catppuccin Mocha"
Set Padding 20
Set TypingSpeed 50ms
# Title screen
Type "# Loki Mode - Multi-Agent Autonomous Startup System"
Enter
Sleep 2s
Type "# Building a Todo App from PRD - Zero Human Intervention"
Enter
Sleep 2s
Hide
Type "clear"
Enter
Show
# Step 1: Show we're starting Claude Code
Sleep 1s
Type "claude --dangerously-skip-permissions"
Enter
Sleep 2s
# Step 2: Invoke Loki Mode
Type "Loki Mode with PRD at examples/simple-todo-app.md"
Enter
Sleep 3s
# Simulate Loki Mode output
Hide
Type@0ms "echo ''"
Enter
Show
Type@0ms "[LOKI MODE] Reading PRD..."
Sleep 1s
Enter
Type@0ms "[LOKI MODE] Phase: BOOTSTRAP"
Sleep 500ms
Enter
Type@0ms " Creating .loki/ directory..."
Sleep 500ms
Enter
Type@0ms " Initializing orchestrator state..."
Sleep 500ms
Enter
Type@0ms "[LOKI MODE] Phase: DISCOVERY"
Sleep 1s
Enter
Type@0ms " Analyzing requirements..."
Sleep 500ms
Enter
Type@0ms " Generated 17 tasks"
Sleep 500ms
Enter
Type@0ms "[LOKI MODE] Phase: ARCHITECTURE"
Sleep 1s
Enter
Type@0ms " Creating OpenAPI specification..."
Sleep 500ms
Enter
Type@0ms " Spec written to .loki/specs/openapi.yaml"
Sleep 500ms
Enter
Type@0ms "[LOKI MODE] Phase: DEVELOPMENT"
Sleep 1s
Enter
Type@0ms " Spawning agents..."
Sleep 500ms
Enter
Type@0ms " [SPAWN] agent-backend-001 (Sonnet)"
Sleep 300ms
Enter
Type@0ms " [SPAWN] agent-frontend-001 (Sonnet)"
Sleep 300ms
Enter
Type@0ms " [SPAWN] agent-qa-001 (Haiku)"
Sleep 300ms
Enter
Sleep 2s
Type@0ms " [agent-backend-001] Implementing Express server..."
Sleep 1s
Enter
Type@0ms " [agent-frontend-001] Creating React components..."
Sleep 1s
Enter
Type@0ms " [agent-backend-001] Task complete: API endpoints"
Sleep 500ms
Enter
Type@0ms "[LOKI MODE] Code Review"
Sleep 1s
Enter
Type@0ms " Launching 3 parallel reviewers (Opus)..."
Sleep 500ms
Enter
Type@0ms " [1/3] Code Quality: REVIEWING..."
Sleep 300ms
Enter
Type@0ms " [2/3] Business Logic: REVIEWING..."
Sleep 300ms
Enter
Type@0ms " [3/3] Security: REVIEWING..."
Sleep 300ms
Enter
Sleep 2s
Type@0ms " Review Results:"
Sleep 500ms
Enter
Type@0ms " Code Quality: APPROVED"
Sleep 300ms
Enter
Type@0ms " Business Logic: APPROVED"
Sleep 300ms
Enter
Type@0ms " Security: APPROVED"
Sleep 300ms
Enter
Type@0ms " Running Devil's Advocate check..."
Sleep 1s
Enter
Type@0ms " Devil's Advocate: APPROVED (1 Low suggestion)"
Sleep 500ms
Enter
Type@0ms "[LOKI MODE] Quality Gates"
Sleep 1s
Enter
Type@0ms " Unit Tests: 24/24 PASS (92% coverage)"
Sleep 500ms
Enter
Type@0ms " Integration: 8/8 PASS"
Sleep 500ms
Enter
Type@0ms " Quality Gate: PASSED"
Sleep 500ms
Enter
Sleep 2s
Type@0ms "[LOKI MODE] COMPLETE"
Sleep 1s
Enter
Enter
Type@0ms "Todo App successfully generated!"
Sleep 500ms
Enter
Type@0ms " Files created: 24"
Sleep 300ms
Enter
Type@0ms " Tests passing: 32"
Sleep 300ms
Enter
Type@0ms " Time elapsed: 8m 42s"
Sleep 300ms
Enter
Sleep 3s
# End screen
Hide
Type "clear"
Enter
Show
Type "# Loki Mode - From PRD to Production"
Enter
Sleep 1s
Type "# Zero Human Intervention"
Enter
Sleep 1s
Type "# github.com/asklokesh/loki-mode"
Enter
Sleep 3s

View File

@@ -0,0 +1,246 @@
# Loki Mode Voice-Over Script
Complete narration for Loki Mode demo video.
---
## Introduction (0:00 - 0:30)
> Welcome to Loki Mode - a multi-agent autonomous startup system for Claude Code.
>
> Loki Mode takes your product requirements document and transforms it into a fully functioning application - with zero human intervention.
>
> Today I'll show you how it works by building a complete todo application from scratch.
---
## Setup (0:30 - 1:00)
> First, we launch Claude Code with the dangerously-skip-permissions flag. This allows Loki Mode to run autonomously without asking for confirmation at every step.
>
> [Show terminal: `claude --dangerously-skip-permissions`]
>
> Now we invoke Loki Mode with our PRD.
---
## Invocation (1:00 - 1:30)
> [Type: "Loki Mode with PRD at examples/simple-todo-app.md"]
>
> Loki Mode immediately begins the RARV cycle - Reason, Act, Reflect, Verify.
>
> It first reads the PRD to understand what we're building.
---
## Bootstrap Phase (1:30 - 2:30)
> Notice Loki Mode is now in the Bootstrap phase. It's setting up the project structure.
>
> [Show: .loki directory being created]
>
> The .loki directory contains:
> - CONTINUITY.md - the working memory that persists across context resets
> - Queue files for task management
> - State tracking for the orchestrator
>
> This is how Loki Mode maintains context even during long-running operations.
---
## Discovery Phase (2:30 - 3:30)
> Now we're in Discovery. Loki Mode is analyzing our PRD and extracting requirements.
>
> [Show: Tasks being generated]
>
> See how it breaks down the todo app into specific tasks:
> - Set up backend with Express
> - Create SQLite database schema
> - Implement API endpoints
> - Build React frontend
>
> Each task gets added to the pending queue.
---
## Architecture Phase (3:30 - 4:30)
> The Architecture phase is where Loki Mode designs the system.
>
> [Show: OpenAPI spec being created]
>
> Notice it's following spec-first development - the OpenAPI specification is created BEFORE any code is written.
>
> This ensures the frontend and backend will work together seamlessly.
---
## Kanban Visualization (4:30 - 5:30)
> Let me show you the Vibe Kanban integration.
>
> [Show: Kanban board with tasks]
>
> Each task appears on our kanban board. As agents claim tasks, they move from "To Do" to "In Progress" to "Done".
>
> This gives you real-time visibility into what Loki Mode is doing.
---
## Agent Spawning (5:30 - 7:00)
> Now watch the magic happen.
>
> [Show: Multiple agents being spawned]
>
> Loki Mode spawns specialized agents:
> - A backend agent implementing the Express server
> - A frontend agent building the React UI
> - A database agent setting up SQLite
>
> These agents work in parallel - but notice they're not stepping on each other's toes. The task queue system prevents conflicts.
---
## Model Selection (7:00 - 7:30)
> Pay attention to the model selection.
>
> Simple tasks like running tests use Haiku - fast and cost-effective.
> Standard implementation uses Sonnet - the default workhorse.
> Complex decisions like architecture use Opus - for deep analysis.
>
> This intelligent routing optimizes both speed and quality.
---
## Code Review (7:30 - 9:00)
> Here's my favorite part - the code review system.
>
> [Show: Three reviewers being dispatched]
>
> Loki Mode dispatches THREE reviewers in parallel:
> 1. Code quality reviewer - checks patterns and best practices
> 2. Business logic reviewer - verifies requirements are met
> 3. Security reviewer - scans for vulnerabilities
>
> They review independently - blind to each other's findings. This prevents groupthink.
>
> [Show: Review results]
>
> If all three approve, a Devil's Advocate reviewer is triggered. This fourth reviewer specifically looks for issues the others might have missed.
>
> This anti-sycophancy protocol catches 30% more issues than traditional reviews.
---
## Quality Gates (9:00 - 10:00)
> Severity-based blocking ensures nothing ships broken.
>
> [Show: Quality gate output]
>
> Critical, High, and Medium issues BLOCK the pipeline.
> Low and Cosmetic issues get TODO comments but don't block.
>
> Tests must pass. Coverage must exceed 80%. No exceptions.
---
## CONTINUITY.md (10:00 - 11:00)
> Let's peek at the working memory.
>
> [Show: CONTINUITY.md contents]
>
> This file tracks:
> - Current task and progress
> - Decisions made and why
> - Mistakes and learnings
>
> If Loki Mode runs out of context or needs to restart, it reads this file first. This is how it maintains coherence across long sessions.
---
## Memory System (11:00 - 12:00)
> Loki Mode has a three-layer memory system.
>
> Episodic memory records what happened - specific actions and their outcomes.
>
> Semantic memory generalizes patterns - "TypeScript strict mode requires explicit return types."
>
> Procedural memory stores learned skills - how to implement an API endpoint successfully.
>
> This isn't just context - it's genuine learning that improves future runs.
---
## Completion (12:00 - 13:00)
> [Show: Application running]
>
> And here's our finished todo app!
>
> - Full CRUD operations working
> - React frontend with TypeScript
> - Express backend with SQLite
> - All tests passing
> - Code reviewed and approved
>
> From PRD to working application - completely autonomous.
---
## Recap (13:00 - 14:00)
> Let's recap what Loki Mode did:
>
> 1. Read and analyzed the PRD
> 2. Designed the architecture with OpenAPI specs
> 3. Spawned specialized agents for parallel development
> 4. Ran comprehensive code reviews with anti-sycophancy checks
> 5. Enforced quality gates and test coverage
> 6. Maintained context through the memory system
>
> All without a single human intervention.
---
## Call to Action (14:00 - 14:30)
> Loki Mode is available now on GitHub.
>
> Install it as a Claude Code skill and start building.
>
> Remember to use the dangerously-skip-permissions flag for full autonomy.
>
> Thanks for watching!
---
## Timing Summary
| Section | Start | Duration |
|---------|-------|----------|
| Introduction | 0:00 | 30s |
| Setup | 0:30 | 30s |
| Invocation | 1:00 | 30s |
| Bootstrap | 1:30 | 60s |
| Discovery | 2:30 | 60s |
| Architecture | 3:30 | 60s |
| Kanban | 4:30 | 60s |
| Agents | 5:30 | 90s |
| Model Selection | 7:00 | 30s |
| Code Review | 7:30 | 90s |
| Quality Gates | 9:00 | 60s |
| CONTINUITY | 10:00 | 60s |
| Memory | 11:00 | 60s |
| Completion | 12:00 | 60s |
| Recap | 13:00 | 60s |
| CTA | 14:00 | 30s |
**Total: ~14.5 minutes**