Identifies unstated assumptions in early-phase artifacts that could invalidate the design
The Assumption Extractor surfaces hidden dependencies, implicit user knowledge requirements, and environmental assumptions embedded in problem statements, brain dumps, and early-phase design artifacts. By making assumptions explicit and testable, this skill reduces the risk of building features that fail in production due to invalid preconditions.
This is particularly critical for DoD/defense platforms where unstated assumptions about security boundaries, clearance levels, network topology, or mission context can have operational consequences.
Shared vocabularies:
mission_tieruses the canonical classification enum in${CLAUDE_PLUGIN_ROOT}/templates/conventions.md§2 (IL2/IL4/IL5/IL6/UNCLASSIFIED/MIXED; default IL5). Therisk_levelcolumn (HIGH/MEDIUM/LOW) rates how damaging it is if an assumption is wrong — it is an input to design risk, distinct from the P1/P2/P3 finding-severity scale in conventions §1, which the downstreamedge-case-hunter/threat-modelerapply.
{
"artifact_text": {
"type": "string",
"description": "The artifact to analyze: brain dump, problem statement, feature brief, design proposal, or research notes",
"minLength": 100,
"maxLength": 5000
},
"feature_domain": {
"type": "string",
"enum": ["authentication", "messaging", "permissions", "audit", "integration", "mobile", "workflow", "search", "analytics", "admin", "compliance"],
"description": "The functional area the artifact addresses"
},
"mission_tier": {
"type": "string",
"enum": ["IL2", "IL4", "IL5", "IL6", "UNCLASSIFIED", "MIXED"],
"description": "Classification / impact level of the system; affects which assumptions are relevant. Canonical enum per ${CLAUDE_PLUGIN_ROOT}/templates/conventions.md §2; default IL5.",
"default": "IL5"
},
"context": {
"type": "object",
"properties": {
"user_roles": {
"type": "array",
"items": {"type": "string"},
"description": "Roles mentioned or implied in the artifact (e.g., 'admin', 'end-user', 'security-officer')"
},
"related_systems": {
"type": "array",
"items": {"type": "string"},
"description": "External systems, APIs, or integrations mentioned or implied"
}
}
}
}{
"artifact_text": "Admins need a way to control classified-channel access with attribute-based rules instead of hand-managed ACLs. They should define a policy (e.g., clearance >= SECRET AND program = OVERWATCH AND device is compliant), see a live preview of who matches, and apply it. Access should be re-evaluated continuously so a user who loses an attribute is removed automatically.",
"feature_domain": "permissions",
"mission_tier": "IL5",
"context": {
"user_roles": ["admin", "security-officer"],
"related_systems": ["IdP / ICAM attribute provider", "device-posture service", "Mattermost channels"]
}
}You are a principal UX designer and systems thinker specializing in DoD/defense collaboration platforms. Your role is to systematically uncover unstated assumptions in design artifacts that could lead to misaligned requirements, failed deployments, or security vulnerabilities.
When analyzing the provided artifact, extract all unstated assumptions and categorize each as:
What the author assumes about user behavior, knowledge, mental models, or operational environment.
What the author assumes about Mattermost capabilities, integrations, state management, or persistence.
What the author assumes about trust boundaries, classification levels, access controls, audit trails, or identity verification.
What the author assumes about the deployment context, network topology, device constraints, or external service availability.
Generate a markdown table with these columns:
Follow the table with a brief narrative summary (2–3 paragraphs) of the highest-risk assumptions and their design implications. Highlight any assumptions that conflict with each other or with known constraints.
| Category | Assumption | Risk if Wrong | Clarifying Question | Research Method |
|---|---|---|---|---|
| SECURITY | The attribute provider (IdP/ICAM) is the authoritative, current source for clearance and program attributes | HIGH | Where do clearance/program attributes originate, and what is the lag between a real-world change and the attribute updating? | Audit attribute provider; interview security officer |
| SYSTEM | Access is re-evaluated continuously, so losing an attribute removes a user automatically | HIGH | Is enforcement point-in-time (only at join) or continuous? What happens to an active session when an attribute changes? | Technical requirements review; ABAC engine audit |
| USER | Admins can express their intended access set as an attribute rule without help | MEDIUM | Can admins translate "the OVERWATCH planners" into clearance/program/device predicates? Do they need a live match preview? | Admin interviews; usability test of the policy builder |
| ENVIRONMENT | The attribute provider and device-posture service are available and responsive during a policy evaluation | MEDIUM | What is the availability SLA? What is the fail-safe when an attribute can't be read — deny, or last-known-good? | Infrastructure audit; failure-mode design review |
Highest-Risk Assumptions:
Attribute Freshness & Continuous Enforcement — The artifact implies attributes always reflect reality and access updates automatically. In IL5/Zero Trust environments (NIST SP 800-207), stale attributes are a spillage vector. Critical question: is enforcement continuous or point-in-time, and what is the attribute-update lag? Design must show attribute freshness and define fail-safe behavior when an attribute can't be read.
Attribute Authority & Homogeneity — The policy assumes the attribute provider is authoritative and that everyone matching a rule is genuinely cleared for the channel's content. In practice attribute sources lag and overlap. Design must account for: (a) validating attributes before grant, (b) handling users whose attributes are unknown/expired, (c) logging every allow/deny with the deciding attributes (AC-16, AU-2).
Admin Expertise — Authoring an attribute rule assumes admins can translate intent ("the OVERWATCH planners on compliant devices") into predicates. Research must determine whether a live match-preview and attribute picker are needed to prevent over- or under-grant.
Design Implications:
A product manager provides this brain dump for a new feature:
Input Artifact:
"We want operators to be able to mark an individual message as SECRET even in a lower-classification channel, and have the system warn them before it reaches anyone without the clearance to see it."
Skill: Assumption Extractor
Input:
artifact_text: "We want operators to be able to mark an individual message as SECRET even in a lower-classification channel, and have the system warn them before it reaches anyone without the clearance to see it."
feature_domain: "messaging"
mission_tier: "IL5"
context:
user_roles: ["operator", "security-officer"]
related_systems: ["IdP / ICAM attribute provider", "Mattermost channels"]| Category | Assumption | Risk if Wrong | Clarifying Question | Research Method |
|---|---|---|---|---|
| USER | Operators correctly judge the classification of their own message before marking it | MEDIUM | How do operators decide a message is SECRET vs CONFIDENTIAL today? Is there guidance or a default? | Operator interviews; observe current marking behavior |
| SECURITY | The system can read every recipient's clearance attribute at send time to warn on a mismatch | HIGH | Where do recipient clearance attributes come from, and what happens if one is unknown — block or warn? | Security requirements review; attribute-provider audit |
| SYSTEM | Channel-level classification and message-level classification are enforced independently | HIGH | Can a SECRET message live in a CONFIDENTIAL channel without exposing it to under-cleared members already in that channel? | Technical requirements review; ABAC enforcement audit |
| ENVIRONMENT | Mobile (TOC) surfaces the same classification marker and pre-send warning as desktop | MEDIUM | Does the mobile composer show the marker and warning at the same prominence? | Mobile usability test with operators |
| SECURITY | Every classification action (mark, downgrade, override-send) is logged and attributed | HIGH | Does the audit log capture each marking and each warning-override individually, with who/when/why? | Audit logging review; compliance requirements check |
Narrative Summary:
The artifact glosses over a critical security assumption: message-level classification can leak if the channel already contains under-cleared members. The highest risk is SECURITY — the system must read recipient clearance at send time and define a fail-safe (default-deny on unknown clearance) per NIST SP 800-207. In IL5 environments this likely requires a pre-send warning that names the under-cleared recipients (AC-3/AC-16 visibility) and logs any override (AU-2).
Secondary concern: mobile parity. If the TOC mobile composer renders the classification marker or warning less prominently than desktop, the guardrail fails for the primary field interface.
{
"assumptions_table": {
"type": "array",
"items": {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": ["USER", "SYSTEM", "SECURITY", "ENVIRONMENT"]
},
"assumption": {
"type": "string",
"description": "The unstated assumption, stated explicitly"
},
"risk_level": {
"type": "string",
"enum": ["HIGH", "MEDIUM", "LOW"]
},
"clarifying_question": {
"type": "string"
},
"research_method": {
"type": "string",
"enum": ["user-interview", "admin-interview", "security-audit", "technical-spike", "compliance-review", "infrastructure-audit", "design-review"]
}
},
"required": ["category", "assumption", "risk_level", "clarifying_question", "research_method"]
}
},
"narrative_summary": {
"type": "string",
"description": "2–3 paragraph narrative highlighting highest-risk assumptions and design implications"
},
"highest_risk_categories": {
"type": "array",
"items": {"type": "string"},
"description": "Categories with the most HIGH-risk assumptions"
}
}A high-quality Assumption Extractor output must meet these criteria:
Scope: Surfaces 5–12 distinct assumptions. Fewer than 5 suggests incomplete analysis; more than 12 suggests over-specification.
Assumption Quality:
Risk Rating Accuracy:
Clarifying Questions:
Narrative Summary:
Context-Appropriate:
Common Pitfalls:
Confusing Assumptions with Requirements — An assumption is something the author takes for granted without stating it. A requirement is an explicit demand. If the artifact says "users must have ≥ IL4 clearance," that's a requirement, not an assumption.
Ignoring SECURITY Assumptions in Lower-Tier Systems — Even IL2 systems have security assumptions (e.g., "only team members can see channel content"). Don't skip SECURITY category analysis.
Missing Environmental Assumptions — The most fragile assumptions are often about the deployment context (network, device, availability). Ask: "What if this assumption is false in a real deployment?"
Assumptions vs. Design Decisions — "The UI will have a confirm dialog" is a design decision. "The admin will not accidentally bulk-invite the wrong users" is an assumption. Focus on assumptions, not decisions.
For Product Managers: Use this skill to de-risk requirements kickoff. Before handing off a feature to design, run it through Assumption Extractor. The output becomes your research roadmap.
For Designers: Use this skill during design review to document the preconditions your design depends on. Share the output with engineers and QA so they understand what to validate.
For Security/Compliance: Use this skill to identify authorization, audit, and clearance assumptions that must be validated before ATO submission.
mattermost/mattermost-ai-marketplace
b16652d
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.