Repository navigation
Conversation
The ports lost their way in. The only git clone instruction in the repo lived in the root README's Install section and was removed when install became /plugin marketplace add — but grok/ and codex/ both still say 'cp SKILL.md ...', which only works from inside those folders. A Grok or Codex user had no documented path from GitHub to a working install. Both now start with a clone. grok/SKILL.md named nobody. It ships as a single copied file, so every Grok install produced an unattributed, unlicensed copy — while the root README asks forks to keep the attribution lines in SKILL.md. It now carries an author field and a credit paragraph, and grok/LICENSE ships beside it. CI gained a real YAML parse of all three skills' frontmatter. Every check until now was a grep, and the parent's description is 763 characters of unquoted prose one stray colon away from a skill Claude Code cannot load. The parser found a second gap on its first run: codex/SKILL.md had no author either. CI also asserts CHANGELOG.md carries a heading for the shipped version, since that file is what a user judges an auto-propagated update on. CONTRIBUTING.md states the five invariants that are enforced but not obvious. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5da1fe262c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| --- | ||
| name: stackwich-codex | ||
| description: "Install the Stackwich Codex delegation architecture: context-rich delegation, a plan-execute-verify-review sandwich for risky work, scheduled automation for recurring work, and subagent-based context engineering. Write durable policy to AGENTS.md and optionally scaffold advisor, executor, and verifier custom agents. Use when the user asks to adopt, install, convert, or bootstrap Stackwich or Stackwich Codex for a ChatGPT/Codex user account, repository, or team setup." | ||
| author: Abhirup Banerjee (@ovhirup) |
There was a problem hiding this comment.
Move the Codex author into metadata
When users install the codex/ directory, this top-level author field makes the skill fail Codex's standard quick_validate.py: its frontmatter schema allows only name, description, license, allowed-tools, and metadata, and reports author as unexpected. Store the author beneath metadata as the parent skill already does; the new workflow currently masks this incompatibility by explicitly accepting either placement.
Useful? React with 👍 / 👎.
Found by a full read of the repo after v3.0.0 shipped. Two are regressions the conversion caused in files it never touched.
The ports lost their way in
The only
git cloneinstruction in the repo was in the root README's Install section, removed when install became/plugin marketplace add. Butgrok/README.mdandcodex/README.mdstill saycp SKILL.md …, which only works from inside those folders — and the root README now actively tells people not to clone.Net effect: a Grok or Codex user had no documented path from GitHub to a working install. Both port READMEs now start with a clone and a
cd.Every Grok install was unattributed and unlicensed
grok/SKILL.mdhad noauthorand no mention of the license, and the Grok install copies that one file. Meanwhile the root README asks forks to "keep the attribution lines inSKILL.md" — there were none to keep.It now carries an
authorfield and a credit paragraph mirroring the Codex port, andgrok/LICENSEships alongside it.CI: frontmatter is parsed, not grepped
Every frontmatter check was a
grep. The parent'sdescriptionis 763 characters of unquoted prose — one stray:from invalid YAML, a skill that will not load, CI green, and auto-propagation to every directory user.All three skills' frontmatter now parses as real YAML, asserting the name, a description under 1024 chars, and an author. It found a second gap on its first run:
codex/SKILL.mdhad noauthoreither.CI: the changelog must mention the version
plugin.jsonand the skill frontmatter were already checked against each other. Nothing checked thatCHANGELOG.mdhas a heading for the shipped version — and the changelog is what a user judges an auto-propagated update on.CONTRIBUTING.md
Five invariants that are enforced by CI but invisible in the source: markers are never renamed, ports keep their own markers and rev counters, the plugin never ships
agents/, marker checks are whole-line on purpose, andSKILL.mdandassets/move together. Each has already caused a real bug.🤖 Generated with Claude Code