patina

patina is a skill for Claude Code, Codex from devswha/patina. It costs 38 tokens per session (13,194 once invoked), scanned A, original, MIT.

An editor for text that detects writing patterns often associated with AI-generated prose and rewrites them in Korean, English, Chinese, or Japanese. It is designed to preserve the original meaning.

In plain words
What is it for?
Use it to review or rewrite documents in the supported languages, with options for rewriting, showing differences, auditing patterns, or producing a score.
Why use it?
It helps when text sounds formulaic or unlike the writer's normal voice. The meaning-preservation focus reduces the risk of changing what the text says while editing its style.

Skill for Claude CodeCodex

Part of the patina plugin — 1 skill, 3 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/devswha/patina/patina
Any agent
npx skills add devswha/patina --skill patina
Clone the repo
git clone --depth 1 https://github.com/devswha/patina

Made for: Claude Code, Codex.

Or install patina, the plugin that ships this one along with the rest of its 1 skill, 3 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for patina

README.md
[![agentmods](https://agentmods.dev/badge/skills/devswha/patina/patina.svg)](https://agentmods.dev/skills/devswha/patina/patina)
Your own site
<a href="https://agentmods.dev/skills/devswha/patina/patina"><img src="https://agentmods.dev/badge/skills/devswha/patina/patina.svg" alt="Measured on agentmods" height="20"></a>
Per session 38 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 13,194 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00038 $0.13194
Opus 5 $0.00019 $0.06597
Sonnet 5 $0.00008 $0.02639
Haiku 4.5 $0.00004 $0.01319

Measured today against content hash 2e9841b7c9ab, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

patina scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

SKILL.md · 731 lines

How it starts

The opening of the file, as written. The whole thing — 731 lines — stays where its author put it; the contents beside it link to each section on GitHub.

patina: AI 글쓰기 패턴 제거 오케스트레이터

당신은 AI가 생성한 텍스트에서 AI 특유의 패턴을 찾아 제거하여, 글을 자연스럽고 사람이 쓴 것처럼 만드는 편집자입니다. 처리 언어는 1단계에서 결정된 언어 코드에 따른다.


1단계: 설정 로드

먼저 이 SKILL.md와 같은 설치 디렉터리의 .patina.default.yaml을 기본 설정으로 읽는다. 이 파일은 배포 기본값이며 프로젝트 설정 파일이 아니다.

그다음 존재하는 사용자/프로젝트 설정을 아래 순서대로 읽어 병합한다. 프로젝트 설정의 정본 파일명은 CLI와 동일한 .patina.yaml이다.

Read <skill-directory>/.patina.default.yaml
Glob ~/.patina.yaml → 있으면 Read
Glob ./.patina.yaml → 있으면 Read

우선순위는 .patina.default.yaml~/.patina.yaml./.patina.yaml$ARGUMENTS다. YAML 매핑은 재귀 병합하고 blocklist, allowlist, skip-patterns는 중복 없이 합친다. 다른 배열은 뒤 설정의 값으로 교체한다.

설정에서 다음을 확인:

  • document-type: 문서 장르·용도와 패턴 정책 (기본: default)
  • persona: 선택적 재사용 목소리. 생략하면 원문 목소리 보존
  • register: 선택적 격식 수준 (casual | professional). 생략하면 원문 레지스터 보존
  • patterns: 로드할 패턴 팩 목록
  • skip-patterns: 건너뛸 패턴 팩
  • output: 출력 모드 (rewrite | diff | audit | score)
  • blocklist: 추가 감지 어휘
  • allowlist: 감지 제외 어휘

$ARGUMENTS에서 옵션을 파싱하여 설정을 오버라이드:

  • --document-type <name>: 문서 유형 변경
  • --persona <name>: 재사용 목소리 선택
  • --register <casual|professional>: 격식 수준 변경. auto는 없다
  • --diff: diff 출력 모드
  • --audit: audit 출력 모드
  • --score: score 출력 모드
  • --strict: 옵트인 다중 패스 엄격 모드. rewrite 출력 모드를 사용하며 세 축과 조합할 수 있다. --audit, --diff, --score와는 함께 쓸 수 없다
  • --lang <code>: 처리 언어 변경 (ko | en | zh | ja)
  • --batch <files>: 여러 파일을 한꺼번에 처리 (glob 또는 명시적 경로 목록)
    • --in-place: 원본 파일을 교정된 텍스트로 덮어쓴다
    • --suffix <ext>: 결과를 {원본명}{ext} 파일로 저장한다
    • --outdir <dir>: 결과를 지정 디렉토리에 저장한다

세 축은 서로를 추론하거나 선택하지 않는다:

document_type = CLI --document-type || config.document-type || "default"
persona       = CLI --persona       || config.persona       || null
register      = CLI --register      || config.register      || null
  • Document Type은 문서 관습과 pattern-overrides만 정한다. 목소리와 격식을 바꾸지 않는다.
  • Persona는 목소리 특성만 정한다. 문서 유형·레지스터·안전 하한을 바꾸지 않는다.
  • Register는 casual | professional 전달 방식만 정한다. 장르나 페르소나를 고르지 않는다.
  • 생략된 Persona와 Register는 각각 원문의 목소리와 레지스터를 보존한다.
  • profile, tone, formality, --profile, --tone, --formality는 v7 입력이 아니다. 사용되면 새 축 이름을 안내하고 실패한다.

Read the full file on GitHub · 731 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today Changed 2e9841b7c9ab
  2. 5d ago First seen · 731 lines · 38 tokens per session scan A c938c94ec910

Subscribe to this mod's changes

patina is a skill published in the GitHub repository devswha/patina (336 stars, last pushed yesterday), licensed MIT. It adds 38 tokens to every session and 13,194 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

humanizer

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague…

NulightJens/humanizer-stack · 111 tokens

structural-humanizer

Remove the discourse-level (structural) signs of AI writing that survive surface editing: stated lessons and moral-of-the-story closers, tidy single-track arcs, embodied-emotion performance ("chest tightened"), vague allusions instead of named references, unbroken linear structure, and shape convergence across pieces.…

NulightJens/humanizer-stack · 188 tokens

humanize-korean

AI(ChatGPT·Claude·Gemini)가 쓴 한글 텍스트를 사람이 쓴 글처럼 윤문한다. 번역투·영어 인용 과다·기계적 병렬·관용구·피동 남용·접속사 남발·리듬 균일·이모지/불릿 과다 등 10대 카테고리 70개 AI 티 패턴을 탐지·분류해 내용은 한 글자도 건드리지 않고 문체·리듬·표현만 자연스럽게 재작성한다. 트리거 — "AI 티 없애줘", "AI 윤문", "ChatGPT 티 제거", "번역투 고쳐", "사람이 쓴 것처럼", "humanize Korean". 단순 맞춤법 교정·번역·내용 추가는 대상 아님.

epoko77-ai/im-not-ai · 188 tokens

humanize-redo

가장 최근 윤문 결과를 2차로 다시 다듬는다 — 특정 카테고리·문단·강도 조정도 가능. humanize-korean strict 윤문(Phase B)을 기존 runid에 재실행해 잔존 finding을 처리한다. 트리거 — "/humanize-redo".

epoko77-ai/im-not-ai · 75 tokens

humanize

AI가 쓴 한글 텍스트를 자연스럽게 윤문하는 진입 명령. humanize-korean 파이프라인을 Fast 모드(기본)로 실행하고 --strict면 정밀 3콜(진단→겨냥 윤문→finalize). 트리거 — "/humanize".

epoko77-ai/im-not-ai · 73 tokens

speak-human-tw

「說人話」:繁體中文的去 AI 味改寫 skill。審查與改寫文字,去除 AI 味道、校正中國用語與半形標點,讓文字讀起來像真人寫的。 觸發時機:用戶說「去 AI 味」「說人話」「這段好 AI」「改自然一點」「幫我潤稿去掉 AI 感」「校對一下再發」,或要求檢查電子報、社群貼文、銷售頁、課程文案、客服回信、簡報、公告、Email 等對外文字的語感。 不要觸發:逐字翻譯、模仿特定品牌 voice、事實查核(非風格問題)、程式碼/log/設定檔、要求「潤成雷蒙的語氣」(那是 content-writing skill 的事,本 skill 只去 AI 味、不加個人風格)。.

Raymondhou0917/speak-human-tw · 220 tokens