/install learning-loop-skill
Learning Loop — The GEARS System
Master complex topics through autonomous cron-based learning using the GEARS feedback loop:
| Phase | Session | What Happens |
|---|---|---|
| Gather | S1 | Research concepts, create test questions |
| Execute | S2 | Take the test blind, document failures |
| Analyze | S3 | Diagnose why you failed, research solutions |
| Retry | S4 | Apply fixes, measure improvement |
| Synthesize | S5 | Validate mastery, adjust schedule |
The agent sets up a learning pipeline during an interactive session; isolated cron agents execute the 5 GEARS sessions autonomously using a pre-generated playbook.
Architecture
When the user says "learn X", the agent:
- Parses topic, researches it, breaks into a curriculum (15-20 subtopics ordered by prerequisites)
- Generates a self-contained
playbook.md— complete instructions for ALL sessions - Creates
state.json— progress tracker and baton between sessions - Shows schedule to user, gets confirmation
- Creates cron jobs for S1-S4 (S4 creates S5 when it finishes)
- Done. Cron agents take over.
Critical design: Isolated cron agents have NO skill context. They read ONLY playbook.md + state.json. The playbook must be completely self-contained.
Setup Flow
Step 1: Parse Topic
Extract topic from user input and slugify:
- "learn machine learning" ->
machine-learning - "teach me database design" ->
database-design - "master Docker" ->
docker
Slugify: lowercase, hyphens for spaces, strip special chars.
Step 2: Research & Build Curriculum
Use available search tools (web search, Tavily, SerpAPI — try what's available, fall back gracefully) to research the topic. Break into 15-20 subtopics ordered by prerequisites.
Write curriculum to curriculum.md with:
- Subtopic name
- Why it matters
- Prerequisites (which earlier subtopics are needed)
- Estimated difficulty (1-3)
Step 3: Generate Playbook
Generate playbook.md from the template in references/playbook-template.md. This is the most important file — customize it for the specific topic but keep the session execution instructions generic and self-contained.
Target: under 200 lines so isolated agents don't hit token limits.
Step 4: Initialize State
Create the folder structure and initial state.json by running the pipeline creation script. The script is located in this skill's scripts/ directory:
bash \x3Cskill-dir>/scripts/create_pipeline.sh \x3Ctopic-slug> "\x3CTopic Display Name>"
Where \x3Cskill-dir> is the directory containing this SKILL.md file. The script respects the OPENCLAW_WORKSPACE env var (defaults to ~/.openclaw/workspace). See references/state-schema.md for all state fields.
Step 5: Show Schedule & Confirm
Display to user:
Learning Pipeline: [Topic]
Curriculum: [N] subtopics starting with "[first subtopic]"
Sessions per day: S1 (research) -> S2 (test) -> S3 (analyze gaps) -> S4 (retry) -> S5 (synthesize)
Timing:
S1: +30 min from now (research + create test questions)
S2: +4 hours (blind test from memory)
S3: +8 hours (diagnose failures + research gaps)
S4: +12 hours (retry with new understanding)
S5: created by S4 on completion (synthesize + decide next)
Notifications: You'll get updates at S2 (initial score), S4 (retry score), and S5 (summary + next steps).
Confirm to start, or adjust timing/notification preferences.
Step 6: Create Cron Jobs
After user confirms, read ~/.openclaw/cron/jobs.json, append 4 cron jobs (S1-S4) to the jobs array, and write back. The file format is { "version": 1, "jobs": [...] } — always preserve existing jobs. S5 is NOT pre-created — S4 creates it when it completes.
Each cron job entry uses this format:
{
"id": "learning-[topic]-s[N]-day[DD]",
"agentId": "main",
"name": "Learning [Topic] S[N] Day [DD]",
"enabled": true,
"createdAtMs": \x3Ctimestamp>,
"updatedAtMs": \x3Ctimestamp>,
"schedule": {
"kind": "once",
"atMs": \x3Ccalculated_timestamp>
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "You are a learning agent. Read this file for complete instructions: memory/learning/[topic-slug]/playbook.md\
\
Then read state.json in the same folder for current session and subtopic.\
\
Your session: S[N]\
\
Execute the session per playbook instructions. Write outputs, update state.json, handle notifications and follow-up crons as specified."
},
"delivery": {
"mode": "announce",
"channel": "telegram",
"to": "\x3Cuser-configured>"
}
}
Important: Calculate atMs timestamps based on user-confirmed timing. Default spacing: S1 +30min, S2 +4h, S3 +8h, S4 +12h from setup time.
If the user has notification preferences configured (Telegram, etc.), set delivery accordingly. Otherwise omit delivery and the playbook instructs agents to write notifications to a file.
Session Summary (GEARS)
| GEARS | Session | What | Key Output |
|---|---|---|---|
| Gather | S1 | Research subtopic, create 10-15 test questions WITH answers | s1-research.md |
| Execute | S2 | Answer questions blind (no peeking), score objectively | s2-test.md, s2-failures.md |
| Analyze | S3 | Diagnose each failure, research gaps specifically | s3-analysis.md |
| Retry | S4 | Re-answer using new understanding, compare scores | s4-retry.md + creates S5 cron |
| Synthesize | S5 | Synthesize, update validated knowledge, decide next subtopic | s5-synthesis.md |
For full session details, see references/methodology.md.
For the playbook template that gets customized per topic, see references/playbook-template.md.
For the state.json schema, see references/state-schema.md.
Folder Structure (Per Topic)
memory/learning/[topic-slug]/
├── playbook.md \x3C- Self-contained instructions for cron agents
├── state.json \x3C- Dynamic progress tracker (baton between sessions)
├── curriculum.md \x3C- Topic breakdown with subtopics
├── sessions/
│ └── day-NN/
│ ├── s1-research.md
│ ├── s2-test.md
│ ├── s2-failures.md
│ ├── s3-analysis.md
│ ├── s4-retry.md
│ └── s5-synthesis.md
└── knowledge/
└── validated.md \x3C- Accumulated mastered knowledge
Scoring & Progression
| S4 Score | Action |
|---|---|
| >= 85% | Mark subtopic mastered, advance to next in curriculum |
| 50-84% | Retry same subtopic tomorrow, focus on remaining gaps |
| \x3C 50% | Flag for user intervention — topic may need prerequisite work |
Curriculum Expansion
When S5 detects currentSubtopicIndex >= curriculum.length - 2:
- Research advanced topics beyond what's been mastered
- Write
curriculum-preview.md - Notify user: "2 topics remaining. Previewing next phase: [topics]. Continue?"
- On confirmation (or 24h default): append to curriculum, continue
Scripts
scripts/create_pipeline.sh \x3Ctopic-slug>— Create folder structure + initial state.jsonscripts/check_progress.sh [topic-slug]— Show status of active learning topics
Pause, Resume & Intervention
Pause: User says "pause learning [topic]" → set status to "paused" in state.json, disable pending cron jobs for that topic in jobs.json.
Resume: User says "resume learning [topic]" → set status to "in_progress", read currentSession from state, create cron jobs from the current session onward.
Intervention (score \x3C 50%): When S5 sets status to "needs_intervention":
- No further crons are created automatically
- User is notified with the specific subtopic and score
- User can: adjust curriculum (remove/reorder subtopics), add prerequisite subtopics, or manually set
statusback to"in_progress"andcurrentSessionto"S1"to retry
When NOT to Use
- Quick overview or summary needed (just answer directly)
- Simple factual question (no learning loop needed)
- User only wants information, not mastery
- Topic too broad without focus (e.g., "learn everything")
- Topic has no clear right/wrong answers (subjective topics don't self-assess well)
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install learning-loop-skill - 安装完成后,直接呼叫该 Skill 的名称或使用
/learning-loop-skill触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Learning Loop - GEARS System 是什么?
Autonomous structured learning for mastering complex topics through cron-based 5-session feedback loops. Use when user wants to deeply learn a subject (e.g.,... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 303 次。
如何安装 Learning Loop - GEARS System?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install learning-loop-skill」即可一键安装,无需额外配置。
Learning Loop - GEARS System 是免费的吗?
是的,Learning Loop - GEARS System 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Learning Loop - GEARS System 支持哪些平台?
Learning Loop - GEARS System 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Learning Loop - GEARS System?
由 Sagar(@sagarmainkar)开发并维护,当前版本 v1.0.0。