Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add eduardohki/code-agent-plugins --skill gleam-idiomsgit clone --depth 1 https://github.com/eduardohki/code-agent-pluginsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/eduardohki/code-agent-plugins/gleam-idioms)<a href="https://agentmods.dev/skills/eduardohki/code-agent-plugins/gleam-idioms"><img src="https://agentmods.dev/badge/skills/eduardohki/code-agent-plugins/gleam-idioms/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/eduardohki/code-agent-plugins/gleam-idioms"><img src="https://agentmods.dev/badge/skills/eduardohki/code-agent-plugins/gleam-idioms.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00133 | $0.01053 |
| Opus 5.5 | $0.00053 | $0.00421 |
| Sonnet 5.5 | $0.00027 | $0.00211 |
| Haiku 4.5 | $0.00013 | $0.00105 |
Grade A, and why
gleam-idioms scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 85 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Gleam Idioms: Conventions, Patterns & Anti-patterns
Distilled from the official guide (https://gleam.run/documentation/conventions-patterns-and-anti-patterns) so idiomatic Gleam norms are on hand without re-deriving them from scratch.
Scope is that guide: naming, module and namespace layout, error modeling, and the
listed patterns and anti-patterns. Syntax-level idiom (use expressions, |>
pipelines, labelled arguments) is out of scope and not covered here.
How to use
When writing or reviewing Gleam, scan the quick-reference tables below and apply the rule directly when the one-line gloss is enough. When a decision needs the code example or the rationale (modeling errors, sans-io/builder shape, namespace layout, why to avoid a catch-all), load the matching reference file before acting:
references/conventions.md: the 10 style/structure conventions.references/patterns.md: 6 design patterns worth reaching for.references/anti-patterns.md: 10 things to avoid, each with the fix.
Do not load all three by reflex; open the one that covers the decision at hand.
Conventions (quick reference)
| Convention | Rule |
|---|---|
| Qualified imports | Import modules; call module.fn, not bare fn. |
| Annotate functions | Type-annotate every arg and return, public and private. |
| Result for failure | Fallible functions return Result; Nil error when no info needed. |
| Singular module names | user, not users, in every path segment. |
| Acronyms as words | Json/Http, not JSON/HTTP. |
x_to_y conversions |
Drop the type prefix when the module is named after the type. |
try_ prefix |
Name the Result-handling variant try_map, etc. |
| Use core libraries | Depend on official gleam_* packages; don't reimplement. |
| Config in gleam.toml | Dev-tool config under tools.$TOOL keys, not stray files. |
| Source directories | src/ (deps + src only), test/ and dev/ (anywhere). |
Patterns (quick reference)
| Pattern | Use it to |
|---|---|
| Descriptive errors | Give error variants domain names + fields (incl. cause). |
| Comment liberally | Explain what and why. |
| Make invalid states impossible | Model rules as variants so bad data can't be built. |
| Replace bools with custom types | Named states document intent and leave room to grow. |
| Sans-io | Split clients into request-builder + response-parser; no I/O. |
| Builder | new(required) then optional modifier fns returning copies. |
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 85 lines · 0 tokens per session scan A 0b3a71502125
gleam-idioms is a skill published in the GitHub repository eduardohki/code-agent-plugins (2 stars, last pushed 2mo ago), licensed MIT. It adds 133 tokens to every session and 1,053 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
gleam-idioms compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| gleam-idiomseduardohki/code-agent-plugins | Skill | 2 | 2mo ago | MIT | A | 133 | Claude Code |
| omh-rustrlaope/oh-my-hermes | Skill | 5.2k | today | MIT | A | 74 | Claude Code, Codex |
| erlang-otp-behaviorsbenchflow-ai/skillsbench | Skill | 1.9k | 3d ago | Apache-2.0 | A | 52 | Claude Code, Codex |
| axiom-concurrencyCharlesWiltgen/Axiom | Skill | 1.3k | 2d ago | MIT | A | 49 | Claude Code |
| tddcodewithmukesh/dotnet-claude-kit | Skill | 807 | 3d ago | MIT | A | 81 | Claude Code |
| splitting-oversized-modulesPostHog/posthog | Skill | 41k | today | none | A | 197 | Claude Code, Codex |
| precisemicroprediction/precise | Skill | 338 | 6d ago | MIT | A | 76 | Claude Code, Codex |