goldmark AGENTS.md

Project instructions for yuin/goldmark, a Go library that reads and writes Markdown. They cover testing, performance checks, coding style, and parts of the CommonMark Markdown standard.

In plain words
What is it for?
Use them when editing goldmark, running its tests or benchmarks, checking code quality, or handling Markdown parsing and formatting.
Why use it?
They tell a coding agent which commands to run and which project conventions to follow. This helps catch errors and avoid performance regressions while changing the code.

Instructions file for CodexOpenCode

Install

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.

agentmods
npx agentmods add instructions/yuin/goldmark/agents-md
Clone the repo
git clone --depth 1 https://github.com/yuin/goldmark

Made for: Codex, OpenCode.

Per session 492 This file is loaded in full into every session.
When invoked 492 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00492 $0.00492
Opus 5 $0.00246 $0.00246
Sonnet 5 $0.00098 $0.00098
Haiku 4.5 $0.00049 $0.00049

Measured yesterday against content hash 3913ef5c91d2, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

goldmark 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 yesterday.

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.

AGENTS.md · 30 lines

How it starts

The opening of the file, as written. The whole thing — 30 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Instructions for agents

Testing instructions

  • use make test to run tests
  • use make lint to run linters

Benchmark instructions

  • use make bench to run benchmarks
    • this will output cpu profiler data to cpu.pprof file

Coding conventions

  • Make sure to pass make lint
  • Use util.StringToReadOnlyBytes and util.ReadOnlyBytesToString when converting between readonly strings and readonly byte slices to avoid unnecessary allocations.
  • Before making changes, you must run make bench. After making changes, you should run make bench again to compare the performance before and after your changes.
    • If your changes cause a significant performance regression, you should analyze cpu.pprof to identify the bottlenecks and optimize your code accordingly.

Key point of CommonMark spec

  • In most cases, punctuation characters can be escaped with a backslash (\) to prevent them from being interpreted as Markdown syntax. For example, \* will render as * instead of starting an emphasis.

  • Spec defines sets of character categories. Use util package to check if a character belongs to a specific category. For example, util.IsPunct can be used to check if a character is a punctuation character. DO NOT use standard library functions like unicode.IsPunct as they may not cover all cases defined in the CommonMark spec.

  • Most of inline elements (like emphasis, links, etc.) can exist within multiple lines. And they can be nested. So inline elements probably have multiple divided segments:

    > [lin
    > nk](https://example.com)
    

    In this case, the link element has two divided segments: lin and nk. When parsing, you should keep track of these segments and combine them when necessary. This kind of elements should have text.MultiLineValue instead of text.SingleLineValue.

  • Paragraph rendering can be changed by parent elements. For example, a paragraph inside a tight list item should not have <p> tags, while a paragraph inside a block quote should have <p> tags.

  • Tabs can be 1,2,3,4 spaces or raw tab character, depending on its position. When parsing block elements, you should aware of this and calculate the correct indentation level.

Read the full file on GitHub · 30 lines

Changes

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.

  1. yesterday First seen · 30 lines · 492 tokens per session scan A 3913ef5c91d2

Subscribe to this mod's changes

goldmark AGENTS.md is an instructions file published in the GitHub repository yuin/goldmark (4,979 stars, last pushed 2d ago), licensed MIT. It adds 492 tokens to every session, about $0.0025 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-30.