tutor-writing
Free writing prompt and structured feedback orchestration.
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-writing
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, agent-building
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
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/tutor-writing
What's inside
- Skill name
tutor-writing- Description
- Free writing prompt and structured feedback orchestration.
- License
- MIT
- Instructions
- 24 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (2)
- SKILL.md
- run.py · scripts/
SKILL.md (first lines)
Use this when learner wants free writing or structured correction.
Flow:
1. If this conversation has no `session_id` yet, FIRST run `tutor session-start --json '{"host":"<host>"}'` and capture `session_id` from the response. Do this before any other `tutor` call. No SessionStart hooks — session-start is the boot path.
2. Get prompt with `tutor writing prompt --json`.
3. IMMEDIATELY, before showing the prompt to the learner, call `tutor checkpoint --json '{"session_id":"sess_...","modality":"writing","step_kind":"prompt_shown","prompt_ref":"<prompt_id>","summary":"<short>"}'`.
4. Ask `tutor-judge` for a `FeedbackEnvelope` JSON object.
5. Persist validated feedback with `tutor writing record --json '<payload>'`. The payload MUST include `"session_id":"sess_..."` (never `"default"`).
6. Render with `tutor render feedback --json '<feedback>'`.
Do not persist directly or render through another LLM step. Do NOT call `tutor session-close` or `session-end` automatically — only when the learner explicitly ends the session.
## 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`.
- `writing prompt`: no input → output fields `prompt_id`, `prompt`, `fit`, `learner_provided_allowed`.
- `checkpoint` input → `schemas/checkpoint.schema.json`. Required: `session_id`, `modality` (`writing`), `step_kind` (`prompt_shown`), `summary`. `prompt_ref` exists at BOTH the top level and inside `state` — set `state.prompt_ref` to the prompt id, not only the top-level field. `state` also takes `step_index`, `total_steps`, `modality_hint`, `labels` (≤16).
- `writing record` input (`WritingRecordInput`): `{"session_id":"sess_...","prompt_id":str,"learner_answer":str,"candidate_feedback":{...}}`; `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-lesson
artemVeduta
Use when the learner wants a guided micro-lesson on one weak tag or one chosen topic (one explanation plus one practice step).
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-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
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.470score
tutor-vocab
artemVeduta
Practice due vocabulary through the local tutor CLI.
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.464score
tutor-judge
artemVeduta
Grades a learner answer and returns only a FeedbackEnvelope JSON object using the supplied allowed_error_tags.
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-writing skill. Agent Mart. https://agentmart.dev/skills/artemveduta-tutor-writing (last updated 2026-10-24)