principle-foundational-thinking

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

Updated Mar 27, 2026
One-click install
npx skills add https://github.com/gmackie/agent-skills --skill principle-foundational-thinking-gmackie
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: principle-foundational-thinking
Source: https://github.com/gmackie/agent-skills/tree/main/skills/principle-foundational-thinking
Command: npx skills add https://github.com/gmackie/agent-skills --skill principle-foundational-thinking-gmackie

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 between concurrent actors. This Skill provides a decision framework for getting foundations right first. ## Core Features & Use Cases - Data Structures First: Prompts you to define core types early, trace access patterns, and match structures to dominant code paths before writing logic. - Scaffold Sequencing: Orders work so CI, linting, test infrastructure, and shared types land before features, keeping commits small and single-purpose. - Concurrency Corollary: 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 choose the core data model, sequence setup work ahead of features, and decide which state must be isolated between workers. ## Quick Start Ask the agent 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 choose structures that match 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 projects?▼

Scaffold-first sequencing means doing work that benefits every later phase first, such as CI, linting, test infrastructure, and shared types. Sequence setup before features and tests before fixes to preserve option value.

When should I avoid creating an abstraction in code?▼

Avoid premature abstraction when three similar statements still communicate intent clearly. DRY the structure and data models rather than every line, and prefer explicit code over clever generalizations.

How do I handle shared state between concurrent actors?▼

Before sharing state, ask what happens if another actor modifies it concurrently. If the answer is not "nothing", isolate the state so each actor works on its own copy.

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

Subtraction comes before scaffolding: remove dead weight first, then lay foundations. Clearing obsolete code reduces the surface that new structures and abstractions must accommodate.