[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-92569":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":15,"starSnapshotCount":15,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},92569,"humanize-text-skill","fendouai\u002Fhumanize-text-skill","fendouai","Free AI Humanizer: Humanize AI Text Online","https:\u002F\u002Flynote.ai\u002Fai-humanizer",null,"JavaScript",216,1,109,0,107,50.9,"MIT License",false,"main",true,[23,24,25,26],"ai-humanize","humanize-ai","humanize-text","humanizer","2026-07-22 04:02:06","\u003Cdiv align=\"center\">\n\n# humanize-text-skill\n\n### Make AI-written text sound human, not just less AI.\n\n**Bilingual zh\u002Fen engine · zero dependencies · detector + rewrite skill + voice pull**\n\n\u003C\u002Fdiv>\n\n`humanize-text-skill` is a bilingual writing skill for removing AI-shaped prose and pulling the result toward a target human voice.\n\nIt does two jobs:\n\n- **Subtraction**: remove AI-shaped vocabulary, structure, rhythm, and chatbot residue.\n- **Addition**: pull the cleaned text toward a target voice such as `casual`, `professional`, or `technical`.\n\nUnlike simple AI-writing detectors, this project is built as a full skill:\n\n- it detects issues\n- it decides what is safe to rewrite\n- it protects facts, commands, paths, and quoted text\n- it shapes the final output for scenes like README intros, release notes, issue replies, and status updates\n\n## At A Glance\n\n![humanize-text-skill capability map](.\u002Fdocs\u002Fcapability-map.svg)\n\n## Why It Exists\n\nMost tools stop at \"less AI.\" `humanize-text-skill` aims for \"sounds like a real person wrote this.\"\n\nCommon targets:\n\n- Chinese filler and black-box jargon such as `值得注意的是`, `赋能`, `闭环`, and `综上所述`\n- English AI staples such as `delve into`, `seamless`, `serves as a testament`, and `Let's dive in`\n- over-even sentence rhythm\n- false significance and vague authority claims\n- pasted chatbot residue\n\n## What It Can Do\n\n- Detect 50 executable issue types across Chinese and English.\n- Keep the same concept mapped to the same detector type across both languages where symmetry is intended.\n- Route behavior by scene: `chat`, `status`, `docs`, `public-writing`.\n- Support three modes: `rewrite`, `detect`, `edit`.\n- Protect spans that must not drift: numbers, commands, paths, versions, names, logs, and quotes.\n- Compute `voice.drift` separately from `score`, with concrete pull suggestions.\n- Document **17 pattern categories** in the skill contract.\n- Lock examples and engine behavior with `143 CI checks`.\n\n## Quick Example\n\n```bash\nnode -e \"const H=require('.\u002Fdetector\u002Fpatterns.js'); console.log(H.analyzeText('值得注意的是，我们打造了一套赋能开发者社区的方案，助力企业实现降本增效闭环。综上所述，未来可期！').score)\"\n```\n\n```bash\n# expected: 55\n```\n\n```bash\nnode -e \"const H=require('.\u002Fdetector\u002Fpatterns.js'); console.log(H.analyzeText('今天把连接池上限从 20 调到 100，504 先压下来了。观察 24 小时，错误率 0.1% 以下就全量。').score)\"\n```\n\n```bash\n# expected: 0\n```\n\n## Validation Snapshot\n\nCurrent locked examples:\n\n- AI-heavy zh sample: `score = 55`\n- human technical zh sample: `score = 0`\n- formal text against `casual` voice target: `voice.drift = 71`\n- current test suite: `143 CI checks`\n\n## Install And Use\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ffendouai\u002Fhumanize-text-skill.git\ncd humanize-text-skill\nnpm test\n```\n\nThis repository is usually used as a skill package inside an agent runtime.\n\n- Claude Code: copy `SKILL.md`, `references\u002F`, and `policy\u002F` into `.claude\u002Fskills\u002Fhumanize-text-skill\u002F`\n- Cursor: use [`cursor-rules\u002Fhumanize-text-skill.mdc`](.\u002Fcursor-rules\u002Fhumanize-text-skill.mdc)\n- Codex \u002F OpenClaw \u002F Hermes: point the tool at the repo root\n\n### ClawHub publish readiness\n\nThis repository is prepared for ClawHub upload:\n\n- canonical entry file: `SKILL.md`\n- runtime support files: `detector\u002F`, `references\u002F`, `policy\u002F`\n- publish filter: [`.clawhubignore`](.\u002F.clawhubignore)\n\nSuggested publish command:\n\n```bash\nclawhub skill publish . \\\n  --slug humanize-text-skill \\\n  --name \"humanize-text-skill\" \\\n  --version 0.1.0\n```\n\n`policy\u002F` is a required runtime dependency. If you install the skill manually\nand omit that directory, `voiceMode` will fail.\n\n### Install health check\n\n```bash\nnode -e \"const H=require('.\u002Fdetector\u002Fpatterns.js'); const r=H.analyzeText('值得注意的是，我们打造了一套方案。', { voiceMode: 'casual' }); console.log({ score: r.score, hasVoice: !!r.voice, drift: r.voice && r.voice.drift });\"\n```\n\nExpected:\n\n- `score` is greater than `0`\n- `hasVoice` is `true`\n- `drift` is a number\n\n## Common Usage Patterns\n\nIn tools like Claude Code, Codex, or other skill-aware agents, people usually use `humanize-text-skill` in one of these ways.\n\n### 1. Direct skill call\n\n```text\n\u002Fhumanize-text-skill Please rewrite this so it sounds less like AI:\n\n[paste text]\n```\n\n### 2. Natural-language request\n\n```text\nUse humanize-text-skill to rewrite this so it sounds more natural:\n\nThis project serves as a testament to our team's commitment to innovation.\nMoreover, it showcases our pivotal role in the evolving technology landscape.\n```\n\n### 3. File-based request\n\n```text\n\u002Fhumanize-text-skill Please humanize the copy in article.md.\n```\n\n### 4. Detect before rewrite\n\n```text\n\u002Fhumanize-text-skill Detect mode: show me what still sounds AI-written, but don't rewrite yet.\n```\n\n### 5. Target a voice or scene\n\n```text\n\u002Fhumanize-text-skill Rewrite this in a blunt voice for an issue reply.\n```\n\n```text\n\u002Fhumanize-text-skill Rewrite this README intro in a technical voice.\n```\n\nPractical defaults:\n\n- pasted text usually means `rewrite`\n- \"check this first\" usually means `detect`\n- \"only touch this file\u002Fcomment\u002Fparagraph\" usually means `edit`\n- README, release note, forum post, and issue reply requests automatically benefit from scene-pack behavior\n\n## Voice Calibration\n\nIf you want the rewrite to sound more like you, provide a short sample of your own writing and use `voiceMode: custom`.\n\n```text\n\u002Fhumanize-text-skill\n\nHere's a sample of my writing for voice matching:\n[paste 2-3 paragraphs of your own writing]\n\nNow rewrite this in my voice:\n[paste draft]\n```\n\nWhat the skill uses from the sample:\n\n- sentence length and rhythm\n- connector preferences\n- first-person tendency\n- a measurable voice profile, not private identity traits\n\nWhat it does not do:\n\n- it does not copy your facts or opinions from the sample\n- it does not override protected spans\n- it does not try to impersonate a real person beyond observable writing style\n\n## Engine API\n\n```js\nconst HumanizeTextSkill = require(\".\u002Fdetector\u002Fpatterns.js\");\n\nconst result = HumanizeTextSkill.analyzeText(\"your text\", {\n  contextMode: \"general\",\n  sceneMode: \"docs\",\n  voiceMode: \"casual\",\n  sample: \"optional sample\",\n});\n\nconsole.log(result.score);\nconsole.log(result.issues);\nconsole.log(result.voice?.drift);\nconsole.log(result.voice?.suggestions);\n```\n\nImportant:\n\n- `score` is the only engine score.\n- `voice.drift` is a separate dimension.\n- `fidelity` is currently enforced in the rule layer, not returned as an engine field.\n\n## Skill Runtime\n\n![humanize-text-skill skill architecture](.\u002Fdocs\u002Fskill-architecture.svg)\n\nThe detector is only one layer. The full skill runtime is:\n\n1. choose mode: `rewrite`, `detect`, or `edit`\n2. judge scene and scope\n3. protect spans that must not drift\n4. run detector and voice analysis\n5. choose action: rewrite, audit-only, or minimal edit\n6. run a second-pass residue audit\n7. return output in a scene-appropriate shape\n\nSee [references\u002Fskill-architecture.md](.\u002Freferences\u002Fskill-architecture.md) for the full map.\n\n## Repository Map\n\n- [SKILL.md](.\u002FSKILL.md): top-level skill contract\n- [detector\u002F](.\u002Fdetector\u002F): executable detector and voice engine\n- [references\u002F](.\u002Freferences\u002F): human-readable rules, scene packs, examples, checklists\n- [policy\u002F](.\u002Fpolicy\u002F): auditable scene\u002Ftier\u002Fvoice policy in TOML\n- [evals\u002F](.\u002Fevals\u002F): benchmark cases, fixtures, voice samples\n\nGood entry points:\n\n- [references\u002Fscene-packs.md](.\u002Freferences\u002Fscene-packs.md)\n- [references\u002Fexamples.md](.\u002Freferences\u002Fexamples.md)\n- [references\u002Fquick-checklist.md](.\u002Freferences\u002Fquick-checklist.md)\n- [references\u002Fvoice-contract.md](.\u002Freferences\u002Fvoice-contract.md)\n\n## Related Work\n\n`humanize-text-skill` builds on ideas and assets from:\n\n- [conorbronsdon\u002Favoid-ai-writing](https:\u002F\u002Fgithub.com\u002Fconorbronsdon\u002Favoid-ai-writing)\n- [MrGeDiao\u002Fshuorenhua](https:\u002F\u002Fgithub.com\u002FMrGeDiao\u002Fshuorenhua)\n","这是一个面向中英文双语的AI文本人性化处理工具，旨在将机器生成的文本改写为更自然、符合人类表达习惯的风格。核心功能包括AI特征检测、语义保留式重写、多场景适配（如文档、状态更新、聊天等），并支持指定目标语气（如随意、专业、技术）。项目采用零依赖JavaScript实现，具备细粒度保护机制（保留命令、路径、数字等关键内容）和17类可验证语言模式。适用于开发者撰写README、发布说明、工单回复等需兼顾专业性与可读性的技术写作场景。",2,"2026-07-09 02:30:21","CREATED_QUERY"]