/assumption-classification
Reference for: Common Ground Load when: Classifying assumptions, determining type or tier
$ npx -y skills add Jeffallan/claude-skills --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/assumption-classification
Context preview
What this command does when you run it.
Reference for: Common Ground Load when: Classifying assumptions, determining type or tier
Command definition
assumption-classification.mdAssumption Classification
> Reference for: Common Ground > Load when: Classifying assumptions, determining type or tier
---
Assumption Types
Types indicate **how** an assumption was derived. Types are immutable once set (audit trail).
stated
Direct user statements captured from conversation.
- **Evidence:** Explicit quote from user
- **Confidence:** High
- **Markers:** User said, user requested, user specified
- **Example:** "Use TypeScript for all new code" - user explicitly stated this
inferred
Logical conclusions derived from code patterns, configuration, or context.
- **Evidence:** Code analysis, config files, project structure
- **Confidence:** Medium-High
- **Markers:** Config shows, code uses, pattern observed
- **Example:** "Project uses ESLint with Airbnb config" - inferred from .eslintrc.js
assumed
Best-practice defaults applied without explicit confirmation.
- **Evidence:** Industry standards, common patterns
- **Confidence:** Medium
- **Markers:** Best practice, common convention, typically
- **Example:** "Tests should have >80% coverage" - assumed based on industry standard
uncertain
Gaps or ambiguities requiring clarification before proceeding.
- **Evidence:** None, conflicting, or incomplete
- **Confidence:** Low
- **Markers:** Unknown, unclear, conflicting signals
- **Example:** "Legacy browser support required?" - no browserslist found, unclear requirement
---
Assumption Tiers
Tiers indicate **confidence level** and how Claude should act on assumptions. Users can change tiers freely.
ESTABLISHED (High Confidence)
User-validated facts that can be treated as premises.
- **Action:** Act confidently without re-asking
- **When to use:**
- User explicitly validated the assumption
- Verified through direct observation
- Documented in project configuration
- **Example:** "TypeScript strict mode enabled" validated by user AND tsconfig.json
WORKING (Medium Confidence)
Reasonable inferences that should be used but surfaced if contradicted.
- **Action:** Use as basis for work, but flag if contradicted
- **When to use:**
- Inferred from code/config patterns
- User confirmed informally ("yeah, that's right")
- No contradicting evidence found
- **Example:** "No class components" - no classes found in codebase
OPEN (Low Confidence)
Unvalidated assumptions requiring user input before acting.
- **Action:** Ask before making decisions based on this
- **When to use:**
- Uncertain type assumptions
- Conflicting signals observed
- High-impact assumption without validation
- **Example:** "SSR required?" - could be SPA or SSR, architecture depends on answer
---
Tier Transitions
| From | To | Trigger | |------|-----|---------| | OPEN | WORKING | User confirms informally in conversation | | WORKING | ESTABLISHED | User explicitly validates ("yes, that's correct") | | ESTABLISHED | WORKING | User says "usually but..." or exception noted | | WORKING | OPEN | Contradiction found in code/config | | Any | Archived | Superseded by new information |
---
Classification Process
When identifying assumptions, follow this process:
Step 1: Identify Source
| Source | Typical Type | Typical Tier | |--------|-------------|--------------| | User statement | stated | ESTABLISHED | | Config file | inferred | WORKING | | Code pattern | inferred | WORKING | | Convention | assumed | WORKING | | Unknown/gap | uncertain | OPEN |
Step 2: Assess Evidence Strength
| Evidence | Tier Adjustment | |----------|----------------| | Explicit user confirmation | -> ESTABLISHED | | Multiple corroborating sources | -> WORKING | | Single source, no contradictions | -> WORKING | | No evidence or conflicting | -> OPEN |
Step 3: Consider Impact
High-impact assumptions (architecture, security, data handling) should start at OPEN unless strongly evidenced.
---
Classification Examples
Architecture & Tech Stack
| Assumption | Type | Tier | Reasoning | |------------|------|------|-----------| | "Uses TypeScript" | inferred | WORKING | tsconfig.json present | | "React 18 with hooks" | inferred | WORKING | package.json shows react@18 | | "No server-side rendering" | inferred | OPEN | High impact, needs validation | | "Monorepo structure" | inferred | WORKING | Multiple packages/ dirs |
Coding Standards
| Assumption | Type | Tier | Reasoning | |------------|------|------|-----------| | "ESLint Airbnb config" | inferred | WORKING | .eslintrc extends airbnb | | "Prettier for formatting" | inferred | WORKING | .prettierrc present | | "2-space indentation" | inferred | ESTABLISHED | Consistent across all files | | "Prefer named exports" | assumed | WORKING | Convention, not enforced |
Testing
| Assumption | Type | Tier | Reasoning | |------------|------|------|-----------| | "Jest for unit tests" | inferred | WORKING | jest.config.js present | | "80% coverage target" | assumed | OPEN | No config found, assumed | | "Integration tests required" | uncertain | OPEN | Unknown requirement |
User Preferences
| Assumption | Type | Tier | Reasoning | |------------|------|------|-----------| | "Prefers verbose explanations" | stated | ESTABLISHED | User said "explain thoroughly" | | "Wants minimal changes" | inferred | WORKING | User often requests targeted fixes | | "Likes TypeScript annotations" | assumed | WORKING | Convention, not stated |
---
User-Added Assumptions
When users add new assumptions via "Other", they specify both tier and type:
**Format:** `{assumption text} [tier] [type]`
**Examples:**
- "Must work offline [ESTABLISHED] [stated]" - user explicitly stating a requirement
- "Prefer functional style [WORKING] [stated]" - user preference
If type not specified, default to `[stated]` since user is directly adding it. If tier not specified, default to `WORKING`.
Read more
Assumption Classification
> Reference for: Common Ground > Load when: Classifying assumptions, determining type or tier
---
Assumption Types
Types indicate **how** an assumption was derived. Types are immutable once set (audit trail).
stated
Direct user statements captured from conversation.
- **Evidence:** Explicit quote from user
- **Confidence:** High
- **Markers:** User said, user requested, user specified
- **Example:** "Use TypeScript for all new code" - user explicitly stated this
inferred
Logical conclusions derived from code patterns, configuration, or context.
- **Evidence:** Code analysis, config files, project structure
- **Confidence:** Medium-High
- **Markers:** Config shows, code uses, pattern observed
- **Example:** "Project uses ESLint with Airbnb config" - inferred from .eslintrc.js
assumed
Best-practice defaults applied without explicit confirmation.
- **Evidence:** Industry standards, common patterns
- **Confidence:** Medium
- **Markers:** Best practice, common convention, typically
- **Example:** "Tests should have >80% coverage" - assumed based on industry standard
uncertain
Gaps or ambiguities requiring clarification before proceeding.
- **Evidence:** None, conflicting, or incomplete
- **Confidence:** Low
- **Markers:** Unknown, unclear, conflicting signals
- **Example:** "Legacy browser support required?" - no browserslist found, unclear requirement
---
Assumption Tiers
Tiers indicate **confidence level** and how Claude should act on assumptions. Users can change tiers freely.
ESTABLISHED (High Confidence)
User-validated facts that can be treated as premises.
- **Action:** Act confidently without re-asking
- **When to use:**
- User explicitly validated the assumption
- Verified through direct observation
- Documented in project configuration
- **Example:** "TypeScript strict mode enabled" validated by user AND tsconfig.json
WORKING (Medium Confidence)
Reasonable inferences that should be used but surfaced if contradicted.
- **Action:** Use as basis for work, but flag if contradicted
- **When to use:**
- Inferred from code/config patterns
- User confirmed informally ("yeah, that's right")
- No contradicting evidence found
- **Example:** "No class components" - no classes found in codebase
OPEN (Low Confidence)
Unvalidated assumptions requiring user input before acting.
- **Action:** Ask before making decisions based on this
- **When to use:**
- Uncertain type assumptions
- Conflicting signals observed
- High-impact assumption without validation
- **Example:** "SSR required?" - could be SPA or SSR, architecture depends on answer
---
Tier Transitions
| From | To | Trigger | |------|-----|---------| | OPEN | WORKING | User confirms informally in conversation | | WORKING | ESTABLISHED | User explicitly validates ("yes, that's correct") | | ESTABLISHED | WORKING | User says "usually but..." or exception noted | | WORKING | OPEN | Contradiction found in code/config | | Any | Archived | Superseded by new information |
---
Classification Process
When identifying assumptions, follow this process:
Step 1: Identify Source
| Source | Typical Type | Typical Tier | |--------|-------------|--------------| | User statement | stated | ESTABLISHED | | Config file | inferred | WORKING | | Code pattern | inferred | WORKING | | Convention | assumed | WORKING | | Unknown/gap | uncertain | OPEN |
Step 2: Assess Evidence Strength
| Evidence | Tier Adjustment | |----------|----------------| | Explicit user confirmation | -> ESTABLISHED | | Multiple corroborating sources | -> WORKING | | Single source, no contradictions | -> WORKING | | No evidence or conflicting | -> OPEN |
Step 3: Consider Impact
High-impact assumptions (architecture, security, data handling) should start at OPEN unless strongly evidenced.
---
Classification Examples
Architecture & Tech Stack
| Assumption | Type | Tier | Reasoning | |------------|------|------|-----------| | "Uses TypeScript" | inferred | WORKING | tsconfig.json present | | "React 18 with hooks" | inferred | WORKING | package.json shows react@18 | | "No server-side rendering" | inferred | OPEN | High impact, needs validation | | "Monorepo structure" | inferred | WORKING | Multiple packages/ dirs |
Coding Standards
| Assumption | Type | Tier | Reasoning | |------------|------|------|-----------| | "ESLint Airbnb config" | inferred | WORKING | .eslintrc extends airbnb | | "Prettier for formatting" | inferred | WORKING | .prettierrc present | | "2-space indentation" | inferred | ESTABLISHED | Consistent across all files | | "Prefer named exports" | assumed | WORKING | Convention, not enforced |
Testing
| Assumption | Type | Tier | Reasoning | |------------|------|------|-----------| | "Jest for unit tests" | inferred | WORKING | jest.config.js present | | "80% coverage target" | assumed | OPEN | No config found, assumed | | "Integration tests required" | uncertain | OPEN | Unknown requirement |
User Preferences
| Assumption | Type | Tier | Reasoning | |------------|------|------|-----------| | "Prefers verbose explanations" | stated | ESTABLISHED | User said "explain thoroughly" | | "Wants minimal changes" | inferred | WORKING | User often requests targeted fixes | | "Likes TypeScript annotations" | assumed | WORKING | Convention, not stated |
---
User-Added Assumptions
When users add new assumptions via "Other", they specify both tier and type:
**Format:** `{assumption text} [tier] [type]`
**Examples:**
- "Must work offline [ESTABLISHED] [stated]" - user explicitly stating a requirement
- "Prefer functional style [WORKING] [stated]" - user preference
If type not specified, default to `[stated]` since user is directly adding it. If tier not specified, default to `WORKING`.
66 Specialized Skills for Full-Stack Developers. Transform Claude Code into your expert pair programmer.
Repo: Jeffallan/claude-skills
Other commands on fullstack-dev-skills.
- /COMMAND
Surface and validate Claude's hidden assumptions about the project for user confirmation
Open command - /file-management
Reference for: Common Ground Load when: Storage operations, project identification, file format
Open command - /reasoning-graph
Reference for: Common Ground Load when: Using --graph flag, generating mermaid diagrams
Open command - /approve-synthesis
Approve synthesis findings and create implementation tickets from discovery
Open command - /create-epic-discovery
Create a discovery document for research/customer discovery epics
Open command - /synthesize-discovery
Synthesize discovery findings into a consolidated analysis document with proposed tickets
Open command

