lesson-script
Fast relay lesson for Practice Map — one chat-model round, salvage, convert, scripted wiring.
Skill by vasyapym
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/vasyapym-lesson-script
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: productivity
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 and code. 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/lesson-script
What's inside
- Skill name
lesson-script- Description
- Fast relay lesson for Practice Map — one chat-model round, salvage, convert, scripted wiring.
- License
- MIT
- Instructions
- 25 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- files: referenced but missing: scripts/wire-lesson.mjs
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
# Lesson script
Fast track for a Practice Map lesson: one relay round to a chat model drafts a free-form Russian essay **together with its integration payload** (practice prompt, check prompt, theory); this runbook salvages mechanically, converts, and wires it. The recipe and gates live in `docs/agents/lesson-pipeline.md`; the deep, quality-looped track is `/lesson-iteration`. Run only when explicitly invoked; the argument is the topic, and an essay pasted by the owner replaces the relay round.
## Context economy
The essay must never pass through the agent's context: the owner's reply is written straight to the lesson file, and the agent reads only converter diagnostics (counts, warning lines), editing by grep targets. Bulky artifacts (emitted TS, diffs) live in `/tmp` or `agent2/` and are inspected with `grep`, `diff`, `sed -n`, or handed to a sub-agent that returns only the verdict; anything printed into this run's own context stays ≤ a few KB. Verify doc/config claims with `curl -s <url> | grep <flag>` — a full-file webfetch is a context sink. No local environment (e.g. no `redis-server`) → mark the claims not executed and move on. The `curriculum.ts`/`tiers.ts` schemas live in `scripts/wire-lesson.mjs`; read neither file.
## What is authored where
The chat model (relay round) authors the human payload appended to the essay: `practicePrompt`, `checkPrompt`, and the theory object (`problem`/`model`/`mechanics`/`pitfalls`/`whenNot`). `wire-lesson` derives everything else mechanically: `id` from the filename slug, `title` from the H1, `summary` from the first paragraph, `tier: 1`, `complexity: 4`, `references: []`, card id `<id>-full`, area title/description from title/summary. The orchestrator authors nothing. A non-representative first paragraph (e.g. a spoiler warning) is fixed at wire time with `--summary` — a one-off rescue flag, not a relay-contract item. A legacy full-meta lesson (all fields in the comment) wires unchanged — explicit meta wins over derivation.
## Ordered steps
1. **Sync.** `git pull --ff-only origin main` (network ops via `/usr/bin/git`). Read `agent2/RELAY-*lesson-log.md` for pipeline decisions; create a per-topic log beside them if the topic continues across sessions. Done when: tree matches origin.
2. **Relay.** Skip when the owner already brought the essay (with its payload blocks). Else compose the minimal relay prompt from the template in `docs/agents/lesson-pipeline.md` and hand it over for the owner to paste into the chat model. Done when: the owner returns the reply.
3. **Salvage.** Save the reply as `portfolio/projects/practice-map/lessons/NNN-<topic>.md` (`NNN` = highest + 1, never overwrite). The reply carries the payload blocks (`<!-- lesson-meta: {"practicePrompt":…,"checkPrompt":…} -->` and `<!-- lesson-theory: {…} -->`); move them to the top of the file mechanically and keep the essay untouched. Light edits only where diagnostics point: fix the `#` title, repair markdown damage flagged by the converter (`unbalanced **`, `### remnants`), correct claims verified against primary sources. Do not author summary/prompts/theory. Done when: the file parses as comments + essay and wire's pre-flight accepts it; every changed fact is recorded in the topic log.
4. **Convert.** `node scripts/convert-lesson.mjs --selftest`, then emit TS to `/tmp/<topic>-sections.ts` and read only the report tail. Done when: tail section/block counts match the source and there are no unbalanced fences; `--titles` sidecar only when fences exist.
5. **Wire.** `node scripts/wire-lesson.mjs --lesson <md> --sections /tmp/<topic>-sections.ts --tier <tier>` — add `--front` for an English lesson (EN-first rule: EN areas lead the tier's list; Russian lessons append by default). Optional overrides: `--topic-id`, `--area-title`, `--area-description`, `--summary`, `--complexity`, `--references`. Use `--dry` to preview. Done when: it prints `wired: …` and the next-step commands; a re-run rejects the already-wired state.
6. **Validate.** In `portfolio/`: `npm run typecheck && npm run build`, then `node projects/practice-map/tests/practice-map.check.mjs`. The no-Chrome skip is an expected pass. Done when: all green or each failure fixed/reported.
7. **Record + deliver.** Append one project-graph node (kind `iteration`, summary ≤ 200 chars, details in `--meta`), update the topic log, and give the owner a Russian delivery note (lesson path, area, checks run, leftovers). Stage only own paths — `agent2/` is never staged; the closing commit+push of accepted work is pre-approved by the repo's git rules.
Work in Russian for everything the owner reads; keep the operating language of this file.From vasyapym/vasyapym.github.io, MIT.
More from vasyapym/vasyapym.github.io
- 0.644score
minimize-iteration3
vasyapym
Use when delegating to the randomized routing chat model or when a relay prompt failed — reframe the delegation as a question-form refinement, one question…
SkillAFreshness: A★ 20Claude Code +9 - 0.644score
orchestrate
vasyapym
Run the relay loop between this orchestrator session and a designated non-agentic specialist in a separate chat (Claude Opus or similar) that has no tools…
SkillAFreshness: A★ 20Claude Code +9 - 0.641score
minimize-iteration2
vasyapym
Relay self-contained design/code briefs to the owner's chat model and integrate the replies — with a strict minimal-log rule for the results file.
SkillAFreshness: A★ 20Claude Code +9 - 0.638score
design-iteration
vasyapym
Refine interfaces through visual feedback rounds against an append-only liked/rejected ledger.
SkillAFreshness: A★ 20Claude Code +9 - 0.638score
code-iteration
vasyapym
Implement and refine code through small, evidence-backed verification passes.
SkillAFreshness: A★ 20Claude Code +9 - 0.613score
ask-matt
vasyapym
Ask which skill or flow fits your situation.
SkillAFreshness: A★ 20Claude Code +9 - 0.604score
minimize-iteration
vasyapym
Use when work is about to be delegated to a separate chat model — compress the task into the shortest prompt that still carries it, because the router sends…
SkillBFreshness: B★ 20Claude Code +9 - 0.601score
bug-iteration
vasyapym
Fix a reported bug — especially one that has returned after a previous fix — by reproducing it, diagnosing the root cause rather than the symptom, gating…
SkillBFreshness: B★ 20Claude Code +9 - 0.601score
custom-learning
vasyapym
Guide technology learning in Russian, one subcard at a time, through interactive Practice Map artifacts and proof-of-skill projects.
SkillBFreshness: B★ 20Claude Code +9 - 0.598score
design-planning
vasyapym
Compare design alternatives and settle the direction before implementation.
SkillBFreshness: B★ 20Claude Code +9 - 0.598score
planning
vasyapym
Turn an approved direction into a deterministic implementation and verification plan.
SkillBFreshness: B★ 20Claude Code +9 - 0.598score
lesson-iteration
vasyapym
Draft, deepen, review, and integrate a comprehensive Russian-language lesson into Practice Map.
SkillBFreshness: B★ 20Claude Code +9
Signals
- Stars
- 20
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 28, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/vasyapym/vasyapym.github.io
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from vasyapym
- 0.644score
orchestrate
vasyapym
Run the relay loop between this orchestrator session and a designated non-agentic specialist in a separate chat (Claude Opus or similar) that has no tools…
SkillAFreshness: A★ 20Claude Code +9 - 0.644score
minimize-iteration3
vasyapym
Use when delegating to the randomized routing chat model or when a relay prompt failed — reframe the delegation as a question-form refinement, one question…
SkillAFreshness: A★ 20Claude Code +9 - 0.641score
minimize-iteration2
vasyapym
Relay self-contained design/code briefs to the owner's chat model and integrate the replies — with a strict minimal-log rule for the results file.
SkillAFreshness: A★ 20Claude Code +9 - 0.638score
code-iteration
vasyapym
Implement and refine code through small, evidence-backed verification passes.
SkillAFreshness: A★ 20Claude Code +9 - 0.638score
design-iteration
vasyapym
Refine interfaces through visual feedback rounds against an append-only liked/rejected ledger.
SkillAFreshness: A★ 20Claude Code +9 - 0.613score
ask-matt
vasyapym
Ask which skill or flow fits your situation.
SkillAFreshness: A★ 20Claude Code +9
Cite this page
lesson-script skill. Agent Mart. https://agentmart.dev/skills/vasyapym-lesson-script (last updated 2026-10-24)