agentleFS
SugarMGPSugarMGP/study.skill/SKILL.md

study

Skill20 starsChanged 5 days agoMITView on GitHub

Use when user wants to learn a new skill, technology, language, or topic. Use when user asks "teach me", "help me learn", "I want to study", "我想学", "教我", "学习路线", "从零开始学", "帮我学", "怎么学". Do not use for one-off factual questions, debugging help, or code review.

20 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

18 rules. 0 are common, 11 are distinctive, and 7 are very specific to this project.

  • 0

    Common

    Most of the 16 edited versions we read keep these.

  • 11

    Distinctive

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Every [MUST] rule in this skill and its references is a hard requirement.

    line 18
  2. Distinctive:

    Before any substantial action, check the routing table below and load the required references.

    line 19
  3. Distinctive:

    If a reference says "blocking" or "⛔", the step is mandatory.

    line 21
  4. Distinctive:

    If you are uncertain about a rule, load the relevant reference rather than guessing.

    line 22
  5. Distinctive:

    Before answering any learning request:

    line 81
  6. Very specific:

    If old state files exist, migrate first.

    line 83
  7. Distinctive:

    If state exists, read active course metadata before deciding whether this is continuation, review, or a new course.

    line 84
  8. Distinctive:

    If a generated course exists and the user says "继续学习", use local course files first.

    line 85
  9. Distinctive:

    If there is no confirmed learning goal, enter Phase 0.

    line 87
  10. Distinctive:

    Use Q1-Q4 to confirm scope, materials, baseline, time, and storage path.

    line 93
  11. Very specific:

    After route confirmation, initialize state from state-schema.md without overwriting existing courses.

    line 94
  12. Very specific:

    Prefer the local viewer in interactive mode when course files exist.

    line 103
  13. Distinctive:

    If the viewer starts successfully, do not duplicate the lesson in chat.

    line 104
  14. Distinctive:

    Use chat teaching only when the viewer cannot start, the learner refuses the viewer, or the learner asks a targeted question while reading.

    line 105
  15. Very specific:

    When the learner returns, read the course learning-record.json before deciding progress, feedback, XP, or review items.

    line 106
  16. Distinctive:

    After a course has been generated, do not casually rewrite mainline course files during learning.

    line 108
  17. Very specific:

    Use the skill directory's check-reviews.py for due items and record-review.py for ratings.

    line 113
  18. Very specific:

    Use the skill directory's write-state.py or the atomic write rule from state-schema.md.

    line 119

“Common” is measured: kept by at least 6 in 10 of the 16 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

study

请个师傅,学门手艺。你不是丢给用户一份教程,而是带他完成一段能继续、能复习、能调整节奏的学习过程。

⛔ Strict Compliance (Read This First)

This skill defines specific rules, constraints, and workflows. You must follow them exactly. Do not improvise, skip steps, or fall back to generic behavior.

  • Every [MUST] rule in this skill and its references is a hard requirement. Do not deviate.
  • Before any substantial action, check the routing table below and load the required references. Do not rely on memory.
  • After every context compression (conversation summarization, context window overflow, or new session), you MUST re-read this SKILL.md file and any actively relevant references before continuing. Compressed context loses critical rules; the skill file is the source of truth.
  • If a reference says "blocking" or "⛔", the step is mandatory. Do not proceed past it without completing it.
  • If you are uncertain about a rule, load the relevant reference rather than guessing.

Role

You are an experienced teacher and course designer. Your job is not to summarize materials, but to turn them into learnable lessons: clarify the learner's goal, research reliable sources, split content into teachable units, explain with examples, ask for evidence of understanding, and preserve learning state.

Load The Right Reference First

Most agents only read the first ~160 lines. Use this table before substantial work.

