# maithehao/c4f-opencode-config architecture

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

- Interactive diagram: https://gitdiagram.com/maithehao/c4f-opencode-config
- Repository: https://github.com/maithehao/c4f-opencode-config

## Overview

This repository packages OpenCode configuration: effort-tiered implementation and research agents, routing and authoring skills, and two runtime plugins. A typical workflow selects an agent lane, applies its routing policy, and produces implementation work or an evidence-based research report. The model-insights plugin separately exposes live model availability, pricing, variants, and selection metadata; c4f-status checks configured repositories and surfaces update advisories. Plugin edges are grounded in the supplied source excerpts or SOURCE INDEX; agent and skill relationships are limited to README-documented capabilities.

Main entry points: [`agents/great-builder`](https://github.com/maithehao/c4f-opencode-config/tree/master/agents/great-builder) (Builder Primaries), [`plugins/model-insights/src/runtime/snapshot-store.js`](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/runtime/snapshot-store.js) (Snapshot Store), [`plugins/model-insights/src/tools/model-insights/handlers`](https://github.com/maithehao/c4f-opencode-config/tree/master/plugins/model-insights/src/tools/model-insights/handlers) (Tool Actions), [`plugins/model-insights/src/tools/model-insights/index.js`](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/tools/model-insights/index.js) (Insights Tool)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_agent_workflows["Agent Workflows"]
  node_builder["Builder Primaries"]
  node_builder_specialists["Build Specialists"]
  node_research["Research Primaries"]
  node_research_specialists["Research Specialists"]
end

subgraph group_skills["Skills &amp; Policies"]
  node_routing["Routing Skill<br/>[SKILL.md]"]
  node_agent_config["Agent Config Standard<br/>[SKILL.md]"]
  node_update_skill["Update Workflow Skill<br/>[SKILL.md]"]
end

subgraph group_model_plugin["Model Insights Plugin"]
  node_model_setup["Plugin Setup<br/>[setup.js]"]
  node_snapshot["Snapshot Store<br/>[snapshot-store.js]"]
  node_config_loader["Metadata Loader<br/>[loader.js]"]
  node_config_schema["Metadata Validation<br/>[schema.js]"]
  node_catalog["Model Catalog<br/>[catalog.js]"]
  node_normalizer["Registry Normalizer<br/>[normalizer.js]"]
  node_pricing["Pricing Insights<br/>[pricing.js]"]
  node_variants["Variant Runtime<br/>[variants.js]"]
  node_tool_register["Insights Tool<br/>[index.js]"]
  node_handlers["Tool Actions"]
  node_tool_render["Tool Rendering<br/>[table.js]"]
  node_columns["Result Columns<br/>[columns.js]"]
end

subgraph group_status_plugin["Update Status Plugin"]
  node_status_entry["Status Plugin Setup<br/>[setup.js]"]
  node_status_registry["Module Registry<br/>[registry.js]"]
  node_update_check["Update Check<br/>[index.js]"]
  node_probe["Repository Probe<br/>[probe.js]"]
  node_warning["Advisory Messages<br/>[warn.js]"]
end

node_user(("OpenCode User"))
node_opencode["OpenCode Runtime"]

node_user -->|"selects lane"| node_builder
node_user -->|"selects lane"| node_research
node_builder -.->|"delegates work"| node_builder_specialists
node_research -.->|"delegates research"| node_research_specialists
node_builder -->|"uses routing"| node_routing
node_research -->|"uses routing"| node_routing
node_builder -.->|"follows standard"| node_agent_config
node_opencode -->|"loads plugin"| node_model_setup
node_model_setup -->|"creates store"| node_snapshot
node_model_setup -->|"registers tool"| node_tool_register
node_snapshot -->|"loads metadata"| node_config_loader
node_snapshot -->|"builds catalog"| node_catalog
node_snapshot -->|"normalizes registry"| node_normalizer
node_config_loader -->|"validates config"| node_config_schema
node_catalog -->|"normalizes metadata"| node_config_schema
node_normalizer -->|"uses pricing"| node_pricing
node_normalizer -->|"uses variants"| node_variants
node_user -->|"queries models"| node_tool_register
node_tool_register -->|"dispatches actions"| node_handlers
node_handlers -->|"queries catalog"| node_catalog
node_handlers -->|"selects columns"| node_columns
node_handlers -->|"renders results"| node_tool_render
node_tool_register -->|"renders status"| node_tool_render
node_opencode -->|"loads plugin"| node_status_entry
node_status_entry -->|"loads modules"| node_status_registry
node_status_registry -->|"runs module"| node_update_check
node_update_check -->|"probes repositories"| node_probe
node_update_check -->|"builds advisories"| node_warning
node_user -->|"runs update workflow"| node_update_skill

click node_builder "https://github.com/maithehao/c4f-opencode-config/tree/master/agents/great-builder"
click node_builder_specialists "https://github.com/maithehao/c4f-opencode-config/tree/master/agents/great-builder/sub"
click node_research "https://github.com/maithehao/c4f-opencode-config/tree/master/agents/research"
click node_research_specialists "https://github.com/maithehao/c4f-opencode-config/tree/master/agents/research/sub"
click node_routing "https://github.com/maithehao/c4f-opencode-config/blob/master/skills/oc-routing/SKILL.md"
click node_agent_config "https://github.com/maithehao/c4f-opencode-config/blob/master/skills/oc-agent-config/SKILL.md"
click node_update_skill "https://github.com/maithehao/c4f-opencode-config/blob/master/skills/c4f-update/SKILL.md"
click node_model_setup "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/setup.js"
click node_snapshot "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/runtime/snapshot-store.js"
click node_config_loader "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/config/loader.js"
click node_config_schema "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/config/schema.js"
click node_catalog "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/insights/catalog.js"
click node_normalizer "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/runtime/normalizer.js"
click node_pricing "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/insights/pricing.js"
click node_variants "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/runtime/variants.js"
click node_tool_register "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/tools/model-insights/index.js"
click node_handlers "https://github.com/maithehao/c4f-opencode-config/tree/master/plugins/model-insights/src/tools/model-insights/handlers"
click node_tool_render "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/tools/model-insights/table.js"
click node_columns "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/tools/model-insights/columns.js"
click node_status_entry "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/c4f-status/src/setup.js"
click node_status_registry "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/c4f-status/src/modules/registry.js"
click node_update_check "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/c4f-status/src/modules/check-for-update/index.js"
click node_probe "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/c4f-status/src/modules/check-for-update/probe.js"
click node_warning "https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/c4f-status/src/modules/check-for-update/warn.js"

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_builder,node_builder_specialists,node_research,node_research_specialists,node_user toneBlue
class node_routing,node_agent_config,node_update_skill toneAmber
class node_model_setup,node_snapshot,node_config_loader,node_config_schema,node_catalog,node_normalizer,node_pricing,node_variants,node_tool_register,node_handlers,node_tool_render,node_columns toneMint
class node_status_entry,node_status_registry,node_update_check,node_probe,node_warning toneRose
class node_opencode toneIndigo
```

## Components

### Agent Workflows

- [Builder Primaries](https://github.com/maithehao/c4f-opencode-config/tree/master/agents/great-builder): `agents/great-builder`
- [Build Specialists](https://github.com/maithehao/c4f-opencode-config/tree/master/agents/great-builder/sub): `agents/great-builder/sub`
- [Research Primaries](https://github.com/maithehao/c4f-opencode-config/tree/master/agents/research): `agents/research`
- [Research Specialists](https://github.com/maithehao/c4f-opencode-config/tree/master/agents/research/sub): `agents/research/sub`

### Skills & Policies

- [Routing Skill](https://github.com/maithehao/c4f-opencode-config/blob/master/skills/oc-routing/SKILL.md): `skills/oc-routing/SKILL.md`
- [Agent Config Standard](https://github.com/maithehao/c4f-opencode-config/blob/master/skills/oc-agent-config/SKILL.md): `skills/oc-agent-config/SKILL.md`
- [Update Workflow Skill](https://github.com/maithehao/c4f-opencode-config/blob/master/skills/c4f-update/SKILL.md): `skills/c4f-update/SKILL.md`

### Model Insights Plugin

- [Plugin Setup](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/setup.js): `plugins/model-insights/src/setup.js`
- [Snapshot Store](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/runtime/snapshot-store.js): `plugins/model-insights/src/runtime/snapshot-store.js`
- [Metadata Loader](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/config/loader.js): `plugins/model-insights/src/config/loader.js`
- [Metadata Validation](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/config/schema.js): `plugins/model-insights/src/config/schema.js`
- [Model Catalog](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/insights/catalog.js): `plugins/model-insights/src/insights/catalog.js`
- [Registry Normalizer](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/runtime/normalizer.js): `plugins/model-insights/src/runtime/normalizer.js`
- [Pricing Insights](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/insights/pricing.js): `plugins/model-insights/src/insights/pricing.js`
- [Variant Runtime](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/runtime/variants.js): `plugins/model-insights/src/runtime/variants.js`
- [Insights Tool](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/tools/model-insights/index.js): `plugins/model-insights/src/tools/model-insights/index.js`
- [Tool Actions](https://github.com/maithehao/c4f-opencode-config/tree/master/plugins/model-insights/src/tools/model-insights/handlers): `plugins/model-insights/src/tools/model-insights/handlers`
- [Tool Rendering](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/tools/model-insights/table.js): `plugins/model-insights/src/tools/model-insights/table.js`
- [Result Columns](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/model-insights/src/tools/model-insights/columns.js): `plugins/model-insights/src/tools/model-insights/columns.js`

### Update Status Plugin

- [Status Plugin Setup](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/c4f-status/src/setup.js): `plugins/c4f-status/src/setup.js`
- [Module Registry](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/c4f-status/src/modules/registry.js): `plugins/c4f-status/src/modules/registry.js`
- [Update Check](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/c4f-status/src/modules/check-for-update/index.js): `plugins/c4f-status/src/modules/check-for-update/index.js`
- [Repository Probe](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/c4f-status/src/modules/check-for-update/probe.js): `plugins/c4f-status/src/modules/check-for-update/probe.js`
- [Advisory Messages](https://github.com/maithehao/c4f-opencode-config/blob/master/plugins/c4f-status/src/modules/check-for-update/warn.js): `plugins/c4f-status/src/modules/check-for-update/warn.js`

### Other components

- **OpenCode User**
- **OpenCode Runtime**

## Connections

- OpenCode User → Builder Primaries: selects lane (evidence: `README.md`)
- OpenCode User → Research Primaries: selects lane (evidence: `README.md`)
- Builder Primaries → Build Specialists: delegates work
- Research Primaries → Research Specialists: delegates research
- Builder Primaries → Routing Skill: uses routing (evidence: `README.md`)
- Research Primaries → Routing Skill: uses routing (evidence: `README.md`)
- Builder Primaries → Agent Config Standard: follows standard
- OpenCode Runtime → Plugin Setup: loads plugin (evidence: `README.md`)
- Plugin Setup → Snapshot Store: creates store (evidence: `plugins/model-insights/src/setup.js`)
- Plugin Setup → Insights Tool: registers tool (evidence: `plugins/model-insights/src/setup.js`)
- Snapshot Store → Metadata Loader: loads metadata (evidence: `plugins/model-insights/src/runtime/snapshot-store.js`)
- Snapshot Store → Model Catalog: builds catalog (evidence: `plugins/model-insights/src/runtime/snapshot-store.js`)
- Snapshot Store → Registry Normalizer: normalizes registry (evidence: `plugins/model-insights/src/runtime/snapshot-store.js`)
- Metadata Loader → Metadata Validation: validates config (evidence: `plugins/model-insights/src/config/loader.js`)
- Model Catalog → Metadata Validation: normalizes metadata (evidence: `plugins/model-insights/src/insights/catalog.js`)
- Registry Normalizer → Pricing Insights: uses pricing (evidence: `plugins/model-insights/src/runtime/normalizer.js`)
- Registry Normalizer → Variant Runtime: uses variants (evidence: `plugins/model-insights/src/runtime/normalizer.js`)
- OpenCode User → Insights Tool: queries models (evidence: `README.md`)
- Insights Tool → Tool Actions: dispatches actions (evidence: `plugins/model-insights/src/tools/model-insights/index.js`)
- Tool Actions → Model Catalog: queries catalog (evidence: `plugins/model-insights/src/tools/model-insights/handlers/variants.js`)
- Tool Actions → Result Columns: selects columns (evidence: `plugins/model-insights/src/tools/model-insights/handlers/variants.js`)
- Tool Actions → Tool Rendering: renders results (evidence: `plugins/model-insights/src/tools/model-insights/handlers/variants.js`)
- Insights Tool → Tool Rendering: renders status (evidence: `plugins/model-insights/src/tools/model-insights/index.js`)
- OpenCode Runtime → Status Plugin Setup: loads plugin (evidence: `README.md`)
- Status Plugin Setup → Module Registry: loads modules (evidence: `plugins/c4f-status/src/setup.js`)
- Module Registry → Update Check: runs module (evidence: `plugins/c4f-status/src/modules/registry.js`)
- Update Check → Repository Probe: probes repositories (evidence: `plugins/c4f-status/src/modules/check-for-update/index.js`)
- Update Check → Advisory Messages: builds advisories (evidence: `plugins/c4f-status/src/modules/check-for-update/index.js`)
- OpenCode User → Update Workflow Skill: runs update workflow (evidence: `README.md`)
