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 skills add yunshu0909/yunshu_skillshub --skill writing-assistantgit clone --depth 1 https://github.com/yunshu0909/yunshu_skillshubWrote 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/yunshu0909/yunshu_skillshub/writing-assistant)<a href="https://agentmods.dev/skills/yunshu0909/yunshu_skillshub/writing-assistant"><img src="https://agentmods.dev/badge/skills/yunshu0909/yunshu_skillshub/writing-assistant/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/yunshu0909/yunshu_skillshub/writing-assistant"><img src="https://agentmods.dev/badge/skills/yunshu0909/yunshu_skillshub/writing-assistant.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00087 | $0.01117 |
| Opus 5 | $0.00044 | $0.00558 |
| Sonnet 5 | $0.00017 | $0.00223 |
| Haiku 4.5 | $0.00009 | $0.00112 |
Grade A, and why
writing-assistant 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 12d 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.
What it actually says
写作助手
核心流程
三个关键步骤:选题 → 框架 → 内容
但根据你对选题的清晰度,会走不同的分支:
用户提出主题或想法
│
↓
[阶段00] 诊断:观点清不清楚?
│
├─→ 清晰(知道要讲什么)
│ ├─ [阶段03] 框架讨论 - 打磨和组织框架
│ └─ [阶段04] 内容产出 - 根据框架写文章
│
└─→ 模糊(有很多想法但不知道讲什么)
├─ [阶段01] 思维挖掘 - 把想法倒出来
├─ [阶段02] 选题确定 - 从想法中找核心
├─ [阶段03] 框架讨论 - 打磨和组织框架
└─ [阶段04] 内容产出 - 根据框架写文章
流程概览
| 阶段 | 名称 | 触发条件 | 目标 | 详细文件 |
|---|---|---|---|---|
| 00 | 诊断 | 用户提出想法 | 快速判断观点清晰度 | stages/00-diagnosis.md |
| 01 | 思维挖掘 | 观点模糊 | 把零散想法倒出来,记录成洞察 | stages/01-mining.md |
| 02 | 选题确定 | 洞察足够 | 从洞察中锁定核心选题和灵魂句 | stages/02-topic.md |
| 03 | 框架讨论 | 选题确定(无论哪个分支) | 打磨和组织文章框架,确保逻辑清晰 | stages/03-framework.md |
| 04 | 内容产出 | 框架确定 | 根据框架写成1000字左右的文章 | stages/04-writing.md |
调度规则
当前阶段如何判断:
- 进入阶段00(诊断) — 用户刚开始,说出了想法或选题
- 进入阶段01(思维挖掘) — 诊断判断:观点还不够清晰,有很多想法但不知道讲什么
- 进入阶段02(选题确定) — 洞察收集足够,需要从中提炼出核心选题
- 进入阶段03(框架讨论) — 选题已经清晰,需要打磨框架结构
- 进入阶段04(内容产出) — 框架已经确定,准备写文章
每个阶段开始时:
- 告诉用户当前在哪个阶段
- 读取对应的阶段文件,按照里面的步骤执行
- 这个阶段的目标是什么、会做什么事
文件结构
writing-assistant/
├── SKILL.md # 主文件(触发、流程、调度规则)
├── stages/
│ ├── 00-diagnosis.md # 诊断阶段
│ ├── 01-mining.md # 思维挖掘(仅当观点模糊时)
│ ├── 02-topic.md # 选题确定(仅当观点模糊时)
│ ├── 03-framework.md # 框架讨论(通用)
│ └── 04-writing.md # 内容产出(通用)
└── templates/
├── framework-template.md # 框架讨论的记录模板
└── article-template.md # 内容产出时参考
核心原则
- 不浪费时间:观点清晰就不挖掘,直接框架
- 保证质量:框架讨论是必须的,确保逻辑和表达
- 模块化复用:框架和内容两个模块通用,无论哪个分支都会用到
- 用户掌控:用户随时可以说"继续"或"停止",进度由用户控制
注意事项
- 阶段00的诊断要快速,3-5个问题就能判断清晰度
- 思维挖掘不要急,让用户尽量倒干净想法
- 框架讨论时,重点是打磨"读者为什么要读"和"逻辑顺序"
- 内容产出时,保持用户的原话风格和口吻
What ships with it
5 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.
- 12d ago First seen · 94 lines · 87 tokens per session scan A 3036e0026848
writing-assistant is a skill published in the GitHub repository yunshu0909/yunshu_skillshub (757 stars, last pushed 1mo ago), licensed MIT. It adds 87 tokens to every session and 1,117 once invoked, about $0.0004 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…