AI Development Skill

Vibe
Coding

Practical strategies for building software effectively with AI coding assistants like Claude Code, Cursor, and Windsurf.

Four pillars

The methodology that makes AI-assisted development actually work.

Plan

Scope first

Write implementation plans in markdown before touching code.

Git

Safety net

Clean slate principle. Reset hard when stuck.

Test

E2E over unit

Simulate user behavior. Catch regressions before they compound.

Debug

Reset after failures

Don't layer fixes. Clean re-implementation beats spaghetti.

Core strategies

What makes AI-assisted development different from traditional coding.

Plan before coding

Start by working with the AI to write a detailed implementation plan in markdown. Review it, delete unnecessary items, mark complex features as "won't do."

Key insight: Use todo lists so both you and the AI can see what's done and what remains.

Clean slate principle

Begin each feature with a clean git state. When stuck, use git reset --hard HEAD if the AI goes down an unproductive path.

Key insight: Multiple failed attempts create layers of bad code that compound problems.

E2E tests over unit tests

Focus on simulating user behavior—testing features by simulating someone clicking through the site. LLMs often break unrelated logic.

Key insight: Tests catch regressions before they compound. Ensure tests pass before moving on.

Clean re-implementation

When you finally find a working solution after several attempts, reset to a clean state and implement it fresh. Don't keep the accumulated mess.

Key insight: A clean re-implementation of a known-good solution is faster than untangling spaghetti.

Effective
bug fixing.

Debugging with AI requires a different approach than traditional debugging. The key is to avoid compounding problems.

  • 1
    Copy error messages

    Often enough context for the AI to identify and fix issues.

  • 2
    Analyze before coding

    Ask the AI to consider multiple causes before jumping to implementation.

  • 3
    Reset after failures

    Clean slate after each unsuccessful fix. Don't layer broken code.

  • 4
    Switch models when stuck

    Different AI models excel at different tasks. Experiment.

# The debugging loop

1. Copy the error message
2. Ask AI: "What could cause this?"
3. Review multiple hypotheses
4. Try ONE fix at a time
5. If it fails: git reset --hard HEAD
6. Try next hypothesis
7. Once working: clean re-implement

# Never layer fixes on top of
# broken code. Start fresh.

Optimize your tools

Get more out of your AI coding assistants with these techniques.

Instruction files

Write detailed instructions in config files.

cursor.rules

windsurf.rules

CLAUDE.md

Local documentation

Download API docs to your project. AI works better with local docs than training data recall.

Compare outputs

Generate multiple solutions and pick the best. Different models excel at different tasks.

Beyond coding

AI assistants help with more than just writing code.

DevOps

Servers, DNS, hosting

Design

Favicons, assets

Documentation

Docs, marketing

Education

Line-by-line explanations

Visual input

Screenshots for UI bugs

Voice input

140 WPM with Aqua

Get started

1

Clone the repository

git clone https://github.com/jamditis/claude-skills-journalism.git
2

Copy the skill to your Claude config

cp -r claude-skills-journalism/vibe-coding ~/.claude/skills/
3

Start building with AI

Ask Claude to help you plan features, debug issues, or implement new functionality using the vibe coding methodology.

What's included

Planning process

Scope management, incremental implementation, progress tracking.

Version control

Clean slate principle, git as safety net, when to reset.

Debugging

Error analysis, strategic logging, model switching.

Created by Joe Amditis at the Center for Cooperative Media

Part of Claude Skills for Journalism • MIT License