协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
skill-host-compat【开发与工程】Lint ECC skills for Codex/Cursor-safe frontmatter and Claude-only substitutions before a skill PR.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Run the same host-compat gate CI uses on skills/ before opening a skill PR.
The check is for Codex and Cursor copies, not Claude-only runtime quality.
skills/.agents/skills/ or .cursor/skills/validate-skill-host-compat.js findingsCanonical skills live in skills/. Codex loads .agents/skills/. Cursor loads a
smaller .cursor/skills/ subset. CONTRIBUTING documents that sync as manual.
validate-skills.js only checks that SKILL.md exists and that name /
description are usable YAML. tests/ci/codex-skill-surface.test.js only
sees .agents/skills/. This script is the cross-tree gate:
bash / sh / zsh fences
($CLAUDE_SESSION_ID, $CLAUDE_SKILL_DIR, $CLAUDE_PLUGIN_ROOT,
$CLAUDE_PROJECT_DIR, $ARGUMENTS) fail. Codex leaves those tokens
as literal text. In a Codex copy, rewrite $CLAUDE_PROJECT_DIR to
$(pwd) or an explicit path.name, description, metadata, license,
and allowed-tools. origin: ECC may stay on the canonical skills/
copy and must be stripped on the Codex copy.agents/openai.yaml that has a skills/ directory must
have .agents/skills/<name>/. Cursor copies are optional; when present,
name: must match the directory.--strict-checklist.validate-skills.js frontmatter WARN default is unchanged (#1663).
From the repo root:
node scripts/ci/validate-skill-host-compat.js
Print counts without failing:
node scripts/ci/validate-skill-host-compat.js --inventory
Promote checklist warnings:
node scripts/ci/validate-skill-host-compat.js --strict-checklist
Slash command:
$skill-host-compat
$skill-host-compat --inventory
Codex and Cursor projections must resolve Claude-only substitutions in executable blocks. Canonical Claude-scoped examples remain valid. POSIX $1 and ${1} parameters are ambiguous and require review rather than failing this gate. This fence is the
forbidden pattern; do not use these unresolved projection examples:
echo "$CLAUDE_SESSION_ID"
ls "$CLAUDE_SKILL_DIR"
node "$CLAUDE_PLUGIN_ROOT/scripts/setup.js" $ARGUMENTS
cd "$CLAUDE_PROJECT_DIR"
Do not add version: or origin: to a Codex copy under .agents/skills/.
Do not treat a passing validate-skills.js run as Codex-safe. Do not require
every skills/ entry to have a Cursor copy.
origin: ECC if the CONTRIBUTING template calls for it.origin, version, and argument-hint on the Codex copy.npx, ecc, or a resolved
root). Rewrite $CLAUDE_PROJECT_DIR in Codex copies to $(pwd) or an
explicit path. Keep valid Claude-scoped forms in canonical instructions; resolve host variables in the target projection.npm test when the change is a new skill.--inventory to see checklist warning volume without failing the tree.skill-comply — runtime behavioral traces, not host-portabilityskill-stocktake — holistic audit of installed ~/.claude/skillsskill-scout — search existing skills before creating a new one