Skip to content

Latest commit

 

History

History
152 lines (122 loc) · 19.6 KB

File metadata and controls

152 lines (122 loc) · 19.6 KB

The Perfect OpenCode - Tools Reference

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.


Table of Contents


Agents

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

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

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

How to Use

Using Agents

  • Switch agents: Use keyboard shortcuts or tab completion to switch between agents
  • Mention agents: Use @agent-name to invoke a specific agent for a task
  • Learn more: Check the agent configuration in .opencode/agents/

Using Skills

  • 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/

Using Commands

  • Run commands: Type /command-name in 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