← 返回 Skills 市场
sagarmainkar

Learning Loop - GEARS System

作者 Sagar · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
303
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install learning-loop-skill
功能描述
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.,...
使用说明 (SKILL.md)

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:

  1. Parses topic, researches it, breaks into a curriculum (15-20 subtopics ordered by prerequisites)
  2. Generates a self-contained playbook.md — complete instructions for ALL sessions
  3. Creates state.json — progress tracker and baton between sessions
  4. Shows schedule to user, gets confirmation
  5. Creates cron jobs for S1-S4 (S4 creates S5 when it finishes)
  6. 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:

  1. Research advanced topics beyond what's been mastered
  2. Write curriculum-preview.md
  3. Notify user: "2 topics remaining. Previewing next phase: [topics]. Continue?"
  4. On confirmation (or 24h default): append to curriculum, continue

Scripts

  • scripts/create_pipeline.sh \x3Ctopic-slug> — Create folder structure + initial state.json
  • scripts/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":

  1. No further crons are created automatically
  2. User is notified with the specific subtopic and score
  3. User can: adjust curriculum (remove/reorder subtopics), add prerequisite subtopics, or manually set status back to "in_progress" and currentSession to "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)
安全使用建议
What to check before installing: - Review and backup ~/.openclaw/cron/jobs.json and your OpenClaw workspace; the skill will append cron jobs there. Confirm you are comfortable with scheduled autonomous runs it will create. - Inspect the generated playbook.md and state.json before allowing the skill to create cron jobs — cron payloads point at those files and will make isolated agents execute them. - Note the scripts assume a POSIX shell and python3 (check_progress.sh uses python3). The skill metadata lists no required binaries; consider adding/ensuring python3 is available or test scripts manually first. - Ensure your platform's notification/delivery tools (Telegram, etc.) won’t cause unintended external notifications or reveal credentials — this skill can add 'delivery' entries if your state.json enables notifications. - Prefer running create_pipeline.sh manually (or in a sandbox) for a single topic first to observe what files and cron entries are created. If possible, inspect the cron job entries after creation and before the system processes them. - If you do not fully trust the skill source, avoid granting it ability to write the cron jobs file; instead let it produce playbook and state files and create scheduled runs manually. If you want, I can list the exact files/lines that modify ~/.openclaw/cron/jobs.json and highlight where to intercept or validate them before they run.
功能分析
Type: OpenClaw Skill Name: learning-loop-skill Version: 1.0.0 The skill implements an autonomous learning system that requires the agent to programmatically modify its own execution schedule by reading and writing to the OpenClaw cron configuration file (~/.openclaw/cron/jobs.json). While this supports the stated goal of multi-session automation, it creates a high-risk RCE surface via indirect prompt injection. Since the agent is instructed to fetch external web content during the 'Gather' phase (S1) and store it in files that dictate the behavior of subsequent automated sessions, a malicious website could potentially influence the agent to inject unauthorized or harmful tasks into the cron scheduler. These instructions are primarily found in SKILL.md and references/playbook-template.md.
能力评估
Purpose & Capability
The skill's stated goal (set up cron-driven GEARS learning pipelines) aligns with the code and SKILL.md: it creates a workspace folder, playbook, state.json, and appends cron jobs. However metadata declares no required binaries/env but the shipped scripts assume a POSIX shell and python3; also the skill writes to a global scheduler file (~/.openclaw/cron/jobs.json), which is high-privilege but consistent with scheduling behavior.
Instruction Scope
The instructions tell the agent and cron workers to read/write files under the OpenClaw workspace and to read/append ~/.openclaw/cron/jobs.json. They also instruct the use of external search tools (web, Tavily, SerpAPI) and to use the platform's delivery/messaging tool if notifications are enabled. Reading/writing the cron jobs file and creating autonomous isolated agent jobs is expected for this skill but expands scope to platform scheduling; the SKILL.md does not explicitly require or document the need for python3 or a shell environment even though scripts rely on them.
Install Mechanism
No install spec (instruction-only with bundled scripts). No remote downloads or package installs are present. This is low risk from an installer perspective, but the skill will write files into the user's OpenClaw workspace and into ~/.openclaw/cron — so the installation is not 'no-impact.'
Credentials
The skill declares no required environment variables or credentials, which matches that it doesn't directly call external APIs requiring keys. It does honor OPENCLAW_WORKSPACE if present. It also references external search tools (Tavily, SerpAPI) but treats them as optional fallbacks; absence of API keys is handled by falling back to training knowledge. No secrets are requested directly—this is proportionate—but you should confirm that your platform's delivery tools (Telegram, etc.) don't expose tokens via the skill at runtime.
Persistence & Privilege
The skill will append jobs to ~/.openclaw/cron/jobs.json, creating autonomous scheduled agent runs. While this is the skill's stated purpose, granting any skill the ability to schedule future isolated agent runs is a meaningful privilege. The skill is not marked always:true, so it won't be forced into every agent, but once installed and run it persists state and schedules further autonomous runs. You should be comfortable with that level of persistence and verify cron job contents before they are written.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install learning-loop-skill
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /learning-loop-skill 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of the learning-loop-skill: autonomous, structured mastery of complex topics using the GEARS feedback loop. - Enables multi-day, cron-driven learning with five-session loops: Gather, Execute, Analyze, Retry, Synthesize. - Automatically builds a prerequisite-ordered curriculum (15–20 subtopics) per user request. - Generates a fully self-contained playbook, dynamic state management, and session output files for each topic. - Sets up and manages isolated cron jobs for every learning session, including notification support. - Includes built-in commands for pause, resume, and user intervention when progress stalls. - Designed for topics with clear right/wrong answers, not quick overviews or opinion-based learning.
元数据
Slug learning-loop-skill
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

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。

💬 留言讨论