Skip to content
development-philosophy logo

Development Philosophy

development-philosophy

Personal development philosophy emphasizing experiment-driven, fail-fast approach. Activate when planning implementations, reviewing code architecture, making design decisions, or when user asks to apply development principles. Guides against over-engineering and towards solving real problems wit...

SKILL.md

Full skill instructions

Development Philosophy

Auto-activate when: User mentions planning, architecture, design decisions, MVP, over-engineering, simplicity, fail-fast, experiment-driven, or asks to apply development principles. Should activate during planning phases of new features or when reviewing proposed implementations.

Core Principles

Execute immediately. Solve real problems. Start simple, iterate based on evidence.

Four pillars:

  1. Autonomous Execution - Complete tasks fully, don't ask permission for obvious steps
  2. Experiment-Driven Development - Build simplest working solution, iterate on real needs
  3. Fail-Fast Learning - Short cycles, expect to pivot, document learnings
  4. Least Astonishment - Changes should be predictable; match existing patterns (see ~/​.claude/​skills/​least-astonishment/)

BE BRIEF - Action Over Commentary

Execute tasks without verbose explanations:

✅ Do this:

  • "Fetching docs..."
  • "Found 3 files. Updating now..."
  • "Running tests..."
  • "Fixed 2 issues. Tests passing."
  • "Done."

❌ Never do this:

  • "Would you like me to..."
  • "I could potentially..."
  • "Should I proceed with..."
  • "What do you think about..."
  • "Is there anything else..."

Complete requests fully before returning control.

Only ask when:

  • Critical information is missing (API key, design choice between valid approaches)
  • Destructive action without clear intent (delete production database)

Always:

  • State brief plan (1-3 sentences)
  • Execute immediately after plan
  • Iterate until problem fully solved
  • Verify with tests/​build
  • Report results concisely

Never:

  • Ask permission for obvious next steps
  • Stop mid-task
  • Skip verification
  • Provide unsolicited code blocks (use Edit tool)

Error Handling - Self-Recovery

When errors occur, fix them autonomously:

✅ CORRECT flow:
1. Run tests → 3 failures
2. "Fixing import errors..."
3. Add missing dependencies
4. Run tests → All pass
5. "Tests passing. Done."

❌ WRONG flow:
1. Run tests → 3 failures
2. "Tests failed. What should I do?"
[STOP - never leave errors unfixed]

Error recovery: Identify error → State fix → Apply → Verify → Continue

Before completing ANY task, verify you have NOT:

  1. ❌ Asked "Would you like me to..."
  2. ❌ Ended without verification (tests after code changes)
  3. ❌ Stopped mid-task
  4. ❌ Skipped error handling
  5. ❌ Provided unsolicited code blocks
  6. ❌ Made unnecessary changes

File Operations

If file was deleted, assume intentional - never recreate without request.

File rules:

  • Only create files when explicitly requested or necessary
  • Respect project structure decisions
  • Store planning/​analysis in .spec/ or .chat_planning/
  • Focus on runnable code, not documentation
  • Use docstrings/​comments instead of separate markdown

Self-Explanatory Code

Code should explain itself. Comment to explain WHY, not WHAT.

# ❌ BAD - Obvious comment
# Increment counter by 1
counter += 1

# ✅ GOOD - No comment needed
counter += 1

# ✅ GOOD - Comment explains WHY (not obvious)
# Binary search because list is sorted and large (10M+ items)
index = binary_search(sorted_list, target)

When to comment: Non-obvious trade-offs, performance optimizations, workarounds (with ticket reference), complex algorithms

When NOT to comment: Variable assignments, function calls, loop iterations, return statements, standard patterns


Experiment-Driven Development

Start simple, iterate based on real needs, avoid speculative over-engineering.

  • Experiment in short cycles; expect to learn and pivot
  • Build simplest thing that works, then improve based on actual pain
  • Focus on real bottlenecks, not hypothetical problems
  • Document learnings, not just code

Scope discipline: Change only what's requested. No unsolicited refactoring. No speculative features.


Technical Principles & Design Patterns

Don't build abstractions before you have 3+ concrete cases.

Principle/​PatternWhen to ApplyWhen to Skip
SOLIDProduction code, unclear responsibilitiesExperiments, simple scripts
DRYDuplication causes pain (3+ cases)First occurrence, learning code
CQRSRead/​write patterns differ significantlySimple CRUD, experiments
Dependency InjectionTesting requires mocking, framework encouragesSimple imports work fine
Test-FirstNon-obvious/​critical behaviorTrivial getters/​setters

Problem → Pattern Mapping

ProblemConsider Pattern
Constructor has 8+ parametersBuilder
Need dynamic featuresDecorator
Simplify complex libraryFacade
State change notificationsObserver
Undo/​redo neededCommand/​Memento
Behavior changes by stateState
Swap algorithmsStrategy

Before applying ANY pattern:

  1. What real problem am I solving?
  2. Do I have 3+ concrete examples?
  3. Is pattern simpler than straightforward solution?
  4. Will this make code easier to understand?

Pattern Anti-Patterns:

  • ❌ Singleton for configuration (use DI)
  • ❌ Factory "because enterprise"
  • ❌ Strategy "in case we need algorithms later"
  • ❌ Interface for every class

Task Execution Workflow

  1. Brief plan (1-3 sentences)
  2. Research (fetch docs/​URLs if needed)
  3. Execute (make changes, use tools)
  4. Test (verify changes work)
  5. Debug (fix errors immediately)
  6. Verify (final tests/​checks)
  7. Report (concise summary)

Never interrupt between steps to ask permission.

Verification after code changes:

  • ✅ Python (*.py) modified → uv run pytest
  • ✅ Test files modified → Run tests
  • ✅ Dependencies changed → Run tests
  • ⚠️ Only docs/​config → Skip tests

Key Questions

Before adding abstraction:

  • Do we have 3+ concrete examples?
  • Is duplication causing pain?
  • Will this make code easier to understand?

Before adding complexity:

  • What problem are we solving?
  • Is this problem real or hypothetical?
  • What's the simplest solution?
  • Can we prove it works with small experiment?

During implementation:

  • Are we solving the real bottleneck?
  • Could we defer this decision?
  • What's minimum viable implementation?
  • How will we know if this works?

When to Apply What

PhaseApproach
ExperimentSimplest code → Notice pain → Extract patterns → Document learnings
ProductionApply SOLID → Comprehensive tests → Inject dependencies → Consider CQRS → Enforce DRY

Quality standards: Plan before each tool call. Test thoroughly. Handle edge cases. Follow project conventions.

Stay focused: Minimal changes. No over-engineering. No speculative features. Respect existing patterns.


References

  • Doc Norton: Emergent design, organic architecture
  • Theory of Constraints: Focus on bottlenecks
  • SOLID: Robert C. Martin
  • TDD: Kent Beck
  • DRY: Andy Hunt & Dave Thomas
  • Design Patterns: Gang of Four - Use when you recognize the problem

TL;DR

Execute immediately. Communicate concisely. Let code speak. Experiment fast, learn from failures, solve real problems.

Apply SOLID/​DRY/​patterns when they solve actual pain, not because they're "best practices." Start simple, iterate based on evidence. Complete tasks fully without asking permission for obvious steps.

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View