openclaw/skills/srs-learn/SKILL.md
Turn SRS knowledge base docs into hands-on learning sessions:
memory/srs-*.mdBefore starting a learning session:
SRS_ROOT dynamically:
SRS_ROOT env is set and contains trunk/src, use it.trunk/src, use that.~/git/srs/trunk/src exists, use ~/git/srs.memory/srs-*.md.st-develop for ST/coroutines). A specialized skill is required — if none exists, abort (see Step 3).Follow this sequence every time.
Do not skip user choice steps.
List all matching files: memory/srs-*.md.
Ask the user:
If the user already specifies the KB, proceed directly.
Read the selected KB fully.
Extract concrete, teachable sections and present them as a numbered menu. For each item, include:
Keep the menu concise and actionable (typically 3-8 items).
Ask the user to select one item before continuing.
After the user picks a section, identify the matching specialized skill.
srs-learn cannot create, build, or run utests on its own. It relies entirely on the specialized skill for:
Example: for ST/coroutine topics, use st-develop.
If no matching specialized skill exists for the selected topic, abort the learning task. Tell the user which topic/module lacks a skill and that one needs to be created before this topic can be learned through srs-learn.
Read and follow the specialized skill identified in Step 3. It owns the build/test workflow.
After completing build/run for a lesson, always run the specialized skill's required verifier (if defined) before declaring completion.
By default, create a new, standalone utest file so each lesson has a clean, isolated artifact to study. If the user explicitly asks to continue in a specific existing utest file, modify that file instead.
Teach in this order:
Both build success and run success are required before the lesson is considered complete. If either fails, debug and fix, then retry. If blocked, explicitly report the blocker and current failure output.
Unit test guidelines:
After running the test, explicitly teach the workflow:
Then give a debugging walkthrough:
Ask short mastery-check questions:
If the user wants more practice:
Use this response structure during learning sessions:
Keep explanations technical and direct. Prioritize concrete code behavior over abstract theory.