pragmatism

Guide iterative development prioritizing working code over premature optimization.

Updated Feb 17, 2026
One-click install
npx skills add https://github.com/Objective-Arts/lens-dist --skill pragmatism
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pragmatism
Source: https://github.com/Objective-Arts/lens-dist/tree/main/canon/pragmatism
Command: npx skills add https://github.com/Objective-Arts/lens-dist --skill pragmatism

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps developers adopt a pragmatic approach to software development, focusing on getting functional code working quickly and optimizing only when necessary, inspired by Ken Thompson's philosophy.

Core Features & Use Cases

  • Prioritize Working Code: Encourages building the simplest solution that meets current needs over complex, speculative designs.
  • Ruthless Deletion: Promotes removing unnecessary code to reduce maintenance burden and potential bugs.
  • Use Case: When faced with a new feature request, use this Skill's principles to build a straightforward implementation first, rather than over-engineering for hypothetical future requirements.

Quick Start

Apply Ken Thompson's "When in doubt, use brute force" rule to simplify the current deduplication logic.

Frequently Asked Questions about pragmatism

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prioritize working code over premature optimization in software development?

Prioritize working code by building the simplest functional solution that meets immediate needs, avoiding speculative designs. This pragmatic development approach emphasizes rapid prototyping and functional delivery first, then making the code right through iterative refinement only when necessary.

What is the brute force rule for simplifying software development?

The brute force rule dictates using direct, straightforward solutions to simplify complex logic when in doubt. This pragmatic development principle, inspired by Ken Thompson, prioritizes functional delivery over speculative design to rapidly resolve implementation challenges.

When should I use rapid prototyping instead of design-heavy software methodologies?

Use rapid prototyping when a new feature request requires straightforward implementation without over-engineering for hypothetical future requirements. This pragmatic approach prioritizes functional delivery and iterative development over heavy initial design for immediate needs.

How does ruthless deletion reduce maintenance burden in software development?

Ruthless deletion reduces maintenance burden by removing unnecessary code, which decreases potential bugs and simplifies the codebase. This pragmatic development principle focuses on keeping only functional code that meets current needs, minimizing speculative abstractions.

Does pragmatic software development conflict with complex design methodologies?

Pragmatic software development contrasts with design-heavy methodologies by prioritizing working code and rapid prototyping over upfront speculative designs. It focuses on iterative development and simplifying through deletion rather than building complex abstractions for hypothetical future requirements.

What are the limitations of using brute force for software development?

The limitation of using brute force in software development is that it prioritizes immediate functional delivery over long-term optimization. This pragmatic approach may require subsequent iterative refinement to make the code right after the initial simple solution is working.