Problem
Ouroboros skills are currently described with English-only SKILL.md metadata. For example, core packaged skills use descriptions such as:
---
name: interview
description: "Socratic interview to crystallize vague requirements"
---
Codex documents that skills are available in the Codex CLI, IDE extension, and Codex App. It also documents two activation paths: explicit invocation and implicit invocation. The implicit path depends on matching the user's task against the skill description.
That creates a Codex App compatibility gap for Korean and other non-English users: a natural-language Korean prompt such as “요구사항을 먼저 정리해줘” may not reliably auto-select the interview skill because the discoverable trigger text is English-only.
This issue is about multilingual keyword/description matching for automatic skill selection. It is not about translating command names.
Why now
Codex App users often interact through natural-language prompts and visual skill/plugin surfaces rather than terminal-style ooo <skill> commands. If Ouroboros skills only expose English trigger text, non-English Codex App users must know and invoke the canonical English skill name manually.
Related context:
User / persona
- Korean-speaking Codex App users who describe goals in Korean.
- Non-English users who expect installed skills to be selected from localized natural-language intent.
- Maintainers who need better auto-invocation without changing canonical commands.
Current behavior
- Core Ouroboros skill
description fields are English-only.
- Codex implicit skill invocation depends on the skill
description.
- Ouroboros does not provide localized trigger keywords or localized descriptions for matching.
- Users can still explicitly type canonical commands such as
ooo interview, but that assumes they know the English skill name.
Desired behavior
Ouroboros should expose multilingual matching metadata so Codex App can auto-select the correct skill from non-English user prompts.
Examples:
- Korean prompt “요구사항을 먼저 명확히 해줘” should be able to match
interview.
- Korean prompt “시드를 생성해줘” should be able to match
seed.
- Korean prompt “실행 결과를 평가해줘” should be able to match
evaluate or qa depending on intent.
Canonical routing must remain unchanged:
ooo interview still invokes interview.
/ouroboros:interview still invokes interview.
- MCP tool names and dispatch identifiers stay English/canonical.
Proposed solution
Add localized matching metadata for packaged skills while keeping canonical skill ids stable.
Implementation options to evaluate:
- Add localized trigger metadata beside the documented Codex App skill metadata surface,
agents/openai.yaml.
- Generate runtime-specific Codex skill guidance that includes locale-specific trigger phrases.
- Extend Ouroboros' skill registry/packaging layer to emit localized descriptions or aliases for matching, while keeping command routing canonical.
Example concept:
# agents/openai.yaml or generated Codex-facing metadata
matching:
localized_triggers:
ko:
- 요구사항을 정리해줘
- 먼저 인터뷰해줘
- 애매한 요구사항을 명확히 해줘
The exact metadata shape should be verified against current Codex App behavior before implementation. If Codex App does not directly consume custom localized matching fields, Ouroboros should document and generate the closest supported fallback.
Constraints
Non-goals
- Translating full
SKILL.md instruction bodies.
- Translating
ooo commands or slash prefixes.
- Changing MCP dispatch contracts.
- Replacing README/documentation translation workflows.
- Supporting every language in the first implementation.
Alternatives considered
- Translate canonical skill names.
- Rejected: skill names are routing identifiers and collision-sensitive.
- Only add translated display names.
- Insufficient: this issue targets automatic keyword/intent matching, not only visible labels.
- Only translate README/docs.
- Insufficient: Codex App skill auto-selection depends on discoverable skill metadata.
Acceptance criteria
References
Checklist
Problem
Ouroboros skills are currently described with English-only
SKILL.mdmetadata. For example, core packaged skills use descriptions such as:Codex documents that skills are available in the Codex CLI, IDE extension, and Codex App. It also documents two activation paths: explicit invocation and implicit invocation. The implicit path depends on matching the user's task against the skill
description.That creates a Codex App compatibility gap for Korean and other non-English users: a natural-language Korean prompt such as “요구사항을 먼저 정리해줘” may not reliably auto-select the
interviewskill because the discoverable trigger text is English-only.This issue is about multilingual keyword/description matching for automatic skill selection. It is not about translating command names.
Why now
Codex App users often interact through natural-language prompts and visual skill/plugin surfaces rather than terminal-style
ooo <skill>commands. If Ouroboros skills only expose English trigger text, non-English Codex App users must know and invoke the canonical English skill name manually.Related context:
resumecollides with Claude Code's built-in/resumecommand #499: skill naming and invocation behavior can affect host-app UX, so routing changes must stay conservative.User / persona
Current behavior
descriptionfields are English-only.description.ooo interview, but that assumes they know the English skill name.Desired behavior
Ouroboros should expose multilingual matching metadata so Codex App can auto-select the correct skill from non-English user prompts.
Examples:
interview.seed.evaluateorqadepending on intent.Canonical routing must remain unchanged:
ooo interviewstill invokesinterview./ouroboros:interviewstill invokesinterview.Proposed solution
Add localized matching metadata for packaged skills while keeping canonical skill ids stable.
Implementation options to evaluate:
agents/openai.yaml.Example concept:
The exact metadata shape should be verified against current Codex App behavior before implementation. If Codex App does not directly consume custom localized matching fields, Ouroboros should document and generate the closest supported fallback.
Constraints
resumecollides with Claude Code's built-in/resumecommand #499.Non-goals
SKILL.mdinstruction bodies.ooocommands or slash prefixes.Alternatives considered
Acceptance criteria
interview,seed,run,evaluate,qa, andstatus.ooo <skill>,/ouroboros:<skill>, and MCP dispatch behavior is unchanged.References
description.resumecollides with Claude Code's built-in/resumecommand #499Checklist