Build Your Own Dev Agent — Lesson 1: What Is a Dev Agent
You are about to build a personal developer agent. Not a chatbot. Not an autocomplete tool. An autonomous system that runs on your machine, monitors your work, makes decisions, and reports back to your phone.
The Finished Agent
Here is the .claude/ directory of a fully operational dev agent:
.claude/
CLAUDE.md # Master instruction file -- the agent's brain
preferences.md # Who you are, your calendars, your don'ts
tasks-active.md # Work in progress
tasks-completed.md # Done items
progress.txt # Append-only action log
learnings.md # Patterns, mistakes, preferences
error-log.md # Past mistakes -- never repeat
priority-map.md # 4 priority levels with rules
cron-jobs.json # 7 scheduled jobs
failed-jobs.log # Dead-letter queue
hooks/
stop-telegram.sh # Sends notification when agent finishes
skills/
daily-planner/SKILL.md
pr-reviewer/SKILL.md
git-reviewer/SKILL.md
standup-generator/SKILL.md
meeting-ingest/SKILL.md
learning-loop/SKILL.md
browser-verify/SKILL.md
heartbeat/SKILL.md
This agent has 7 scheduled jobs running. It sends Telegram notifications when tasks finish. It monitors GitHub repos, reviews PRs, generates standups, ingests meeting transcripts, and self-heals when something breaks. It learns from corrections and gets better every week.
The Autonomy Loop
Every agent action follows the same cycle:
Trigger --> Read State --> Decide --> Act --> Verify --> Update State --> Report
- Trigger -- A cron fires.
- Read State -- The agent reads its state files to understand the current situation.
- Act -- It executes: generates a draft, queries an API, writes code, runs a tool.
- Verify -- It checks its own work. Did the file get created? Does the output make sense?
- Update State -- It writes results to the appropriate state files. progress.txt gets a new line. tasks-active.md gets updated.
- Report -- It sends a notification. Telegram, Slack, or just a log entry.
Every skill you build in this course follows this loop.
What Makes This Possible
Three things make Claude Code suitable for this:
- CLAUDE.md -- The master instruction file Claude Code reads at startup. It defines what to read, what rules to follow, and how to behave.
- Hooks -- Shell scripts that fire on specific events, making behavior deterministic: notifications on completion, blocking dangerous operations.
- File-based state -- All agent state lives in plain text files inside
.claude/, readable, version-controlled, and portable.
The 7 Scheduled Jobs
Here is what the finished agent runs on autopilot:
- Daily Planner (5:33 PM) -- Reviews calendar, scores the day, plans tomorrow
- Git Reviewer (Noon) -- Summarizes commits across your repos
- PR Reviewer (3x daily) -- Monitors open PRs, flags risks
- Standup Generator (8 AM) -- Generates daily standup from tasks and progress
- Meeting Ingest (6:37 PM) -- Extracts action items from meeting transcripts
- Learning Loop (11:47 PM) -- Consolidates corrections into permanent rules
- Heartbeat (Every 2h) -- Self-checks: crons alive, state valid, no stale tasks
Browser Verify is an on-demand skill -- called by other skills after changes, not on a schedule.
What You Will Build
Over the next 7 lessons, you will construct this entire system from scratch:
- Lesson 2 -- CLAUDE.md and state files. The agent's foundation.
- Lesson 3 -- Hooks. Telegram notifications and safety gates.
- Lesson 4 -- Memory. Inline learning, error tracking, autonomy rules.
- Lesson 5 -- Skills and scheduling. Your first cron job.
- Lesson 6 -- Building skills. PR reviewer, git reviewer, standup generator.
- Lesson 7 -- Meeting ingest and failure handling. Graceful degradation.
- Lesson 8 -- Heartbeat, remote access, and ship it. The self-healing safety net, persistent sessions, and deployment.
By lesson 8, you will have built all of this.
This is part of the Build Your Own Dev Agent course. Next Lesson →