agent-browser
Browser automation using Vercel's agent-browser CLI. Use when you need to interact with web pages, fill forms, take screenshots,…
Capture solved problems as categorized documentation with YAML frontmatter for fast lookup
Claude Code
$ npx -y skills add davekilleen/Dex --skill compound-docs --agent claude-code
Codex
$ npx skills add davekilleen/Dex --skill compound-docs -a codex -y
Cursor
$ npx skills add davekilleen/Dex --skill compound-docs -a cursor -y
Gemini CLI
$ npx skills add davekilleen/Dex --skill compound-docs -a gemini-cli -y
GitHub Copilot
$ npx skills add davekilleen/Dex --skill compound-docs -a github-copilot -y
OpenCode
$ npx skills add davekilleen/Dex --skill compound-docs -a opencode -y
Windsurf
$ npx skills add davekilleen/Dex --skill compound-docs -a windsurf -y
name: compound-docs description: Capture solved problems as categorized documentation with YAML frontmatter for fast lookup allowed-tools: - Read # Parse conversation context - Write # Create resolution docs - Bash # Create directories - Grep # Search existing docs preconditions: - Problem has been solved (not in-progress) - Solution has been verified working
**Purpose:** Automatically document solved problems to build searchable institutional knowledge with category-based organization (enum-validated problem types).
This skill captures problem solutions immediately after confirmation, creating structured documentation that serves as a searchable knowledge base for future sessions.
**Organization:** Single-file architecture - each problem documented as one markdown file in its symptom category directory (e.g., `docs/solutions/performance-issues/n-plus-one-briefs.md`). Files use YAML frontmatter for metadata and searchability.
---
<critical_sequence name="documentation-capture" enforce_order="strict">
<step number="1" required="true">
**Auto-invoke after phrases:**
**OR manual:** `/doc-fix` command
**Non-trivial problems only:**
**Skip documentation for:**
</step>
<step number="2" required="true" depends_on="1">
Extract from conversation history:
**Required information:**
**Environment details:**
**BLOCKING REQUIREMENT:** If critical context is missing (module name, exact error, stage, or resolution steps), ask user and WAIT for response before proceeding to Step 3:
I need a few details to document this properly: 1. Which module had this issue? [ModuleName] 2. What was the exact error message or symptom? 3. What stage were you in? (0-6 or post-implementation) [Continue after user provides details]
</step>
<step number="3" required="false" depends_on="2">
Search docs/solutions/ for similar issues:
# Search by error message keywords grep -r "exact error phrase" docs/solutions/ # Search by symptom category ls docs/solutions/[category]/
**IF similar issue found:**
THEN present decision options:
Found similar issue: docs/solutions/[path] What's next? 1. Create new doc with cross-reference (recommended) 2. Update existing doc (only if same root cause) 3. Other Choose (1-3): _
WAIT for user response, then execute chosen action.
**ELSE** (no similar issue found):
Proceed directly to Step 4 (no user interaction needed). </step>
<step number="4" required="true" depends_on="2">
Format: `[sanitized-symptom]-[module]-[YYYYMMDD].md`
**Sanitization rules:**
**Examples:**
</step>
<step number="5" required="true" depends_on="4" blocking="true">
**CRITICAL:** All docs require validated YAML frontmatter with enum validation.
<validation_gate name="yaml-schema" blocking="true">
**Validate against schema:** Load `schema.yaml` and classify the problem against the enum values defined in [yaml-schema.md](./references/yaml-schema.md). Ensure all required fields are present and match allowed values exactly.
**BLOCK if validation fails:**
❌ YAML validation failed Errors: - problem_type: must be one of schema enums, got "compilation_error" - severity: must be one of [critical, high, medium, low], got "invalid" - symptoms: must be array with 1-5 items, got string Please provide corrected values.
**GATE ENFORCEMENT:** Do NOT proceed to Step 6 (Create Documentation) until YAML frontmatter passes all validation rules defined in `schema.yaml`.
</validation_gate> </step>
<step number="6" required="true" depends_on="5">
**Determine category from problem_type:** Use the category mapping defined in [yaml-schema.md](./references/yaml-schema.md) (lines 49-61).
**Create documentation file:**
PROBLEM_TYPE="[from validated YAML]"
CATEGORY="[mapped from problem_type]"
FILENAME="[generated-filename].md"
DOC_PATH="docs/solutions/${CATEGORY}/${FILENAME}"
# Create directory if needed
mkdir -p "docs/solutions/${CATEGORY}"
# Write documentation using template from assets/resolution-template.md
# (Content populated with Step 2 context and validated YAML frontmatter)**Result:**
**Create documentation:** Populate the structure from `assets/resolution-template.md` with context gathered in Step 2 and validated YAML frontmatter from Step 5. </step>
<step number="7" required="false" depends_on="6">
If similar issues found in Step 3:
**Update existing doc:**
# Add Related Issues link to similar doc echo "- See also: [$FILENAME]($REAL_FILE)" >> [similar-doc.md]
**Update new doc:** Already includes cross-reference from Step 6.
**Update patterns if app
One personal Dex, built around your work. Keep your priorities, people, meeting notes and tasks in a folder you own. Work with Dex through your AI app to plan the day, prepare for a meeting or follow through on a promise.
Browser automation using Vercel's agent-browser CLI. Use when you need to interact with web pages, fill forms, take screenshots,…
Build applications where agents are first-class citizens. Use this skill when designing autonomous agents, creating MCP tools,…
This skill should be used when writing Ruby gems following Andrew Kane's proven patterns and philosophy. It applies when creating…
This skill should be used before implementing features, building components, or making changes. It guides exploring user intent,…
Expert guidance for creating, writing, and refining Claude Code Skills. Use when working with SKILL.md files, authoring new…
This skill should be used when writing Ruby and Rails code in DHH's distinctive 37signals style. It applies when writing Ruby…
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…