Go Skills Router logo

Go Skills Router

Community
eduardo-sl
go-skills-router

Index and routing table for this repository's Go skills: maps a task to the skill that owns it, names the secondary skills worth loading alongside, and draws the boundary between skills whose triggers overlap. Use when it is unclear which Go skill applies, when a task spans several concerns at once, when two skills seem to cover the same ground, or when the user asks what Go skills are available or wants a project configured to load them. Trigger examples: "which skill should I use", "what Go skills do you have", "is this concurrency or performance", "set up the Go skills for this repo". Not for: a task that already maps cleanly to one skill — load that skill directly.

Overview

Publishereduardo-sl
Repositorygo-agent-skills
Skill namego-skills-router
Stars
86
Forks
11
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by eduardo-sl on GitHub. Read the source before you install it.

Installation

Install the Go Skills Router AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/eduardo-sl/go-agent-skills/tree/main/skills/(workflow)/go-skills-router
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.

Use it in TypingMind

Enable Go Skills Router in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Go Skills Router on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Go Skills Router is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Go Skills Router

This repository publishes 35 Go skills. Their triggers necessarily overlap — "this is slow" could be performance, concurrency, database, or a leak. Use the tables below to pick the owner, then load the secondary skills in the same pass rather than discovering them one at a time.

This is an index. Every skill it names stands alone and can be read without this one.

Routing Table

TaskPrimaryAlso load
Format code, order imports, declare and initialisego-coding-standardsgo-documentation
Name a package, type, function, receiver or errorgo-naminggo-coding-standards
Review a diff or a PRgo-code-reviewthe skill owning the domain under review
Return, wrap, or inspect errorsgo-error-handlinggo-defensive-coding for nil-heavy code
Pass deadlines, cancel workgo-contextgo-concurrency-review if goroutines are involved
Adopt newer Go featuresgo-modernizego-ci to raise the toolchain in CI
Slices, maps, sets, preallocationgo-data-structuresgo-performance-review
Write godoc, examples, deprecations, README, CHANGELOGgo-documentationgo-coding-standards
Guard against panics and silent corruptiongo-defensive-codinggo-error-handling
Review package layout and dependency directiongo-architecture-reviewgo-interface-design
Start a new project or servicego-project-layoutgo-dependency-injection, go-ci
Design an interface or a typego-interface-designgo-design-patterns
Apply a known patterngo-design-patternsgo-interface-design
Wire dependencies, remove globalsgo-dependency-injectiongo-project-layout
Build an HTTP APIgo-api-designgo-openapi, go-observability
Work from an OpenAPI specgo-openapigo-api-design, go-test-quality
Build a GraphQL APIgo-graphqlgo-database, go-api-design
Build a gRPC servicego-grpcgo-test-quality, go-observability
Build a CLIgo-cligo-project-layout, go-binary-size
Query a database, manage transactionsgo-databasego-error-handling, go-security-audit
Write goroutines, channels, syncgo-concurrency-reviewgo-context, go-test-quality
Audit for vulnerabilitiesgo-security-auditgo-dependency-audit, go-defensive-coding
Reduce allocations, optimise a hot pathgo-performance-reviewgo-data-structures
Shrink a binary or imagego-binary-sizego-ci
Cut a release: GoReleaser, signing, SBOMs, provenancego-build-releasego-ci, go-binary-size
Add logs, metrics, tracesgo-observabilitygo-context
Debug a panic, leak, or deadlockgo-troubleshootinggo-concurrency-review, go-performance-review
Write or improve testsgo-test-qualitygo-test-table-driven
Structure a test matrixgo-test-table-drivengo-test-quality
Audit go.mod, check CVEsgo-dependency-auditgo-security-audit
Set up CI, linting, coverage gatesgo-cigo-dependency-audit
Restructure existing code safelygo-refactoringgo-semantic-tools, plus the skill owning the target shape
Find callers, implementers, renamego-semantic-toolsgo-refactoring
Write a commit messagegit-commit—

Boundaries Between Overlapping Skills

Load the one that owns the question being asked, not the one that matches a keyword in the code.

"It is slow."

  • go-performance-review — the code allocates or copies too much. Owns benchmarks, pprof, and optimisation patterns.
  • go-concurrency-review — the code contends on a lock or serialises work that could run in parallel.
  • go-database — the query is the problem: missing index, N+1, pool exhaustion.
  • go-troubleshooting — you do not yet know which of the three it is. Start here to find out, then hand off.

"It crashed."

  • go-troubleshooting — a panic, deadlock, or leak already happened. Diagnosis, profiles, delve.
  • go-defensive-coding — prevention. Nil traps, aliasing, overflow, the constructs that make the next crash impossible.
  • go-concurrency-review — a data race or a goroutine lifecycle bug.

"Is this secure?"

  • go-security-audit — external threats: injection, auth, secrets, TLS.
  • go-dependency-audit — known CVEs in modules you import.
  • go-defensive-coding — internal correctness bugs that are not attacks.

