Skip to content

fix: Codex compatibility — 1024-char cap, duplicate skills, repo-local installs, kiro support (v0.11.2.0)#346

Merged
garrytan merged 12 commits intomainfrom
garrytan/codex-compat-wave2
Mar 23, 2026
Merged

fix: Codex compatibility — 1024-char cap, duplicate skills, repo-local installs, kiro support (v0.11.2.0)#346
garrytan merged 12 commits intomainfrom
garrytan/codex-compat-wave2

Conversation

@garrytan
Copy link
Owner

Summary

  • Codex 1024-char limit fixed — skill descriptions compressed from ~1,200 to ~280 words with test guard
  • Duplicate skill discovery fixed — minimal runtime root at ~/.codex/skills/gstack exposes only assets Codex needs
  • Old direct installs auto-migrate~/.codex/skills/gstack checkouts moved to ~/.gstack/repos/gstack
  • Sidecar skip guard.agents/skills/gstack no longer linked as a standalone skill
  • .agents/ gitignored — 14K+ lines of generated output removed from repo, generated at setup time
  • Repo-local Codex installs — clone into .agents/skills/gstack, run ./setup --host codex
  • Kiro CLI support./setup --host kiro with auto-detection
  • 7 review fixes from 4-pass paranoid review (Claude structured + adversarial + Codex structured + adversarial)

Merges community PRs: #251, #269, #308, #236, #317, #309

Closes #230, #263, #281, #235, #261

Test Coverage

520 tests pass, 0 failures. 3 new tests added (T1-T3):

  • T1: sidecar skip guard in link_codex_skill_dirs()
  • T2: $GSTACK_ROOT dynamic paths in generated Codex preambles
  • T3: --host kiro support validation

Pre-Landing Review

Paranoid 4-pass review (Claude structured + Claude adversarial + Codex structured + Codex adversarial).

  • 7 issues found and fixed: ETHOS.md missing from runtime root, old dirs not cleaned on upgrade, repo-local self-referential symlinks, Kiro missing assets, gstack-upgrade wrong paths, --host guard, Kiro sed patterns
  • 0 issues remaining

Eval Results

No prompt-related files changed — evals skipped.

TODOS

No TODO items completed or created in this PR.

Test plan

  • All unit tests pass (520 tests, 0 failures)
  • bash -n setup syntax check passes
  • bun run gen:skill-docs --host codex generates all skills
  • bun run build succeeds

🤖 Generated with Claude Code

Co-authored-by: cweill cweill@users.noreply.github.com
Co-authored-by: mvanhorn mvanhorn@users.noreply.github.com
Co-authored-by: cskwork cskwork@users.noreply.github.com
Co-authored-by: shichangs shichangs@users.noreply.github.com
Co-authored-by: pengwk pengwk@users.noreply.github.com
Co-authored-by: AnshulDesai AnshulDesai@users.noreply.github.com

garrytan and others added 11 commits March 22, 2026 14:43
Compresses SKILL.md.tmpl root description to <1024 chars (Codex token limit).
Adds description-length validation test. Includes /autoplan in compressed
skill list (added since PR was branched).

Co-authored-by: cweill <cweill@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds guard to skip .agents/skills/gstack in link_codex_skill_dirs() —
it's a runtime asset sidecar, not a standalone skill. Prevents duplicate
skill discovery and symlink overwriting.

Fixes #261

