Audit AI Writing
jxnl/personal-monorepo-template
Audit pasted chatbot output, AI-cleanup diffs, wiki drafts, Markdown/MDX/docs, and source-backed articles for generic AI fluff, LLM writing tells, weak audience model, lack of theory of mind…
分析一段内容或一个文件的"人味"(即像不像人类自然写出来的,AI 生成痕迹有多重),给出 0-100 量化打分,并在低于目标线(默认 80 分,用户可指定其他数值如90分)时在不改变原意的前提下改写到目标分数以上。触发条件:用户提到"人味"、"AI味"、"AI感"、"降AI率"、"去AI化"、"人性化改写"、"像人写的"、"过人工检测"、"过AI检测"、"让文章更自然"、"这段话是不是AI写的"…
$ npx skills add digoal/blog --skill content-humanizer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install digoal/blog content-humanizer --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/skills_for_claude_web/content-humanizer .claude/skills/content-humanizer && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "content-humanizer" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/content-humanizer into .claude/skills/content-humanizer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-humanizer", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/content-humanizerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add digoal/blog --skill content-humanizer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install digoal/blog content-humanizer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/skills_for_claude_web/content-humanizer .agents/skills/content-humanizer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "content-humanizer" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/content-humanizer into .agents/skills/content-humanizer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-humanizer", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add digoal/blog --skill content-humanizer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install digoal/blog content-humanizer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/skills_for_claude_web/content-humanizer .cursor/skills/content-humanizer && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "content-humanizer" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/content-humanizer into .cursor/skills/content-humanizer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-humanizer", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/digoal/blog.git --path skills/skills_for_claude_web/content-humanizer--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add digoal/blog --skill content-humanizer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install digoal/blog content-humanizer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/skills_for_claude_web/content-humanizer .gemini/skills/content-humanizer && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "content-humanizer" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/content-humanizer into .gemini/skills/content-humanizer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-humanizer", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install digoal/blog content-humanizerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add digoal/blog --skill content-humanizer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/skills_for_claude_web/content-humanizer .github/skills/content-humanizer && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "content-humanizer" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/content-humanizer into .github/skills/content-humanizer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-humanizer", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add digoal/blog --skill content-humanizer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install digoal/blog content-humanizer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/skills_for_claude_web/content-humanizer .opencode/skills/content-humanizer && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "content-humanizer" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/content-humanizer into .opencode/skills/content-humanizer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "content-humanizer", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
content-humanizer分析一段内容或一个文件的"人味"(即像不像人类自然写出来的,AI 生成痕迹有多重),给出 0-100 量化打分,并在低于目标线(默认 80 分,用户可指定其他数值如90分)时在不改变原意的前提下改写到目标分数以上。触发条件:用户提到"人味"、"AI味"、"AI感"、"降AI率"、"去AI化"、"人性化改写"、"像人写的"、"过人工检测"、"过AI检测"、"让文章更自然"、"这段话是不是AI写的"…
Content Humanizer is an agent skill from digoal/blog. 分析一段内容或一个文件的"人味"(即像不像人类自然写出来的,AI 生成痕迹有多重),给出 0-100 量化打分,并在低于目标线(默认 80 分,用户可指定其他数值如90分)时在不改变原意的前提下改写到目标分数以上。触发条件:用户提到"人味"、"AI味"、"AI感"、"降AI率"、"去AI化"、"人性化改写"、"像人写的"、"过人工检测"、"过AI检测"、"让文章更自然"、"这段话是不是AI写的"、"帮我把这篇文章改得不像AI写的",或者给出一段文字/文件并希望知道"读起来自然不自然"、"会不会被认出是AI写的"。即使用户只说"这段话感觉很机器,帮我改一下"或"帮我看看这篇稿子像不像真人写的",也应使用本 skill。输出为 Markdown 报告,保存到当前项目 markdown/ 目录。
Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts and reference files (for example `references/rubric.md` and `scripts/human_score.py`).
It sits in Writing & Content, covering Humanizing AI text and Markdown. The repository describes itself as: AI,Opensource,Database,Business,Finance,Minds. git clone --depth 1 https://github.com/digoal/blog. The licence is GPL-2.0.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 69fb793. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Content Humanizer loads about 1.2k tokens when it runs, and up to ~2.3k if it reads all its reference files. Until then it costs about 92 tokens; SKILL.md has 166 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from digoal/blog at commit 69fb793, republished under its GPL-2.0 licence (© digoal). 166 words, ~1,153 tokens.
.claude/skills/content-humanizer/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub."人味"不是一个单一指标,而是好几种信号叠加的结果。如果只靠"读一遍感觉一下"打分, 分数会很不稳定、也没法跟用户解释清楚"为什么是 72 分而不是 85 分"。所以这个 skill 把人味拆成两层:
两层各占 50% 权重,合成最终人味分。这样做的好处是:用户能看到分数是怎么来的, 而不是一个黑箱数字;改写之后也能用同一套标准复测,确保真的有提升,而不是"看起来 顺了但分数其实没变"。
python3 /mnt/skills/user/content-humanizer/scripts/human_score.py <文件路径>
# 或者直接传文本:
python3 /mnt/skills/user/content-humanizer/scripts/human_score.py - --text "要分析的文本"脚本输出一个 JSON,包含 statistical_score(0-100)以及每个子指标的分数和命中
证据(命中了哪些套话、密度多少)。这个分数先记下来,后面要用。
脚本算的是:句子/段落节奏(30%)+ 强 AI 套话密度(30%)+ 软性 buzzword 密度(10%)
完整读一遍原文(不要只看脚本摘要),针对下面四个维度分别打 0-100 分。每个维度都
要引用原文里 1-2 处具体的句子或短语作为证据,而不是凭空给分——这样用户能看懂
分数依据,你自己也更不容易瞎打分。详细的打分锚点(0-39/40-59/60-79/80-100 各代表
什么程度)见 references/rubric.md,拿不准的时候去对一下。
| 维度 | 在看什么 |
|---|---|
| 具体细节与个性化 | 有没有具体的人名、数字、时间、场景、个人经历,还是全是"很多企业""不少专家"这种空泛说法 |
| 情感与态度自然度 | 有没有真实的立场/情绪/吐槽/幽默,还是永远"一方面…另一方面…"四平八稳、不说一句得罪人的话 |
| 结构机械度 | 段落是不是整整齐齐三段论、标题/列表是不是过度对称、是不是每段都差不多长——人写东西很少这么工整 |
| 口语化与不完美痕迹 | 有没有口语词、插话、不那么"标准"的表达,还是每句话都像教科书例句一样完美 |
四项平均得到 qualitative_score。
final_score = round(0.5 × statistical_score + 0.5 × qualitative_score)默认达标线是 80 分。如果用户在请求里明确说了别的目标(比如"要到90分以上" "严格一点,95分"),按用户给的数字作为达标线;用户没说就用 80。这个阈值不是说 低于它就一定能被某个 AI 检测工具揪出来——没有哪个分数能 100% 对应任何具体检测器 的判定——而是一条相对宽松、留有余地的经验线:到了 80 分,统计层和判断层的大部分 信号都已经回到人类写作的常见区间。目标线设得越高(比如 95),改写的难度和迭代轮数 通常也会上升,必要时可以提前跟用户说一句"目标定这么高,可能要改好几轮,某些维度 (比如非常正式的文体很难做到很口语化)也未必能完全达到"。
final_score ≥ 目标线:不用改写,直接出报告,告诉用户哪些地方已经做得不错。
final_score < 目标线:在不改变原意、不增删事实信息的前提下改写,目标是把 final_score 拉到目标线以上。改写时优先解决分数最低的那几项,常用手法:
改写完之后,重新跑一遍第二步的脚本 + 第三步的人工评分,算出新的 final_score。如果还没到目标线,再改一轮,最多改 3 轮。如果 3 轮之后还没到 目标线,在报告里诚实说明卡在哪一项、原因可能是什么(比如原文本身就是高度 结构化的规范文档,比如合同条款,这种文体本来就不太可能很"口语化"),不要 硬编数据把分数做上去。
保存到当前项目的 markdown/ 目录(没有就创建),文件名格式:
markdown/人味分析-<内容简短标识或时间戳>.md
报告结构固定如下:
# 人味分析报告:<标题/文件名>
## 总览
| 项目 | 分数 |
|---|---|
| 统计层得分 | xx.x |
| 判断层得分 | xx.x |
| **最终人味分** | **xx.x / 100** |
| 达标线 | 80(或用户指定的目标分数) |
| 是否达标 | 是 / 否 |
## 统计层细分(脚本计算)
| 子指标 | 分数 | 说明 |
|---|---|---|
| 句式/段落节奏 | xx | ... |
| 强AI套话密度 | xx | 命中 N 处:xxx、xxx |
| 软性buzzword密度 | xx | 命中 N 处:xxx |
| 过渡词密度 | xx | 命中 N 处 |
| 词汇多样性 | xx | ... |
## 判断层细分(人工评分)
| 维度 | 分数 | 依据(原文引用) |
|---|---|---|
| 具体细节与个性化 | xx | "……" |
| 情感与态度自然度 | xx | "……" |
| 结构机械度 | xx | "……" |
| 口语化与不完美痕迹 | xx | "……" |
## 原文
> (原文全文或合理摘录)
---
<!-- 以下部分仅当 final_score < 目标线时出现 -->
## 改写说明
本次改写共 N 轮,主要调整:
- ...
- ...
## 改写后内容
(改写后全文)
## 改写后复测
| 项目 | 改写前 | 改写后 |
|---|---|---|
| 统计层得分 | xx.x | xx.x |
| 判断层得分 | xx.x | xx.x |
| **最终人味分** | xx.x | **xx.x** |如果 final_score ≥ 目标线(不需要改写),就省略"改写说明"之后的所有部分,报告到 "原文"那一节结束即可。
存完文件后用 present_files 把报告呈现给用户,简短说一句最终分数和是否达标, 不用把报告内容在对话里重复一遍。
© digoal, GPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts, references) in skills/skills_for_claude_web/content-humanizer of digoal/blog.
Open the folder on GitHubat commit 69fb793
Content Humanizer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Content Humanizer this skilldigoal/blog | 8.6k | — | ~1.2k | Automated safety check: Pass | GPL-2.0 | |
| Audit AI Writingjxnl/personal-monorepo-template | 562 | — | ~887 | Automated safety check: Pass | None | |
| Notion To Blogwasp-lang/wasp | 19k | — | ~922 | Automated safety check: Pass | MIT | |
| AI Daily Newsgeekjourneyx/ai-daily-skill | 235 | — | ~2.3k | Automated safety check: Pass | None | |
| Sci PolishShZhao27208/Aut_Sci_Write | 208 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Customer Story Setuplangfuse/langfuse-docs | 246 | — | ~2.4k | Automated safety check: Pass | MIT |
jxnl/personal-monorepo-template
Audit pasted chatbot output, AI-cleanup diffs, wiki drafts, Markdown/MDX/docs, and source-backed articles for generic AI fluff, LLM writing tells, weak audience model, lack of theory of mind…
wasp-lang/wasp
Transfer a blog post from Notion to the Wasp blog. An agent skill from wasp-lang/wasp.
geekjourneyx/ai-daily-skill
Fetches AI news from smol.ai RSS and generates structured markdown with intelligent summarization and categorization.
ShZhao27208/Aut_Sci_Write
Two-stage academic paper polishing skill. An agent skill from ShZhao27208/Aut_Sci_Write.
langfuse/langfuse-docs
Converts draft customer-story Markdown into Langfuse website MDX (Fumadocs), collects missing metadata and assets, wires meta.json and authors.
vercel/next.js
Write or audit an insight-kind error page for the Next.js dev overlay.
digoal/blog
三层审查模型,逐段逐句验证文章真伪、证据链与逻辑结构。Use when the user asks to fact-check, verify, audit, or evaluate the credibility of an article, essay, report, opinion piece, social-media post, or any written claim —…
digoal/blog
Find latent bugs in a local PostgreSQL source tree (RELxxSTABLE branch or HEAD) the way a core hacker does: build a heavily-poisoned debug instance (cassert + cache-discard + -O0/-ggdb3 + core…
digoal/blog
Portable digital employee distilled from digoal's personal blog for PostgreSQL, PolarDB, DuckDB, AI+database, vector/RAG, database operations, source-code reading, technical content creation…
digoal/blog
从论文 PDF 文件或论文 PDF URL 生成通俗易懂、图文并茂、带批判性评估的中文 Markdown 解读,并保存到当前项目的 markdown 目录。Use when the user asks to interpret,精读,解读,summarize,explain,analyze, or write an article from an academic paper PDF…
digoal/blog
Analyze a product from documentation, websites, PDFs, articles, release notes, pricing pages, app listings, reviews, filings, or related links; save separate intermediate analyses from seven roles…
digoal/blog
Turn a blog post, article, notes, or any source material into a set of vertical poster images — one cover plus several coherent content slides that explain the core points.
Categories
分析一段内容或一个文件的"人味"(即像不像人类自然写出来的,AI 生成痕迹有多重),给出 0-100 量化打分,并在低于目标线(默认 80 分,用户可指定其他数值如90分)时在不改变原意的前提下改写到目标分数以上。触发条件:用户提到"人味"、"AI味"、"AI感"、"降AI率"、"去AI化"、"人性化改写"、"像人写的"、"过人工检测"、"过AI检测"、"让文章更自然"、"这段话是不是AI写的"…. Content Humanizer is an agent skill from digoal/blog.
Content Humanizer fits situations like: tasks that involve Humanizing AI text; tasks that involve Markdown.
Run `npx skills add digoal/blog --skill content-humanizer -a claude-code`. Or copy the skill folder (skills/skills_for_claude_web/content-humanizer in digoal/blog) into .claude/skills/content-humanizer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add digoal/blog --skill content-humanizer -a codex`. Or copy the skill folder (skills/skills_for_claude_web/content-humanizer in digoal/blog) into .agents/skills/content-humanizer in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add digoal/blog --skill content-humanizer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/content-humanizer, .gemini/skills/content-humanizer, .github/skills/content-humanizer and .opencode/skills/content-humanizer in your project.
Going by SKILL.md and its folder, Content Humanizer needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Content Humanizer is published under the GPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Content Humanizer: Audit AI Writing (jxnl/personal-monorepo-template, 562 stars), Notion To Blog (wasp-lang/wasp, 19k stars), AI Daily News (geekjourneyx/ai-daily-skill, 235 stars) and Sci Polish (ShZhao27208/Aut_Sci_Write, 208 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
digoal (a GitHub user) maintains it in digoal/blog, which has 8,587 GitHub stars. The repository holds 98 skills in this directory. The repository was last updated on September 28, 2026.
Source: digoal/blog on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.