SuperAPI AI Directory

sijiao-skill

Writing & research

View repository

Updated 10-16 08:33

About this skill

Private Tutor · Skill Distillation Art (Teach a man to fish)

"A colleague distills a person, Nüwa distills a mode of thinking, a master distills an entire line's OS, a private tutor distills a path that lets you learn it yourself."

Core Philosophy

master-skill lets the agent for youmake expert judgments; Private Tutor.skill lets the agent turn you intoa person who knows this skill.

A good {skill}-learn is not a curriculum encyclopedia, but arunnable path from 0 to competence, in three layers:

  • Curriculum layer curriculum.json / curriculum.md — prerequisite ordering, Dreyfus-staged modules, each with objectives / resources / exercises / milestones
  • Teaching layer SKILL.md — load state → locate → teach according to the pedagogy protocol → assign and grade problems
  • Profile layer learner-state.json — progress / mistakes / spaced repetition / check-ins (private, not committed to git)

For methodology see references/pedagogy-framework.md, for artifact templates see references/skill-template.md。

Scope constraints (important)

  • The framework sets no hard boundaries: any skill can be distilled into a curriculum; but what AI cannot teach (real feedback from crafts / the body / social interaction) ishonestly labeledand redirected to uploads / offline / real people (route 7), without pretending it can grade.
  • Ceiling = competent: the private tutor takes you to "able to independently do routine tasks"; beyond that (proficient / expert) depends on years of real practice — say it plainly, do not boast about "becoming an expert".
  • Prioritize the sweet spot as samples: cognitive / knowledge-based skills (programming / math / language reading) first, see prototypes/。

path placeholders

All artifacts land inside the generated skill's own directory, self-contained:

{skill-slug}-learn/   ← Phase 3 产出(结构见 references/skill-template.md)

Execution Flow

Phase 0 · Skill clarification + learner profile

According to prompts/intake.md: narrow overly broad skills, collect level / goals / time budget / locale, detect skill type (to set honest-limits). Produce intake.json。

  • update 私教 X → Phase 0C: only rerun the fast-decaying routes 2/4/7, patch into the existing skill, protect the DAG + pedagogy (SLOW_UPDATE zone).

Phase 1 · 8-track parallel research

According to prompts/research/01-08.md(source standards see prompts/_source_id_manifest.md) launch 8 sub-agents:

Track Topic Track Topic
1 Knowledge map / prerequisite dependencies 5 Common blockers / misconceptions / plateaus
2 Canonical textbooks and courses 6 Ability assessment / milestones
3 How experts learned it back then 7 Feedback and communities
4 Deliberate practice / problem banks 8 Motivation · habits · rhythm

Each track writes references/research/0N-*.md, and every conclusion carries source_id。

  • Research review gate: have the user confirm research quality before proceeding (garbage input pollutes downstream).

Phase 2 · Framework distillation

According to prompts/synthesis.md + references/pedagogy-framework.md: build the prerequisite DAG (validate_dag via) → Dreyfus stages (ceiling: competent) → fill each module (Bloom objectives / canonical resources / ≥1 assessable exercise / behavioral milestones / honest_limit) → weave in checkpoints → triple validation (prerequisites justified / resources independently recommended / exercises assessable).

  • Distillation review gate: first give the course skeleton (modules + order) for the user to confirm, then fill it all in.

Phase 3 · Write the skill

Following references/skill-template.md generate a three-layer directory:

  • curriculum.json →(tools/curriculum_builder.py:validate_dag → topo_sort → segment_by_dreyfus → render_curriculum_md)→ curriculum.md
  • Teaching layer SKILL.md(fill the template: course-start protocol reads learner-state.json, pedagogy protocol, call tools/learner_state.py to update the profile)
  • learner-state.example.json + pedagogy.md + meta.json + references/research/ leave a trace

Phase 4 · Quality check

Following prompts/quality_check.md run 10 items (first-hand source rate / DAG acyclic and justified / every module has an assessable exercise / behavioral milestones / Bloom progression / honest ceiling / resources real and specific / honest boundaries complete / learner-state wired up / locale consistent). The validation gate outputs accept / conditional / reject + specific fixes. Critical failures (blacklisted sources / cycles / modules without exercises / claiming "expert") are an automatic veto.

Phase 5 · Dual-agent refinement

One agent plays a zero-foundation learner going through the course start, the other checks "activation means course start" and "whether adaptation really uses the profile", and they refine until it flows.

Call the generated skill

> 学 rust            # 没装过 → 触发本 skill 蒸一个 rust-learn
> 继续学 rust         # 已有 rust-learn → 读档接着教
> 考我 rust 所有权     # 触发对应模块的检索练习
> update 私教 rust    # 半年后增量刷新资源 / 工具

Install to any host:python3 tools/install.py install --host claude --source ./rust-learn。

Taste guidelines (quick reference)

  • A course is apathnot a reading list; every module must have a "sign you've got it" + an assessable exercise.
  • Order by real prerequisites, not by the table of contents.
  • Honesty > completeness: say plainly what can't be taught, say plainly when expert level can't be reached.
  • Personal tutorremembers you: reads the profile every time, adapts to the profile, doesn't repeatedly ask "where are you up to".

Relationship to other skills

  • Colleague.skill distills what a specific person does.
  • Nüwa.skill distills how anyone thinks.
  • Master.skill distills a whole field's cognition + workflow + tools (give a man a fish)。
  • Personal-tutor.skill distills a path that lets you learn it yourself (teach a man to fish). Phase 3 can optionally call Nüwa to distill "the best teacher of this subject" as a sub-skill.