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 agentmods add instructions/hyfdev/moonbit-agent-skills/agents-mdgit clone --depth 1 https://github.com/hyfdev/moonbit-agent-skillsWhat 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 | $0.02047 | $0.02047 |
| Opus 5 | $0.01024 | $0.01024 |
| Sonnet 5 | $0.00409 | $0.00409 |
| Haiku 4.5 | $0.00205 | $0.00205 |
Grade A, and why
moonbit-agent-skills AGENTS.md 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 3d 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 — 51 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Working in this repository (agent instructions)
This repository publishes two MoonBit product skills (skills/moonbit-language, skills/moonbit-toolchain) plus a repository-maintenance skill (skills/moonbit-agent-skills-maintainer). The core promise is: every claim is verified against a pinned MoonBit toolchain, every upstream release item has an explicit decision and a discoverable product route, every official language topic is routed or explicitly outside the product boundary, and all three contracts are machine-checked. When editing here, that promise is the thing you must not break.
Rules
- Repository tooling is TypeScript. Repository-owned executable tooling, validators, generators, eval runners, and tests must be TypeScript run directly by Node.js 24. Do not add Python or shell implementations. Shell is allowed only for documented command examples and CI
runblocks that invoke external tools. - No unverified content. A fact enters a skill only with a runnable proof: an
mbt checkblock in a.mbt.mdreference (executed bytooling/run_checked_docs.ts), a fixture underverification/fixtures/(executed bytooling/run_fixtures.ts), or a command-manifest entry (executed bytooling/verify_commands.ts). If you cannot verify it, label itdocumented(with source URL) or leave it out. - One owner per fact. Language semantics belong to moonbit-language; project operation belongs to moonbit-toolchain. Cross-links are one line; never copy explanations across skills (
tooling/check_duplication.tsenforces this). - Always follow the official latest version. The repository's single authoritative state is the exact current
latestchannel published athttps://cli.moonbitlang.com/version.json, with both documentation surfaces pinned to the currentmoonbitlang/moonbit-docsmaincommit. Never hold the skills on an older compiler while waiting for a monthly website article. Never hand-editmoon,moonc, ormoonrunversion strings: re-pin withvp run snapshot-toolchain --date YYYY-MM-DD, regenerate both language and toolchain surfaces from current docs, re-run all verification, re-stamp fixtures (vp run run-fixtures --stamp --date ...), and update skill frontmatter to match.tooling/check_versions.tschecks internal consistency andtooling/verify_latest_upstream.tsmakes CI fail as soon as any official latest source moves. - Proposals are not features. Anything sourced from moonbit-evolution or a release-note "planned" section must be labeled proposal, never shown as current syntax.
- Skill descriptions are an interface. If you touch a frontmatter
description, re-run the activation eval (evals/activation/run_activation.ts) or state explicitly that routing is unrevalidated. - Each installable skill has per-client activation surfaces — keep all of them in sync. A product skill ships three: the frontmatter
description(open-spec catalog, all clients),user-invocable: false(Claude Code extension, hides the manual/entry), andagents/openai.yaml(Codex: display name, short description, default prompt,allow_implicit_invocation: true). When renaming a product skill, changing its scope/description, or adding a new product skill, update the Codex sidecar in the same change (tooling/validate_skills.tsenforces its presence). - Release articles are supplemental, not a version gate. For every MoonBit website release article that exists, use the internal
moonbit-agent-skills-maintainerworkflow to generateverification/releases/<release>/source.jsonfrom the pinnedmoonbitlang/websiteMarkdown and close every source ID incoverage.json. Never hand-author or filter that inventory. A compiler or toolchain version may ship before its website article; in that case, update immediately from the official latest toolchain, full current language surface, upstream docs, and executable probes.tooling/verify_release_sources.tschecks published article inventories andtooling/check_release_coverage.tsblocks missing, duplicate, unsupported, or unproved decisions. Thecurrentcoverage status means the newest published website article, not the product version. Every actionable decision in that article also needs adiscoverabilityroute whose reference path and exact search terms occur together on one line in the owning skill'sFeature index. - Baseline completeness is separate from release completeness.
verification/language-surface/source.jsonis mechanically generated from the pinnedmoonbitlang/moonbit-docslanguage tree by recursively following root and nested toctrees, pinned glob expansions,{include}pages, and H2-H4 headings. Every item includes a section-body fingerprint. Close every source ID exactly once in schema-v2coverage.jsonasroutedorout-of-scope, record the reviewed fingerprint, and put every routed official topic name in its target reference; never addpending, a hand-written page whitelist, or a broad route that claims content the reference does not contain. Official docs discover topics but do not verify semantics: every routed fact still needs checked documentation, a fixture, or an explicitDocumented, not executedsource. Run both language-surface checks for language-scope or documentation-pin changes. - Toolchain docs are a separate closed surface.
verification/toolchain-surface/source.jsonmechanically inventories every Markdown document belownext/toolchain/at the pinned docs commit and fingerprints every H1-H4 section body. Close each source ID exactly once incoverage.json, recording its current fingerprint and either a product route or an explicit out-of-scope reason. A changed body, new heading, or new file must fail CI until reviewed. Official docs discover claims; executable command-manifest evidence or an explicitDocumented, not executedlabel is still required before a fact enters the skill. - Deprecations prove both sides. Enable warnings that are off by default, add
--deny-warn, prove the old form is caught, and prove the replacement passes under the same warning settings. Do not trust an upstream green test until you inspect its warning configuration; the official local-type example suppresses the warning that marks local type definitions deprecated at the pin. - Repository-maintenance skills stay internal. Set
metadata.internal: trueso default listing, interactive selection, and installs without an explicit skill selector omit them. Do not use--skill "*"in public install instructions because an explicit selector opts into internal skills. The two product skills are the only public install surface. - Eval breadth comes before repetition. Count distinct user cases, not condition cells. A case may have at most two materially different user-facing angles, and each angle may run at most twice. Start every content case with one paired
noneversusoursrun on Claude Code'ssonnetalias; on this repository's verified local setup the assistant execution model must bedeepseek-v4-pro, notdeepseek-v4-flash. Repeat the DeepSeek pair only whenoursfails or the pair is unstable. Use Kimi/K3 only whenoursstill fails on the second DeepSeek run, and report that fallback separately rather than pooling providers. Do not automatically cross-product angles, repetitions, and clients. - Every new or updated eval report has a simple user-facing result. Put it before the technical analysis and keep it even when a detailed report follows. Give every distinct task its own row named after the concrete work the agent had to complete, state the total number of distinct tasks, show percentages for the two conditions side by side, identify the observed model, and give the primary finding in one sentence. Name the comparison exactly (
No skills,Historical skill, or the specific removed route), never justBaseline. Always show final task success, including ties and regressions; skill activation and reference reads are secondary evidence and must not replace it. Keep exact counts, internal task IDs, claim IDs, condition names, repetitions, cells, graders, token breakdowns, and statistical analysis in the technical section. Never call cells or repetitions tasks. - A skill directory change needs a new installed identity. Increment that skill's
metadata.skill-version, setmetadata.updated-dateto the change date, and keep the public README status synchronized. Use SemVer: patch for corrections or metadata, minor for compatible new coverage, and major for an incompatible rename or scope change.validate-skillschecks the metadata format and README projection.
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.
- 3d ago First seen · 51 lines · 2,047 tokens per session scan A 897e6a955112
moonbit-agent-skills AGENTS.md is an instructions file published in the GitHub repository hyfdev/moonbit-agent-skills (6 stars, last pushed 26d ago), licensed MIT. It adds 2,047 tokens to every session, about $0.0102 per session on Opus 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.
Other instructions, from other repositories
intelligent-terminal rust.instructions.md
Concise Rust coding conventions for this repository.
Browser4 CLAUDE.md
Instructions for platonai/Browser4, covering browser4 — project context for claude, architecture, key dispatch chain (cli → browser), batch commands and e2e test structure.
cryptoexchange-net
Use CryptoExchange.Net abstractions when generating C#/.NET code that needs to work across MULTIPLE cryptocurrency exchanges (Binance + Bybit + OKX + Kraken + Coinbase + ...) — for arbitrage, best-execution routing, multi-exchange portfolio dashboards, exchange-agnostic trading bots, or comparison tools. Triggers on…
codemark GEMINI.md
Instructions for DanielCardonaRojas/codemark, covering development workflow and debugging with the tui logging system.
django-starter-template AGENTS.md
Instructions for wilfredinni/django-starter-template, covering agents.md, commands, lint & typecheck, architecture and testing.
unity-code-style-guide AGENTS.md
Instructions for krogh-jacobsen/unity-code-style-guide, covering agents.md — unity 6 c, project setup — edit this block, never do these — they corrupt the project, deprecated in unity 6 and if you read nothing else.