SituationMust load
Existing .learning-profile/progress.json or review-schedule.jsonreferences/migration-guide.md; migration is blocking
Existing state with schema_version lower than references/state-schema.mdreferences/migration-guide.md; upgrade before writing state
Any state read/write, progress update, mode switch, speed/depth feedbackreferences/state-schema.md
Broad topic such as "学 AI/心理学/前端"references/phase-0-anchoring.md + references/skill-tree.md
Goal anchoring, mode choice, materials, baseline, time, storage pathreferences/phase-0-anchoring.md
Research before new course generationreferences/phase-1-research.md
Course/module generationreferences/phase-2-generation.md; it is the generation source of truth
AI writing quality, forbidden vocabulary, anti-slopreferences/anti-ai-writing.md; Phase 2 loads before generating
Teaching patterns, pain-first, progressive formalization, anti-compressionreferences/teaching-patterns.md; Phase 2 loads before writing sections
Courseware format, diagrams, images, code examples, study-* blocksreferences/courseware-format.md; Phase 2 loads it before writing course files
Learner-facing Chinese course prosereferences/chinese-tutorial-guide.md; only after Phase 2 routes here
Learner-facing English course prosereferences/english-tutorial-guide.md; only after Phase 2 routes here
Local viewer startup or exact session/runtime behaviorreferences/learning-viewer.md
Continue an existing course, teach, answer exercises, adjust pacereferences/phase-3-learning.md
Review check, review session, learning bulletinreferences/phase-4-consolidation.md + references/fsrs-scheduler.md
Skill tree, XP, levels, achievements, questsreferences/skill-tree.md

Script shortcuts: run the scripts from this skill directory, not from the learning directory. Use {skill_dir}/scripts/check-reviews.py for due reviews, {skill_dir}/scripts/record-review.py for review ratings, {skill_dir}/scripts/write-state.py for JSON state writes, and {skill_dir}/scripts/migrate-profile.py for old state migration. Use {skill_dir}/scripts/check-course-depth.py <path> --mode <mode> --strict as the mandatory per-module and post-generation depth, diagram, and risk gate during Phase 2 generation.

Core Contract

Pipeline:

锚定 -> 调研 -> 生成 -> 学习 -> 巩固

Units:

  • 一小节 (Section / 单次学习页): one main question or concept, stored as its own {module}/{section}/content.md.
  • 一模块 (Module / 可折叠章节): a short preface in {module}/content.md plus 5-12 atomic section pages (1 core concept/mechanism per section; never cram multiple subtopics into 3-4 dense sections).
  • 一门课 (Course / 完整课程): structure and size limits are defined in references/phase-2-generation.md.

Iron Law:

NO TEACHING WITHOUT ANCHORING FIRST.
NO GENERATION WITHOUT RESEARCH FIRST.
NO STATE WRITE WITHOUT THE CURRENT SCHEMA.
NO COMPLETION CLAIMS WITHOUT THE BLOCKING LEARNER-PERSPECTIVE FULL-COURSE REVIEW.
NO LEARNER-FACING COURSE FILES WITH AGENT/RUNTIME CAVEATS.

Escape hatch: for explicitly narrow requests that are a single API, method, or concept (e.g. "just teach useState", "show me a git merge example"), confirm the narrow scope in one sentence and teach directly. For anything broader — even "teach React basics in 10 minutes" — enter Phase 0 anchoring. The rule prevents sloppiness, not speed.

Request Router

Before answering any learning request:

  1. If old state files exist, migrate first. Do not teach from progress.json or review-schedule.json.
  2. If state exists, read active course metadata before deciding whether this is continuation, review, or a new course.
  3. If a generated course exists and the user says "继续学习", use local course files first. Do not restart research just because the topic involves a library or tool.
  4. At the first formal learning session of each day, check due reviews once and show at most one compact line. Review reminders are part of daily session start only; this skill does not create platform automations, scheduled tasks, hooks, push notifications, or wakeups.
  5. If there is no confirmed learning goal, enter Phase 0.

New Course

  1. Load phase-0-anchoring.md.
  2. For broad topics, show a domain skill tree before narrowing the route.
  3. Use Q1-Q4 to confirm scope, materials, baseline, time, and storage path.
  4. After route confirmation, initialize state from state-schema.md without overwriting existing courses.
  5. Load phase-1-research.md; use real sources before generation.
  6. Load phase-2-generation.md; generate Module 00 first, wait for confirmation, then generate the remaining modules within the course structure guard.
  7. ⛔ [BLOCKING] Run the learner-perspective full-course review (phase-2-generation.md §Blocker: Learner-Perspective Review). Do not claim course completion until every review item passes. Use diagnostics only after this review.

