# skyinformatica/opencode-instructions architecture

> Architecture diagram of the GitHub repository skyinformatica/opencode-instructions, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/skyinformatica/opencode-instructions
- Repository: https://github.com/skyinformatica/opencode-instructions

## Overview

This repository distributes Sky’s OpenCode configuration and development guidance, with V2 as the current setup and V1 retained for migration. The main user workflow is to run the configuration prompt, choose a scope, and install global rules, skills, agents, and settings; users then apply those agents and skills during development. V2 also includes runtime plugins for mode guidance and file-encoding preservation. Plugin internals are shown only where excerpts support them; broader installation relationships come from the README.

Main entry points: [`v2/prompts/prompt-configurar-opencode.md`](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/prompts/prompt-configurar-opencode.md) (Setup prompt), [`v2/plugins/ponytail/plugin.js`](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/ponytail/plugin.js) (Ponytail plugin), [`v2/plugins/ponytail/hooks/ponytail-instructions.cjs`](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/ponytail/hooks/ponytail-instructions.cjs) (Ponytail instructions), [`v2/agents/orquestrador.md`](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/agents/orquestrador.md) (Orchestrator agent)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_setup["Setup and Versions"]
  node_setup_prompt["Setup prompt"]
  node_v2_config["V2 global config<br/>[opencode.json]"]
  node_v1_config["V1 global config<br/>[opencode.json]"]
  node_v1_prompts["V1 setup prompts"]
  node_shared_setup["Shared setup guidance"]
end

subgraph group_guidance["Development Guidance"]
  node_rules["Sky rules"]
  node_skills["Team skills"]
  node_integration_guides["MCP and service guides"]
end

subgraph group_agents["Agent Workflow"]
  node_orchestrator["Orchestrator agent<br/>[orquestrador.md]"]
  node_executor["Executor agent<br/>[executor.md]"]
end

subgraph group_plugins["V2 Plugins"]
  node_caveman_runtime["Caveman plugin<br/>[plugin.js]"]
  node_caveman_entry["Caveman entry<br/>[index.js]"]
  node_caveman_config["Caveman mode config<br/>[caveman-config.cjs]"]
  node_caveman_parser["Caveman mode parser<br/>[caveman-parse.cjs]"]
  node_ponytail_runtime["Ponytail plugin<br/>[plugin.js]"]
  node_ponytail_entry["Ponytail entry<br/>[index.js]"]
  node_ponytail_config["Ponytail mode config"]
  node_ponytail_parser["Ponytail mode parser<br/>[ponytail-parse.cjs]"]
  node_ponytail_instructions["Ponytail instructions"]
  node_ponytail_commands["Ponytail commands"]
  node_ponytail_skill["Ponytail skill<br/>[SKILL.md]"]
  node_encoding_plugin["Encoding protection<br/>[index.ts]"]
end

node_user(("OpenCode user"))
node_host["OpenCode host"]

node_user -->|"runs"| node_setup_prompt
node_setup_prompt -->|"configures"| node_v2_config
node_setup_prompt -->|"installs"| node_rules
node_setup_prompt -->|"installs"| node_skills
node_setup_prompt -->|"installs"| node_orchestrator
node_setup_prompt -->|"installs"| node_executor
node_user -.->|"uses instead"| node_v1_prompts
node_v1_prompts -.->|"configures"| node_v1_config
node_user -->|"follows"| node_shared_setup
node_user -->|"invokes"| node_orchestrator
node_orchestrator -->|"delegates"| node_executor
node_host -->|"loads plugin"| node_caveman_runtime
node_host -->|"loads plugin"| node_caveman_entry
node_host -->|"loads plugin"| node_ponytail_runtime
node_host -->|"loads plugin"| node_ponytail_entry
node_host -->|"loads plugin"| node_encoding_plugin
node_ponytail_runtime -->|"reuses"| node_ponytail_instructions
node_ponytail_runtime -->|"uses"| node_ponytail_parser
node_ponytail_runtime -->|"registers"| node_ponytail_commands
node_ponytail_instructions -->|"imports"| node_ponytail_config
node_ponytail_parser -->|"imports"| node_ponytail_config
node_ponytail_instructions -->|"reads"| node_ponytail_skill
node_caveman_entry -->|"loads"| node_caveman_config
node_caveman_runtime -->|"loads"| node_caveman_config

