Skip to main content

Skills

Skills are SKILL.md files that OpenCode loads when needed. Each skill solves a specific class of problem in the workflow. The repository's skills are organized below by area; the list tracks the repository and has no fixed count (it derives from the actual directories under skills/).

OpenCode loads a skill lazily (lazy-loading), only when the task matches its description.

Harness — lifecycle and workflow​

SkillWhen to use
prevc-workflowControl the lifecycle of significant work (Plan → Review → Execute → Validate → Judge → Confirm → Handoff)
harness-session-startStart of every session: discovers instructions, state, and active task
harness-clean-handoffEnd of every session: closes the state with evidence and handoff
harness-session-handoffRecord the handoff between sessions
harness-continuityMulti-session work: WIP=1 state machine and blocked protocol
harness-wip-controlBefore a multi-step prompt: decomposes into WIP=1, defines AC and non-goals
harness-progress-logMaintain the durable progress log
harness-feature-stateBefore Execute: audits feature_list.json
harness-role-separationComplex or UI tasks: separates Planner → Generator → Evaluator
harness-startup-pathDiscover the project's startup command
harness-root-instructionsLocate and read the repo's root instructions
harness-runtime-feedbackCapture runtime feedback during the work
harness-readable-workspaceSession that does not orient itself: fresh-session test and gap mapping
harness-context-layerInconsistent decisions: audits ARCHITECTURE, PRODUCT, RELIABILITY
harness-refineThe Refine phase after Judge: dispatches the read-only refiner over the trajectory window, routes proposals by blast radius, and records operator notes

Harness — setup, portability, and stack​

SkillWhen to use
harness-initializerFirst time in the project: non-mutating audit of the layers
harness-bootstrapInstall the full harness package with confirmation
harness-stack-routerDetect the stack from the files
harness-standards-routerRoute applicable project and global standards
harness-agent-os-specsCreate Agent OS specs from the templates
harness-agent-permissionsDefine and audit the agent permission matrix
harness-portabilityEnsure harness portability across projects
harness-cursor-parityKeep configuration parity with Cursor

Harness — verification, quality, and diagnostics​

SkillWhen to use
harness-termination-checkBefore declaring "done": a 3-layer check (static → runtime → system)
harness-evaluator-rubricBefore the Judge: builds the task-specific rubric
harness-eval-contractDefine the evaluation contract for the work
harness-architecture-checksCheck architectural adherence
harness-quality-snapshotCapture a code quality snapshot
harness-capstone-auditComprehensive closing audit
harness-benchmarkMeasure/benchmark the harness
harness-cleanup-scannerScan for residue and files to clean up
harness-security-scanAudit secrets and supply-chain without exposing values
harness-mcp-inventoryInventory MCPs and detect drift
harness-context-budgetAudit context load and recommend lazy-loading
harness-statusReport readiness of git, PREVC, goal, handoff, context, and security
harness-worktree-lifecycleWorktree lifecycle safety for parallel agents
harness-quality-gateRuns the measured quality gate and the risk router; exit 1 = fix the metric (never relax the threshold), exit 2 = harness blocker; an unavailable metric or a missing/stale report is a named gap, never a pass
harness-project-calibrationDerive the project's own quality thresholds and high-risk paths from its measurements and history
harness-rule-enforcePromote an operator-approved prose rule to an enforced rule (lint | test | gate_metric) as a normal dispatchable lane

Planning and specs​

SkillWhen to use
writing-plansBefore touching code, with a spec or multi-step task requirements
to-specTurn an idea or note into a spec
to-ticketsBreak a spec into actionable tickets
researchInvestigate a topic or domain before deciding
grill-meBe relentlessly questioned about a plan or design until there is shared understanding
grill-with-docsGrilling backed by the existing documentation
grillingRelentlessly grill the operator about a plan, decision, or idea until the thinking is stress-tested
wayfinderGet oriented in an unfamiliar codebase or domain
domain-modelingModel the domain before designing the solution
codebase-designDesign the codebase structure
improve-codebase-architectureImprove the architecture of an existing codebase
prototypeBuild a quick prototype to validate an idea
implementImplement a piece of work based on a spec or a set of tickets

Frontend and UI​

