(CASE STUDY · 06)
EDUORCHESTRATE
- Agent Skill
- Node.js CLI
- Local-First
- GitHub Actions
- MCP
EduOrchestrate turns a target job role into a daily learning loop inside the AI coding agent a learner already uses. One command writes the plan, an adapter for each agent and a workflow for the daily email. Every day is one topic, one build artifact and one review.
- ROLE
- Product, CLI & Site
- TIMELINE
- 7 Months
- YEAR
- 2025-2026
- TEAM
- Solo
(MY ROLE)
- Designed and built the CLI: 13 modules, 14 subcommands and no runtime dependencies.
- Wrote the /eduorchestrate skill and the generator that writes an adapter for 7 agent runtimes.
- Built the SMTP mailer, the live link resolver and a generated GitHub Actions workflow for the daily send.
- Designed and shipped eolearn.vercel.app and its docs, and after launch modelled the system in LikeC4.
- (WHY IT EXISTS)
- Job-seeking learners already spent the day inside a coding agent. Their study plan sat outside it, in course dashboards, with no record of what they had built. EduOrchestrate moved the plan into the agent and asked for one logged artifact a day.
- (THE FIRST ATTEMPT NEVER SHIPPED)
- It started in December 2025 as a watsonx Orchestrate ADK experiment: IBM's tutorial hello-world agent and a README that planned a release before March 2026. Nothing shipped. In June 2026 it was replaced by a Node CLI and one skill any coding agent can run.
- (WHAT CHANGED IN 10 DAYS)
- The first CLI commit landed on 10 June 2026. In the next 10 days one tuned blueprint became 4, port 465 gained STARTTLS on 587, search links became resolved videos and repos, and 4 tests became 17. Version 0.4.2 reached npm on 20 June.
Process
-
01
Research & Context
Mapped where each coding agent reads its instructions: .claude/ for Claude Code, AGENTS.md for Codex, GEMINI.md for Gemini, a server manifest for MCP clients. Each has its own place, so the plan could not live inside any one of them.
-
02
One Skill, Every Agent
One canonical /eduorchestrate skill, and a generator that writes adapters for Claude Code, Codex, Gemini, OpenClaw, Antigravity, Hermas and MCP clients on setup.
-
03
Plan & Proof
The plan had to ask for proof, not track reading. Each day names a build task and the artifact it leaves. In Claude Code, /eduorchestrate-log asks for an evidence link before it logs the day, and each logged day moves the terminal card.
-
04
Delivery & Hardening
A zero-dependency SMTP mailer, and a generated GitHub Actions workflow that runs send-today from a repo clone: it works out the day from the start date and stops when the plan ends. 4 of the 17 tests cover the day and the stop.
How It Works
Setup is a single npx command. After that the learner's agent runs the loop: load the harness, check status, research the day, build, log the proof. Setup also writes a GitHub Actions workflow that runs send-today on a cron from a clone of the EduOrchestrate repo, so the day's email can go out with the laptop shut.
WHAT GOES WHERE
- data/
- The plan, the research digests, the progress log and the cards. Git-ignored.
- eduorchestrate.config.json
- The learner profile and the schedule, with schedule.startDate. Safe to commit: no secrets.
- .env.local
- SMTP settings for sends from the learner's machine. Git-ignored.
- eduorchestrate-daily.yml
- The daily send on GitHub Actions, run from a clone of the EduOrchestrate repo, with SMTP_* read from Actions secrets.
The Command Center
There is no app to open. The day arrives as an email: the topic, then the top video and repo, resolved live, each above its real URL. The terminal shows progress too: status returns JSON for the agent and the CLI draws the same state as a card, which the email repeats further down.
In The Detail
Each link card puts the title above the real URL, so the learner sees where a click goes. When a lookup fails or runs past 7 seconds, the card falls back to the search itself, marked "verify a result". The progression grid is plain text any agent can print, 7 days to a row: # for done, > for today, a dot for what is still to come.
The Plan
Pick a role and a first skill. The planner matches the role to one of 4 blueprints by keyword (Agentic AI when nothing matches) and moves the first skill to the front. Week one is foundation; after it the build block grows from 45 to 70 minutes a day.
- (A MONTH IS THE FLOOR)
- Asking for 10 days still gives 30. Asking for 45 gives 45, with a fifth phase for the next skill.
- (WHAT A DAY CARRIES)
- A day lists its concepts, 4 search entry points, a build task, 3 review questions and a bridge to the next day. From day 16, every artifact improves the capstone.
(SCOPE)
- role blueprints
- 4
- daily topics written into them
- 120
- day minimum per plan
- 30
The Site
eolearn.vercel.app landed whole in its repo's first commit on 12 June and the docs page on 13 June, 16 commits in all by 15 June. It uses the product's own orange, Georgia serif and terminal cards. The docs list every command with its key flags, and the adapter file each agent reads. The home page offers 4 role blueprints; the docs also cover the one-command setup, a typical day and a doctor for failed runs.
-
Role blueprints
-
Quickstart
-
Daily workflow
-
Troubleshooting