Observed
aidd translate builds two targets for Mistral Vibe. The flat route materializes .vibe/skills/ directly and was proven on a real Vibe install. The marketplace route emits a Claude-style native plugin tree with its manifest at .vibe-plugin/plugin.json, and the profile's distributionProbes assert that same path.
Vibe's documented native plugin format puts plugin.json at the plugin root (Agent Plugins 1.0), and its foreign-format adapters recognize only .claude-plugin/, .codex-plugin/, .kimi(.|-)plugin/, and .opencode/ markers. .vibe-plugin/plugin.json matches neither, so Vibe never detects the tree and the probes can never fire.
Even if detection were fixed, parts of the tree would stay dead: Vibe agents are TOML under ai.mistral.vibe/agents/, not markdown, and foreign-adapted plugins contribute skills and MCP only.
Reproduction
aidd translate --to mistral in marketplace mode.
- Inspect the output: manifest at
.vibe-plugin/plugin.json, agents as agents/*.md.
- Compare against Vibe's plugin format reference.
Impact
The marketplace route for Mistral Vibe ships files nothing reads. The flat route is the only install-verified path.
Evidence
- Vibe's plugin system reference: native manifest
plugin.json at plugin root; foreign-format table; foreign plugins contribute skills and MCP only.
cli/src/contexts/tools/domain/profiles/mistral/mistral-paths.ts: OUTPUT_MISTRAL_MANIFEST_RELATIVE = ".vibe-plugin/plugin.json".
- The route was never exercised against a real Vibe install; only the flat route has one on record.
Refs #937 (the PR that ships the mistral profile; the flat route there is the proven path).
Observed
aidd translatebuilds two targets for Mistral Vibe. The flat route materializes.vibe/skills/directly and was proven on a real Vibe install. The marketplace route emits a Claude-style native plugin tree with its manifest at.vibe-plugin/plugin.json, and the profile'sdistributionProbesassert that same path.Vibe's documented native plugin format puts
plugin.jsonat the plugin root (Agent Plugins 1.0), and its foreign-format adapters recognize only.claude-plugin/,.codex-plugin/,.kimi(.|-)plugin/, and.opencode/markers..vibe-plugin/plugin.jsonmatches neither, so Vibe never detects the tree and the probes can never fire.Even if detection were fixed, parts of the tree would stay dead: Vibe agents are TOML under
ai.mistral.vibe/agents/, not markdown, and foreign-adapted plugins contribute skills and MCP only.Reproduction
aidd translate --to mistralin marketplace mode..vibe-plugin/plugin.json, agents asagents/*.md.Impact
The marketplace route for Mistral Vibe ships files nothing reads. The flat route is the only install-verified path.
Evidence
plugin.jsonat plugin root; foreign-format table; foreign plugins contribute skills and MCP only.cli/src/contexts/tools/domain/profiles/mistral/mistral-paths.ts:OUTPUT_MISTRAL_MANIFEST_RELATIVE = ".vibe-plugin/plugin.json".Refs #937 (the PR that ships the mistral profile; the flat route there is the proven path).