[BUG] Claude command transform drops frontmatter keys Claude Code supports on commands
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
Research direction
Start in src/apm_cli/integration/command_integrator.py, especially _PRESERVED_COMMAND_KEYS and the Claude command transformation path. Reproduce with a prompt containing disable-model-invocation, when_to_use, and effort, then run apm install --target claude. Done means Claude-supported command frontmatter reaches .claude/commands/, while only name and paths are dropped.
Written by the indexing model from the issue text.
Description
Describe the bug
The Claude command transformer keeps only description, allowed-tools, model, argument-hint and input (_PRESERVED_COMMAND_KEYS). Claude Code documents that .claude/commands/*.md accept the skill frontmatter schema except name and paths (docs). So keys that Claude Code honours on commands are dropped when deploying to Claude itself, e.g. disable-model-invocation, user-invocable, when_to_use, context, agent, effort, disallowed-tools, hooks, shell, and an authored arguments.
To Reproduce
.apm/prompts/p.prompt.mdwith frontmatterdescription: d,disable-model-invocation: true,when_to_use: x,effort: lowapm install --target claude- Warning:
frontmatter keys not supported for claude commands and were dropped: disable-model-invocation, effort, when_to_use;.claude/commands/p.mdkeeps onlydescription.
Expected behavior
Keys that Claude Code documents for commands reach .claude/commands/. Only keys the target does not accept (name, paths) are dropped.
Environment
- OS: macOS
- APM Version: 0.30.0 (8c2e0d9); the allowlist is unchanged on main
Additional context
Related: #2106 (command semantics across vendors). This issue is narrower: loss on the Claude target for Claude-native keys.
- Dominant language
- Python
- Stars
- 4k
- Forks
- 393
- Avg merge
- 4d 12h
- Merged PRs (30d)
- 58
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/apm
-
type/automation type/performance
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
Maintainers usually reply within 2 days
-
status/accepted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
microsoft/apm#3259 · 1 comment ·
Maintainers usually reply within 2 days
-
type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 2 days
-
[BUG] Flat hook entries without `type` reach `.codex/hooks.json` without the required `type: command`Possibly taken @Parth-Vasave claimed this 2 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
microsoft/apm#3249 · 1 comment ·
Maintainers usually reply within 2 days
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
webrecorder/warcio#209 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Jeffy123-zhu/logspecter#20 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 1 day