plugin that teaches agents how to write good go
  • Python 90.4%
  • Shell 9.6%
Find a file
2026-07-31 15:24:36 -04:00
.claude-plugin added: new persistence boundary skill, updates to other docs that touch on that 2026-07-26 12:51:50 -04:00
.codex-plugin added: new persistence boundary skill, updates to other docs that touch on that 2026-07-26 12:51:50 -04:00
skills added: tui disclaimer for cli skills 2026-07-31 15:24:36 -04:00
.gitignore added: 'routing' and 'store' subsystems 2026-04-17 00:23:38 -04:00
CONTRIBUTING.md added: new persistence boundary skill, updates to other docs that touch on that 2026-07-26 12:51:50 -04:00
install_opencode.sh changed: extracted marketplace functionality and normalized plugin name 2026-07-17 17:51:38 -04:00
PRINCIPLES.md added: new persistence boundary skill, updates to other docs that touch on that 2026-07-26 12:51:50 -04:00
README.md added: new persistence boundary skill, updates to other docs that touch on that 2026-07-26 12:51:50 -04:00

Pollinator Go

Pollinator Go is a plugin for agentic coding harnesses containing Studio Pollinator's opinionated Go engineering guidance.

The plugin uses progressive disclosure so ordinary Go work can draw on focused workflows and domain guidance without loading the entire knowledge base. Skill metadata selects relevant work, SKILL.md directs it, and references provide details only when needed.

Supported harnesses

The knowledge base is a set of harness-agnostic skills. Each supported harness discovers them through its own install mechanism and, when configured, routes to them through its own guidance file.

Harness Skills installed via Guidance file
Claude Code .claude-plugin/plugin.json manifest CLAUDE.md
Codex .codex-plugin/plugin.json manifest AGENTS.md
OpenCode install_opencode.sh AGENTS.md

Support for additional harnesses is added by contributing another install mechanism and a configurator branch; see CONTRIBUTING.md. Everything under skills/ is shared across harnesses unchanged.

Install for OpenCode

OpenCode has no plugin manifest, so it discovers skills by directory. Clone this repository and run the install script to copy the skills into OpenCode's user skill directory:

git clone git@git.studiopollinator.com:pollinator/go-agent-skills
cd go-agent-skills
./install_opencode.sh

Start a new OpenCode session and the skills are available in every project. Re-run ./install_opencode.sh after git pull to update, or ./install_opencode.sh --uninstall to remove them. Then enable ambient routing as described below.

Repository structure

.claude-plugin/
  plugin.json
.codex-plugin/
  plugin.json
install_opencode.sh
PRINCIPLES.md
skills/
  configure-pollinator-style/
    SKILL.md
    agents/openai.yaml
    scripts/
  <skill>/
    SKILL.md
    agents/openai.yaml
    references/

Every harness draws on the same skills under skills/: Claude Code and Codex discover them through their manifests, and OpenCode installs copies with install_opencode.sh. Workflow skills lead outcomes that cross domains; domain skills provide local implementation guidance. PRINCIPLES.md captures cross-cutting values. Per-skill agents/openai.yaml files carry Codex interface metadata and are ignored by other harnesses.

Skill catalog

Skill Purpose
design-go-persistence Service-owned store contracts, durable invariants, atomic effects, retry semantics, and their proof
work-with-go-services Domain behavior, service construction, errors, permissions, service-owned stores, bootstrap, and lifecycle hooks
work-with-go-databases SQL adapters, migrations, queries, scans, transactions, durable constraints, and persistence tests
work-with-go-http-apis JSON HTTP contracts, DTOs, handlers, error mapping, API tests, keys, and CORS
compose-go-http-routes Route-tree composition, package-handler mounting, and middleware boundaries
work-with-go-servers Production dependency composition, mounting, listening, cleanup, and graceful shutdown
work-with-go-clis Command trees, config wiring, named environments, version metadata, and API clients
work-with-go-config Authored config, runtime resolution, initialization, secrets, paths, and config-backed resources
work-with-go-web-uis Server-rendered HTML, templates, view models, HTMX, forms, static assets, and web tests
work-with-consent-users Consent integration, local accounts, account resolution, CSRF, local testing, and deployment
design-go-public-packages Deliberate pkg/ APIs, exported compatibility surfaces, package docs, and external reuse
work-with-go-makefiles Go project Makefile targets, workflows, variables, cleanup, and help output
write-git-commit-messages Git commit subjects and proportional bodies in Studio Pollinator's house style

configure-pollinator-style manages persistent ambient routing in a harness's guidance file.

report-pollinator-learning turns a preference discovered during project work into a concise message that can be pasted into a Pollinator Go maintenance conversation. ingest-pollinator-learning evaluates that report against the current guidance and principles, resolves conflicts with the maintainer, and applies only an explicitly approved update.

Configure ambient routing

After installing and enabling the plugin, configure the current repository by asking your agent:

Configure this repository for Pollinator Style.

The setup skill runs for the harness you are using, discovers that harness's active guidance file, preserves its existing content, and manages one marked Pollinator Style block. The block tells the agent to inspect the code, select every materially affected skill from its description, load only relevant references, and reconsider selection as scope emerges.

Repository scope is the default. For global behavior, ask explicitly:

Configure Pollinator Style for my global agent guidance.

To remove the managed block while preserving other instructions:

Remove Pollinator Style routing from this repository.

The configurator reports the harness, the guidance file, whether it changed, the resulting action, and a short explanation of implicit routing. Start a new session in that harness whenever the guidance file changes.

Contributing

Add knowledge to the narrowest skill that owns the concern. Use workflow skills for deliberate cross-domain outcomes and domain skills for local implementation guidance.

Use PRINCIPLES.md for concise values that recur across multiple domains, not for individual rules or a history of proposals.

See CONTRIBUTING.md for skill structure, writing conventions, and validation requirements.