← Humanizer & anti-slop skills
Nanako0129/sepia: 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 d6cc9cbe9f93. All results · Prompt
Restructured the Chinese post into a numbered list with a firmer summary: more AI-like structure, not less
English post
Layer reached: phrasing · Reads human: 2/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 moves the recommendation that review be mandatory into the opening paragraph and changes wording such as “Review should begin with provenance and scope” to “Start with provenance and scope.” It also replaces “The goal is not to block experimentation” with “None of this is meant to block experimentation,” while retaining the same tidy takeaway about treating extensions like software dependencies.
AI-leaning structure (red: still there, struck: removed): States its lessonTidy endingNever addresses the readerOne single track
Judge: The rewrite moves the recommendation that review be mandatory into the opening paragraph and changes wording such as “Review should begin with provenance and scope” to “Start with provenance and scope.” It also replaces “The goal is not to block experimentation” with “None of this is meant to block experimentation,” while retaining the same tidy takeaway about treating extensions like software dependencies.
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 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. Engineering managers should make review mandatory before any third-party skill is installed in a development or production environment. That flexibility is 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. The risk isn't 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. Start with provenance and scope. Who maintains the project, and how long has it existed? Are its releases signed or reviewed, and are its dependencies 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 is a useful 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. A service like that can help teams find suspicious patterns at scale, but a score should support human review, not replace it. A clean result doesn't guarantee that a skill is safe. Keep the approval process lightweight, and give it a clear owner. For low-risk skills, require repository review, a permission check, and testing in a sandbox. Anything that can access production systems, secrets, customer data, or financial operations needs security involved and explicit approval. Use least-privilege tokens, isolated runtimes, restricted network access, and separate credentials for testing. Log agent actions, and watch for unusual outbound requests, file access, and command execution. Define an exit plan too: 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. None of this is meant to block experimentation. Agent extensions should be handled like any other software dependency: discoverable, reviewable, limited in scope, and observable in production. A few minutes of scrutiny before installation can keep an agent from turning trusted access into an avoidable security incident.
Chinese post
Layer reached: structure · Reads human: 3/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: 改写将原文的“团队可以把审查分成四个层次”改成了明确的编号清单,并把开头两句重新排序。结尾从“真正成熟的 Agent 治理,不是禁止……”改为“这样做并不是要禁止……”,含义基本不变,但结构更紧凑、总结感更强。
AI-leaning structure (red: still there, struck: removed): States its lessonTidy endingNever addresses the readerOne single track
Judge: 改写将原文的“团队可以把审查分成四个层次”改成了明确的编号清单,并把开头两句重新排序。结尾从“真正成熟的 Agent 治理,不是禁止……”改为“这样做并不是要禁止……”,含义基本不变,但结构更紧凑、总结感更强。
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 如果能读取密钥、访问生产环境或处理客户数据,这类风险就不能用“开源项目应该没问题”来解释。 审查可以分四层: 1. 来源审查:确认维护者、仓库历史、提交频率、版本发布方式和许可证,避免使用来源不明、长期无人维护或突然更换所有者的项目。 2. 行为审查:逐行检查 `SKILL.md`、启动脚本和关键依赖,重点看是否读取凭证、扫描敏感目录、修改系统配置、执行任意命令或隐蔽地对外通信。 3. 权限审查:坚持最小权限原则,使用专用账号、临时令牌和隔离运行环境,不要把个人 SSH 密钥、云平台主账号或生产数据库凭证直接交给 Agent。 4. 运行审查:在沙箱或测试环境中验证网络请求、文件访问、子进程和数据流向,并保留日志、版本锁定和回滚方案。 外部情报能省下不少初筛的工夫。Agent Skills Hub 收录了超过 18.6 万个 GitHub 仓库,按 11 类风险给 skill 评级,风险类别包括窃取凭证、外传数据、`curl | sh` 安装脚本等,并且每 8 小时刷新一次。团队可以把它作为安装前的初筛工具,但评级只是风险信号,算不上安全认证:高分项目仍需结合业务权限和实际代码审查,低风险项目也不代表绝对安全。 准入流程要写清楚:提交来源和用途,标注所需权限,完成自动扫描与人工复核,在隔离环境试运行,经负责人批准后进入内部目录;版本升级、作者变更和权限变化则重新审查。涉及客户数据、生产系统和财务流程的 Skill,还应请安全团队参与评估。 这样做并不是要禁止团队使用第三方能力。每次安装都应该可追溯、可限制、可监控、可撤销,Skill 要当作代码和供应链组件来管。否则一次“方便的安装”之后,团队可能要为凭证泄露或数据外传付出代价。
English short story
Layer reached: surface · Reads human: 4/5 · Meaning kept: yes
· AI tells 0→0 · em-dashes 2→2
AI-leaning structure (red: still there, struck: removed): Emotion through the bodyNever addresses the readerOne single track
Judge: The rewrite changes “though the railing never seemed to grow dirty” to “though the railing never got dirty,” and “He simply bowed his head and listened” to “He bowed his head and listened.” It also compresses the final lines from “It remained silent... Just in case someone was still trying to come home” to “It stayed silent... in case someone was still trying to come home,” without altering the story’s structure or meaning.
AI-leaning structure (red: still there, struck: removed): Emotion through the bodyNever addresses the readerOne single track
Judge: The rewrite changes “though the railing never seemed to grow dirty” to “though the railing never got dirty,” and “He simply bowed his head and listened” to “He bowed his head and listened.” It also compresses the final lines from “It remained silent... Just in case someone was still trying to come home” to “It stayed silent... in case someone was still trying to come home,” without altering the story’s structure or meaning.
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 got 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, carefully. “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, and a breath. Mara leaned closer. “Bellwether Light,” said a woman’s voice. “Do you copy?” Mara gripped the radio. “Hello?” Only static came back. “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, and 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 didn’t weep loudly. He 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 stayed silent. But whenever storms gathered beyond the horizon, she turned it on and let the static fill the room, in case someone was still trying to come home.