mirror of
https://github.com/EveryInc/compound-engineering-plugin.git
synced 2026-10-05 22:35:57 +02:00
ce-compound and ce-compound-refresh invoked their parser-safety validator via
`python3 "${CLAUDE_SKILL_DIR:-.}/scripts/validate-frontmatter.py"`. ${CLAUDE_SKILL_DIR}
is a Claude-only content substitution, so off-Claude the :-. fallback resolved
`./scripts/...` against the project CWD, the script was not found, and the
silent-corruption guard was silently skipped. The plugin also ships as a native
Codex plugin (no converter), and ce_platforms is converter-only, so only SKILL.md
content can protect that path.
- Wrap the validator in `if [ -n "$CLAUDE_SKILL_DIR" ] && [ -f ... ]; then ...
else <manual parser-safety checklist> fi`, so the protection still runs
off-Claude instead of vanishing. The inline checklist mirrors the script's
exact scope (top-level, unquoted/unstructured scalar values).
- skill-conventions test: recognize existence/non-empty guards as graceful —
block-scoped inside code fences (a second unguarded script is still caught)
and file-wide for prose mentions; reuse partitionFencedCodeBlocks.
- AGENTS.md (root + plugin): document the existence-guard pattern, the
permission caveat, and that the native Codex install ignores ce_platforms.
Scoped to the portable, skill-independent fix. ce-worktree — the other skill
#943 named — is deferred to #946, which re-architects it into a portable
isolation guardrail rather than guarding a bundled script. Broader bare-path
audit: #944.
Reviewed across four rounds with an independent Codex reviewer; /simplify pass.