Merge remote-tracking branch 'origin/main' into v2.0

This commit is contained in:
Paul Bakaus
2026-04-03 11:10:54 -07:00
5 changed files with 41 additions and 16 deletions
+18 -16
View File
@@ -18,6 +18,7 @@ Last verified: 2026-03-24
| OpenCode | https://opencode.ai/docs/skills/ |
| Pi | https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/skills.md |
| Trae | TBD (no official skills docs found yet) |
| Rovo Dev | https://support.atlassian.com/rovo/docs/extend-rovo-dev-cli-with-agent-skills |
## Spec Compliance
@@ -29,22 +30,22 @@ Provider-specific extensions beyond the spec: `user-invocable`, `argument-hint`,
Fields marked with * are spec-standard. Others are provider extensions.
| Field | Claude Code | Cursor | Gemini | Codex | Copilot | Kiro | OpenCode | Pi |
|-------|:-----------:|:------:|:------:|:-----:|:-------:|:----:|:--------:|:--:|
| `name`* | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| `description`* | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| `license`* | Yes | Yes | Ignored | No | Yes | Yes | Yes | Yes |
| `compatibility`* | Yes | Yes | Ignored | No | Yes | Yes | Yes | Yes |
| `metadata`* | Yes | Yes | Ignored | No | Yes | Yes | Yes | Yes |
| `allowed-tools`* | Yes | No | Ignored | No | No | No | Yes | Yes |
| `user-invocable` | Yes | No | No | No | Yes | No | Yes | No |
| `argument-hint` | Yes | No | No | No | Yes | No | Yes | No |
| `disable-model-invocation` | Yes | Yes | No | No | Yes | No | Yes | Yes |
| `model` | Yes | No | No | No | No | No | Yes | No |
| `effort` | Yes | No | No | No | No | No | No | No |
| `context` | Yes | No | No | No | No | No | No | No |
| `agent` | Yes | No | No | No | No | No | Yes | No |
| `hooks` | Yes | No | No | No | No | No | No | No |
| Field | Claude Code | Cursor | Gemini | Codex | Copilot | Kiro | OpenCode | Pi | Rovo Dev |
|-------|:-----------:|:------:|:------:|:-----:|:-------:|:----:|:--------:|:--:|:--------:|
| `name`* | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| `description`* | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| `license`* | Yes | Yes | Ignored | No | Yes | Yes | Yes | Yes | Yes |
| `compatibility`* | Yes | Yes | Ignored | No | Yes | Yes | Yes | Yes | Yes |
| `metadata`* | Yes | Yes | Ignored | No | Yes | Yes | Yes | Yes | Yes |
| `allowed-tools`* | Yes | No | Ignored | No | No | No | Yes | Yes | Yes |
| `user-invocable` | Yes | No | No | No | Yes | No | Yes | No | Yes |
| `argument-hint` | Yes | No | No | No | Yes | No | Yes | No | Yes |
| `disable-model-invocation` | Yes | Yes | No | No | Yes | No | Yes | Yes | TBD |
| `model` | Yes | No | No | No | No | No | Yes | No | No |
| `effort` | Yes | No | No | No | No | No | No | No | No |
| `context` | Yes | No | No | No | No | No | No | No | No |
| `agent` | Yes | No | No | No | No | No | Yes | No | No |
| `hooks` | Yes | No | No | No | No | No | No | No | No |
Notes:
- Gemini CLI validates only `name` and `description`; other spec fields are parsed but ignored.
@@ -66,6 +67,7 @@ Notes:
| Pi | `.pi/skills/` | `.agents/skills/` |
| Trae China | `.trae-cn/skills/` | TBD |
| Trae International | `.trae/skills/` | TBD |
| Rovo Dev | `.rovodev/skills/` | `~/.rovodev/skills/` (user-level) |
All harnesses support the `{skill-name}/SKILL.md` directory structure with optional `reference/`, `scripts/`, and `assets/` subdirectories.
+10
View File
@@ -177,6 +177,15 @@ cp -r dist/trae/.trae/skills/* ~/.trae/skills/
>
> After copying, restart Trae IDE to activate the skills.
**Rovo Dev:**
```bash
# Project-specific
cp -r dist/rovo-dev/.rovodev your-project/
# Or global (applies to all projects)
cp -r dist/rovo-dev/.rovodev/skills/* ~/.rovodev/skills/
```
## Usage
Once installed, use commands in your AI harness:
@@ -221,6 +230,7 @@ The detector catches 24 issues across AI slop (side-tab borders, purple gradient
- [VS Code Copilot](https://code.visualstudio.com)
- [Kiro](https://kiro.dev)
- [Trae](https://trae.ai)
- [Rovo Dev](https://www.atlassian.com/software/rovo)
## Contributing
+1
View File
@@ -9,5 +9,6 @@ export const transformAgents = createTransformer(PROVIDERS.agents);
export const transformKiro = createTransformer(PROVIDERS.kiro);
export const transformOpenCode = createTransformer(PROVIDERS.opencode);
export const transformPi = createTransformer(PROVIDERS.pi);
export const transformRovoDev = createTransformer(PROVIDERS['rovo-dev']);
export { createTransformer, PROVIDERS };
+6
View File
@@ -70,4 +70,10 @@ export const PROVIDERS = {
displayName: 'Trae',
frontmatterFields: ['user-invocable', 'argument-hint', 'license', 'compatibility', 'metadata'],
},
'rovo-dev': {
provider: 'rovo-dev',
configDir: '.rovodev',
displayName: 'Rovo Dev',
frontmatterFields: ['user-invocable', 'argument-hint', 'license', 'compatibility', 'metadata', 'allowed-tools'],
},
};
+6
View File
@@ -341,6 +341,12 @@ export const PROVIDER_PLACEHOLDERS = {
config_file: 'RULES.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
},
'rovo-dev': {
model: 'Rovo Dev',
config_file: 'AGENTS.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
}
};