codex/review-skill/SKILL.md
Audit Codex skill bundles before publishing. Use when reviewing or fixing a Codex skill's SKILL.md, references, scripts, or agents/openai.yaml for routing clarity, metadata quality, shell safety, and approval flow.
npx skillsauth add smykla-skalski/sai review-skillInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill to audit a Codex skill bundle, produce a verdict with evidence, and fix approved issues without importing Claude-only rules.
codex/<name>/, .agents/skills/<name>/, $HOME/.agents/skills/<name>/, $CODEX_HOME/skills/<name>/, or ~/.codex/skills/<name>/SKILL.md, bundled references/, bundled scripts/, and agents/openai.yamlallowed-tools, argument-hint, disable-model-invocation, $ARGUMENTS, hooks, or context: forkcodex/ instead of .agents/skills; classify the install surface first, then judge whether the contract is explicit and consistentInfer the target skill directory from the user request and local context in this order:
SKILL.mdIf more than one target matches, ask one focused follow-up question before running any fixes.
Before judging the skill, locate and read the applicable AGENTS.md files in scope for the target directory. Review against the real repo instructions, not against generic expectations.
Use this concrete skill path when calling bundled scripts:
SKILL_DIR="/Users/[email protected]/Projects/github.com/smykla-skalski/sai/codex/review-skill"
Read references/checklist.md before manual review. Read references/rubric.md before writing the verdict. Read references/codex-vs-claude-differences.md when the target appears to be ported from Claude or mixes Claude-specific fields. Read references/examples.md when fixing weak routing, metadata, or approval wording.
Run the validator first:
"$SKILL_DIR/scripts/validate.py" "$TARGET_DIR"
Optional focused modes:
"$SKILL_DIR/scripts/validate.py" "$TARGET_DIR" frontmatter
"$SKILL_DIR/scripts/validate.py" "$TARGET_DIR" structure
"$SKILL_DIR/scripts/validate.py" "$TARGET_DIR" shell
"$SKILL_DIR/scripts/validate.py" "$TARGET_DIR" metadata
"$SKILL_DIR/scripts/validate.py" "$TARGET_DIR" prompts
Parse every NDJSON line. Treat pass: false records as findings and use file/line evidence when present.
AGENTS.md files.codex/<name>/), public install (.agents/skills/<name>/), or user/global install ($HOME/.agents/skills, $CODEX_HOME/skills, ~/.codex/skills).validate.py.agents/openai.yaml explicitly.Inspect the target SKILL.md, linked references, scripts, and agents/openai.yaml against the checklist in references/checklist.md:
Apply the rubric in references/rubric.md and report:
PASSNEEDS WORKFAILGroup findings by Critical, Important, and Polish. Every finding must cite concrete file evidence.
Only patch files when the user asked for fixes or approves remediation after the report.
When fixing:
SKILL.md compact and push detail into references/scripts/agents/openai.yaml consistent with the actual workflowAfter edits:
validate.py.Use this shape unless the user asked for another format:
## Codex Skill Review
Skill: <name>
Path: <path>
Surface: <repo source | public install | user/global install>
Verdict: <PASS | NEEDS WORK | FAIL>
### Critical
- [FAIL] <id>: <finding with file evidence>
### Important
- [PASS] <id>: <finding with file evidence>
### Polish
- [INFO] <id>: <optional improvement>
### Rationale
<2-3 sentences>
development
Run the council workflow from a normal Copilot session only when the user explicitly asks for council review, multi-persona critique, debate, design review, code review, architecture feedback, UX review, or tradeoff analysis. Do not use it for commit, stage, merge, approval, or generic pre-commit requests. Accept the same mode syntax as the bundled council reviewers: `core|auto|core-eng|core-ux|core-mix|all|debate <problem|@file>`. During council slash-command use, the current session agent moderates reviewer agents directly. Runs broader than 6 reviewers require explicit AskUserQuestion approval before launch.
tools
Use when the user invokes $council, $council:council, Council review, or Council debate. Use loaded SKILL body or one direct installed `skills/council/SKILL.md` read. Direct read path must contain `/.codex/plugins/cache/sai/council/` and end `/skills/council/SKILL.md`. `cd <cwd> && sed -n ... <path>` is valid. Do not use `pwd`, `ls`, `find`, `rg`, `cat`, multiple `&&`, or `;`. Never use repo-local paths. If unavailable, stop exactly `Council not run: skill unavailable.` At most one pre-tool message, exact `Council progress:` line only. Non-final lines start `Council progress:`.
development
Run council reviews with sourced engineering, UX, reliability, performance, AI, and strategy persona lenses. Use when the user asks for council review, multi-persona critique, debate, design review, code review, architecture feedback, UX review, or tradeoff analysis.
development
Use when the user asks for council review, multi-persona critique, debate, design review, code review, architecture feedback, UX review, or tradeoff analysis. Bare invocations use `core` profile auto-detect; explicit `auto` selects the best-fit 6 personas from the sourced 27-persona engineering and UX roster. Users can still pin `core`, `core-eng`, `core-ux`, `core-mix`, `all`, or `debate`.