click node_setup_prompt "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/prompts/prompt-configurar-opencode.md"
click node_v2_config "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/global/opencode.json"
click node_v1_config "https://github.com/skyinformatica/opencode-instructions/blob/main/v1/global/opencode.json"
click node_v1_prompts "https://github.com/skyinformatica/opencode-instructions/tree/main/v1/prompts"
click node_shared_setup "https://github.com/skyinformatica/opencode-instructions/blob/main/prompt-configurar-ambiente-windows.md"
click node_rules "https://github.com/skyinformatica/opencode-instructions/tree/main/rules"
click node_skills "https://github.com/skyinformatica/opencode-instructions/tree/main/skills"
click node_integration_guides "https://github.com/skyinformatica/opencode-instructions/blob/main/redmine-instructions.md"
click node_orchestrator "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/agents/orquestrador.md"
click node_executor "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/agents/executor.md"
click node_caveman_runtime "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/caveman/plugin.js"
click node_caveman_entry "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/caveman/index.js"
click node_caveman_config "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/caveman/caveman-config.cjs"
click node_caveman_parser "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/caveman/caveman-parse.cjs"
click node_ponytail_runtime "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/ponytail/plugin.js"
click node_ponytail_entry "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/ponytail/index.js"
click node_ponytail_config "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/ponytail/hooks/ponytail-config.cjs"
click node_ponytail_parser "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/ponytail/ponytail-parse.cjs"
click node_ponytail_instructions "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/ponytail/hooks/ponytail-instructions.cjs"
click node_ponytail_commands "https://github.com/skyinformatica/opencode-instructions/tree/main/v2/plugins/ponytail/command"
click node_ponytail_skill "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/ponytail/skills/ponytail/SKILL.md"
click node_encoding_plugin "https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/encoding-auto/index.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_setup_prompt,node_v2_config,node_v1_config,node_v1_prompts,node_shared_setup,node_user toneBlue
class node_rules,node_skills,node_integration_guides toneAmber
class node_orchestrator,node_executor toneMint
class node_caveman_runtime,node_caveman_entry,node_caveman_config,node_caveman_parser,node_ponytail_runtime,node_ponytail_entry,node_ponytail_config,node_ponytail_parser,node_ponytail_instructions,node_ponytail_commands,node_ponytail_skill,node_encoding_plugin toneRose
class node_host toneIndigo
```

## Components

### Setup and Versions

- [Setup prompt](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/prompts/prompt-configurar-opencode.md): `v2/prompts/prompt-configurar-opencode.md`
- [V2 global config](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/global/opencode.json): `v2/global/opencode.json`
- [V1 global config](https://github.com/skyinformatica/opencode-instructions/blob/main/v1/global/opencode.json): `v1/global/opencode.json`
- [V1 setup prompts](https://github.com/skyinformatica/opencode-instructions/tree/main/v1/prompts): `v1/prompts`
- [Shared setup guidance](https://github.com/skyinformatica/opencode-instructions/blob/main/prompt-configurar-ambiente-windows.md): `prompt-configurar-ambiente-windows.md`

### Development Guidance

- [Sky rules](https://github.com/skyinformatica/opencode-instructions/tree/main/rules): `rules`
- [Team skills](https://github.com/skyinformatica/opencode-instructions/tree/main/skills): `skills`
- [MCP and service guides](https://github.com/skyinformatica/opencode-instructions/blob/main/redmine-instructions.md): `redmine-instructions.md`

### Agent Workflow

- [Orchestrator agent](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/agents/orquestrador.md): `v2/agents/orquestrador.md`
- [Executor agent](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/agents/executor.md): `v2/agents/executor.md`

### V2 Plugins

- [Caveman plugin](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/caveman/plugin.js): `v2/plugins/caveman/plugin.js`
- [Caveman entry](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/caveman/index.js): `v2/plugins/caveman/index.js`
- [Caveman mode config](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/caveman/caveman-config.cjs): `v2/plugins/caveman/caveman-config.cjs`
- [Caveman mode parser](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/caveman/caveman-parse.cjs): `v2/plugins/caveman/caveman-parse.cjs`
- [Ponytail plugin](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/ponytail/plugin.js): `v2/plugins/ponytail/plugin.js`
- [Ponytail entry](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/ponytail/index.js): `v2/plugins/ponytail/index.js`
- [Ponytail mode config](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/ponytail/hooks/ponytail-config.cjs): `v2/plugins/ponytail/hooks/ponytail-config.cjs`
- [Ponytail mode parser](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/ponytail/ponytail-parse.cjs): `v2/plugins/ponytail/ponytail-parse.cjs`
- [Ponytail instructions](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/ponytail/hooks/ponytail-instructions.cjs): `v2/plugins/ponytail/hooks/ponytail-instructions.cjs`
- [Ponytail commands](https://github.com/skyinformatica/opencode-instructions/tree/main/v2/plugins/ponytail/command): `v2/plugins/ponytail/command`
- [Ponytail skill](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/ponytail/skills/ponytail/SKILL.md): `v2/plugins/ponytail/skills/ponytail/SKILL.md`
- [Encoding protection](https://github.com/skyinformatica/opencode-instructions/blob/main/v2/plugins/encoding-auto/index.ts): `v2/plugins/encoding-auto/index.ts`

### Other components

- **OpenCode user**
- **OpenCode host**

## Connections

- OpenCode user → Setup prompt: runs (evidence: `README.md`)
- Setup prompt → V2 global config: configures (evidence: `README.md`)
- Setup prompt → Sky rules: installs (evidence: `README.md`)
- Setup prompt → Team skills: installs (evidence: `README.md`)
- Setup prompt → Orchestrator agent: installs (evidence: `README.md`)
- Setup prompt → Executor agent: installs (evidence: `README.md`)
- OpenCode user → V1 setup prompts: uses instead (evidence: `README.md`)
- V1 setup prompts → V1 global config: configures (evidence: `README.md`)
- OpenCode user → Shared setup guidance: follows (evidence: `README.md`)
- OpenCode user → Orchestrator agent: invokes (evidence: `README.md`)
- Orchestrator agent → Executor agent: delegates (evidence: `README.md`)
- OpenCode host → Caveman plugin: loads plugin (evidence: `v2/plugins/caveman/plugin.js`)
- OpenCode host → Caveman entry: loads plugin (evidence: `v2/plugins/caveman/index.js`)
- OpenCode host → Ponytail plugin: loads plugin (evidence: `v2/plugins/ponytail/plugin.js`)
- OpenCode host → Ponytail entry: loads plugin (evidence: `v2/plugins/ponytail/index.js`)
- OpenCode host → Encoding protection: loads plugin (evidence: `v2/plugins/encoding-auto/index.ts`)
- Ponytail plugin → Ponytail instructions: reuses (evidence: `v2/plugins/ponytail/plugin.js`)
- Ponytail plugin → Ponytail mode parser: uses (evidence: `v2/plugins/ponytail/plugin.js`)
- Ponytail plugin → Ponytail commands: registers (evidence: `v2/plugins/ponytail/plugin.js`)
- Ponytail instructions → Ponytail mode config: imports (evidence: `v2/plugins/ponytail/hooks/ponytail-instructions.cjs`)
- Ponytail mode parser → Ponytail mode config: imports (evidence: `v2/plugins/ponytail/ponytail-parse.cjs`)
- Ponytail instructions → Ponytail skill: reads (evidence: `v2/plugins/ponytail/hooks/ponytail-instructions.cjs`)
- Caveman entry → Caveman mode config: loads (evidence: `v2/plugins/caveman/index.js`)
- Caveman plugin → Caveman mode config: loads (evidence: `v2/plugins/caveman/plugin.js`)
