Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add MJbae/awesome-novel-studio/plugin install awesome-novel-studioWrote 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/mjbae/awesome-novel-studio/polish)<a href="https://agentmods.dev/skills/mjbae/awesome-novel-studio/polish"><img src="https://agentmods.dev/badge/skills/mjbae/awesome-novel-studio/polish/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mjbae/awesome-novel-studio/polish"><img src="https://agentmods.dev/badge/skills/mjbae/awesome-novel-studio/polish.svg" alt="Reviewed on agentmods" width="80" 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.00132 | $0.06388 |
| Opus 5 | $0.00066 | $0.03194 |
| Sonnet 5 | $0.00026 | $0.01278 |
| Haiku 4.5 | $0.00013 | $0.00639 |
Grade A, and why
polish 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 10d 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 — 452 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Polish — 웹소설 윤문 팀 오케스트레이터
6명의 전문 에이전트를 Fan-out/Fan-in 병렬 구조로 운용하여 에피소드를 순차적으로 12축(+ALIVE 4축, +프로젝트 커스텀 축) 정밀 윤문하는 자기 반복(self-loop) 스킬.
프로젝트 독립적: novel-config.md를 읽어 설정문서·가드레일·커스텀 축을 자동 적용한다.
다른 소설 프로젝트에서도 novel-config.md만 작성하면 동일하게 사용 가능.
팀 구성
Phase 1 (병렬 진단 — Agent 도구로 4개 동시 호출)
┌→ [rule-checker] ── BANNED, VOICE, TITLE, SILENCE, TRANS ─┐
[에피소드] ├→ [story-analyst] ── SCENE, LOGIC, UNIFORM (+커스텀) ─┤
├→ [platform-optimizer] ── HOOK, OPENING, MOBILE, SUMMARY ─┼→ [진단 통합]
└→ [alive-enhancer] ── ALIVE-1~4 (메아리,침묵,긴장점,거리감) ─┘
Phase 2 (순차 교정)
[진단 통합] → [revision-executor] → [교정된 에피소드]
Phase 3 (순차 검증)
[교정된 에피소드] → [revision-reviewer] → PASS / REVISE → (REVISE시 Phase 2 재실행)
| 에이전트 | 역할 | 담당 축 | Phase |
|---|---|---|---|
| rule-checker | 규칙 위반 진단 | BANNED, VOICE, TITLE, SILENCE, TRANS | 1 (병렬) |
| story-analyst | 서사·논리 분석 | SCENE, LOGIC, UNIFORM (+커스텀 축) | 1 (병렬) |
| platform-optimizer | 플랫폼 최적화 | HOOK, OPENING, MOBILE, SUMMARY | 1 (병렬) |
| alive-enhancer | 캐릭터 생동감 | ALIVE-1~4 | 1 (병렬) |
| revision-executor | 교정 실행 | 전체 통합 교정 | 2 (순차) |
| revision-reviewer | 교정 검증 | 과교정·신규오류·가드레일 | 3 (순차) |
실행 방법
/polish ← 기본 프로젝트의 다음 미완료 에피소드부터
/polish EP051 ← EP051부터 시작
/polish start ← EP001부터 전체 시작
/polish {프로젝트명} ← 특정 프로젝트 지정 (예: /polish 36억평)
/polish {프로젝트명} EP051 ← 특정 프로젝트 + 특정 에피소드
자기 반복 루프 (Self-Loop Protocol)
이 스킬의 핵심: 에피소드 하나를 완료한 뒤 스스로 다음 에피소드로 넘어간다. 외부 루프가 필요 없다. Claude 자체의 에이전틱 루프로 반복한다.
루프 구조
LOOP:
1. fix_plan.md에서 다음 미완료 에피소드 결정
2. 해당 에피소드에 대해 Phase 1→2→3 실행
3. fix_plan.md 업데이트
4. learnings.md 업데이트 (새 패턴 발견 시만)
5. alive-tracker.md 업데이트 (alive-enhancer 보고서 기반)
6. 전체 완료 확인
- 미완료 있음 → LOOP 반복 (다음 에피소드)
- 전체 완료 → "REVISION_COMPLETE" 출력하고 종료
완료 시 안내: "설정문서를 변경할 예정이라면 `/rewrite` 실행 후 `/polish`를 다시 실행하세요."
반복 지속 규칙
- 멈추지 않는다: 에피소드 하나를 끝내면 즉시 다음으로 진행한다.
- 사용자 입력을 기다리지 않는다: 자동으로 계속한다.
- 종료 조건: fix_plan.md의 모든 항목이
[x]일 때만 멈춘다. - 중단 시 재개:
/polish를 다시 치면 마지막 미완료 에피소드부터 이어간다.
What ships with it
4 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.
- 10d ago First seen · 452 lines · 132 tokens per session scan A a97b742dda17
polish is a skill published in the GitHub repository MJbae/awesome-novel-studio (147 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 132 tokens to every session and 6,388 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…
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…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…