Coding Agents¶
The most common way a library gets integrated in 2026 is that a coding agent writes the integration. That path has a specific failure mode here, and this page is about closing it.
An agent working from pre-training and a web search will confidently produce an OpenAI
clone: client.chat.completions.create(...), a model= keyword,
response_format={"type": "json_object"}, because that is what almost every other library
in this space looks like. AnyInfer is not that, so the most predictable guess is also the
most likely to be wrong. Worse, the wrong version usually runs: a hand-written retry loop
around a call that already retries produces four attempts where you asked for two, and
nothing fails loudly enough to notice.
Three artifacts exist to correct that, and every one of them is derived from something canonical rather than written twice.
anyinfer agents-md — Instructions for Your Repository¶
anyinfer agents-md >> AGENTS.md
anyinfer agents-md --format claude > CLAUDE.md
anyinfer agents-md --format copilot > .github/copilot-instructions.md
A short fragment: the call shape, the traps worth pre-empting, and the list of things not to hand-roll. It is rendered from live introspection: the provider counts come from the registry, the extras from installed distribution metadata, and the version from the package. A fragment generated by one release describes that release and stamps which one it was, so a stale copy is noticeable rather than merely wrong.
Point it at your configuration and it also names what you configured, so an agent working in that repository writes targets that exist there:
anyinfer agents-md --config anyinfer.json >> AGENTS.md
The command prints and writes nothing. Installing instructions into somebody's repository uninvited is exactly the kind of helpfulness that gets a tool distrusted; the redirect is yours to make, and it is also your review step.
llms.txt — the Documentation, Machine-Readable¶
Built with the site and published at its root:
- https://anyinfer.dev/llms.txt: the index: a one-line summary of every page, grouped
the way the navigation is. Each section heading links a full-text bundle of just that
section (
llms/concepts.txt,llms/providers.txt, …), each sized to fit one context window. - https://anyinfer.dev/llms-full.txt: the full text of every page in one file, navigation chrome stripped, including the generated API reference. It has outgrown a single context window; fetch a section bundle unless you truly want the whole corpus.
All of them are generated from the navigation and the built pages, so a page added to the docs appears without a hand edit and a deleted one cannot linger.
The Integration Skill¶
docs/agents/INTEGRATION.md
is the canonical procedure: establish the version, read what the application already
configured, write the call the way the Python SDK guide does, do not
re-implement the core, interpret results accurately, prove it offline with
the test kit, then check the work. Three thin entry points in the
repository invoke it: .claude/skills/anyinfer-integration/,
.agents/skills/anyinfer-integration/, and
.github/prompts/anyinfer-integration.prompt.md.
To use it in your own project, copy the canonical file and whichever shim your tool reads:
mkdir -p docs/agents .claude/skills/anyinfer-integration
curl -o docs/agents/INTEGRATION.md \
https://raw.githubusercontent.com/anthturner/AnyInfer/main/docs/agents/INTEGRATION.md
curl -o .claude/skills/anyinfer-integration/SKILL.md \
https://raw.githubusercontent.com/anthturner/AnyInfer/main/.claude/skills/anyinfer-integration/SKILL.md
The library never writes into your .claude/, .agents/, or .github/ directory, and the
wheel carries no skill payload. Adjust the relative link in the shim to wherever you put the
procedure.
One Caveat¶
A generated fragment and a copied procedure describe the release they came from, so regenerate them when you upgrade:
anyinfer agents-md > /tmp/anyinfer-agents.md && diff /tmp/anyinfer-agents.md AGENTS.md
What does not go stale is the library itself. anyinfer providers, anyinfer verify, and
anyinfer run --dry-run answer from the installed code, which is why the procedure tells an
agent to run them rather than to trust anything it remembers, including this page.
Key Takeaways
- The predictable failure is an OpenAI clone that runs: hand-rolled retries around a call that already retries, and no loud failure to flag it.
anyinfer agents-mdrenders from live introspection and stamps its release; it prints only, so installing the fragment stays your decision and your review step.llms.txtandllms-full.txtare generated from the built site, so they cannot drift from the documentation.- The canonical procedure lives in
docs/agents/INTEGRATION.md; the.claude/,.agents/, and.github/entries are thin shims that invoke it.