model-first

Define domain models and invariants before implementing complex interconnected systems.

Updated Jun 12, 2026
One-click install
npx skills add https://github.com/YutoMizutani/pantheon --skill model-first
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: model-first
Source: https://github.com/YutoMizutani/pantheon/tree/main/.claude/skills/model-first
Command: npx skills add https://github.com/YutoMizutani/pantheon --skill model-first

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill prevents cascading implementation failures caused by implicit domain models by forcing key entities, states, invariants, and terminology to be defined before coding begins.

Core Features & Use Cases

  • Model Definition: Identifies domain entities, state variables, actors, operations, and cross-cutting invariants before implementation.
  • Invariant Locking: Converts hidden assumptions into explicit artifacts, schemas, types, assertions, or tests where possible.
  • Use Case: Apply this Skill before building complex systems such as games, simulators, schedulers, parsers, protocols, or multi-entity state machines where local changes can create global inconsistencies.

Quick Start

Ask the AI to use the model-first skill before implementing a new complex system and provide a one-line description of the system.

Frequently Asked Questions about model-first

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

FAQPage Schema
What is model-first design in software architecture?

Model-first design defines explicit domain entities, state variables, and invariants before coding begins. This approach prevents cascading implementation failures by converting hidden assumptions into locked artifacts, schemas, or executable tests for complex interconnected systems.

How do I prevent systemic bugs in complex state machines and simulations?

To prevent systemic bugs in state machines and simulations, lock domain invariants by creating explicit artifacts, schemas, and assertions before implementation. This forces clear definition of interacting entities and rules to stop local changes from breaking global consistency.

When do I need to define explicit domain models before implementation?

You need to define explicit domain models before implementing complex systems like games, schedulers, parsers, or protocols. Defining models first prevents hidden specification failures caused by implicit assumptions in multi-entity interacting architectures.

How do I start using a model-first approach for system design?

To start using a model-first approach, ask the AI to apply the skill before building your system and provide a one-line description. It will identify your domain entities, operations, and cross-cutting invariants to lock into explicit schemas.

Can I use model-first design for parsers and protocol implementations?

Yes, model-first design applies directly to parsers and protocol implementations. It handles interacting entities and rules by locking state variables and invariants into explicit schemas, preventing hidden specification failures during complex system development.

What are the limitations of model-first system design?

The limitation of model-first system design is that it requires upfront artifact creation and stable terminology before coding begins. This preparatory phase may slow initial implementation but is necessary to prevent global inconsistencies in complex interconnected systems.