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
- halilural/imprimaturtheir own version, first seen Nov 8, 2026
- Sumit189/claude-codestheir own version, first seen Nov 1, 2026
- Slava-code/slava-stacktheir own version, first seen Oct 15, 2026
- gradigit/claude-skillstheir own version, first seen Oct 15, 2026
- JangInho/claude-skillstheir own version, first seen Oct 13, 2026
- pp6235024-bit/claude-skillstheir own version, first seen Oct 11, 2026
Other versions20 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 20
- akashgit/remote-factory★ 74same name
- boston-harness-group/remote-factory★ 74same name
- mordor-forge/study-skill★ 46same name
- flc1125/skills★ 38same name
- alexiocassanifm/anthropic-certifications★ 36same name
- WahyuS002/skills★ 5same name
- WindyITS/skills★ 5same name
- froster02/mini-Brain_skills★ 4same name
- matvej-melikhov/karpathy-llm-wiki★ 2same name
- Sumit189/claude-codes★ 1same name
10 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
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
- Very specific: line 18
Every [MUST] rule in this skill and its references is a hard requirement.
- Distinctive: line 19
Before any substantial action, check the routing table below and load the required references.
- Distinctive: line 21
If a reference says "blocking" or "⛔", the step is mandatory.
- Distinctive: line 22
If you are uncertain about a rule, load the relevant reference rather than guessing.
- Distinctive: line 81
Before answering any learning request:
- Very specific: line 83
If old state files exist, migrate first.
- Distinctive: line 84
If state exists, read active course metadata before deciding whether this is continuation, review, or a new course.
- Distinctive: line 85
If a generated course exists and the user says "继续学习", use local course files first.
- Distinctive: line 87
If there is no confirmed learning goal, enter Phase 0.
- Distinctive: line 93
Use Q1-Q4 to confirm scope, materials, baseline, time, and storage path.
- Very specific: line 94
After route confirmation, initialize state from state-schema.md without overwriting existing courses.
- Very specific: line 103
Prefer the local viewer in interactive mode when course files exist.
- Distinctive: line 104
If the viewer starts successfully, do not duplicate the lesson in chat.
- Distinctive: line 105
Use chat teaching only when the viewer cannot start, the learner refuses the viewer, or the learner asks a targeted question while reading.
- Very specific: line 106
When the learner returns, read the course learning-record.json before deciding progress, feedback, XP, or review items.
- Distinctive: line 108
After a course has been generated, do not casually rewrite mainline course files during learning.
- Very specific: line 113
Use the skill directory's check-reviews.py for due items and record-review.py for ratings.
- Very specific: line 119
Use the skill directory's write-state.py or the atomic write rule from state-schema.md.
“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.
Files
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.mdfile 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.
| Situation | Must load |
Existing .learning-profile/progress.json or review-schedule.json | references/migration-guide.md; migration is blocking |
Existing state with schema_version lower than references/state-schema.md | references/migration-guide.md; upgrade before writing state |
| Any state read/write, progress update, mode switch, speed/depth feedback | references/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 path | references/phase-0-anchoring.md |
| Research before new course generation | references/phase-1-research.md |
| Course/module generation | references/phase-2-generation.md; it is the generation source of truth |
| AI writing quality, forbidden vocabulary, anti-slop | references/anti-ai-writing.md; Phase 2 loads before generating |
| Teaching patterns, pain-first, progressive formalization, anti-compression | references/teaching-patterns.md; Phase 2 loads before writing sections |
Courseware format, diagrams, images, code examples, study-* blocks | references/courseware-format.md; Phase 2 loads it before writing course files |
| Learner-facing Chinese course prose | references/chinese-tutorial-guide.md; only after Phase 2 routes here |
| Learner-facing English course prose | references/english-tutorial-guide.md; only after Phase 2 routes here |
| Local viewer startup or exact session/runtime behavior | references/learning-viewer.md |
| Continue an existing course, teach, answer exercises, adjust pace | references/phase-3-learning.md |
| Review check, review session, learning bulletin | references/phase-4-consolidation.md + references/fsrs-scheduler.md |
| Skill tree, XP, levels, achievements, quests | references/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.mdplus 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:
- If old state files exist, migrate first. Do not teach from
progress.jsonorreview-schedule.json. - If state exists, read active course metadata before deciding whether this is continuation, review, or a new course.
- 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.
- 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.
- If there is no confirmed learning goal, enter Phase 0.
New Course
- Load
phase-0-anchoring.md. - For broad topics, show a domain skill tree before narrowing the route.
- Use Q1-Q4 to confirm scope, materials, baseline, time, and storage path.
- After route confirmation, initialize state from
state-schema.mdwithout overwriting existing courses. - Load
phase-1-research.md; use real sources before generation. - Load
phase-2-generation.md; generate Module 00 first, wait for confirmation, then generate the remaining modules within the course structure guard. - ⛔ [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
- Load
phase-3-learning.mdandlearning-viewer.md. - ⛔ 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. - Prefer the local viewer in
interactivemode when course files exist. - 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.
- Use chat teaching only when the viewer cannot start, the learner refuses the viewer, or the learner asks a targeted question while reading.
- When the learner returns, read the course
learning-record.jsonbefore deciding progress, feedback, XP, or review items. If you answerquestions_for_llm, clear the answered questions inlearning-record.json. - Persist pace/depth feedback immediately in
params.json. - 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
- Load
phase-4-consolidation.md. - Use the skill directory's
check-reviews.pyfor due items andrecord-review.pyfor ratings. - Load
skill-tree.mdfor 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.pyor the atomic write rule fromstate-schema.md. - JSON write failure is a real failure. Do not silently overwrite, rebuild, or fake success.
meta.jsonis the source of truth forskill_tree_enabled,rpg_enabled,rpg_preference_asked, andgeneration_status.meta.json.generation_statusgates Phase 3 entry:"generating"and"pending_review"courses must not enter formal learning. Only"complete"allows Phase 3.params.jsonowns pacing and review parameters such astarget_retention.concepts.jsonstores 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.
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
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.

