The best specification is a structured list of inputs, outputs, and edge cases. Everything else is noise.
Product Managers spend hours writing detailed specification documents. They create Confluence pages, flow charts, and wireframes. Yet, the first question from the engineering team is almost always: "What are the acceptance criteria?" or "What happens if the API fails?"
The problem is that standard specs are narrative documents. They tell a story about the user, but they hide the technical requirements inside paragraphs. Developers—and increasingly, AI coding assistants—need structured data, not stories.
Cognitive Ladder Notation (CLN) bridges the gap. It turns a spec into a machine-readable, human-scannable blueprint.
The Anatomy of a CLN Spec
A good specification answers three questions: What is it? How does it work? What breaks it? CLN maps these directly to operators.
Define the feature boundary. What is IN and OUT of scope.
The "Happy Path." Step-by-step logic of the functionality.
The "Sad Path." Errors, null states, and failures.
Performance thresholds, tech stack limits, security rules.
The Specification Template
Copy this template into your ticket, Jira, or Linear comment. It works everywhere.
TEMPLATE SPEC: [Feature Name] = Summary: [One line description] priority: [High/Med/Low] owner: [PM Name] SCOPE + In Scope: [List of included items] - Out of Scope: [Explicit exclusions] LOGIC (Happy Path) . Step 1: [User Action] . Step 2: [System Response] EDGE CASES (Sad Path) ! Case: [Error Condition] . Handling: [Expected behavior] ACCEPTANCE CRITERIA ✓ [Testable condition 1] ✓ [Testable condition 2]
Real Example: "Dark Mode" Feature
Here is how a "Dark Mode" feature looks in CLN. Notice how easy it is to see the risky areas.
SPEC: Dark Mode Implementation SPEC: Dark Mode Toggle = Add a toggle in settings to switch between Light and Dark themes. priority: Medium LOGIC . User clicks "Dark Mode" toggle in Settings. . UI updates immediately without refresh. . Preference saved to LocalStorage & User Profile DB. EDGE CASES ! User is offline . Handling: Save to LocalStorage only; sync when online. ! User logs in on different device . Handling: Load preference from User Profile DB (cloud state wins). ! Image assets lack dark mode variants . Handling: Apply CSS filter: invert(1) hue-rotate(180deg) as fallback. ACCEPTANCE CRITERIA ✓ Toggle state persists on reload. ✓ Text contrast meets WCAG AA standards. ✓ No "flash of unstyled content" (FOUC) on load.
The "AI Generation" Bonus
Why write specs in CLN? Because AI coding tools (Cursor, Copilot, ChatGPT) love structured input.
Paste the "Dark Mode" CLN spec above into an AI prompt:
Prompt: "Implement the logic for the following CLN specification using React and Tailwind CSS."
The AI will generate the toggle component, the localStorage logic, and even the edge case handling code with high accuracy because the requirements are explicitly typed. No ambiguity. No guessing.
Conclusion
A spec is a contract between Product and Engineering. Contracts should be clear, not narrative. By using CLN, you ensure that developers spend their time coding, not decoding your documents.