principle-redesign-from-first-principles

Redesigns existing code as if new requirements were foundational assumptions from the start.

2|Updated Jun 27, 2026
One-click install
npx skills add https://github.com/imjasonh/playground --skill principle-redesign-from-first-principles-imjasonh
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: principle-redesign-from-first-principles
Source: https://github.com/imjasonh/playground/tree/main/.cursor/skills/principle-redesign-from-first-principles
Command: npx skills add https://github.com/imjasonh/playground --skill principle-redesign-from-first-principles-imjasonh

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When new requirements are bolted onto an existing design, the codebase accumulates awkward patches, inconsistent types, and outdated documentation. This Skill guides the AI to redesign the affected system as if the new requirement had been a foundational assumption from day one, preserving design coherence and option value. ## Core Features & Use Cases - First-Principles Redesign: Prompts a full re-derivation of the design by asking what would be built from scratch with the new requirement included. - Complete Change Propagation: Ensures the change flows through every reference, including types, docs, examples, and rationale sections. - Incremental Delivery: Encourages thinking through the whole redesign first, then shipping it in incremental steps. - Use Case: When adding a new feature like multi-tenancy to an existing service, use this Skill to rework the data model, APIs, and documentation coherently instead of layering tenant checks on top of single-tenant assumptions. ## Quick Start Ask the AI to integrate a new requirement into the current design by redesigning from first principles rather than patching it on.

Frequently Asked Questions about principle-redesign-from-first-principles

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

FAQPage Schema
How do I integrate a new requirement into an existing design?▼

Read all affected files to understand the current design, then ask what you would build from scratch with the new requirement included. Propagate the change through every reference, including types, docs, examples, and rationale sections, and deliver the redesign incrementally.

What is redesign from first principles in software engineering?▼

Redesign from first principles means treating a new requirement as if it had been a foundational assumption from day one, rather than bolting it onto the existing design. This preserves design coherence and option value when integrating changes.

When should I redesign instead of patching existing code?▼

Redesign when a new requirement conflicts with core assumptions of the current design, such as adding multi-tenancy to a single-tenant system. Patching works for peripheral changes, but foundational shifts need coherent re-derivation of the design.

How do I deliver a large redesign without breaking everything?▼

Think through the whole redesign first so the end state is coherent, then deliver it incrementally in small, reviewable steps. This keeps each change safe while moving the codebase toward the redesigned architecture.

What are the limitations of the first-principles redesign approach?▼

It requires reading and understanding all affected files upfront, which costs more effort than a quick patch. For trivial or isolated changes, a full redesign may be unnecessary overhead compared to a localized edit.