Co-authored-by: mvanhorn <mvanhorn@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…licates (#308)

Removes 14K+ lines of committed generated Codex skill files from git.
.agents/ is now gitignored and generated at setup time via
`bun run gen:skill-docs --host codex`. Updates CI workflow to validate
generation instead of checking committed file freshness.

Co-authored-by: cskwork <cskwork@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds migrate_direct_codex_install() to move old direct installs from
~/.codex/skills/gstack to ~/.gstack/repos/gstack. Adds
create_codex_runtime_root() to expose only runtime assets (bin/, browse/,
review files) via symlinks instead of symlinking the entire repo.

Fixes #235

Co-authored-by: shichangs <shichangs@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Changes gen-skill-docs.ts to use dynamic $GSTACK_ROOT/$GSTACK_BIN/$GSTACK_BROWSE
variables in generated Codex preambles instead of hardcoded ~/.codex/ paths.
Renames GSTACK_DIR → SOURCE_GSTACK_DIR/INSTALL_GSTACK_DIR throughout setup for
clarity. Supports both global (~/.codex/skills/) and repo-local (.agents/skills/)
Codex installs.

Co-authored-by: pengwk <pengwk@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds Kiro CLI as a supported agent platform. Setup detects kiro-cli,
copies+sed-rewrites SKILL.md paths from Codex/Claude to Kiro format,
and symlinks runtime assets (bin/, browse/).

Co-authored-by: AnshulDesai <AnshulDesai@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds 3 tests identified during CEO/Eng review:
- T1: link_codex_skill_dirs() contains sidecar skip guard
- T2: generated Codex preambles use dynamic $GSTACK_ROOT paths
- T3: setup supports --host kiro with INSTALL_KIRO and sed rewrites

Also fixes existing test to expect kiro in --host case statement.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…-wave2

# Conflicts:
#	.agents/skills/gstack-autoplan/SKILL.md
#	.agents/skills/gstack-benchmark/SKILL.md
#	.agents/skills/gstack-browse/SKILL.md
#	.agents/skills/gstack-canary/SKILL.md
#	.agents/skills/gstack-design-consultation/SKILL.md
#	.agents/skills/gstack-design-review/SKILL.md
#	.agents/skills/gstack-document-release/SKILL.md
#	.agents/skills/gstack-investigate/SKILL.md
#	.agents/skills/gstack-land-and-deploy/SKILL.md
#	.agents/skills/gstack-office-hours/SKILL.md
#	.agents/skills/gstack-plan-ceo-review/SKILL.md
#	.agents/skills/gstack-plan-design-review/SKILL.md
#	.agents/skills/gstack-plan-eng-review/SKILL.md
#	.agents/skills/gstack-qa-only/SKILL.md
#	.agents/skills/gstack-qa/SKILL.md
#	.agents/skills/gstack-retro/SKILL.md
#	.agents/skills/gstack-review/SKILL.md
#	.agents/skills/gstack-setup-browser-cookies/SKILL.md
#	.agents/skills/gstack-setup-deploy/SKILL.md
#	.agents/skills/gstack-ship/SKILL.md
#	.agents/skills/gstack/SKILL.md
#	.github/workflows/skill-docs.yml
#	README.md
…sets, upgrade paths

Paranoid 4-pass review found 7 issues, all fixed:
- Add ETHOS.md to create_codex_runtime_root
- Clean old real dirs (not just symlinks) on upgrade
- Skip runtime root for repo-local installs (prevent self-referential symlinks)
- Add review/, ETHOS.md, gstack-upgrade/ to Kiro install
- Update gstack-upgrade to detect ~/.gstack/repos/ and .agents/skills/
- Guard --host without value from silent exit
- Fix Kiro sed patterns + timeout instruction in gen-skill-docs.ts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…-wave2

# Conflicts:
#	.agents/skills/gstack-autoplan/SKILL.md
#	.agents/skills/gstack-benchmark/SKILL.md
#	.agents/skills/gstack-browse/SKILL.md
#	.agents/skills/gstack-canary/SKILL.md
#	.agents/skills/gstack-design-consultation/SKILL.md
#	.agents/skills/gstack-design-review/SKILL.md
#	.agents/skills/gstack-document-release/SKILL.md
#	.agents/skills/gstack-investigate/SKILL.md
#	.agents/skills/gstack-land-and-deploy/SKILL.md
#	.agents/skills/gstack-office-hours/SKILL.md
#	.agents/skills/gstack-plan-ceo-review/SKILL.md
#	.agents/skills/gstack-plan-design-review/SKILL.md
#	.agents/skills/gstack-plan-eng-review/SKILL.md
#	.agents/skills/gstack-qa-only/SKILL.md
#	.agents/skills/gstack-qa/SKILL.md
#	.agents/skills/gstack-retro/SKILL.md
#	.agents/skills/gstack-review/SKILL.md
#	.agents/skills/gstack-setup-browser-cookies/SKILL.md
#	.agents/skills/gstack-setup-deploy/SKILL.md
#	.agents/skills/gstack-ship/SKILL.md
#	.agents/skills/gstack/SKILL.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@garrytan garrytan merged commit b7a3bf1 into main Mar 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Codex: description: exceeds maximum length of 1024 characters

1 participant