concept-design

Structure software functionality into discrete concepts using Daniel Jackson's methodology.

Updated May 3, 2026
One-click install
npx skills add https://github.com/druejaramillo/skills --skill concept-design-druejaramillo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: concept-design
Source: https://github.com/druejaramillo/skills/tree/main/concept-design/concept-design
Command: npx skills add https://github.com/druejaramillo/skills --skill concept-design-druejaramillo

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill addresses the challenge of designing software that is intuitive, reusable, and logically sound by structuring functionality into discrete, user-facing concepts.

Core Features & Use Cases

  • Concept Specification: Create rigorous specs using the canonical five-part format (purpose, state, actions, operational principle).
  • Design Auditing: Analyze existing systems to identify overloaded concepts, missing abstractions, or improper coupling.
  • Use Case: When building a new feature like user authentication, use this skill to define the concept boundaries, state, and atomic actions before writing a single line of code.

Quick Start

Use the concept-design skill to create a new concept specification for a workspace invitation system.

Frequently Asked Questions about concept-design

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

FAQPage Schema
What is concept design in software architecture and system modeling?

Concept design structures software functionality into discrete, reusable concepts using Daniel Jackson's methodology. It creates rigorous specifications with formal state notation and atomic action definitions to ensure logical soundness.

How do I create a concept specification for a new software feature?

To create a concept specification, you define the feature using a canonical format covering purpose, state, actions, and operational principle. This structures software functionality into discrete, reusable concepts before writing any code.

When should I use domain modeling and formal state notation for system design?

You should use domain modeling and formal state notation when building new features to define concept boundaries, state, and atomic actions before writing code, or when auditing existing systems for overloaded concepts and missing abstractions.

Can I use this methodology to audit existing software architecture for missing abstractions?

Yes, you can use this methodology to analyze existing systems during design auditing. It helps identify overloaded concepts, missing abstractions, and improper coupling within your software architecture.

What's the best way to define concept boundaries and atomic actions before coding?

The best way to define concept boundaries and atomic actions is by applying Daniel Jackson's methodology to create rigorous specifications, ensuring clear operational principles and formal state notation before development begins.