Agent skill · writing content · kochetkov-ma
text-human
Humanizes code, docs, articles, reddit/chat, javadoc -- strips AI artifacts, fixes unicode, fits register. Triggers: humanize, ai artifacts, unicode fix, article, reddit, javadoc.
Why this skill is useful
Adds specific humanization patterns and context-aware processing for various text types that the AI wouldn't reliably generate on its own.
What it needs
About 7k tokens when loaded. Last updated 2026-08-06. 29 stars on the source repository.
What this skill does
Text Humanizer Universal, context-aware humanizer. Works on source code, comments, docstrings, technical docs, commits/PRs, published articles, and reddit/chat text. It picks ONE flow from context, lazy-loads only that flow plus the relevant pattern sections, and runs a two-pass model: STRIP validated AI tells, then a gated INJECT of human style fit for the domain. Position: removes AI surface artifacts and fits register -- it does NOT claim to detect authorship. Prompt contract Position 1 of $ARGUMENTS is a free-form prompt (RU/EN) -- modes ("flows") and flags are optional and may follow in any order. Nobody types keys: resolve the flow + scope FROM the prompt. Phase 0 below IS this skill's resolution algorithm (explicit keyword -> path/extension -> content sniff); the Flow table there carries EN/RU keywords and Mutates? per flow. 1. Strip nothing -- there are no mode flags, only the flow keywords in the table below. 2. Explicit intent keyword (table below) wins outright, no scoring; unresolved cases fall through Phase 0's own priority order (keyword -> extension -> content sniff). 3. Empty arguments -> no assumed flow: Phase 0 Step 4's existing AskUserQuestion ("What to humanize?") is the ONE scoping question this contract requires -- do not skip it and do not guess a flow. 4. Outcome-changing ambiguity beyond the flow itself -> ONE AskUserQuestion BEFORE any work. Phase 0.5's dirty-path gate IS that question whenever it fires, and it outranks the scoping one. 5. Prose that is not a flow keyword is still input: customPrompt (Phase 0 Argument parsing) extracts it and both selects/overrides the flow and adds custom rules. Then print this block ONCE, before the first action: Labels are literal; values follow the conversation language. Print it right after Phase 0 announces Flow: <name> -- <reason>, before Phase 1 touches any file. SCOPE names the resolved target paths -- for mixed, the resolved block list. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills kochetkov-ma/text-human--23dfc5