SkillWhen to use
frontend-designCreate interfaces with intentional aesthetics and high craft
interface-designInterface design: dashboards, apps, tools (not marketing sites)
emil-design-engUI polish, animation, and invisible design details
ui-ux-designerWireframes, design systems, user research, and accessibility
frontend-dev-guidelinesReact + TypeScript standards (Suspense-first, feature-based)
frontend-developerBuild React components (React 19, Next.js 15)
frontend-mobile-development-component-scaffoldScaffolding of production-ready, accessible, performant components
frontend-slidesAnimation-rich HTML presentations or PPT conversion
frontend-ui-dark-tsDark-theme React apps with Tailwind, glassmorphism, and Framer Motion
reactReact/Next.js best practices for modern apps
nextjs-app-router-patternsServer Components, streaming, and data fetching in the App Router
nextjs-best-practicesNext.js App Router principles
shadcn-uishadcn/ui component patterns in Next.js + TypeScript

Backend and architecture​

SkillWhen to use
backend-architectScalable API design, microservices, and distributed systems
backend-dev-guidelinesNode.js + Express + TypeScript standards (layered, DI, Prisma, Zod)
nodejs-developmentNode.js internals and production practices (event loop, streams, workers)
modular-monolithModular monolith architecture with module boundaries
software-architectureQuality-focused software architecture
software-engineeringCore engineering principles for maintainable code

Python​

SkillWhen to use
python-proModern Python 3.12+ with async and performance optimization
python-patternsFramework, async, and project structure decisions
python-development-python-scaffoldScaffolding of production Python projects (uv, FastAPI, Django)
python-fastapi-developmentFastAPI backend with async, SQLAlchemy, Pydantic, and auth
async-python-patternsAsyncio, concurrent programming, and async/await
python-packagingPackage libraries and publish to PyPI
python-performance-optimizationProfiling and optimizing slow Python code
python-testing-patternsTesting with pytest, fixtures, mocking, and TDD
uv-package-managerDependency and environment management with uv

TypeScript​

SkillWhen to use
typescriptGeneral TypeScript best practices
typescript-proAdvanced TypeScript in production
typescript-advanced-typesAdvanced type system (generics, conditional, mapped types)

Database and authentication​

SkillWhen to use
nextjs-supabase-authIntegrate Supabase Auth with the Next.js App Router (login, middleware, protected routes)

Testing, debugging, and code review​

SkillWhen to use
tddTest-driven development: red-green-refactor and integration tests
test-driven-developmentWrite tests before the code, in TDD discipline
systematic-debuggingFacing any bug, test failure, or unexpected behavior, before proposing fixes
verification-before-completionBefore declaring work complete
reviewing-codeReview PRs, commits, or diffs against standards
code-reviewReview the changes since a fixed point (commit, branch, tag, or merge-base) along the Standards and Spec axes, in parallel subagents
requesting-code-reviewPrepare and request a code review
receiving-code-reviewReceive review feedback with technical rigor, without performative agreement

Security and WSTG​

SkillWhen to use
frontend-security-coderSecure frontend practices (XSS, sanitization, client-side security)
backend-security-coderSecure backend practices (input validation, auth, API security)
frontend-mobile-security-xss-scanDetect XSS in React, Vue, Angular, and plain JS
wstg-information-gatheringWSTG: information gathering
wstg-configuration-managementWSTG: configuration and deployment management
wstg-identity-managementWSTG: identity management
wstg-authenticationWSTG: authentication testing
wstg-authorizationWSTG: authorization testing
wstg-session-managementWSTG: session management
wstg-input-validationWSTG: input validation
wstg-error-handlingWSTG: error handling
wstg-weak-cryptographyWSTG: weak cryptography
wstg-business-logicWSTG: business logic
wstg-client-sideWSTG: client-side testing
wstg-api-testingWSTG: API testing

Meta and tooling​

SkillWhen to use
writing-skillsCreate, edit, or verify skills
writingWrite clear, well-structured text
prompt-engineeringImprove prompts and debug agent behavior
dispatching-parallel-agentsFacing 2+ independent tasks with no shared state
using-git-worktreesIsolate feature work in a dedicated worktree
resolving-merge-conflictsResolve merge conflicts
playwright-cliBrowser automation, scraping, and E2E testing with Playwright