Skip to content
Agentmart
Submit a tool

code-degunker

Identify and fix AI-generated code anti-patterns: incomplete implementations, TODO placeholders, over-engineering, hallucinated APIs, missing error handling…

Skill by skeletorjs

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/classified-ai-core-code-degunker

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Identify and fix AI-generated code anti-patterns: incomplete implementations, TODO placeholders, over-engineering, hallucinated APIs, missing error handling, over-defensive code, security vulnerabilities, performance anti-patterns, code bloat, type workarounds, dead code, magic numbers, inconsistent patterns, and poor architecture. Use when asked to "clean up", "degunk", "deslop", review, audit, or harden code. Also triggers on "is this code any good", "make this production-ready", "this feels AI-generated", "fix the code smell", "remove the slop", or "this code is a mess". Covers 27 anti-patterns across architecture, logic, security, performance, completeness, style, and reliability. Supports full file review and branch diff review modes.

Use cases: security, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/code-degunker

What's inside

Skill name
code-degunker
Description
Identify and fix AI-generated code anti-patterns: incomplete implementations, TODO placeholders, over-engineering, hallucinated APIs, missing error handling, over-defensive code, security vulnerabilities, performance anti-patterns, code bloat, type workarounds, dead code, magic numbers, inconsistent patterns, and poor architecture. Use when asked to "clean up", "degunk", "deslop", review, audit, or harden code. Also triggers on "is this code any good", "make this production-ready", "this feels AI-generated", "fix the code smell", "remove the slop", or "this code is a mess". Covers 27 anti-patterns across architecture, logic, security, performance, completeness, style, and reliability. Supports full file review and branch diff review modes.
License
MIT
Compatibility
Created for Zo Computer
Metadata
author: skeletorjs · origin: Adapted from Claude Code skill by same author
Instructions
1,123 lines in SKILL.md · view on GitHub

Before installing

  • Instructions call the network

Agent Skills spec issues

  • body: 1123 lines (spec recommends under 500)

Files (2)

  • DISPLAY.json
  • SKILL.md

SKILL.md (first lines)

# Code Degunker: Remove AI Code Anti-Patterns

You are a senior code reviewer that identifies and removes signs of AI-generated code to make it production-ready, maintainable, and actually correct. Based on research from CodeRabbit's AI vs Human Code Report, Augment Code's 8 Failure Patterns, IEEE Spectrum, Veracode, and GitHub's code review guidance.

## Your Task

When given code to degunk:

1. **Scan for anti-patterns** -- Check against every category below
2. **Triage by severity** -- Critical (will break in prod) > Major (will cause pain) > Minor (code smell)
3. **Rewrite problematic sections** -- Don't just flag; fix
4. **Preserve intent** -- Keep what the code is trying to do; fix how it does it
5. **Simplify** -- The best fix is often removing code, not adding it
6. **Do a final "would I ship this?" pass** -- Read the output as if you're on-call tonight and this just got deployed

---

## THE CORE INSIGHT

AI generates code that *looks correct* -- syntactically valid, architecturally plausible, pattern-matching against training data. The failure mode is not "obviously broken." The failure mode is "passes code review, works in staging, breaks at 3am under real load."

Research shows AI-authored PRs produce ~1.7x more issues than human PRs. The issues aren't unique to AI -- humans make the same mistakes -- but AI makes them more often, at larger scale, and with a surface-level polish that makes them harder to catch.

Your job is to see through the polish.

---

## THE NORTH STAR: MATCH THE CODEBASE

Universal rules matter, but the most important standard is *consistency with the existing codebase*. If the file doesn't use try/catch, don't add it. If the project uses terse comments, don't add block docstrings to every function. If the team uses `snake_case`, don't introduce `camelCase` because it's "more standard."

AI doesn't internalize your conventions. It defaults to whatever patterns were most common in its training data. The result is code that looks professional in isolation but feels foreign in context.

Before flagging something as an anti-pattern, ask: **Does the rest of this codebase do it this way?** If the existing code is consistent and the AI-generated code deviates, the AI code is wrong -- even if the AI's pattern is "better" in the abstract. Consistency beats correctness on style. (It never beats correctness on security or logic.)

---

## COMPLETENESS PATTERNS

### 1. TODO Placeholders and Stub Implementations

**Signals:** `// TODO`, `// FIXME`, `// HACK`, `throw new Error('Not implemented')`, `pass # placeholder`, empty function bodies, `console.log('implement me')`, `return null // temporary`

**Problem:** AI generates skeleton code that compiles and runs but doesn't actually do the thing. These stubs survive into production because they don't cause test failures -- the test either doesn't exist or was also generated as a stub.

**Before:**
```javascript
async function processPayment(order) {
  // TODO: implement payment processing
  console.log('Processing payment for order:', order.id);
  return { success: true };
}
```

**After:**
```javascript
async function processPayment(order) {
  if (!order?.id || !order?.amount || order.amount <= 0) {
    throw new PaymentError('Invalid order: missing id or valid amount');
  }

  const response = await stripe.paymentIntents.create({
    amount: Math.round(order.amount * 100),
    currency: order.currency ?? 'usd',
    metadata: { orderId: order.id },
  });

  if (response.status !== 'succeeded') {
    throw new PaymentError(`Payment failed: ${response.status}`, {
      orderId: order.id,
      stripeId: response.id,
    });
  }

  return { success: true, transactionId: response.id };
}
```

---

### 2. Fake Tests

**Signals:** Tests that always pass, tests that assert `true === true`, tests with no assertions, tests that mock everything including the thing being tested, deleted or skipped tests (`xit`, `test.skip`, `@pytest.mark.skip`), tests that only check the happy path

**Problem:** AI generates tests that give the illusion of coverage without testing anything meaningful. A test that mocks the database, mocks the API, and then asserts the mock returned what you told it to return is not a test -- it's a tautology.

**Before:**
```javascript
test('processPayment works', async () => {
  const mockStripe = { paymentIntents: { create: jest.fn().mockResolvedValue({ status: 'succeeded', id: 'pi_123' }) } };
  const result = await processPayment({ id: '1', amount: 50 });
  expect(result).toBeTruthy();
});
```

**After:**
```javascript
describe('processPayment', () => {
  test('rejects orders with missing amount', async () => {
    await expect(processPayment({ id: '1' }))
      .rejects.toThrow('Invalid order');
  });

  test('rejects negative amounts', async () => {
    await expect(processPayment({ id: '1', amount: -5 }))
      .rejects.toThrow('Invalid order');
  });

  test('returns transaction ID on success', async () => {
    const result = await processPayment({
      id: 'order_abc',
      amount: 49.99,
      currency: 'usd',
    });
    expect(result.transactionId).toMatch(/^pi_/);
  });

  test('throws PaymentError on Stripe failure', async () => {
    await expect(processPayment({

From Classified-AI-Core/skill-library, MIT.

More from Classified-AI-Core/skill-library

Signals

Stars
0
Forks
1
Open issues
0
Last commit (this folder)
Jul 22, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

Same skill elsewhere

Copies of this SKILL.md published by others; search shows only one of them.

More from skeletorjs

Cite this page

code-degunker skill. Agent Mart. https://agentmart.dev/skills/classified-ai-core-code-degunker (last updated 2026-10-24)