tutor-lesson
Use when the learner wants a guided micro-lesson on one weak tag or one chosen topic (one explanation plus one practice step).
Skill by artemVeduta
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/artemveduta-tutor-lesson
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/tutor-lesson
What's inside
- Skill name
tutor-lesson- Description
- Use when the learner wants a guided micro-lesson on one weak tag or one chosen topic (one explanation plus one practice step). Not for reading comprehension, free writing, vocabulary review, or progress reports.
- License
- MIT
- Instructions
- 58 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
Use this when the learner wants a short guided lesson on one weak area or a topic they
pick. A micro-lesson covers exactly one bounded topic plus a single practice step.
Run only `tutor` for stateful work:
1. If this conversation has no `session_id` yet, call
`tutor session-start --json '{"host":"<host>"}'` first and capture the returned
`session_id` (e.g. `sess_ab12`). Thread that same `session_id` into every later
`tutor` payload this conversation. Never use `"default"`. Never call
`session-close` or `session-end` automatically — only on explicit learner request.
2. Pick one focus: a learner-chosen topic, or a weak tag from
`tutor progress --json '{"session_id":"sess_..."}'`.
3. Generate a candidate lesson (JSON) for the learner's target language and level with one
explanation and one practice step. The `candidate` object must match this schema:
```json
{
"modality": "lesson",
"target_language": "<lang>",
"level_target": "<CEFR level>",
"focus": "<optional weak tag or topic>",
"instructions": "<what the learner should do>",
"content": "<the explanation>",
"questions": ["<practice prompt>"],
"answer_key": ["<expected answer>"],
"rubric": [],
"tags": ["<topic tag>"]
}
```
Required: `modality`, `target_language`, `level_target`, `instructions`, `content`,
and at least one of `answer_key` or `rubric`. `focus` defaults to `""`; `questions`,
`rubric`, `tags` default to `[]`.
4. Validate it: `tutor lesson start --json '{"session_id":"sess_...","candidate":{...}}'`.
5. If validation fails, regenerate the candidate once, then validate again. After one
failed repair, stop and tell the learner the lesson could not be prepared.
6. Before showing the lesson to the learner, checkpoint it:
`tutor checkpoint --json '{"session_id":"sess_...","modality":"lesson","step_kind":"prompt_shown","prompt_ref":"<id>","state":{"step_index":0,"total_steps":2},"summary":"<short>"}'`.
7. Ask `tutor-judge` for a `FeedbackEnvelope` JSON object about the practice answer.
8. Persist: `tutor lesson record --json '<TextModalityRecordInput with "session_id":"sess_...">'`.
9. Render feedback with `tutor render feedback --json '<feedback>'`.
The CLI owns validation, output budgets, scoring metadata, persistence, and progress.
Do not invent corrections, persist directly, render through another LLM step, or expand
the lesson beyond one bounded topic.
## Payload schemas (build every request against these)
Read the referenced `schemas/*.schema.json` before constructing the payload; do not guess fields.
- `session-start` input: `{"host":"claude|codex|openclaw|hermes","host_conversation_id"?:str}` → output `schemas/boot_result.schema.json`.
- `progress` input → `schemas/progress_request.schema.json`.
- `lesson start` input: `{"session_id":"sess_...","candidate":{...}}`; `candidate` → `schemas/lesson_exercise.schema.json` (also inlined in step 3).
- `checkpoint` input → `schemas/checkpoint.schema.json`. Required: `session_id`, `modality`, `step_kind`, `summary`. `prompt_ref` exists at BOTH the top level and inside `state` — when you have a prompt id, set `state.prompt_ref` (not only the top-level one). `state` also takes `step_index`, `total_steps`, `modality_hint`, `labels` (≤16).
- `lesson record` input (`TextModalityRecordInput`) → `schemas/text_modality_record.schema.json`; `candidate_feedback` → `schemas/feedback_envelope.schema.json`.
- `render feedback` input → `schemas/feedback_envelope.schema.json`.From artemVeduta/lingo-loop, MIT.
More from artemVeduta/lingo-loop
- 0.479score
tutor-progress
artemVeduta
Use when learner wants progress, exportable progress reports, next focus, due counts, weak patterns, maturity, local status, or cost status.
SkillCFreshness: CClaude Code +9 - 0.474score
tutor-reading
artemVeduta
Use when the learner wants to read a passage and answer comprehension questions, or reconstruct a text transcript drill (text-only, no audio).
SkillCFreshness: CClaude Code +9 - 0.474score
tutor-book
artemVeduta
Use when the learner has their OWN book or text in front of them and wants on-the-spot lookups of words, sentences, or passages they don't understand, or to…
SkillCFreshness: CClaude Code +9 - 0.474score
hotfix
artemVeduta
Use when patching a bug in an already-released production version, hotfixing a shipped release, applying an emergency fix off the latest production tag, or…
SkillCFreshness: CClaude Code +9 - 0.474score
docs-add
artemVeduta
Scaffold a new OKF concept in the docs/ bundle (Decision, Specification, Convention, Glossary, Reference) or a subsystem index node, with conformant…
SkillCFreshness: CClaude Code +9 - 0.474score
docs-validate
artemVeduta
Validate the docs/ OKF bundle for conformance (parseable frontmatter + non-empty type) and report soft warnings.
SkillCFreshness: CClaude Code +9 - 0.474score
feature-flow
artemVeduta
Use when the user says "/feature <slug> '<intent>'", "start a feature", "new feature with spec", "feature flow", "spec-then-implement a feature", or otherwise…
SkillCFreshness: CClaude Code +9 - 0.470score
tutor-writing
artemVeduta
Free writing prompt and structured feedback orchestration.
SkillCFreshness: CClaude Code +9 - 0.470score
pre-release-checks
artemVeduta
Use when about to cut a release, tag a version, publish to PyPI, or the user says "/pre-release", "before I cut a release", "verify release readiness"…
SkillCFreshness: CClaude Code +9 - 0.470score
release-cut
artemVeduta
Use when the user says "cut release X.Y.Z", "/release-cut X.Y.Z", "open release PR", "prepare release branch", or otherwise asks to start a release of…
SkillCFreshness: CClaude Code +9 - 0.470score
tutor-vocab
artemVeduta
Practice due vocabulary through the local tutor CLI.
SkillCFreshness: CClaude Code +9 - 0.464score
tutor-setup
artemVeduta
Onboard or edit local language tutor profile and preferences.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 31, 2026 (5 months ago)
- Last release
- Jun 22, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/artemVeduta/lingo-loop
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from artemVeduta
- 0.479score
tutor-progress
artemVeduta
Use when learner wants progress, exportable progress reports, next focus, due counts, weak patterns, maturity, local status, or cost status.
SkillCFreshness: CClaude Code +9 - 0.474score
tutor-book
artemVeduta
Use when the learner has their OWN book or text in front of them and wants on-the-spot lookups of words, sentences, or passages they don't understand, or to…
SkillCFreshness: CClaude Code +9 - 0.474score
feature-flow
artemVeduta
Use when the user says "/feature <slug> '<intent>'", "start a feature", "new feature with spec", "feature flow", "spec-then-implement a feature", or otherwise…
SkillCFreshness: CClaude Code +9 - 0.474score
hotfix
artemVeduta
Use when patching a bug in an already-released production version, hotfixing a shipped release, applying an emergency fix off the latest production tag, or…
SkillCFreshness: CClaude Code +9 - 0.474score
docs-validate
artemVeduta
Validate the docs/ OKF bundle for conformance (parseable frontmatter + non-empty type) and report soft warnings.
SkillCFreshness: CClaude Code +9 - 0.474score
docs-add
artemVeduta
Scaffold a new OKF concept in the docs/ bundle (Decision, Specification, Convention, Glossary, Reference) or a subsystem index node, with conformant…
SkillCFreshness: CClaude Code +9
Cite this page
tutor-lesson skill. Agent Mart. https://agentmart.dev/skills/artemveduta-tutor-lesson (last updated 2026-10-24)