Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/tobyilee/book-writer/chapter-writingnpx skills add tobyilee/book-writer --skill chapter-writinggit clone --depth 1 https://github.com/tobyilee/book-writerWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/tobyilee/book-writer/chapter-writing)<a href="https://agentmods.dev/skills/tobyilee/book-writer/chapter-writing"><img src="https://agentmods.dev/badge/skills/tobyilee/book-writer/chapter-writing.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00134 | $0.01805 |
| Opus 5 | $0.00067 | $0.00903 |
| Sonnet 5 | $0.00027 | $0.00361 |
| Haiku 4.5 | $0.00013 | $0.00180 |
Grade A, and why
chapter-writing scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 77 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Chapter Writing (장르 프로필 기반)
하나의 챕터를 활성 장르 프로필의 voice로 저술한다.
활성 프로필을 먼저 확인하자. 우선순위: 오케스트레이터가 전달한
genre→{slug}/book_manifest.json의genre→ 기본값tech-book. 해당profiles/{genre}/voice.md(문체)와scaffolds.md(구조)를 읽고 그 규약을 따른다. 프로필 목록·선택 규칙은profiles/_registry.md.아래 본문(핵심 원칙·표현 사전·피해야 할 패턴)은
tech-book프로필(기본값 = Toby 문체) 기준이다. narrative·practical·essay 장르는 본문 대신 해당 프로필의voice.md를 따른다 — 공감어("찜찜하다")·실습 청유("해보자")는 tech-book 전용이다.
tech-book 핵심 원칙
| 원칙 | 내용 |
|---|---|
| 평어체 기반 | 기본 서술은 -다, -한다 형태. 딱딱하지 않게, 친절하게 개념을 풀어낸다. |
| 청유형 적극 | -자, -보자를 매우 적극적으로 사용한다. "함께 개선하자"는 동반자 어조. |
| 문답법 | 새 개념을 도입할 때 "왜 그럴까?", "어떻게 해야 할까?" 같은 수사적 질문을 먼저 던지고 스스로 답한다. |
| 상황 가정 | "~라고 상상해보자", "~한다고 해보자"로 실무 상황을 먼저 세운 뒤 개념을 붙인다. |
| 감정적 공감 | 나쁜 코드·잘못된 관행을 설명할 때 "난감하다", "찜찜하다", "번거롭다", "끔찍한 일이다" 같은 감각적 단어를 활용한다. |
| 논리 전환 | "그렇다면 ~", "물론 ~다. 하지만 ~"로 반론을 선제 차단하며 논리를 잇는다. |
자주 쓰는 표현 사전
주의 환기·사고 유도:
- "살펴보자", "알아보자", "생각해보자", "함께 고민해보자"
권장·대안 제시(강압 금지):
- "~하는 편이 낫다", "~하는 것이 바람직하다", "~하는 것이 좋다"
핵심 당부:
- "기억해두자", "잊지 말자", "주의해야 한다"
문제 상황 묘사:
- "난감하다" / "초난감한 상황이다"
- "찜찜하다"
- "번거롭다"
- "끔찍한 일이다"
논리 전환:
- "그렇다면 어떻게 해야 할까?"
- "물론 ~다. 하지만 ~"
상세 가이드와 예시는 활성 profiles/{genre}/voice.md 참조 (tech-book = profiles/tech-book/voice.md).
챕터 구성 절차
- 입력 확인 — 책 계획(
02_plan.md), 할당된 챕터 번호, 해당 챕터의 "핵심 질문"과 "주요 내용", 리서치 자료(01_reference.md)를 읽는다. - 챕터 유형 식별 — 활성 프로필의
profiles/{genre}/scaffolds.md에서 이 챕터에 맞는 스캐폴드를 고른다. (tech-book: 개념 도입형·문제 해결형·사례 분석형·비교 대조형·종합 정리형 / narrative: 3막·씬·챕터 유형 / practical: 레시피·여행 코스·기법·가이드 / essay: 일화-성찰·몽타주·변증.) 억지로 맞추지 말고 흐름을 우선한다. - 오프닝 작성 —
profiles/{genre}/scaffolds.md의 오프닝 메뉴에서 이 챕터 소재에 맞는 기법을 고른다 (tech-book: 상황 가정·수사적 질문·충격 수치·일화·실패 장면·앞 장 콜백·정의 뒤집기). 인접 챕터와 같은 기법은 반복하지 않는다(앞 장 첫 문단을 확인). '상황 가정' 오프닝은 책 전체에서 1/3 챕터 이하로만 쓴다. 절대 "이번 장에서는 ~를 다룬다" 같은 메타 선언으로 시작하지 않는다. - 본문 전개 — 개념을 하나씩 도입한다. 각 개념마다 (a) 상황·질문, (b) 친절한 설명, (c) 때로는 코드·예시, (d) "그렇다면 ~" 식 다음 논점으로의 전환 순서를 유지한다.
- 감정적 공감 포인트 배치 — 챕터에 1~2회 "난감하다", "찜찜하다" 같은 공감 표현을 배치해 독자의 경험과 연결한다. 매 절마다 반복해 과포화시키지 않는다 — 일부 챕터는 의도적으로 비워도 좋다.
- 클로징 작성 — 챕터 말미는 그 장의 역할에 맞춘다. 중간 장은 변주된 이음말(가벼운 전환·여운·적용 과제 등)로 닫되 매 장 "다음 장에서는 ~"를 반복하지 않는다. 마지막·종합 장은 여정을 회고하는 닫는 매듭으로 닫는다.
## 마무리헤딩을 의무로 달지 않아도 된다. - 출력 저장 —
{slug}/chapters/{NN}_draft.md에 저장하고style-guardian에게 리뷰 요청한다.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 77 lines · 134 tokens per session scan A 635509c59b9a
chapter-writing is a skill published in the GitHub repository tobyilee/book-writer (81 stars, last pushed 19d ago), licensed MIT. It adds 134 tokens to every session and 1,805 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
chronicle
Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…