"How should this be structured?"

  • go-architecture-review — the shape of an existing codebase.
  • go-project-layout — the shape of a new one.
  • go-interface-design — the shape of one type or contract.
  • go-refactoring — the process of getting from the current shape to the target shape. Load it alongside whichever skill above owns that target.

"How do I expose this?"

  • go-api-design — HTTP/REST handlers, routing, middleware, idempotency, health checks, shutdown.
  • go-openapi — the contract is a spec and code is generated from it.
  • go-graphql — the client picks the shape of the response.
  • go-grpc — protobuf contract, interceptors, streaming.

"Tests."

  • go-test-quality — what to test, how to isolate it, what to mock, synctest, goleak, benchmarks.
  • go-test-table-driven — the table pattern specifically: when it helps, how to shape the case struct, when to stop using it.

"Style."

  • go-coding-standards — the rules the code should follow.
  • go-naming — what things are called: packages, types, functions, receivers, errors.
  • go-code-review — applying rules to someone else's change, with severity.
  • go-modernize — rules that changed because the language moved.
  • go-ci — making a machine enforce them.

"Ship it."

  • go-ci — the pipeline that gates every change: build, lint, test, scan.
  • go-build-release — turning a tag into signed, reproducible artifacts.
  • go-binary-size — making those artifacts smaller.

Which Tool Answers the Question

QuestionToolSkill
Where is this symbol used / implemented, in this build?gopls (MCP server or CLI)go-semantic-tools
What is the API of a dependency at the version we use?go doc pkg Symbol, gopls go_package_apigo-semantic-tools
What does another version of a module look like?go doc pkg@v1.2.3 (Go 1.27+), go list -m -versionsgo-dependency-audit
Which known vulnerabilities can our code actually reach?govulncheck ./...go-dependency-audit
Which packages import which?go list -deps, go mod graph, go mod whygo-semantic-tools

Multi-Concern Tasks

A real task usually crosses three skills. Load them together at the start rather than sequentially.

RequestLoad
"Build a gRPC service with tests"go-grpc + go-test-quality + go-error-handling
"This endpoint is slow under load"go-troubleshooting + go-performance-review + go-database
"Harden this service before launch"go-security-audit + go-dependency-audit + go-defensive-coding + go-ci
"Split this monolith"go-architecture-review + go-refactoring + go-semantic-tools
"Scaffold a new CLI"go-project-layout + go-cli + go-ci + go-binary-size
"Migrate this to the current Go release"go-modernize + go-test-quality + go-ci

Configure a Project to Use These Skills

Asked to make a project load these skills automatically:

  1. Find the agent-config files the project already has: CLAUDE.md, AGENTS.md, GEMINI.md, .github/copilot-instructions.md, .cursor/rules/.

  2. Skip any file that already references go-skills-router.

  3. Propose this block for each, show the diff, and write only after the developer agrees:

    markdown
    ## Go skills
    
    Before any Go coding, review, debugging or setup task, consult the
    `go-skills-router` skill and load the skills it names for the task.
  4. If the team wants some skills on every task regardless of routing (for example go-error-handling and go-security-audit), list them under the block as "Always load", with the reason.

Full Catalogue

CategorySkills
Code Qualitygo-coding-standards go-naming go-code-review go-error-handling go-context go-modernize go-data-structures go-documentation
Architecturego-architecture-review go-project-layout go-interface-design go-api-design go-openapi go-graphql go-grpc go-design-patterns go-dependency-injection go-cli
Datago-database
Safety & Performancego-concurrency-review go-security-audit go-defensive-coding go-performance-review go-observability go-troubleshooting
Testinggo-test-quality go-test-table-driven
Workflowgo-dependency-audit go-ci go-refactoring go-semantic-tools go-binary-size go-build-release git-commit go-skills-router

Verification Checklist

  1. The primary skill matches the question being asked, not a keyword in the code
  2. Secondary skills were loaded in the same pass, not discovered one at a time
  3. For a diagnosis task, go-troubleshooting ran before an optimisation skill
  4. For a restructuring task, go-refactoring was paired with the skill owning the target shape
  5. If exactly one skill applies, it was loaded directly without routing
  6. Project configuration written only after the developer approved the diff

Frequently asked questions

What does the Go Skills Router AI skill do?

Index and routing table for this repository's Go skills: maps a task to the skill that owns it, names the secondary skills worth loading alongside, and draws the boundary between skills whose triggers overlap. Use when it is unclear which Go skill applies, when a task spans several concerns at once, when two skills seem to cover the same ground, or when the user asks what Go skills are available or wants a project configured to load them. Trigger examples: "which skill should I use", "what Go skills do you have", "is this concurrency or performance", "set up the Go skills for this repo". No...

Why use Go Skills Router on TypingMind?

Because you install it once and use it with any model. Go Skills Router is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Go Skills Router in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/eduardo-sl/go-agent-skills/tree/main/skills/(workflow)/go-skills-router. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Go Skills Router?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Go Skills Router?

As many as you like. As long as a model supports skills, you can use Go Skills Router with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Go Skills Router AI skill free?

Yes. It is published on GitHub by eduardo-sl under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