Build more inclusive digital experiences. This OpenCode skill helps teams identify and fix content patterns that create cognitive barriers or emotional distress for users with depression, anxiety, and other conditions affecting executive function. Backed by WCAG 2.2, W3C COGA, ISO 9241-110, and ISO/IEC 30071-1 standards.
Perfect for: UX writers, content designers, accessibility specialists, and product teams building healthcare, financial, government, or any user-facing applications.
DS-WCS is an OpenCode agent skill that helps content designers, UX writers, and accessibility specialists create emotionally safe, cognitively accessible web content. It addresses:
- Shame and blame language in error messages and feedback
- Cognitive load from complex instructions and memory-dependent interfaces
- Urgency pressure that may induce anxiety
- Error recovery with clear, actionable guidance
- Supportive tone that respects users' emotional states
This is a UX and content accessibility tool, NOT a clinical resource. It focuses on interface design patterns that support users with cognitive differences, including those related to depression, anxiety, and other conditions affecting executive function.
Depression affects cognitive function, including:
- Working memory: Reduced capacity to hold information across steps
- Executive function: Impaired planning and decision-making
- Attention: Difficulty concentrating and staying on task
- Processing speed: Slower information processing
These differences mean that:
- Shame-inducing language increases task abandonment
- Complex, multi-step processes cause users to lose progress
- Unclear error messages lead to frustration and disengagement
- Time pressure creates additional cognitive burden
By applying evidence-based content patterns, you can improve task completion rates and reduce emotional distress for users with cognitive differences.
This skill maps recommendations to four international standards:
| Standard | Focus | Relevance |
|---|---|---|
| WCAG 2.2 | Web Content Accessibility | Success criteria for error handling, labels, timeouts |
| W3C COGA | Cognitive Accessibility | User needs for clear content, avoiding mistakes, help provision |
| ISO 9241-110 | Dialogue Principles | Self-descriptiveness, controllability, error tolerance |
| ISO/IEC 30071-1 | Accessibility Policy | Emotional safety, inclusive language, dignity |
OpenCode discovers skills from:
- Project-local skills:
.opencode/skills/<skill-name>/SKILL.md - Global skills:
~/.config/opencode/skills/<skill-name>/SKILL.md
The skill directory name must match the name field in the YAML frontmatter.
Clone this repository to your project's .opencode/skills/ directory:
# In your project root
mkdir -p .opencode/skills
git clone https://github.com/simonplmak-cloud/depression-sensitive-web-content.git \
.opencode/skills/depression-sensitive-web-contentOr install globally for all projects:
mkdir -p ~/.config/opencode/skills
git clone https://github.com/simonplmak-cloud/depression-sensitive-web-content.git \
~/.config/opencode/skills/depression-sensitive-web-contentIf you have forked this skill to customize it for your organization, run the included setup script to update all repository references automatically:
chmod +x scripts/customize-fork.sh
./scripts/customize-fork.shThe script prompts for your GitHub username and repository name, then replaces all hardcoded references across the documentation. After running it, review the changes with git diff, commit, and push.
For manual customization steps or instructions on syncing with upstream, see FORK_INSTRUCTIONS.md.
User Input:
Audit src/components/ErrorBoundary.tsx for depression-sensitive content issues
OpenCode Output:
## Findings
### HIGH Severity
- **src/components/ErrorBoundary.tsx:15** - Blame language in error message
- Original: "You broke something. This page doesn't exist."
- Standards: WCAG 3.3.1 (Error Identification), ISO 9241-110 5.7 (Error tolerance)
- **src/components/ErrorBoundary.tsx:18** - Missing recovery path
- Original: "Error occurred"
- Standards: WCAG 3.3.3 (Error Suggestion), COGA Objective 2
### MEDIUM Severity
- **src/components/ErrorBoundary.tsx:22** - Excessive urgency
- Original: "Try again NOW!"
- Standards: WCAG 2.2.6 (Timeouts), ISO 9241-110 5.5 (Controllability)
## Recommended Rewrites
### Error Message Rewrite
**Before:**You broke something. This page doesn't exist.
**After:**
Page not found.
The page you're looking for doesn't exist or has been moved. Check the URL for typos, or return to the homepage.
**Rationale:**
- Removed second-person blame ("You broke")
- Provided specific recovery actions
- Added neutral punctuation (no exclamation points)
**Standards:**
- WCAG 3.3.1 (Error Identification)
- WCAG 3.3.3 (Error Suggestion)
- W3C COGA Objective 2: Help users avoid mistakes
- ISO 9241-110: Error tolerance
## Standards Traceability Summary
| Category | WCAG 2.2 | COGA | ISO 9241-110 | ISO/IEC 30071-1 |
|----------|----------|------|--------------|-----------------|
| Blame Language | 3.3.1 | Obj 2 | 5.7 | 8.2, 9.1 |
| Missing Recovery | 3.3.3 | Obj 2 | 5.7 | 9.1 |
User Input:
Rewrite this error message to be more supportive:
"Invalid email! Try again."
OpenCode Output:
## Recommended Rewrite
**Before:**
"Invalid email! Try again."
**After:**
"Email format not recognized.
Please enter an email address in this format: name@domain.com"
**Rationale:**
- Removed blame attribution ("Invalid!" implies user error)
- Removed exclamation point (calm tone)
- Provided concrete example (reduces memory load)
- Included specific format guidance (recovery path)
**Standards Mapping:**
- WCAG 3.3.1 (Error Identification): Error is clearly described
- WCAG 3.3.3 (Error Suggestion): Format example provided
- W3C COGA Objective 2: Help users avoid mistakes
- ISO 9241-110: Error tolerance, Self-descriptivenessUser Input:
Review this empty state from a wellness app:
"No activities logged. You should track your mood daily to see your progress over time."
OpenCode Output:
## Findings
### HIGH Severity
- **Obligation language**: "You should track your mood daily"
- **Shame implication**: "to see your progress" implies current lack of progress
### Recommended Rewrite
**Before:**
"No activities logged. You should track your mood daily to see your progress over time."
**After:**
"When you log activities, they'll appear here.
Optional: Track your mood daily to identify patterns in your energy and wellbeing."
**Rationale:**
- Removed "should" (obligation language)
- Changed "progress" to neutral "patterns"
- Emphasized optionality
- Added supportive framing
**Standards:**
- WCAG 3.3.3 (Error Suggestion)
- W3C COGA Objective 1: Clear, simple, non-obligatory language
- W3C COGA Objective 4: Provide help without pressure
- ISO 9241-110: Controllabilitydepression-sensitive-web-content/
├── .opencode/
│ └── skills/
│ └── depression-sensitive-web-content/
│ ├── SKILL.md # Main skill definition
│ └── resources/
│ └── implementation-guide.md # Rewrite library, standards matrix, audit checklist
├── AGENTS.md # Agent context and usage
├── README.md # This file
└── LICENSE # MIT License
| Principle | Avoid | Use Instead |
|---|---|---|
| Remove Shame/Blame | "You broke something" | "Page not found" |
| Reduce Urgency | "Sign up now!" | "Create account" |
| Self-Descriptive CTAs | "Submit" | "Create account" |
| Error Recovery | "Invalid" | "Format not recognized. Example: name@domain.com" |
| Reduce Memory | "Call for policy number" | "Policy number (on card, top right)" |
| Scannable Language | Long paragraphs | Bullets, headings, short sections |
| Calm Microcopy | "Congratulations!" | "Account created successfully" |
Contributions are welcome from the accessibility, content design, and UX writing communities.
See CONTRIBUTING.md for detailed guidelines on format requirements, standards mapping, code of conduct, and the PR review process.
- Fork this repository
- Create a feature branch:
git checkout -b feature/add-examples - Follow the formats in CONTRIBUTING.md
- Test locally in an OpenCode project
- Open a pull request with a clear description
For major changes, open an issue first to discuss scope and approach.
| Contribution Type | File to Edit | Section |
|---|---|---|
| Before/after examples | resources/implementation-guide.md |
Section A.2 |
| Audit checklist items | resources/implementation-guide.md |
Section C |
| Standards improvements | resources/implementation-guide.md |
Section B |
| Documentation | README.md, SKILL.md, FORK_INSTRUCTIONS.md |
Any |
Found a problematic pattern not yet covered? Open an issue with:
- The pattern or content type
- Why it creates cognitive or emotional barriers
- A proposed remediation or before/after example
This project is licensed under the MIT License - see the LICENSE file for details.
To use a different license:
- Replace the LICENSE file with your preferred license text
- Update the
licensefield in SKILL.md frontmatter
This tool addresses content and UX design for emotional safety and cognitive accessibility. It is NOT:
- A clinical assessment tool
- A diagnostic instrument
- A treatment recommendation resource
- A substitute for mental health professional guidance
For mental health concerns, consult qualified healthcare providers.
Version 1.0.0 | February 2026