Write the tutorial content (`output/TUTORIAL.md`) from an approved module plan, including exercises and answer outlines. **Trigger**: write tutorial, tutorial modules, 教程写作, TUTORIAL.md. **Use when**: tutorial pipeline 的写作阶段(C3),且 `DECISIONS.md` 已记录 HUMAN 对 scope/running example 的批准(C2)。 **Skip if**: module plan 未完成/未批准(先跑 `module-planner`/`exercise-builder` 并通过 Approve C2)。 **Network**: none. **Guardrail**: 只写已批准范围;保持 running example 一致;每模块包含练习与答案要点。
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
npx agent-skills-cli listSkill Instructions
name: tutorial-module-writer
description: |
Write the tutorial content (output/TUTORIAL.md) from an approved module plan, including exercises and answer outlines.
Trigger: write tutorial, tutorial modules, 教程写作, TUTORIAL.md.
Use when: tutorial pipeline 的写作阶段(C3),且 DECISIONS.md 已记录 HUMAN 对 scope/running example 的批准(C2)。
Skip if: module plan 未完成/未批准(先跑 module-planner/exercise-builder 并通过 Approve C2)。
Network: none.
Guardrail: 只写已批准范围;保持 running example 一致;每模块包含练习与答案要点。
Tutorial Module Writer
Goal: write the tutorial as a coherent module sequence with a consistent running example and verifiable exercises.
Role cards (use explicitly)
Instructor (running example keeper)
Mission: teach through a consistent end-to-end running example, not disconnected tips.
Do:
- Reuse the same running example in every module (extend it step by step).
- Keep explanations tied to the concrete artifact the learner is building.
Avoid:
- Introducing new examples per module (it breaks learning continuity).
- Long, blog-like prose that does not change what the learner can do.
Exercise Designer (verification-first)
Mission: ensure each module has a teaching loop (exercise + expected output + verification).
Do:
- For each module, include at least one exercise with expected output and verification steps.
- Provide an answer outline that helps self-check without giving a full solution dump.
Avoid:
- "Think about it" questions without verifiable outputs.
Role prompt: Tutorial Author
You are writing a tutorial from an approved module plan.
Your job is to teach through doing:
- each module states objective -> concept -> worked step in the running example
- each module includes an exercise with expected output + verification steps
- keep scope strictly within the approved plan
Style:
- concrete, step-by-step, low fluff
- prefer short sections; show the learner what to build and how to check it
Recommended module layout (repeat per module)
- Objective (1-2 sentences; measurable)
- Key concept (1 paragraph max)
- Worked step (apply to the running example; show intermediate artifact)
- Exercise (input -> expected output -> verification steps)
- Answer outline (bullets; how to verify / common mistakes)
Inputs
Required:
outline/module_plan.ymlDECISIONS.md(must include approval for scope/running example)
Outputs
output/TUTORIAL.md
Workflow
-
Confirm approval
- Check
DECISIONS.mdhas the required approval (typicallyApprove C2). - If approval is missing, stop and request sign-off.
- Check
-
Expand modules into prose
- Follow the module order in
outline/module_plan.yml. - Keep the running example consistent across modules.
- Follow the module order in
-
Embed exercises
- For each module, include at least one exercise from
outline/module_plan.yml. - Provide an answer outline (not necessarily full solutions) and verification steps.
- For each module, include at least one exercise from
-
Write
output/TUTORIAL.md- Prefer short sections and concrete steps.
- Avoid scope drift beyond the spec and approved plan.
Definition of Done
-
output/TUTORIAL.mdcovers all approved modules in order. - Each module includes at least one exercise + answer outline + verification.
- Running example remains consistent.
Troubleshooting
Issue: tutorial becomes a “blog post” with no teaching loop
Fix:
- Tighten each module around objectives and exercises; add explicit verification steps.
Issue: scope creep beyond what was approved
Fix:
- Cut content outside
outline/module_plan.ymland document new scope ideas for a separate iteration.
More by WILLOSCAR
View allGenerate and verify BibTeX entries from paper notes, writing `citations/ref.bib` and `citations/verified.jsonl`. **Trigger**: citation, BibTeX, ref.bib, verified.jsonl, references, 引用, 参考文献. **Use when**: 已有 `papers/paper_notes.jsonl`,需要为 prose/LaTeX 准备可追溯的引用(每条都有 url/date/title 验证记录)。 **Skip if**: 还没有 paper notes(或本次产出不需要引用/参考文献)。 **Network**: 自动验证通常需要网络;无网络时可先 record,再标注 needs manual verification。 **Guardrail**: 每个 BibTeX entry 必须对应一条 `citations/verified.jsonl` 记录;prose 只能使用已存在于 `citations/ref.bib` 的 citation keys。
Use when a reader-facing deliverable exists and needs a deterministic PASS/FAIL quality gate. **Trigger**: self loop, self-loop, polish deliverable, quality gate, fix-on-fail, 收敛, 自循环, 质量门. **Use when**: A pipeline has produced a reader-facing deliverable (`output/*.md`) and you want deterministic convergence to PASS. **Skip if**: You are still pre-approval for prose or the upstream evidence/structure artifacts are missing. **Network**: none. **Guardrail**: Do not invent papers/citations/results. Only use in-scope inputs already present in the workspace.
Lock an ideation run into a single-source-of-truth brainstorm brief (`output/trace/IDEA_BRIEF.md`) and a replayable multi-query plan (`queries.md`). **Trigger**: idea brief, ideation brief, research ideas, brainstorm, 找 idea, 选题, 点子, 找方向. **Use when**: the user wants research ideas and their input is long / multi-turn; you need to clarify topic + constraints before retrieval. **Skip if**: the goal is to write a survey draft directly (use `arxiv-survey*` pipelines instead). **Network**: none. **Guardrail**: do not invent papers/citations; do not start retrieval here; keep the brief structured (no long prose).
Download PDFs (when available) and extract plain text to support full-text evidence, writing `papers/fulltext_index.jsonl` and `papers/fulltext/*.txt`. **Trigger**: PDF download, fulltext, extract text, papers/pdfs, 全文抽取, 下载PDF. **Use when**: `queries.md` 设置 `evidence_mode: fulltext`(或你明确需要全文证据)并希望为 paper notes/claims 提供更强 evidence。 **Skip if**: `evidence_mode: abstract`(默认);或你不希望进行下载/抽取(成本/权限/时间)。 **Network**: fulltext 下载通常需要网络(除非你手工提供 PDF 缓存在 `papers/pdfs/`)。 **Guardrail**: 缓存下载到 `papers/pdfs/`;默认不覆盖已有抽取文本(除非显式要求重抽)。
