principle-redesign-from-first-principles

Redesigns existing code as if new requirements were foundational assumptions from day one.

Updated Sep 2, 2026
One-click install
npx skills add https://github.com/jnyross/pstack-muse --skill principle-redesign-from-first-principles-jnyross
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: principle-redesign-from-first-principles
Source: https://github.com/jnyross/pstack-muse/tree/main/skills/principle-redesign-from-first-principles
Command: npx skills add https://github.com/jnyross/pstack-muse --skill principle-redesign-from-first-principles-jnyross

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When new requirements arrive, teams often bolt them onto existing designs, creating fragile patches and eroding the architecture. This Skill guides you to redesign holistically, as if the requirement had been known from the start, preserving design coherence and option value. ## Core Features & Use Cases - Holistic Redesign: Read all affected files and rethink the design from scratch with the new requirement as a foundational assumption. - Full Propagation: Update every reference consistently, including types, documentation, examples, and rationale sections. - Incremental Delivery: Think through the redesign holistically, then deliver it in incremental, reviewable steps. - Use Case: You need to add multi-tenancy to an application originally built for a single tenant. Instead of scattering tenant checks everywhere, redesign the data model and access layer as if multi-tenancy was a day-one requirement. ## Quick Start Ask the AI to redesign the current module from first principles so the new requirement is treated as a foundational assumption rather than a bolt-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 without breaking an existing design?

Redesign from first principles: read all affected files, then ask what you would have built if the requirement existed from day one. Propagate the change through every reference including types, docs, and examples, and deliver the redesign incrementally.

What is redesign from first principles in software engineering?

It is a design method where you treat a new requirement as a foundational assumption and rethink the system as if building from scratch. The goal is a coherent result rather than a patch bolted onto the existing design.

When should I redesign instead of patching existing code?

Redesign when a new requirement cuts across the core assumptions of the current design, such as adding multi-tenancy or changing a data model. Patching in these cases accumulates inconsistency and erodes option value for future changes.

Does redesigning from first principles mean rewriting everything at once?

No. The method separates thinking from delivery: reason about the redesign holistically, but ship it incrementally in reviewable steps. This keeps risk low while still reaching the coherent end state.

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

It requires reading and understanding all affected files, which costs more upfront effort than a quick patch. For trivial, isolated changes that do not touch core assumptions, a simple localized edit is usually sufficient.