This document provides a comprehensive reference for all agents, skills, and commands available in The Perfect OpenCode. This file is automatically generated - do not edit manually.
Agents are specialized AI assistants designed for specific tasks in The Perfect OpenCode. Each agent has a unique personality, expertise, and set of tools tailored to their domain. You can invoke agents using the @agent-name syntax or switch between them using keyboard shortcuts.
The Perfect OpenCode provides several built-in agents that cover different aspects of software development. Each agent is configured with specific permissions and capabilities to excel in their domain while maintaining security and consistency.
| Name | Description | Model |
|---|---|---|
code-analyst |
Analyzes complex code to explain architecture, logic, data flow, and design patterns. Use when you need to understand unfamiliar codebases, trace execution paths, or decode intricate algorithms. | Default |
database-architect |
Database Architect - Data modeling, schema design, query optimization, migration strategy, and polyglot persistence decisions across the stack | Default |
developer-fast |
Developer Fast - High-speed implementation agent for scoped, single-file, boilerplate, and high-volume tasks. Receives specs from SolutionArchitect and executes with minimal latency. | Default |
developer-prime |
Developer Prime - Full-stack implementation agent for complex, multi-file, long-context, and frontend tasks. Receives specs from SolutionArchitect and design specs from UI/UX Designer. | Default |
devops-engineer |
DevOps Engineer - Infrastructure, CI/CD pipelines, containerization, deployment strategies, and operational tooling across Python, Go, and Node.js services | Default |
orchestrix |
> | Default |
performance-engineer |
Performance Optimization & Efficiency Specialist - Focus on profiling, benchmarking, algorithm optimization, and performance analysis | Default |
principal-architect |
Principal Architect - Responsible for high-level system strategy, cross-service architectural decisions, long-horizon design, and technical governance across the entire stack | Default |
security-expert |
Security & Cryptography Specialist - Focus on security audits, threat modeling, cryptography, authentication, authorization, and secure coding practices | Default |
solution-architect |
Solution Architect - Translates principal-level architectural decisions into concrete, implementable designs across Python, Go, and Node.js services | Default |
test-engineer |
Test Engineer - Unit, integration, contract, and e2e test design and implementation across Python, Go, and Node.js services | Default |
ui-ux-designer |
UI/UX Designer - Produces design specs, component definitions, interaction flows, and visual guidelines for implementation agents. Does not write code. | Default |
Skills are reusable sets of instructions and workflows that provide domain-specific guidance. They can be loaded by agents to access specialized knowledge, templates, and best practices for particular technologies or frameworks. Skills follow a progressive disclosure pattern, providing essential information first with detailed references available on demand.
The Perfect OpenCode comes with a comprehensive collection of skills covering programming languages, frameworks, tools, and development workflows. Each skill provides targeted guidance and can include reference materials, examples, and helper scripts.
| Name | Description |
|---|---|
agent-configuration |
This skill should be used when the user asks to configure agents, create a custom agent, set up agent permissions, customize agent behavior, switch agents, or needs guidance on OpenCode agent system. |
alembic |
This skill should be used when the user asks to set up Alembic migrations, create a database migration, run alembic upgrade, configure alembic autogenerate, or needs guidance on SQLAlchemy schema versioning and migration best practices. |
alpinejs |
This skill should be used when the user asks to add Alpine.js, create Alpine component, use Alpine directives, build interactive UI with Alpine, or needs guidance on Alpine.js development patterns and best practices. |
bash-shell |
This skill should be used when the user asks to write a bash script, follow shell style guide, format shell scripts, create shell utilities, or needs guidance on Bash/shell scripting best practices and conventions. |
capacitor |
This skill should be used when the user asks to build a Capacitor app, add Capacitor to a web project, use Capacitor plugins, configure Capacitor for iOS or Android, or needs guidance on Capacitor best practices, security, storage, deep links, or the development workflow. |
claude-agent-sdk |
This skill should be used when the user asks to build an AI agent with Claude, use the Claude Agent SDK, integrate claude-agent-sdk into a project, set up an autonomous agent with tools, or needs guidance on the Anthropic Claude Agent SDK best practices for Python and TypeScript. |
command-creation |
This skill should be used when the user asks to create a command, add a custom command, make a slash command, create /command, or needs guidance on creating custom commands in OpenCode. |
conventional-git-commit |
This skill MUST be loaded on every git commit without exception. It should also be used when the user asks to write a conventional commit, format a commit message, follow conventional commits spec, create a semantic commit, make a commit, commit changes, or git commit. Every commit message produced in this project MUST conform to this specification. |
copilot-sdk |
This skill should be used when the user asks to integrate GitHub Copilot into an app, use the Copilot SDK, build a Copilot-powered agent, embed Copilot in a service, or needs guidance on the GitHub Copilot SDK for Python, TypeScript, Go, or .NET. |
css |
Apply Google CSS style guide conventions to CSS code |
eslint |
This skill should be used when the user asks to set up ESLint, configure ESLint rules, fix ESLint errors, migrate to flat config, or needs guidance on JavaScript/TypeScript linting best practices. |
git-hooks |
This skill should be used when the user asks to create git hooks, set up pre-commit hooks, configure git hooks, add commit validation, implement pre-push hooks, or needs guidance on Git hooks implementation, validation scripts, or hook best practices. |
github-actions |
This skill should be used when the user asks to create a GitHub Actions workflow, set up CI/CD, configure GitHub Actions, add automated testing, deploy with GitHub Actions, or needs guidance on GitHub Actions workflows, syntax, or automation. |
go-testing |
This skill should be used when the user asks to write Go unit tests, add tests to a Go package, use the testing package, write table-driven tests in Go, or needs guidance on Go test patterns, subtests, benchmarks, and test helpers. |
go |
Apply Go style guide conventions to code |
golangci-lint |
This skill should be used when the user asks to set up golangci-lint, add linting to a Go project, configure golangci-lint, fix golangci-lint errors, or needs guidance on Go code quality and linting best practices. |
google-adk |
This skill should be used when the user asks to build an agent with Google ADK, use the Agent Development Kit, create a Google ADK agent, set up ADK tools, or needs guidance on Google's Agent Development Kit best practices, multi-agent systems, or agent evaluation. |
html |
Apply Google HTML style guide conventions to HTML code |
htmx |
Provides guidance for building dynamic interactive web applications using htmx library with AJAX requests and dynamic content swapping |
interactive-questions |
This skill should be used when the user asks to ask questions interactively, use the question tool, present choices to the user, avoid yes/no prompts, use interactive confirmations, or needs guidance on asking structured questions with selectable options instead of free-text prompts. |
javascript |
This skill should be used when the user asks to \write JavaScript code, \follow JavaScript style guide, \format JS files, \create Node.js scripts, or needs guidance on JavaScript/Node.js coding standards and best practices. |
json-style |
This skill should be used when the user asks to format JSON, design JSON API, write JSON response, structure JSON data, or needs guidance on JSON naming conventions and best practices based on Google's JSON Style Guide. |
markdown |
This skill should be used when the user asks to format markdown, write markdown documentation, follow markdown style guide, apply markdown conventions, or needs guidance on markdown best practices. |
nextjs-react |
This skill should be used when the user asks to write a Next.js app, follow React best practices, optimize a Next.js application, build with the App Router, or needs guidance on modern React and Next.js patterns for 2025. |
numpy |
This skill should be used when the user asks to use NumPy, write NumPy code, optimize NumPy arrays, vectorize with NumPy, or needs guidance on NumPy best practices, array operations, broadcasting, memory management, or scientific computing with Python. |
nuxt |
This skill should be used when the user asks to build a Nuxt app, optimize Nuxt performance, configure Nuxt rendering, follow Nuxt best practices, or needs guidance on Nuxt 4 development patterns, hybrid rendering, or Core Web Vitals optimization. |
pandas |
This skill should be used when the user asks to use pandas, analyze data with pandas, work with DataFrames, clean data with pandas, or needs guidance on pandas best practices, data manipulation, performance optimization, or common pandas patterns. |
pandera |
This skill should be used when the user asks to validate a DataFrame with pandera, write a pandera schema, use pandera DataFrameModel, add data validation to a pipeline, or needs guidance on pandera best practices for data quality. |
perfectcode-zen-evaluation |
This skill should be used when the user asks to evaluate an implementation, run the zen evaluation workflow, check if the plan was properly implemented, review implementation against a plan, or needs to assess implementation quality and surface improvement suggestions after a zen build cycle. |
perfectcode-zen-ideation |
This skill should be used when the user asks to ideate a feature together, zen ideation, let's think through this together, help me shape this idea, collaborative ideation session, or needs a structured framework for LLM-user co-creation where both parties actively contribute, challenge, and build toward the best possible idea. |
perfectcode-zen-implement |
This skill should be used when the user asks to implement a zen plan, execute the zen workflow, run parallel agent implementation, build from an opencode plan, or needs to execute a written plan from .opencode/plans/ using parallel engineering agents with quality gates. |
perfectcode-zen-plan |
This skill should be used when the user asks to plan a feature, run the zen planning workflow, consult all senior agents on a plan, create a structured plan with agent consultation, or needs a thorough multi-agent planning phase before building anything. |
playwright-cli |
Automate browser interactions, test web pages and work with Playwright tests. |
pydantic |
This skill should be used when the user asks to validate data with pydantic, create a pydantic model, use pydantic best practices, write pydantic validators, or needs guidance on pydantic v2 patterns, serialization, configuration, or performance optimization. |
pytest |
This skill should be used when the user asks to write pytest tests, set up pytest best practices, configure pytest, write fixtures, or needs guidance on pytest testing patterns and project structure. |
python-aiomysql |
This skill should be used when the user asks to connect to MySQL with asyncio, use aiomysql, set up an async MySQL connection pool, query MySQL asynchronously in Python, or needs guidance on aiomysql best practices, connection lifecycle, transactions, or cursor types. |
python-bandit |
This skill should be used when the user asks to scan Python code for security issues, set up Bandit, configure bandit security linting, fix bandit warnings, or needs guidance on Python static security analysis with Bandit. |
python-bigquery-sdk |
This skill should be used when the user asks to query BigQuery with Python, use the google-cloud-bigquery SDK, load data into BigQuery, define a BigQuery schema, or needs guidance on best practices for the Python BigQuery client library. |
python-dependency-injection |
This skill should be used when the user asks to implement dependency injection in Python, use the dependency-injector library, decouple Python components, write testable Python services, or needs guidance on Inversion of Control, DI containers, provider types, and wiring in Python applications. |
python-flet |
This skill should be used when the user asks to build a Flet app, create a Python GUI, use Flet framework, write a Flet control, or needs guidance on cross-platform Python UI development with Flet. |
python-mcp |
This skill should be used when the user asks to build an MCP server, create an MCP tool, expose resources with MCP, write an MCP client, or needs guidance on the Model Context Protocol Python SDK best practices, transports, server primitives, or LLM context integration. |
python-mypy |
This skill should be used when the user asks to add mypy to a project, set up static type checking, fix mypy errors, configure mypy, annotate Python code with types, or needs guidance on Python type checking best practices with mypy. |
python-pip-audit |
This skill should be used when the user asks to audit Python dependencies for vulnerabilities, scan requirements.txt for CVEs, set up pip-audit, fix vulnerable Python packages, or needs guidance on Python dependency security scanning with pip-audit. |
python-pymysql |
This skill should be used when the user asks to connect to MySQL with PyMySQL, use PyMySQL in Python, query a MySQL database with Python, set up PyMySQL, or needs guidance on PyMySQL best practices, transactions, parameterized queries, or cursor types. |
python-ruff |
This skill should be used when the user asks to configure ruff, set up ruff linting, use ruff formatter, replace flake8 with ruff, or needs guidance on Python code quality with Ruff linting and formatting best practices. |
python-uv |
This skill should be used when the user asks to set up a Python project with uv, manage dependencies with uv, create a uv project, use uv for Python package management, or needs guidance on uv workflows, pyproject.toml configuration, lockfiles, and development dependency groups. |
python |
Apply Python style guide conventions to code |
rules-creation |
This skill should be used when the user asks to create rules, add custom instructions, set up AGENTS.md, configure project rules, add global rules, or needs guidance on customizing OpenCode behavior with custom instructions. |
skill-creation |
This skill should be used when the user asks to create a skill, write a new skill, add a skill, SKILL.md format, skill frontmatter, or needs guidance on skill structure, progressive disclosure, or OpenCode skill development. |
sqlmodel |
This skill should be used when the user asks to use SQLModel, define SQLModel models, connect SQLModel with FastAPI, set up a database with SQLModel, or needs guidance on SQLModel best practices, relationships, or session management. |
tailwind-css |
This skill should be used when the user asks to use Tailwind CSS, install Tailwind, style with Tailwind, add Tailwind utilities, create responsive design with Tailwind, or needs guidance on Tailwind CSS utility-first styling and configuration. |
turso-libsql |
This skill should be used when the user asks to connect to Turso, use libSQL, set up a Turso database, query Turso with TypeScript, or needs guidance on Turso Cloud, embedded replicas, or vector search with libSQL. |
typescript-style |
This skill should be used when the user asks to write TypeScript code, format TypeScript, follow TypeScript style guide, TypeScript best practices, or needs guidance on Google's TypeScript coding conventions. |
unit-testing |
This skill should be used when the user asks to write unit tests, follow unit testing best practices, improve test quality, structure test cases, or needs guidance on unit testing concepts, patterns, and principles. |
Commands are custom slash commands that provide quick access to common workflows and operations. They can be invoked using the /command-name syntax in the chat interface. Each command can specify which agent and model should be used to execute it, ensuring optimal performance for the task at hand.
The Perfect OpenCode includes several built-in commands that streamline common development tasks. Commands can combine multiple operations, provide interactive workflows, and leverage specialized agents for complex tasks.
| Name | Description | Agent | Model |
|---|---|---|---|
/create-agent |
Create a new OpenCode agent with interactive configuration | build |
Default |
/create-command |
Create a new OpenCode command with interactive requirements gathering | build |
Default |
/create-rule |
Add a MUST FOLLOW rule to AGENTS.md | build |
Default |
/create-skill |
Create a new OpenCode skill with proper structure and frontmatter | build |
Default |
/evaluate |
Evaluate whether an implementation matches its plan | plan |
Default |
/git-commit |
Commit staged changes with a conventional commit message | developer-fast |
Default |
/git-push |
Push committed changes to remote — never stages or commits anything | developer-fast |
Default |
/ideate |
Start an ideation session with the Ideation Expert | build |
Default |
/implement |
Execute implementation plan with specialized engineering agents | build |
Default |
/install-perfect-tools |
Discover and install perfect agents/skills/commands for your project | build |
Default |
/plan |
Gather requirements, analyze code, and create implementation plan | plan |
Default |
/recommend-perfect-tool |
Analyze current project and recommend uninstalled agents/skills/commands | build |
Default |
/sync-perfect-configs |
Sync local opencode.json with the canonical remote version | build |
Default |
/update-perfect-tools |
Update already-installed perfect tools to their latest versions | build |
Default |
- Switch agents: Use keyboard shortcuts or tab completion to switch between agents
- Mention agents: Use
@agent-nameto invoke a specific agent for a task - Learn more: Check the agent configuration in
.opencode/agents/
- Load skills: Agents can automatically load relevant skills based on context
- Manual loading: Reference skills using
@.opencode/skills/skill-name/ - Explore skills: Browse available skills in
.opencode/skills/
- Run commands: Type
/command-namein the chat interface - Command arguments: Some commands accept arguments:
/command-name arg1 arg2 - Custom commands: Create your own commands in
.opencode/commands/
Generated on: 2026-04-17 03:50:13 UTC
Repository: The Perfect OpenCode