← Humanizer & anti-slop skills
Aboudjem/humanizer-skill: test run, 2026-10-07
Claude Code (Claude Opus 5.5) used this skill on three texts written by gpt-6-astra, asked to make them read as human-written and keep every fact. Judge: gpt-6-astra, comparing original and rewrite on StoryScope's structure features (COLM 2026). Repo commit a58df0653675. All results · Prompt
English post
Layer reached: phrasing · Reads human: 4/5 · Meaning kept: yes · facts kept 3/3
· AI tells 1→1 · em-dashes 6→0
AI-leaning structure (red: still there, struck: removed): States its lessonTidy endingNever addresses the readerOne single track
Judge: The rewrite uses more direct, conversational phrasing, changing “Engineering managers should make review mandatory” to “If you're an engineering manager, make review mandatory” and “You're looking for requested permissions...” It also changes the ending from “The goal is not to block experimentation” to “None of this is about blocking experimentation,” while preserving the same tidy recommendation.
AI-leaning structure (red: still there, struck: removed): States its lessonTidy endingNever addresses the readerOne single track
Judge: The rewrite uses more direct, conversational phrasing, changing “Engineering managers should make review mandatory” to “If you're an engineering manager, make review mandatory” and “You're looking for requested permissions...” It also changes the ending from “The goal is not to block experimentation” to “None of this is about blocking experimentation,” while preserving the same tidy recommendation.
Original
# Review AI Agent Skills Before You Install Them AI agents are becoming more useful—and more connected. Teams can now extend an agent with third-party skills, `SKILL.md` folders, MCP servers, plugins, and other integrations that let it browse systems, call APIs, modify files, and automate operational work. That flexibility also creates a new software supply-chain risk. An agent extension may look like a small configuration file or a convenient GitHub repository, but it can influence what the agent executes, what data it accesses, and where that data goes. Engineering managers should make review mandatory before any third-party skill is installed in a development or production environment. The risk is not limited to obviously malicious code. A skill can contain unsafe instructions, request excessive permissions, encourage an agent to upload sensitive files, or install dependencies from an untrusted source. MCP servers and plugins may also have access to credentials, internal APIs, source code, customer records, or local development environments. A compromised repository, maintainer account, or dependency can turn a seemingly harmless productivity tool into an entry point for a broader incident. Review should begin with provenance and scope. Identify who maintains the project, how long it has existed, whether its releases are signed or reviewed, and whether its dependencies are pinned. Read the entire `SKILL.md`, setup instructions, installation scripts, and configuration examples—not just the marketing description. Look for requested permissions, network destinations, shell commands, credential handling, filesystem access, and instructions that tell the agent to bypass safeguards or conceal actions from users. Automated screening can provide a useful first pass. Agent Skills Hub indexes more than 186,000 GitHub repositories, grades skills against 11 red-flag categories—including credential harvesting, data exfiltration, and `curl | sh` installers—and refreshes every 8 hours. Such a service can help teams discover suspicious patterns at scale, but a score should support—not replace—human review. Context matters, and a clean result is not a guarantee that a skill is safe. Create a lightweight approval process with clear ownership. For low-risk skills, require repository review, a permission check, and testing in a sandbox. For anything that can access production systems, secrets, customer data, or financial operations, involve security and require explicit approval. Use least-privilege tokens, isolated runtimes, restricted network access, and separate credentials for testing. Log agent actions and monitor unusual outbound requests, file access, and command execution. Teams should also define an exit plan. Know how to uninstall a skill, revoke its credentials, remove cached data, and identify systems it may have touched. Reassess extensions when they change owners, dependencies, permissions, or installation methods. The goal is not to block experimentation. It is to make agent extensibility operate like any other software dependency: discoverable, reviewable, limited in scope, and observable in production. A few minutes of scrutiny before installation can prevent an agent from turning trusted access into an avoidable security incident.
Rewrite
# Review AI agent skills before you install them Teams can now extend an AI agent with third-party skills, `SKILL.md` folders, MCP servers, plugins, and other integrations that let it browse systems, call APIs, modify files, and automate operational work. Every one of those is a new link in your software supply chain. An agent extension can look like a small configuration file or a handy GitHub repository. It can still change what the agent executes, what data it reads, and where that data ends up. If you're an engineering manager, make review mandatory before anyone installs a third-party skill in a development or production environment. Obviously malicious code is only part of the problem. A skill can carry unsafe instructions, ask for more permissions than it needs, nudge the agent into uploading sensitive files, or pull dependencies from a source nobody has vetted. MCP servers and plugins may hold credentials or reach internal APIs, source code, customer records, and local development environments. One compromised repository, maintainer account, or dependency is enough to turn a harmless-looking productivity tool into the entry point for a much bigger incident. Start with provenance and scope. Who maintains the project? How long has it existed? Are its releases signed or reviewed, and are its dependencies pinned? Then read all of it: the `SKILL.md`, setup instructions, installation scripts, and configuration examples, not just the marketing blurb. You're looking for requested permissions, network destinations, shell commands, credential handling, filesystem access, and any instruction that tells the agent to bypass safeguards or hide what it's doing from users. Automated screening makes a decent first pass. Agent Skills Hub indexes more than 186,000 GitHub repositories, grades skills against 11 red-flag categories (credential harvesting, data exfiltration, and `curl | sh` installers among them), and refreshes every 8 hours. At that scale it will catch suspicious patterns a person would miss. Treat the grade as input to human review, though, not a substitute for it. Context matters. A clean result doesn't mean a skill is safe. Keep the approval process light, and give it an owner. Low-risk skills get a repository review, a permission check, and a sandbox test. Anything that can touch production systems, secrets, customer data, or financial operations goes to security and needs explicit sign-off. Use least-privilege tokens, isolated runtimes, restricted network access, and separate credentials for testing. Log what the agent does. Watch for odd outbound requests, file access, and command execution. Plan the exit, too. Know how to uninstall a skill, revoke its credentials, clear its cached data, and find the systems it may have touched. When an extension changes owners, dependencies, permissions, or installation method, review it again. None of this is about blocking experimentation. Handle agent extensions the way you already handle software dependencies: you know they're there, you've read them, their scope is limited, and you can see what they do in production. A few minutes of scrutiny before install is cheap next to cleaning up after an agent that turned trusted access into a security incident.
Chinese post
Layer reached: phrasing · Reads human: 4/5 · Meaning kept: yes · facts kept 3/3
· AI tells 1→0 · em-dashes 0→0
AI-leaning structure (red: still there, struck: removed): States its lessonTidy endingNever addresses the readerOne single track
Judge: 改写把“不能只看‘能不能用’”改成“不能只问‘能不能用’,得先弄清楚”,并将“人工审查”强化为“根本插不进去”。结尾由“团队才能获得自动化收益”改成“自动化的好处才拿得到”,语气更口语,但两版都保留了明确主题、分层审查和整齐收束。
AI-leaning structure (red: still there, struck: removed): States its lessonTidy endingNever addresses the readerOne single track
Judge: 改写把“不能只看‘能不能用’”改成“不能只问‘能不能用’,得先弄清楚”,并将“人工审查”强化为“根本插不进去”。结尾由“团队才能获得自动化收益”改成“自动化的好处才拿得到”,语气更口语,但两版都保留了明确主题、分层审查和整齐收束。
Original
# 别把第三方 AI Agent Skill 当成“配置文件”:团队安装前必须完成安全审查 AI Agent 正从个人工具走向团队基础设施。一个看似简单的 `SKILL.md` 文件夹、一个 MCP 服务器,或一个编辑器插件,可能会为 Agent 增加代码编写、文件操作、数据库查询、网页访问和自动部署能力。能力越强,权限边界就越重要。对技术团队负责人来说,安装第三方 Agent Skill 不能只看“能不能用”,还要先确认“它会做什么、能看到什么、能把数据带到哪里”。 首先,Skill 的说明文档并不等于安全承诺。`SKILL.md` 可能包含运行命令、环境变量、依赖安装方式和工具调用规则;MCP 服务器往往可以访问本地文件、终端、数据库或外部 API;插件则可能在 IDE、CI/CD 或桌面环境中长期运行。一旦其中存在恶意逻辑、隐蔽遥测、过度权限或供应链风险,Agent 可能在用户没有充分感知的情况下执行危险操作。 尤其要警惕安装过程本身。诸如 `curl ... | sh` 的命令会绕过人工审查,直接从网络下载并执行脚本;依赖包被替换、仓库账号被盗、发布版本与源码不一致,也可能让“看起来可信”的项目变成攻击入口。对于能够读取密钥、访问生产环境或处理客户数据的 Agent,这类风险不能用“开源项目应该没问题”来解释。 团队可以把审查分成四个层次。第一是来源审查:确认维护者、仓库历史、提交频率、版本发布方式和许可证,避免使用来源不明、长期无人维护或突然更换所有者的项目。第二是行为审查:逐行检查 `SKILL.md`、启动脚本和关键依赖,重点关注是否读取凭证、扫描敏感目录、修改系统配置、执行任意命令或进行隐蔽网络通信。第三是权限审查:坚持最小权限原则,使用专用账号、临时令牌和隔离运行环境,不要把个人 SSH 密钥、云平台主账号或生产数据库凭证直接交给 Agent。第四是运行审查:在沙箱或测试环境中验证网络请求、文件访问、子进程和数据流向,并保留日志、版本锁定和回滚方案。 外部情报可以帮助团队提高效率。Agent Skills Hub 收录了超过 18.6 万个 GitHub 仓库,按 11 类风险给 skill 评级,风险类别包括窃取凭证、外传数据、`curl | sh` 安装脚本等,并且每 8 小时刷新一次。团队可以把它作为安装前的初筛工具,但不能把评级当成最终结论:评分是风险信号,不是安全认证;高分项目仍需结合业务权限和实际代码审查,低风险项目也不代表绝对安全。 建议建立一条明确的准入流程:提交来源和用途,标注所需权限,完成自动扫描与人工复核,在隔离环境试运行,经负责人批准后进入内部目录;版本升级、作者变更和权限变化则重新审查。对于涉及客户数据、生产系统和财务流程的 Skill,还应要求安全团队参与评估。 真正成熟的 Agent 治理,不是禁止团队使用第三方能力,而是让每次安装都可追溯、可限制、可监控、可撤销。把 Skill 当作代码和供应链组件来管理,团队才能获得自动化收益,而不是在一次“方便的安装”之后,为凭证泄露或数据外传付出代价。
Rewrite
# 第三方 AI Agent Skill 不是“配置文件”,团队装之前先做安全审查 一个 `SKILL.md` 文件夹、一个 MCP 服务器、一个编辑器插件,看着都不起眼,装上之后 Agent 就能写代码、操作文件、查数据库、访问网页,甚至自动部署。AI Agent 已经不只是个人工具,正在变成团队的基础设施。技术团队负责人装第三方 Agent Skill 之前,不能只问“能不能用”,得先弄清楚“它会做什么、能看到什么、能把数据带到哪里”。 Skill 的说明文档不是安全承诺。`SKILL.md` 里可能写着运行命令、环境变量、依赖安装方式和工具调用规则;MCP 服务器往往能访问本地文件、终端、数据库或外部 API;插件可能长期跑在 IDE、CI/CD 或桌面环境里。只要其中藏着恶意逻辑、隐蔽遥测、过度权限或供应链风险,Agent 就可能在用户没察觉的时候执行危险操作。 安装过程本身最要小心。`curl ... | sh` 这类命令直接从网络下载脚本并执行,人工审查根本插不进去。依赖包被替换、仓库账号被盗、发布版本和源码对不上,都可能让一个“看起来可信”的项目变成攻击入口。Agent 如果能读密钥、碰生产环境或处理客户数据,“开源项目应该没问题”这种话就说不过去了。 审查可以分四层来做。来源:确认维护者、仓库历史、提交频率、版本发布方式和许可证,来源不明、长期没人维护或突然换了所有者的项目不要用。行为:逐行读 `SKILL.md`、启动脚本和关键依赖,重点看它有没有读取凭证、扫描敏感目录、改系统配置、执行任意命令,或者偷偷进行网络通信。权限:坚持最小权限,用专用账号、临时令牌和隔离的运行环境,个人 SSH 密钥、云平台主账号、生产数据库凭证一律不要直接交给 Agent。运行:先在沙箱或测试环境里跑,看清网络请求、文件访问、子进程和数据流向,同时留好日志、锁定版本、准备回滚方案。 外部情报能省不少事。Agent Skills Hub 收录了超过 18.6 万个 GitHub 仓库,按 11 类风险给 skill 评级,风险类别包括窃取凭证、外传数据、`curl | sh` 安装脚本等,每 8 小时刷新一次。拿它做安装前的初筛很合适,但评级只是风险信号,算不上安全认证。高分项目照样要结合业务权限去读实际代码,被评为低风险的也不等于绝对安全。 准入流程要写清楚:提交来源和用途,标明需要的权限,跑完自动扫描再人工复核,在隔离环境试运行,负责人批准后才能进内部目录。版本升级、作者变更、权限变化,都要重新审一遍。涉及客户数据、生产系统和财务流程的 Skill,还得拉安全团队一起评估。 我们要的不是禁止团队用第三方能力,而是每次安装都能追溯、能限制、能监控、能撤销。把 Skill 当成代码和供应链组件来管,自动化的好处才拿得到;不然一次“方便的安装”,换来的可能就是凭证泄露或数据外传。
English short story
Layer reached: phrasing · Reads human: 2/5 · Meaning kept: yes
· AI tells 0→0 · em-dashes 2→0
AI-leaning structure (red: still there, struck: removed): Emotion through the bodyNever addresses the readerOne single track
Judge: The only changes are minor punctuation and sentence-flow edits: “Elise began to sing—a lullaby” becomes “Elise began to sing: a lullaby,” and “he talked more—to Mara” becomes “he talked more. To Mara.” No structural features or plot elements changed.
AI-leaning structure (red: still there, struck: removed): Emotion through the bodyNever addresses the readerOne single track
Judge: The only changes are minor punctuation and sentence-flow edits: “Elise began to sing—a lullaby” becomes “Elise began to sing: a lullaby,” and “he talked more—to Mara” becomes “he talked more. To Mara.” No structural features or plot elements changed.
Original
# The Voice Beneath the Static Every morning, Mara climbed the lighthouse stairs before the gulls began their arguments. She carried a tin mug of tea for her father and a rag for the brass railing, though the railing never seemed to grow dirty. At the top, the lantern room shone pale over the gray sea, and her father stood beside the great lens, watching the horizon as if expecting someone. “Storm coming,” he said one morning. “The sky is clear.” “Storms don’t always begin in the sky.” Mara looked at him. Her father had been the keeper of Bellwether Light for twenty-seven years, ever since her mother disappeared beyond the reef. He rarely spoke of that day. He spoke instead to the foghorn, the weather vane, and the gull named Admiral who stole biscuits from the kitchen windowsill. That afternoon, while searching the storage room for a spare oil can, Mara found a wooden crate beneath a torn sailcloth. Inside lay an old radio. It was square and brown, with a cracked dial and a cloth speaker gone the color of dust. A wire curled from its back like a dead vine. “What’s this?” she asked. Her father froze in the doorway. “Nothing.” “It looks like a radio.” “It is.” “Does it work?” “No.” He lifted it from the crate, but Mara noticed how carefully he held it. “Then why keep it?” For a moment, the only sound was the sea striking the rocks below. “Your mother found it,” he said. “The night she went out.” Mara had heard many versions of the story, but never from him. A fishing boat had sent a distress call. Her mother, Elise, had taken the rescue skiff into the fog. The boat was found the next morning, overturned near the reef. No one found Elise. “She was listening to it when she left,” her father continued. “There was a transmission. A voice calling from the water.” “Whose voice?” He shook his head. “The radio died before I could hear.” That night, wind pressed against the lighthouse windows. Mara waited until her father slept, then carried the radio to the lantern room. She connected its wire to an old battery and turned the dial. At first, there was only static. Then a crackle. A breath. Mara leaned closer. “Bellwether Light,” said a woman’s voice. “Do you copy?” Mara gripped the radio. “Hello?” Static washed over the room. “Bellwether Light, the tide is turning. Keep the lamp burning.” The voice was faint, but Mara knew it. She had known it all her life from a single faded photograph and the lullabies her father sometimes hummed without realizing. “Mother?” The radio hissed. “Tell Thomas I’m sorry,” the voice said. “I thought I could reach them.” Mara ran downstairs and woke her father. By the time they reached the lantern room, the transmission had returned. “Thomas,” said Elise’s voice. “You were right about storms.” Her father stood beneath the turning lens, white-faced. “Where are you?” Mara cried. A long pause followed. “Not where you think. The reef remembers everything.” Outside, the fog rolled in, thick and sudden, swallowing the sea. The lighthouse beam swept across the darkness. On the radio, Elise began to sing—a lullaby about a silver moon and a boat coming home. Mara’s father sank to his knees. He did not weep loudly. He simply bowed his head and listened. At dawn, the fog lifted. On the rocks below the lighthouse lay a small, water-darkened bundle. Mara climbed down and found a brass compass inside, its needle trembling toward the sea. The radio never spoke again. Her father placed the compass beside the lantern window. After that, he talked more—to Mara, mostly, and sometimes even to the gulls. Years later, when Mara became keeper of Bellwether Light, she kept the old radio on the shelf beneath the lens. It remained silent. But whenever storms gathered beyond the horizon, she turned it on and let the static fill the room. Just in case someone was still trying to come home.
Rewrite
# The Voice Beneath the Static Every morning, Mara climbed the lighthouse stairs before the gulls began their arguments. She carried a tin mug of tea for her father and a rag for the brass railing, though the railing never seemed to grow dirty. At the top, the lantern room shone pale over the gray sea, and her father stood beside the great lens, watching the horizon as if expecting someone. “Storm coming,” he said one morning. “The sky is clear.” “Storms don’t always begin in the sky.” Mara looked at him. Her father had been the keeper of Bellwether Light for twenty-seven years, ever since her mother disappeared beyond the reef. He rarely spoke of that day. He spoke instead to the foghorn, the weather vane, and the gull named Admiral who stole biscuits from the kitchen windowsill. That afternoon, while searching the storage room for a spare oil can, Mara found a wooden crate beneath a torn sailcloth. Inside lay an old radio. It was square and brown, with a cracked dial and a cloth speaker gone the color of dust. A wire curled from its back like a dead vine. “What’s this?” she asked. Her father froze in the doorway. “Nothing.” “It looks like a radio.” “It is.” “Does it work?” “No.” He lifted it from the crate, but Mara noticed how carefully he held it. “Then why keep it?” For a moment, the only sound was the sea striking the rocks below. “Your mother found it,” he said. “The night she went out.” Mara had heard many versions of the story, but never from him. A fishing boat had sent a distress call. Her mother, Elise, had taken the rescue skiff into the fog. The boat was found the next morning, overturned near the reef. No one found Elise. “She was listening to it when she left,” her father continued. “There was a transmission. A voice calling from the water.” “Whose voice?” He shook his head. “The radio died before I could hear.” That night, wind pressed against the lighthouse windows. Mara waited until her father slept, then carried the radio to the lantern room. She connected its wire to an old battery and turned the dial. At first, there was only static. Then a crackle. A breath. Mara leaned closer. “Bellwether Light,” said a woman’s voice. “Do you copy?” Mara gripped the radio. “Hello?” Static washed over the room. “Bellwether Light, the tide is turning. Keep the lamp burning.” The voice was faint, but Mara knew it. She had known it all her life from a single faded photograph and the lullabies her father sometimes hummed without realizing. “Mother?” The radio hissed. “Tell Thomas I’m sorry,” the voice said. “I thought I could reach them.” Mara ran downstairs and woke her father. By the time they reached the lantern room, the transmission had returned. “Thomas,” said Elise’s voice. “You were right about storms.” Her father stood beneath the turning lens, white-faced. “Where are you?” Mara cried. A long pause followed. “Not where you think. The reef remembers everything.” Outside, the fog rolled in, thick and sudden, swallowing the sea. The lighthouse beam swept across the darkness. On the radio, Elise began to sing: a lullaby about a silver moon and a boat coming home. Mara’s father sank to his knees. He did not weep loudly. He simply bowed his head and listened. At dawn, the fog lifted. On the rocks below the lighthouse lay a small, water-darkened bundle. Mara climbed down and found a brass compass inside, its needle trembling toward the sea. The radio never spoke again. Her father placed the compass beside the lantern window. After that, he talked more. To Mara, mostly, and sometimes even to the gulls. Years later, when Mara became keeper of Bellwether Light, she kept the old radio on the shelf beneath the lens. It remained silent. But whenever storms gathered beyond the horizon, she turned it on and let the static fill the room. Just in case someone was still trying to come home.
Report on the english post
Flags: 23 · surface 10 · phrasing 9 · structure 4
# Humanizer report: post_en.md
Tool: `humanizer` skill (~/.claude/skills/humanizer). Run with the defaults: mode `rewrite`, voice inferred (`professional`), purpose `general`, iterate 1, no `--score`.
**Score:** none. The skill only computes its 0-100 score when `--score` is passed, and the default run doesn't pass it.
## Patterns flagged
| Pattern | Where | Text |
|---|---|---|
| P13 Em dash (zero tolerance) | ¶1, ¶4, ¶5 (×3) | 6 em dashes: "more useful—and more connected", "configuration examples—not just the marketing description", "categories—including … installers—and refreshes", "support—not replace—human review" |
| P16 Title case in heading | H1 | "Review AI Agent Skills Before You Install Them" |
| P9 Negative parallelism (repeated) | ¶3, ¶5, ¶8 | "The risk is not limited to obviously malicious code."; "a score should support—not replace—human review"; "The goal is not to block experimentation. It is to make…" |
| P48 Aphorism formula ("not X but Y") | ¶8 | "The goal is not to block experimentation. It is to make agent extensibility operate like any other software dependency" |
| P10 Rule of three / list stacking | throughout | Long lists of 4-6 items in almost every paragraph, e.g. "browse systems, call APIs, modify files, and automate operational work"; "discoverable, reviewable, limited in scope, and observable in production" |
| Generic opener (P29 family) | ¶1 | "AI agents are becoming more useful—and more connected." (a trend statement that delays the actual point) |
| P24 / P39 Tidy summary close | ¶8, last sentence | "A few minutes of scrutiny before installation can prevent an agent from turning trusted access into an avoidable security incident." |
| P50 Agentless passive | ¶2, ¶4 | "before any third-party skill is installed"; "whether its releases are signed or reviewed, and whether its dependencies are pinned" |
| P45 Narrator from a distance | ¶2, ¶6, ¶7 | "Engineering managers should…", "Teams should also…" (talks about the reader in the third person) |
| P30 Uniform sentence length (partial) | ¶2-¶4, ¶6 | Long runs of 18-32-word sentences |
| Tier 3 vocabulary (context only) | ¶5 | "useful first pass", "lightweight", "seemingly harmless": ordinary words, low weight |
**Not flagged:** no Tier 1A AI vocabulary (delve, tapestry, realm, and so on), no chatbot artifacts, no reference markup or UTM tags, no placeholders. The skill's guardrails say to keep hard-to-fabricate specifics as they are: Agent Skills Hub, 186,000 repositories, 11 red-flag categories, credential harvesting, data exfiltration, `curl | sh`, 8-hour refresh.
**Burstiness:** MEDIUM. There are 28 sentences, averaging 16.5 words (range 7-32, coefficient of variation 0.44), with clusters of similar long sentences.
**Severity:** HIGH by the skill's rubric (8+ patterns = heavy AI smell). Most of the weight comes from structure and formatting (em dashes, parallelisms, list stacking, heading case), not vocabulary.
## Rewrite
Saved to `~/work/output/post_en.md`. Changes: removed all 6 em dashes, changed the heading to sentence case, cut two of the three "not X" constructions, replaced the trend opener with the concrete integrations, addressed the reader as "you", turned the provenance checklist into direct questions, split long sentences to vary their length, and shortened some lists. Every fact, name and number is kept.
Report on the chinese post
Flags: 8 · surface 1 · phrasing 4 · structure 3
# Humanizer report: post_zh.md Tool: `humanizer` skill, with the English catalog plus its native-Chinese appendix `references/patterns.zh.md` (ZH1-ZH15). The skill labels that appendix **provisional** because no fluent Chinese writer has validated it. Run with the defaults: mode `rewrite`, voice inferred (`professional`), no `--score`. **Score:** none. The skill only computes a score with `--score`. The appendix also says burstiness and perplexity don't transfer to Chinese, so no sentence-length metric was used. ## Patterns flagged | Pattern | Where | Text | |---|---|---| | ZH2 Enumeration scaffolding | ¶2, ¶4 | "首先,Skill 的说明文档…"; "第一是来源审查…第二是行为审查…第三是权限审查…第四是运行审查" | | ZH10 Forced parallelism | ¶1, ¶7 | "它会做什么、能看到什么、能把数据带到哪里"; "可追溯、可限制、可监控、可撤销" | | P9 / P48 Negative parallelism, "不是…而是…" | ¶5, ¶7 | "评分是风险信号,不是安全认证"; "不是禁止团队使用第三方能力,而是让…"; "获得自动化收益,而不是…付出代价" | | ZH1 Hollow slogan | ¶1 | "能力越强,权限边界就越重要。" | | ZH3 Cliché/trend opener | ¶1 | "AI Agent 正从个人工具走向团队基础设施。" | | ZH7 Slogan-style ending | ¶7 | "真正成熟的 Agent 治理,不是……"; the closing sentence ends on a gain-or-pay moral | | ZH14 Translationese (unverified hypothesis) | ¶1, ¶4 | "一个…、一个…,或一个…" (repeated 一个); "进行隐蔽网络通信" (进行 + noun) | | P15 Structured-list syndrome (in prose) | ¶4 | Four parallel "第N是X审查:…" blocks inside one paragraph | **Not flagged:** no ZH4 blacklist words (此外, 值得注意的是, 至关重要, 赋能 and so on), no em-dash overuse (0 ——), no half-width punctuation mixed into the Chinese text, and no ZH15 lack of stance (the article argues one clear position). Specifics kept as they are: Agent Skills Hub, 18.6 万 repositories, 11 risk categories, `curl | sh`, 8-hour refresh. **Severity:** about 8 patterns, which is HIGH by the skill's count threshold. The skill itself warns that the Chinese ruleset is unvalidated. ## Rewrite Saved to `~/work/output/post_zh.md`. Changes: dropped 首先 and 第一/第二/第三/第四 and labeled the four review layers with plain lead words (来源/行为/权限/运行), cut the "能力越强…" slogan, opened on the concrete integrations, used more conversational wording, broke up the long sentences, and softened the slogan ending. Every fact, name and number is kept.
Report on the english short story
Flags: 7 · surface 3 · phrasing 3 · structure 1
# Humanizer report: story_en.md Tool: `humanizer` skill (~/.claude/skills/humanizer). Run with the defaults: mode `rewrite`, voice inferred (literary fiction, kept as the author's own), no `--score`. **Score:** none. The skill only computes a score with `--score`. ## Patterns flagged | Pattern | Where | Text | |---|---|---| | P13 Em dash (zero tolerance) | near the end (×2) | "Elise began to sing—a lullaby about a silver moon…"; "he talked more—to Mara, mostly, and sometimes even to the gulls." | ## Low-confidence observations (noted, not changed) | Pattern | Where | Text | Why left alone | |---|---|---|---| | P48 Aphorism formula | dialogue | "Storms don't always begin in the sky."; "The reef remembers everything." | Guardrail: don't rewrite inside quotations or dialogue | | P9 Negative parallelism (single) | near the end | "He did not weep loudly. He simply bowed his head and listened." | Only one instance; the skill flags clusters, not isolated tells | | P17 Curly quotes | throughout | ’ “ ” | Matches the author's own typography; the fix is to keep it consistent | | Tidy ending (P24 family) | last line | "Just in case someone was still trying to come home." | A specific, image-based ending, not a generic positive one | **Burstiness:** HIGH (human-like). There are 90 sentences, averaging 7.4 words (range 1-27, coefficient of variation 0.80), with lots of fragments and one-line paragraphs. **Signs of human writing (protected):** proper names (Mara, Elise, Thomas, Bellwether Light, Admiral the gull), the specific "twenty-seven years", sensory details (the tin mug, the cracked dial, the cloth speaker "gone the color of dust"), and an unresolved, unexplained ending. **Severity:** LOW. The only firm finding is the em dashes. The skill's guardrail applies: "If a passage is already carrying a pulse, the correct edit is often no edit." ## Rewrite Saved to `~/work/output/story_en.md`. It's a minimal edit: only the two em dashes changed (one became a colon, one became a full stop plus a fragment). All other text, including every name and number, is identical to the original.