skill-host-compat
Lets your agent check if code is ready for use in different systems. It helps ensure everything works well before submitting changes.
What it does
Checks if a 'skill' (AI instruction) is safe for use in different environments (Codex and Cursor) by removing commands that only work in Claude.
When to use it
- ✓When adding or modifying a 'skill'.
- ✓When copying a 'skill' to specific folders for other environments.
- ✓When a review asks to confirm the 'skill's' safety for Codex or Cursor.
Example of what to ask your AI
“Check if this skill is safe for Codex and Cursor.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
This script analyzes the 'skill' and removes or adapts commands that use Claude-specific variables. It ensures the 'skill' works correctly in other systems, like Codex and Cursor.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add affaan-m/ECC --skill skill-host-compatOr download just the file:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/skill-host-compat/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Skill Host Compatibility
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.
When to Activate
- Adding or editing a skill under
skills/ - Copying a skill into
.agents/skills/or.cursor/skills/ - A review asks whether a skill is safe to install into Codex or Cursor
- CI reports
validate-skill-host-compat.jsfindings
Core Concepts
Canonical 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:
- Claude-only substitutions in executable
bash/sh/zshfences in Codex/Cursor projections (${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. - A Codex copy may only use
name,description,metadata,license, andallowed-tools.origin: ECCmay stay on the canonicalskills/copy and must be stripped on the Codex copy. - A skill listed in
agents/openai.yamlthat has askills/directory must have.agents/skills/<name>/. Cursor copies are optional; when present,name:must match the directory. - CONTRIBUTING checklist items (When to Activate, Anti-Patterns, name
matches directory, 500/800 line caps) warn. They fail only with
--strict-checklist.
validate-skills.js frontmatter WARN default is unchanged (#1663).
Code Examples
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
Anti-Patterns
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:
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.
Best Practices
- Keep canonical
origin: ECCif the CONTRIBUTING template calls for it. - Drop
origin,version, andargument-hinton the Codex copy. - Show host-portable commands in bash fences (
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. - Run this script before
npm testwhen the change is a new skill. - Use
--inventoryto see checklist warning volume without failing the tree.
Related Skills
skill-comply— runtime behavioral traces, not host-portabilityskill-stocktake— holistic audit of installed~/.claude/skillsskill-scout— search existing skills before creating a new one
FAQ
What are Codex and Cursor?
They are environments or systems where 'skills' can be executed. This script ensures the 'skill' works well in both.
Why do I need to remove Claude-specific commands?
Claude-specific commands do not work in other environments like Codex and Cursor. They need to be adapted or removed for the 'skill' to be compatible.
What happens if I don't use this script?
The 'skill' might not work correctly or may show errors when used in environments like Codex or Cursor, as it will contain incompatible commands.
Details
Original description by the author
Lint ECC skills for Codex/Cursor-safe frontmatter and Claude-only substitutions before a skill PR.
repo: affaan-m/ECC
Popularity
- GitHub stars
- 280k
- Ranking position
- #284
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
accessibility
Helps your agent create interfaces that everyone can use. Ensures websites and apps work well for people with disabilities, like those who are blind or have reduced mobility.
affaan-m/ECC
agent-architecture-audit
Makes your agent check if everything is working correctly. It finds and fixes problems in AI systems, ensuring they perform as expected.
affaan-m/ECC
agent-eval
Helps your agent compare different AI coding tools. It measures which one is faster, cheaper, and more reliable for specific tasks.
affaan-m/ECC
agent-harness-construction
Makes your agent better understand how to perform tasks. It optimizes the tools and instructions the agent uses to increase its chances of success.
affaan-m/ECC
Similar skills
git-workflow-and-versioning
Organizes code work using Git. Helps save progress, manage different versions, and avoid conflicts when working in a team.
addyosmani/agent-skills
observability-and-instrumentation
Adds tools to monitor what the code does in production. Helps understand if something went wrong and why, making fixes easier.
addyosmani/agent-skills
github-pr-workflow
Prepares GitHub pull requests, ensuring code quality and documentation.
paperclipai/paperclip