principle-foundational-thinking

Guides structural decisions on data structures, scaffolding order, and concurrency before writing logic.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Engineers often write logic before settling core data structures, leading to late-stage rewrites, premature abstractions, and unsafe shared state. This Skill provides a decision framework for getting foundations right before implementation begins. ## Core Features & Use Cases - Data Structures First: Prompts you to define core types early, trace access patterns, and choose structures matching dominant code paths. - Scaffold Sequencing: Orders work so CI, linting, test infrastructure, and shared types land before features, keeping commits small and single-purpose. - Concurrency Check: Asks what happens when another actor modifies shared state, and isolates state when the answer is not "nothing". - Use Case: Before starting a new service, apply this Skill to decide the core data model, sequence setup work before features, and identify shared state that needs isolation. ## Quick Start Ask the AI to apply foundational thinking to review the data structures and work sequencing for your next feature before writing any logic.

Frequently Asked Questions about principle-foundational-thinking

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

FAQPage Schema
How do I choose the right data structure before writing code?

Define core types early, trace every access pattern, and pick structures matching the dominant paths. A data-structure change late in a project is a rewrite, while early it is often a one-line diff.

What is scaffold-first development in software projects?

Scaffold-first means doing work that benefits every later phase first: CI, linting, test infrastructure, and shared types. Sequence setup before features and tests before fixes, keeping commits small and single-purpose.

When should I avoid creating an abstraction in code?

Avoid abstractions when you only have a few similar statements; three similar lines beat a premature abstraction. DRY the structure and data models, not every line, and prefer explicit code over clever code.

How do I decide if shared state is safe for concurrent actors?

Ask what happens if another actor modifies the state concurrently. If the answer is not "nothing", isolate the state so concurrent actors cannot interfere with each other.

When should I remove code before adding new foundations?

Subtraction comes before scaffolding: remove dead weight first, then lay foundations. Each increment should land a coherent abstraction or deepen an existing one rather than spreading special-case coordination across callers.