Providers

PreviousNext

How each coding agent sees AgileFlow skills, support levels, and what has been verified.

AgileFlow does not replace or wrap your coding agent. Each provider discovers skills its own way; AgileFlow puts them where the provider looks and adapts only where providers differ.

Support levels

ProviderSupportHow it sees the skills
CodexnativeReads .agents/skills and ~/.agents/skills.
CursornativeReads .agents/skills.
OpenCodenativeReads .agents/skills.
Gemini CLInativeReads .agents/skills as an alias of its skill location.
Claude CodeadaptedReads .claude/skills; AgileFlow adds per-skill links there.
Grok, AntigravityexperimentalNo adapter; not verified.

T3 Code is a host that runs the providers above. When T3 starts Codex or Claude Code in your project, that provider reads the same skills; there is no T3-specific setup. T3's own skill picker may not list every skill the provider can use.

Detection

A provider is detected when its CLI is on PATH, its home directory exists, or the project has one of its markers. Detection decides which providers init, list, and check report, and whether Claude Code links are created under enabled: auto. Skills are installed in .agents/skills either way.

ProviderOn PATHHomeProject
Codexcodex~/.codex.codex/
Claude Codeclaude~/.claude.claude/, CLAUDE.md
Cursorcursor-agent, cursor~/.cursor.cursor/
OpenCodeopencode~/.config/opencode.opencode/, opencode.json, opencode.jsonc
Gemini CLIgemini~/.gemini.gemini/, GEMINI.md

Override detection per provider with providers.<id>.enabled in agileflow.yaml. T3 Code is detected by ~/.t3 or T3CODE_* / T3_CODE_* environment variables, only so check can add its note.

What has been verified

AgileFlow's conformance tests ask each installed provider CLI which skills it sees, without a model call, after init, update, and remove:

ProviderVerified withMethod
Codexcodex-cli 0.128.0codex debug prompt-input lists auto skills from .agents/skills, omits manual skills, and reflects updates and removals. codex features list reflects the structured-questions setting.
OpenCode1.4.6opencode debug skill lists the skills from .agents/skills and reflects removal.
Claude Code2.1.280The startup init event lists the skills through per-skill links and through generated mirrors.
Gemini CLI0.60.0gemini skills list lists the skills from .agents/skills in a trusted folder and reflects removal.
Cursornot verifiedCursor has no headless command to list skills; support is based on Cursor's documented .agents/skills support.
T3 Codenot verified directlyT3 runs the provider CLIs above in the project directory.

Activation behavior (which prompts load which skill) has been measured with Claude Code evals. Live model evals for the other providers depend on those CLIs being signed in and are run separately.

Manual skills

activation: manual is written into each managed skill for every provider at once, so one installed copy works everywhere:

ProviderMechanismEnforcement
Claude Code, Cursordisable-model-invocation: true in SKILL.mdprovider-enforced
OpenCodemetadata.opencode/autoinvoke: false in SKILL.mdprovider-enforced
Codexagents/openai.yaml: policy.allow_implicit_invocation: falseprovider-enforced (verified: Codex leaves the skill out of implicit invocation)
Gemini CLInone availablesemantic only: relies on the skill's own description saying to use it only when asked (the official manual skills do). check reports "manual-only enforcement: semantic".

Claude Code reads .claude/skills/, not .agents/skills/. The Claude adapter makes each skill visible there without creating a second copy to edit:

  1. Symlink (preferred): .claude/skills/diagnosing-bugs -> ../../.agents/skills/diagnosing-bugs
  2. Junction on Windows when symlinks are not permitted.
  3. Generated mirror as a last resort: a copy containing .agileflow-mirror.json, which records where it came from and a hash of its content. AgileFlow refreshes mirrors when the canonical skill changes.

AgileFlow owns only the links and mirrors it created, never the .claude/skills directory itself:

  • A Claude-only skill with the same name is left alone; check reports that it shadows the AgileFlow skill.
  • If .claude/skills is itself a link to .agents/skills, nothing is created.
  • If you edit a mirror directly, check warns and names the canonical copy to edit instead; the mirror is not overwritten.
  • agileflow configure provider claude off removes AgileFlow's links; on or auto (the default: only when Claude Code is detected) creates them.

AgileFlow never modifies .claude/settings.json.

Force the mirror fallback with AGILEFLOW_LINK_MODE=mirror. If a skill is configured as manual but its SKILL.md lacks disable-model-invocation: true (for example a fork you edit yourself), check warns that Claude may invoke it automatically.

Gemini CLI folder trust

Gemini CLI loads project skills only in folders you have trusted. Until then gemini skills list shows nothing from .agents/skills, and agileflow check says so.

Codex structured questions

Codex has an experimental default_mode_request_user_input feature that lets skills ask structured questions during normal work. It is optional, off unless you opt in, and changed only through agileflow configure codex-questions enable, which records the previous value so disable can restore it exactly.

Skills that ask questions work either way: when a provider offers structured question UI they may use it, otherwise they ask in plain text. How readily AgileFlow skills ask is a separate, provider-neutral setting: Question preferences.

What AgileFlow never changes

Provider permissions, sandbox mode, approval policy, model, reasoning effort, memory, or progress-update behavior. Provider defaults stay in charge.