spec-principles

Enforce IS/IS-NOT distinctions and anti-pattern checks in specification documents.

2|Updated Jan 10, 2026
One-click install
npx skills add https://github.com/elct9620/claude-spec-plugin --skill spec-principles
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: spec-principles
Source: https://github.com/elct9620/claude-spec-plugin/tree/main/skills/spec-principles
Command: npx skills add https://github.com/elct9620/claude-spec-plugin --skill spec-principles

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The Principles skill helps teams turn vague specification ideas into clear, testable targets by applying IS/IS-NOT distinctions, constraining design decisions, and identifying anti-patterns.

Core Features & Use Cases

  • Apply IS/IS-NOT distinctions to separate target states from implementation decisions.
  • Enforce constrained design by specifying user-visible decisions and leaving internal choices open.
  • Detect and avoid anti-patterns such as explanatory notes, phase markers, and vague language.
  • Use during creation, review, and evaluation of any specification document to improve quality and consistency.

Quick Start

Review a draft specification and annotate it with IS/IS-NOT distinctions, constrained-design-open-implementation guidance, and anti-pattern checks.

Frequently Asked Questions about spec-principles

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

FAQPage Schema
What are specification principles for preventing ambiguity in software projects?

Specification principles use IS/IS-NOT distinctions to separate target states from implementation decisions, constraining design to specify user-visible choices while leaving internal choices open to prevent ambiguity in software projects.

How do I review a specification document for anti-patterns and vague language?

Review a specification document by applying structured quality checks to detect common anti-patterns such as explanatory notes, phase markers, and vague language, ensuring declarative statements and explicit cross-implementer decisions are used for consistency.

How do I apply IS/IS-NOT distinctions when drafting project requirements?

Apply IS/IS-NOT distinctions during drafting by explicitly defining what the target state is and what it is not, separating the desired outcome from implementation decisions to create clear, testable project requirements.

Can I use this specification review approach for any software product team?

Yes, you can use this specification review approach for any software product team, as it guides drafting, reviewing, and evaluating specifications across projects without requiring specific dependencies or component setups.

What is the best way to constrain design decisions in a specification?

The best way to constrain design in a specification is by specifying user-visible decisions explicitly while leaving internal implementation choices open, ensuring the design is constrained without unnecessarily restricting the implementer.