Skip to content
Back to skills

Coding Guardrails

ASecurity

Enforce ThemeGPT complexity budgets and prevent over-engineering. Activates automatically when writing, reviewing, or refactoring code. Validates against 6 anti-patterns from SynthAI archaeology (Specification Inflation, Enterprise Pattern Obsession, Premature Abstraction, Configuration Explosion, Framework Absorption, Test Suite Inflation). Use when creating features, adding abstractions, writing tests, or configuring projects.

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 8, 2026
developmenttypescriptgobashrailsrefactoringperformance

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill coding-guardrails --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Coding Guardrails?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Coding Guardrails
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-coding-guardrails/badge)](https://www.skillsdirectory.com/skills/majiayu000-coding-guardrails)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: coding-guardrails
description: Enforce ThemeGPT complexity budgets and prevent over-engineering. Activates automatically when writing, reviewing, or refactoring code. Validates against 6 anti-patterns from SynthAI archaeology (Specification Inflation, Enterprise Pattern Obsession, Premature Abstraction, Configuration Explosion, Framework Absorption, Test Suite Inflation). Use when creating features, adding abstractions, writing tests, or configuring projects.
---

# Coding Guardrails

Enforce simplicity-first development and prevent complexity accumulation. This skill activates automatically during coding tasks to validate decisions against ThemeGPT's development philosophy.

## Required Reading

Before any coding task, mentally reference:
- **CONSTITUTION.md**: Philosophical principles (Simplicity > Privacy > Accessibility)
- **DIRECTIVES.md**: Enforcement rules with specific limits
- **doc/guard/SYNTHAI_PROJECT_ARCHAEOLOGY.md**: Historical lessons on over-engineering

## Complexity Budget Enforcement

### Hard Limits (Block if Exceeded)

| Metric | Limit | Action |
|--------|-------|--------|
| Single file | 200 lines | Pause and reassess |
| Feature total | 500 lines | Require architectural review |
| Configuration files | 50 lines total | Justify why hard-coding fails |
| Abstract classes | 0 | Require 3+ concrete implementations first |
| Test files | < 50% of implementation | Review necessity |

### Pre-Implementation Checklist

Before writing any code, answer:

1. **Scale Check:** Does this complexity match the problem scale?
2. **Abstraction Check:** Is there proven duplication (3+ occurrences)?
3. **Pattern Check:** Would this pattern be appropriate for a browser extension?
4. **Configuration Check:** Can this value be hard-coded instead?

If any answer suggests simpler alternatives, use them.

## Anti-Pattern Recognition

Actively flag and prevent these patterns from SynthAI archaeology:

### Pattern 1: Specification Inflation

**Warning Signs:**
- Specs describe implementation details, not outcomes
- Specification longer than estimated implementation
- Bulleted requirements spawn multiple files

**Response:** Rewrite to focus on outcomes only. Ask "What problem does this solve?" not "How should it be built?"

### Pattern 2: Enterprise Pattern Obsession

**Warning Signs:**
- Circuit breakers for local tools
- Service registries for < 5 items
- Rollback managers for single-user applications
- Audit logging beyond console output

**Response:** Remove or justify with concrete scale requirements. Browser extensions don't need enterprise infrastructure.

### Pattern 3: Premature Abstraction

**Warning Signs:**
- Abstract class with 1 implementation
- Interface before concrete use case
- Adapter pattern for single provider
- Factory pattern for single object type

**Response:** Delete abstraction. Write concrete implementation. Add abstraction only when 3+ duplications exist.

**Example:**
```typescript
// BAD: Premature abstraction
abstract class BaseProvider {
  abstract call(input: string): Promise<string>;
}
class OpenAIProvider extends BaseProvider { ... }
// Only one provider exists!

// GOOD: Direct implementation
async function callOpenAI(input: string): Promise<string> {
  return await openai.complete(input);
}
```

### Pattern 4: Configuration Explosion

**Warning Signs:**

- Config file growing beyond 50 lines
- Environment variables for internal values
- YAML/JSON for hard-codeable constants
- Configuration for "flexibility"

**Response:** Hard-code by default. Make configurable only when users demonstrably need to change values.

**Example:**

```typescript
// BAD: Configuration for hard-codeable value
const config = loadConfig();
const MAX_TOKENS = config.maxTokens ?? 4096;

// GOOD: Hard-coded default
const MAX_TOKENS = 4096;
```

### Pattern 5: Framework Absorption

**Warning Signs:**

- Domain-specific types in utility modules
- Framework concepts leaking into generic code
- Every module imports domain-specific types

**Response:** Keep domain frameworks separate. Utilities should have no domain dependencies.

### Pattern 6: Test Suite Inflation

**Warning Signs:**

- Tests approaching implementation size
- Tests per function instead of per behavior
- High coverage on trivial code

**Response:** Tests < 50% of implementation lines. Test behavior, not implementation. Skip tests for trivial code (getters, simple mappings).

## Decision Framework

When principles conflict, apply this priority:

1. **Simplicity** — Never add complexity beyond what the problem requires
2. **Privacy** — Never compromise user data protection
3. **Accessibility** — Never exclude users
4. **Brand Integrity** — Maintain visual consistency
5. **Completeness** — No placeholders or incomplete features
6. **Performance** — Fast, responsive extension

## Verification Commands

Run these checks before committing:

```bash
# Check for files over 200 lines (warning threshold)
find apps packages -name "*.ts" -o -name "*.tsx" | xargs wc -l | awk '$1 > 200 {print "WARNING:", $0}'

# Check for placeholder content
grep -rE "TODO|FIXME|TBD|XXX|lorem ipsum" --include="*.ts" --include="*.tsx" apps/ packages/

# Check for premature abstractions
grep -rE "abstract class|interface.*Adapter|Registry|Factory" --include="*.ts" apps/ packages/

# Check config file sizes
find . -name "*.json" -o -name "*.yaml" | xargs wc -l | awk '{sum+=$1} END {print "Total config lines:", sum}'

# Check test-to-implementation ratio
echo "Test lines:" && find apps packages -name "*.test.ts" | xargs wc -l 2>/dev/null | tail -1
echo "Impl lines:" && find apps packages -name "*.ts" ! -name "*.test.ts" | xargs wc -l 2>/dev/null | tail -1
```

## Response Protocol

When this skill activates during a coding task:

1. **Before Implementation:** Run pre-implementation checklist mentally
2. **During Implementation:** Flag any anti-pattern warning signs immediately
3. **Before Committing:** Run verification commands
4. **If Limits Exceeded:** Stop, explain the concern, propose simpler alternative

## Key Phrase Triggers

Activate heightened scrutiny when you hear:

- "We might need..."
- "For flexibility..."
- "In case of..."
- "Best practice says..."
- "Enterprise-grade..."
- "Future-proof..."

These phrases often precede unnecessary complexity.

## Simplicity Mantra

> "Sometimes the best code is the code you don't write."
> — SynthAI Project Archaeology

When in doubt, implement the minimal solution. Complexity can be added later; removing it is much harder.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.