Borrowing it
Nothing to install: this file belongs to maxgfr/conforme. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/maxgfr/conforme/main/.github/instructions/adapter-consistency.instructions.mdgit clone --depth 1 https://github.com/maxgfr/conformeWrote 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/instructions/maxgfr/conforme/adapter-consistency)<a href="https://agentmods.dev/instructions/maxgfr/conforme/adapter-consistency"><img src="https://agentmods.dev/badge/instructions/maxgfr/conforme/adapter-consistency/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/instructions/maxgfr/conforme/adapter-consistency"><img src="https://agentmods.dev/badge/instructions/maxgfr/conforme/adapter-consistency.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.01556 | $0.01556 |
| Opus 5.5 | $0.00622 | $0.00622 |
| Sonnet 5.5 | $0.00311 | $0.00311 |
| Haiku 4.5 | $0.00156 | $0.00156 |
Grade A, and why
conforme adapter-consistency.instructions.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 14d 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 — 30 lines — stays where its author put it; the contents beside it link to each section on GitHub.
- Every adapter change MUST be reflected in its
docs/providers/<tool>.md - Every MCP format change MUST update the tool's
ServerShape(or the Codex / Vibe TOML merge) AND its unit test - MCP keys and shapes per tool are the "MCP key mapping per tool" table in CLAUDE.md: update it with any MCP change
- When adding a new adapter, update ALL of: README.md tables, src/help_ai.rs, src/cli.rs tool count, CLAUDE.md architecture section
- Provider docs must list all official documentation URLs for the tool, back each fact with the vendor page, changelog or source it comes from, and carry a
Last verified onlineline (date, upstream version) thatverify-providersupdates - Test round-trips:
read()output fed intogenerate()should produce identical files - A JSON MCP entry shape is a
ServerShapeinsrc/mcp.rs(type values, URL key,envon remote, env-var syntax, layout, on/off toggle) with itsbuild,owned_keysandread; add or change a tool there rather than writing another builder, owned-key list or reader - Devin (formerly Windsurf): write
.devin/only;.windsurf/is read as a legacy location (Devin loads both) and conforme's old copies there are cleaned. Project MCP is.devin/mcp_config.json; never generate.windsurf/mcp.json - Never add a user-authored directory (e.g.
.github/prompts/) tomanaged_directories(): orphan cleanup deletes every file there that carries the directory's suffix and that conforme did not generate - Give each
ManagedDirthe exact suffix conforme writes there (ManagedDir::files(dir, ".agent.md")), and useManagedDir::subdirsfor skills directories, so files the tool accepts but conforme never writes (Kiro.jsonagents, dsh flat skills) survive a sync - An adapter must generate no files for an empty config and never a blank file (guarded by
test_no_adapter_writes_blank_files) - When an upstream tool is retired (as Amazon Q was), delete its adapter outright rather than keeping it behind a deprecation flag; the removal checklist is the mirror of the "adding a new adapter" one above
- Every MCP file is merged, never owned: any adapter that merges into a user-owned settings file (
.mcp.json,.cursor/mcp.json,.kiro/settings/mcp.json,.devin/mcp_config.json,opencode.json,.zed/settings.json,.gemini/settings.json,kilo.jsonc,.vscode/mcp.json,.github/mcp.json,.roo/mcp.json,.codex/config.toml,.vibe/config.toml,.agents/mcp_config.json) MUST implementis_shared_file()soremoveandmigratenever delete it wholesale, and its gitignore patterns must not match it - Merge JSON settings through
json_settings::server_settings_file(orload/merge_server_entries/render_with_removals), neverserde_json::from_str(..).unwrap_or_default(): those files are JSONC, a parse failure must refuse the write instead of replacing the user's file, and a source with no server leaves the file untouched - A setting a tool will not load as written (a
${VAR}it cannot resolve, a reserved name, a file it refuses) is reported byAiToolAdapter::warnings, whichsyncandmigrateprint - Cursor subagents:
.mdextension (not.mdc); notoolsfrontmatter field — tool access is inherited from the parent agent - Copilot skills:
.github/skills/<name>/SKILL.md(NOT.github/prompts/*.prompt.md— prompt files are a separate VS Code feature) - Any adapter whose
generate()writes skills, agents, or MCP MUST read them back inread(), or--from <tool>silently drops them - Skills and agents always carry a
description(description_or_name): Codex, Copilot, Gemini, OpenCode and Zoo Code skip one without it - A skill is its whole folder: every reader fills
NormalizedSkill::files(read_bundled_files) andskills::generate_skillswrites them besideSKILL.md(bundled_outputs), each tool's layout being aSkillShape; each generated skill folder holds the.conformemarker (SKILL_MARKER), and a folder that already held a hand-writtenSKILL.mdwithout it is never adopted; its skills directory is aManagedDir::subdirs, so the copies are kept in step (stale_bundled_files, and a marked folder whose skill left the source is deleted bystale_skill_folder_files, never in a directory the source reads) andverify-providers'skills_conformity.pypasses - Tools with their own tool vocabulary (Claude Code, Gemini CLI, Kiro, Mistral Vibe) get translated
toolslists (TOOL_EQUIVALENTS, MCP names respelled), never names copied verbatim from another host; amodelanother tool cannot use is left out (claude_model,gemini_model,opencode_model,kiro_model,copilot_model,cursor_model) - Skill and agent names go through
sanitize_name(kebab-case ASCII, at most 64 characters), rule file names throughrule_file_name, and MCP strings throughEnvRefStyleso${VAR}becomes each tool's own reference syntax - A tool that reads
AGENTS.mditself in a project returnstruefromreads_agents_md(project_root)(always for Codex, OpenCode, DeepSeek, Mistral Vibe, Kilo Code; Claude Code withoutCLAUDE.md; Gemini CLI whencontext.fileNamenames it) and reads it withmarkdown::read_native_agents_md; renaming a tool id adds it toproject_config::RENAMED_IDS - A file or directory
read()loads outside the tool's managed directories (a native or fallbackAGENTS.md/CLAUDE.md, Gemini's context files, Devin'sglobal_rules.md/.windsurfrules, Zoo's.roorules, DeepSeek's and Vibe's.agents/skillsfallback, Kilo's rule directories) MUST be returned bysource_files(project_root)when it exists and is used, so that with the tool as source no target writes it,remove/migratenever delete it andgitignore installnever ignores it; a new read location also goes intowatch::source_locations - A server entry conforme cannot express (no
command— a string, OpenCode's array or Zed's legacy{path, args, env}— no URL, or Claudetype: "sdk") is skipped on read and kept on write (json_settings::is_expressible_server); a disabled one only in a tool whose own toggle it is (ServerShape.toggle)
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.
- 14d ago Changed · +103 tokens per session 57d5a04fa4f1
- 16d ago Changed · -2 lines · -172 tokens per session 8d031b0616d5
- 18d ago Changed · +4 lines · +541 tokens per session 26bb169a1285
- 25d ago Changed · +3 lines · +293 tokens per session 61d3e7da0796
- 27d ago Changed · +4 lines · +197 tokens per session b40e7a22e8ea
- 1mo ago Changed · +4 lines · +176 tokens per session f9bbe1a961da
- 1mo ago First seen · 17 lines · 418 tokens per session scan A 06f616e1f69a
conforme adapter-consistency.instructions.md is an instructions file published in the GitHub repository maxgfr/conforme (5 stars, last pushed 6d ago), licensed MIT. It adds 1,556 tokens to every session, about $0.0062 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.
Other instructions, from other repositories
whichrules copilot-instructions.md
Instructions for z35068037/whichrules, a project described as: See exactly which instructions your AI coding agent receives - and where they conflict.
ai-agent-rules-generator ui-design.instructions.md
Glitch Payment Gateway admin UI design rules — mandatory element & component reference for WooCommerce settings.
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.