{"id":"b34ea55d-bfd4-4950-a59c-0ebd9d375c51","shortId":"qYRD8z","kind":"skill","title":"audit-patterns","tagline":"Use when auditing and unifying pattern consistency in a scope — divergent implementations of the same concern, reimplementations of existing utilities, naming violations, import disorder, unused dependencies. Triggers on \"audit patterns\", \"fix inconsistencies\", \"unify conventions","description":"target = $ARGUMENTS\n\nIf target provided, audit that path. Otherwise, files changed since the default branch. Full-codebase audit requires explicit user request.\n\nFind and fix unjustified deviations from the codebase's own conventions, unifying outliers toward what already dominates.\n\nCount occurrences — if >60% of the codebase solves a problem one way, unify outliers toward it. Never introduce a pattern the project doesn't already use, even if theoretically superior: consistency outweighs local optimality. What matters most, in order: same problem solved the same way (data access, error handling, async, validation, configuration); reimplementations of utilities that already exist in the codebase — the inline duplicate is the divergence, the fix is to import; naming conventions detected from existing code, not imposed; predictable API/CLI/interface shape across public surfaces; import ordering and zero unused imports or dependencies. Justified variance exists — external library requirements, proven constraints, framework boundaries — so use `git log` on divergent files: recent divergence is usually accidental, old divergence may be intentional. Demand evidence, not vibes.\n\nApply the unification fixes directly: import the existing utility, rename to the dominant convention, reorder imports, drop unused dependencies. Run tests and lint after the batch; report `git diff --stat` and the dominant patterns enforced. When the dominant pattern itself is wrong, name it, sketch the right unified fix, and surface for sign-off before propagating — a sweep across the majority pattern is a separate decision from cleaning up outliers, and doing it unilaterally can churn a codebase you don't own.","tags":["audit","patterns","dotclaude","jhostalek","agent-skills","ai-coding","anthropic","claude","claude-code","claude-code-skills","code-review","codex-cli"],"capabilities":["skill","source-jhostalek","skill-audit-patterns","topic-agent-skills","topic-ai-coding","topic-anthropic","topic-claude","topic-claude-code","topic-claude-code-skills","topic-code-review","topic-codex-cli","topic-cursor","topic-developer-tools","topic-git-workflow","topic-multi-agent"],"categories":["dotclaude"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/JHostalek/dotclaude/audit-patterns","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add JHostalek/dotclaude","source_repo":"https://github.com/JHostalek/dotclaude","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (1,708 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:13:14.803Z","embedding":null,"createdAt":"2026-05-18T13:20:30.970Z","updatedAt":"2026-05-18T19:13:14.803Z","lastSeenAt":"2026-05-18T19:13:14.803Z","tsv":"'60':81 'access':124 'accident':193 'across':161,262 'alreadi':76,102,134 'api/cli/interface':159 'appli':203 'argument':39 'async':127 'audit':2,6,32,43,56 'audit-pattern':1 'batch':228 'boundari':181 'branch':52 'chang':48 'churn':279 'clean':271 'code':155 'codebas':55,68,84,138,281 'concern':19 'configur':129 'consist':10,108 'constraint':179 'convent':37,71,151,216 'count':78 'data':123 'decis':269 'default':51 'demand':199 'depend':29,171,221 'detect':152 'deviat':65 'diff':231 'direct':207 'disord':27 'diverg':14,144,187,190,195 'doesn':100 'domin':77,215,235,240 'drop':219 'duplic':141 'enforc':237 'error':125 'even':104 'evid':200 'exist':22,135,154,174,210 'explicit':58 'extern':175 'file':47,188 'find':61 'fix':34,63,146,206,251 'framework':180 'full':54 'full-codebas':53 'git':184,230 'handl':126 'implement':15 'import':26,149,164,169,208,218 'impos':157 'inconsist':35 'inlin':140 'intent':198 'introduc':95 'justifi':172 'librari':176 'lint':225 'local':110 'log':185 'major':264 'matter':113 'may':196 'name':24,150,245 'never':94 'occurr':79 'old':194 'one':88 'optim':111 'order':116,165 'otherwis':46 'outlier':73,91,273 'outweigh':109 'path':45 'pattern':3,9,33,97,236,241,265 'predict':158 'problem':87,118 'project':99 'propag':259 'proven':178 'provid':42 'public':162 'recent':189 'reimplement':20,130 'renam':212 'reorder':217 'report':229 'request':60 'requir':57,177 'right':249 'run':222 'scope':13 'separ':268 'shape':160 'sign':256 'sign-off':255 'sinc':49 'sketch':247 'skill' 'skill-audit-patterns' 'solv':85,119 'source-jhostalek' 'stat':232 'superior':107 'surfac':163,253 'sweep':261 'target':38,41 'test':223 'theoret':106 'topic-agent-skills' 'topic-ai-coding' 'topic-anthropic' 'topic-claude' 'topic-claude-code' 'topic-claude-code-skills' 'topic-code-review' 'topic-codex-cli' 'topic-cursor' 'topic-developer-tools' 'topic-git-workflow' 'topic-multi-agent' 'toward':74,92 'trigger':30 'unif':205 'unifi':8,36,72,90,250 'unilater':277 'unjustifi':64 'unus':28,168,220 'use':4,103,183 'user':59 'usual':192 'util':23,132,211 'valid':128 'varianc':173 'vibe':202 'violat':25 'way':89,122 'wrong':244 'zero':167","prices":[{"id":"57559257-0cb4-48dd-896c-5702593bb25a","listingId":"b34ea55d-bfd4-4950-a59c-0ebd9d375c51","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"JHostalek","category":"dotclaude","install_from":"skills.sh"},"createdAt":"2026-05-18T13:20:30.970Z"}],"sources":[{"listingId":"b34ea55d-bfd4-4950-a59c-0ebd9d375c51","source":"github","sourceId":"JHostalek/dotclaude/audit-patterns","sourceUrl":"https://github.com/JHostalek/dotclaude/tree/main/skills/audit-patterns","isPrimary":false,"firstSeenAt":"2026-05-18T13:20:30.970Z","lastSeenAt":"2026-05-18T19:13:14.803Z"}],"details":{"listingId":"b34ea55d-bfd4-4950-a59c-0ebd9d375c51","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"JHostalek","slug":"audit-patterns","github":{"repo":"JHostalek/dotclaude","stars":8,"topics":["agent-skills","ai-coding","anthropic","claude","claude-code","claude-code-skills","code-review","codex-cli","cursor","developer-tools","git-workflow","multi-agent","prompt-engineering","skill-md"],"license":"cc0-1.0","html_url":"https://github.com/JHostalek/dotclaude","pushed_at":"2026-05-17T15:07:41Z","description":"Agent skills for agentic coding tools. Extremely opinionated. Updated (almost) daily.","skill_md_sha":"a969c8ec2f2d4a58e5f5c6111ba1e53caba29578","skill_md_path":"skills/audit-patterns/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/JHostalek/dotclaude/tree/main/skills/audit-patterns"},"layout":"multi","source":"github","category":"dotclaude","frontmatter":{"name":"audit-patterns","description":"Use when auditing and unifying pattern consistency in a scope — divergent implementations of the same concern, reimplementations of existing utilities, naming violations, import disorder, unused dependencies. Triggers on \"audit patterns\", \"fix inconsistencies\", \"unify conventions\", \"fix reimplementations\", \"pattern review\"."},"skills_sh_url":"https://skills.sh/JHostalek/dotclaude/audit-patterns"},"updatedAt":"2026-05-18T19:13:14.803Z"}}