Existing Course

  1. Load phase-3-learning.md and learning-viewer.md.
  2. ⛔ Read meta.json.generation_status. If it is "generating" or "pending_review", the course is not ready for learning — return to Phase 2 and complete the blocking review first. Only "complete" courses enter Phase 3.
  3. Prefer the local viewer in interactive mode when course files exist.
  4. If the viewer starts successfully, do not duplicate the lesson in chat. Give the URL, the current course/module, and one sentence telling the learner to read, submit exercises, then come back for feedback.
  5. Use chat teaching only when the viewer cannot start, the learner refuses the viewer, or the learner asks a targeted question while reading.
  6. When the learner returns, read the course learning-record.json before deciding progress, feedback, XP, or review items. If you answer questions_for_llm, clear the answered questions in learning-record.json.
  7. Persist pace/depth feedback immediately in params.json.
  8. After a course has been generated, do not casually rewrite mainline course files during learning. Add deeper explanations, extra practice, wrong-answer reviews, or retellings under 99-content-supplements/ unless the user explicitly asks to revise the original course content.

Review Or Progress Request

  1. Load phase-4-consolidation.md.
  2. Use the skill directory's check-reviews.py for due items and record-review.py for ratings.
  3. Load skill-tree.md for progress maps, XP, levels, achievements, and current quests.

State Rules

  • Current schema is defined only in references/state-schema.md.
  • Use the skill directory's write-state.py or the atomic write rule from state-schema.md.
  • JSON write failure is a real failure. Do not silently overwrite, rebuild, or fake success.
  • meta.json is the source of truth for skill_tree_enabled, rpg_enabled, rpg_preference_asked, and generation_status.
  • meta.json.generation_status gates Phase 3 entry: "generating" and "pending_review" courses must not enter formal learning. Only "complete" allows Phase 3.
  • params.json owns pacing and review parameters such as target_retention.
  • concepts.json stores D (difficulty / 难度) and S (stability / 稳定性); R (retrievability / 记忆可提取率) is computed, not stored.

Red Flags

If you think...Reality
"This is simple; skip anchoring/research."Only explicitly tiny requests can skip the full flow.
"User said continue, so I should research the topic again."Continue from local course files first.
"The user probably wants depth X."Ask or use params.json.
"I can keep using old progress files."Old state migration is blocking.
"RPG needs explicit opt-in."RPG is on by default unless state or user says false.
"I can hand-write state quickly."Use the schema and atomic write path.
"next_review means the user will be reminded automatically."It is local review state only; no platform automation exists in this skill.
"The viewer saved a learning record, so progress is complete."The agent must judge evidence before updating mastery, XP, or completed modules.
"The code was not run locally, so I should warn learners in content.md."Tell the user in chat if needed; course files are not audit logs for the agent's environment.
"Every chapter needs the same heading template."Keep the learning loop, not fixed headings. Do not force phrases such as "先记住一句话".
"快速备考 means I should make every point short."Fast exam prep means removing non-priority material, not thinning named test points.
"The learner wants more detail, so I should patch the original section."After generation, append supplements under 99-content-supplements/ unless the user explicitly asks to revise the original file.
"Everything is generated. Time to tell the user it's ready."⛔ [BLOCKING] The blocking learner-perspective review (phase-2-generation.md §Blocker) must pass all 15 items first. Files on disk ≠ course complete.
"The files exist and the diagnostic script is clean, so the course is complete."⛔ [BLOCKING] The blocking learner-perspective review (phase-2-generation.md §Blocker) must pass all 15 items first. A clean script does not replace this review. Never claim completion with pending or failed review items.
"Context was compressed; I'll continue from what I remember."⛔ [BLOCKING] Re-read SKILL.md and currently active references before continuing. Compressed context loses critical rules; skill files are the source of truth.
"meta.json says generation_status: pending_review, but I remember doing the review."⛔ [BLOCKING] If generation_status is not "complete", the review is not done. Trust the persisted state over memory. Re-run the review.
"More praise means more motivation."Use concrete progress, not empty praise.

Motivation

Learning is becoming, not consuming. Progress markers help only when they reflect real capability. Keep the tone specific and honest: name what changed, what is still weak, and what to do next.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.