Skip to content
Back to skills

Language Choice

ASecurity

Pick and state the implementation language in a coder spec per the language-policy ADR. Use when writing or amending a coder task spec, or when a goal might involve a parser, daemon or port.

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 5, 2026
ai-agentspythonrustgosecurity

Works with

  • cli

Security analysis

A100/100

Scanned November 5, 2026

npx -y skills add volekerb/hivemill --skill language-choice --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Language Choice?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Language Choice
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/volekerb-language-choice/badge)](https://www.skillsdirectory.com/skills/volekerb-language-choice)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: language-choice
description: Pick and state the implementation language in a coder spec per the language-policy ADR. Use when writing or amending a coder task spec, or when a goal might involve a parser, daemon or port.
---

# Language choice

Source of truth: docs/adr/0001-language-policy.md. Read its component table before writing the spec.

Follow these steps in order.

1. Name the language in the spec's first lines: "Language: Go" or "Language: Python".
2. Go is the default for new parsers, long-running daemons and ports of hot or security-critical code. Go task FILES go under `go/`.
3. Python stays for the CLI (`bin/factory`), tick, `factory serve`, scout, CI scripts, tests and glue. A rewrite needs a measured reason in the ADR, not a preference.
4. Rust only with an exception ADR approved by the owner. If the work seems to need Rust, stop and ask your lead; do not write a Rust spec.
5. A Go task's acceptance includes: the CI `go` job green, `go test -race -count=1 ./...` from `go/` -> OK, `gofmt -l .` -> empty, `go/go.mod` has no `require`, and for a port a differential test (zero loosened, zero tightened).
6. A task needing a new Go dependency is owner-gated: ask your lead first.

Stop and ask your lead when the ADR does not cover the component.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.