Docs Customization

Customization

How to extend the framework.

Editing Existing Skills

Skills are Markdown files in the skills/ directory. Edit them directly.

skills/
├── your-skill/
│   ├── SKILL.md          # Skill index (≤250 lines)
│   └── guides/
│       └── GUIDE.md      # Detailed guide (loaded on-demand)

Creating New Skills

Create a new directory in skills/ with a SKILL.md file.

---
name: my-new-skill
description: >
  What this skill does. When to activate it.
---

# My New Skill

## When to Use

Use when: [specific trigger condition].

## Process

1. Step one
2. Step two
3. Step three

## Output

What the skill produces.

Adding Guides

For detailed content that exceeds 250 lines, create guides in the guides/ subdirectory.

skills/my-skill/
├── SKILL.md
└── guides/
    ├── DETAILED-GUIDE.md
    └── REFERENCE-GUIDE.md

Configuring Enforcement

Runtime hook controls via environment variables.

VariableValuesEffect
SKILLS_HOOK_LEVELminimal, standard, strictControls which checks run
SKILLS_DISABLED_HOOKSComma-separated listDisables specific checks
SKILLS_TEST_TIMEOUTSeconds (default: 60)Timeout for test commands

STACK_CONFIG.md Customization

Edit STACK_CONFIG.md in your project to customize commands.

stack: node
test: npm test
lint: npm run lint
typecheck: npx tsc --noEmit
build: npm run build
dev: npm run dev

User Profile Preferences

Your preferences are stored at ~/.config/opencode/user-profile.json.

{
  "session_defaults": {
    "default_purpose": "development"
  },
  "stack_preferences": {
    "typescript": true,
    "testing_framework": "vitest"
  }
}

Self-Improving Skills with Evals

Skills can verify their own output quality using evals.md files. Each skill defines pass/fail checks that the agent runs after execution. This is the practical implementation of the Mayéutic Challenge — analyze before executing.

Learning from Past Sessions

Skills can maintain memory.md files that log lessons from past debugging sessions. This creates a learning loop where the skill improves over time. Entries are categorized as error, learning, or observation.