mirror of
https://github.com/pbakaus/impeccable.git
synced 2026-09-18 17:16:46 +03:00
Fix: omit allowed-tools from Claude output only (#736)
Keep allowed-tools in shared source for other providers; drop it from the Claude Code transformer and plugin rewrite so claude -p can activate the skill. Verify gate now checks parsed frontmatter, not body text. AI-assisted commit. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -156,7 +156,7 @@ export function verifyPluginSkillRewrite(skillMdPath) {
|
||||
'scripts/lib/plugin-paths.js (issue #523); update SETUP_FALLBACK_TEXT to the new wording.',
|
||||
);
|
||||
}
|
||||
if (/^allowed-tools:/m.test(content)) {
|
||||
if (parseFrontmatter(content).frontmatter['allowed-tools'] !== undefined) {
|
||||
throw new Error(
|
||||
`Plugin rewrite drift: ${skillMdPath} still declares allowed-tools in frontmatter. ` +
|
||||
'The plugin copy must drop the entire block so non-interactive sessions can activate ' +
|
||||
|
||||
@@ -29,7 +29,9 @@ export const PROVIDERS = {
|
||||
providerTags: ['claude-code', 'claude'],
|
||||
configDir: '.claude',
|
||||
displayName: 'Claude Code',
|
||||
frontmatterFields: ['user-invocable', 'argument-hint', 'license', 'compatibility', 'metadata', 'allowed-tools'],
|
||||
frontmatterFields: ['user-invocable', 'argument-hint', 'license', 'compatibility', 'metadata'],
|
||||
// allowed-tools omitted: Claude Code blocks skill activation in non-interactive
|
||||
// sessions when the field is present (issue #736). Other providers keep it.
|
||||
agentFormat: 'claude-md',
|
||||
emitHooks: 'claude',
|
||||
// Project-local Claude Code hooks live in `.claude/settings.json`.
|
||||
|
||||
Reference in New Issue
Block a user