principle-foundational-thinking

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

1|Updated Aug 26, 2026
One-click install
npx skills add https://github.com/edivad1999/stuc-stack --skill principle-foundational-thinking-edivad1999
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: principle-foundational-thinking
Source: https://github.com/edivad1999/stuc-stack/tree/main/skills/principle-foundational-thinking
Command: npx skills add https://github.com/edivad1999/stuc-stack --skill principle-foundational-thinking-edivad1999

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers often write logic before settling core data structures, leading to late-stage rewrites, premature abstractions, and unsafe shared state between concurrent actors. This Skill provides a decision framework to apply before coding so foundational choices keep options open. ## Core Features & Use Cases - Data Structures First: Prompts you to define core types early, trace access patterns, and match structures to dominant code paths. - Scaffold Sequencing: Orders work so CI, linting, test infrastructure, and shared types land before features, with small single-purpose commits. - Concurrency Corollary: Requires asking what happens if another actor modifies shared state concurrently, and isolating state when the answer is not nothing. - Use Case: Before implementing a new feature module, apply this principle to choose the core data model, subtract dead code, and lay test scaffolding so downstream implementation becomes obvious. ## Quick Start Apply the foundational thinking principle to review my planned data structures and work sequencing before I start implementing this feature.

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 choose structures matching the dominant paths. A data-structure change made early is often a one-line diff, while the same change late becomes a rewrite.

What is scaffold-first sequencing in software development?▼

Scaffold-first means doing work that benefits every later phase before features: 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 premature abstraction when three similar statements still communicate clearly. DRY the structure and data models rather than every line, prefer explicit over clever, and test behavior and edge cases instead of line counts.

How do I decide if state is safe to share between concurrent actors?▼

Ask what happens if another actor modifies the state concurrently. If the answer is not nothing, isolate the state instead of sharing it. This check should happen before any state is shared between actors.

When should dead code be removed relative to new scaffolding?▼

Subtraction comes before scaffolding: remove dead weight first, then lay foundations. Clearing obsolete code before adding infrastructure keeps the base clean and prevents building on top of unused structures.