Skip to content

Packaged for Codex with GUI installer - #18

Open
adi-dibra wants to merge 1 commit into
cbrock84:mainfrom
adi-dibra:main
Open

Packaged for Codex with GUI installer#18
adi-dibra wants to merge 1 commit into
cbrock84:mainfrom
adi-dibra:main

Conversation

@adi-dibra

Copy link
Copy Markdown
  • Package all skills, agent charters, plugins, and rules under Codex/.agents

  • Add cross-platform installer (GUI + headless CLI) that auto-syncs before installing

- Package all skills, agent charters, plugins, and rules under Codex/.agents

- Add cross-platform installer (GUI + headless CLI) that auto-syncs before installing

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The installer entrypoints and GUI/CLI fallback behavior have correctness/UX issues that can break Windows installation and can cause silent hangs or unexpected data loss.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Packages the repository’s multi-agent assets (skills, charters, plugins, rules) under Codex/.agents and adds cross-platform installer entrypoints intended to sync/rebuild the packaged tree before installing it into user/profile or project locations.

Changes:

  • Add Codex/** to the declared surface map documentation.
  • Add cross-platform installer launchers (Codex/install.sh, Codex/install.bat) plus a Tkinter-based GUI with a CLI fallback (Codex/installer_gui.py).
  • Add a packaged .agents organization under Codex/.agents/** (skills, agents, plugins, rules, docs, scripts).
File summaries
File Description
docs/AGENT-SURFACES.md Adds Codex/** to the repo-meta surface listing.
Codex/install.sh Bash entrypoint to run the Python installer.
Codex/install.bat Windows entrypoint to run the Python installer.
Codex/installer_gui.py GUI installer (Tkinter) with terminal-mode fallback and “sync then install” flows.
Codex/.agents/** Packaged agent organization: skills, subagent charters, plugins, rules, docs, scripts.
Review details
  • Files reviewed: 300/358 changed files
  • Comments generated: 4
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/AGENT-SURFACES.md
Comment on lines 145 to 149
.github/**
.claude/**
.claude-plugin/**
Codex/**
README.md
Comment thread Codex/install.sh
Comment on lines +5 to +13
# Detect python3 or python
if command -v python3 >/dev/null 2>&1; then
PYTHON_BIN="python3"
elif command -v python >/dev/null 2>&1; then
PYTHON_BIN="python"
else
echo "Error: Python is required but not found in PATH." >&2
exit 1
fi
Comment thread Codex/install.bat
Comment on lines +1 to +5
@echo off
start "" pythonw "%~dp0installer_gui.py"
if %errorlevel% neq 0 (
python "%~dp0installer_gui.py"
)
Comment thread Codex/installer_gui.py
Comment on lines +281 to +283
if os.path.exists(target_agents_dir):
shutil.rmtree(target_agents_dir)
shutil.copytree(SOURCE_AGENTS_DIR, target_agents_dir)

Copy link
Copy Markdown
Owner

Thanks for this, and apologies for the slow reply — you've been waiting on a 358-file PR longer than you should have.

Packaging the catalog for Antigravity and Codex is something I hadn't started and wasn't going to get to soon, and reaching people outside Claude Code is worth more than most of what's on my own list. A few things you did that people usually skip: you added Codex/** to repo-meta's surface so the guard passes, you built a generator instead of hand-copying 352 files, and the AGENTS.md table picked up the authority column that had merged only a few hours before you opened this. That's careful work.

Here's what I need before this can go in.

Copilot's four comments are all valid

Please treat them as required rather than optional. Two notes on them:

The charter one matters more than it looks. .claude/agents/repo-meta.md states that it and docs/AGENT-SURFACES.md must agree, so adding Codex/** to one and not the other breaks a rule the charter itself sets. agent-guard check won't catch it — it verifies charters exist, not that their contents match.

Its line numbers on the rmtree issue are off. The two destructive sites are line 86 (CLI project install) and line 282 (GUI project install), not 283 and 310. Lines 61 and 241 also call rmtree but those are the safe per-item ones. Fix both 86 and 282 or half the problem stays. Your global-install path already does this correctly by copying per item — the project path needs the same treatment, or a refusal when .agents already exists unless something like --force is passed. As written it recursively deletes a directory the user may have their own skills and charters in, with no prompt and no backup.

The one Copilot missed

Codex/.agents can go stale and nothing catches it. I tested this before the merges below: appended one line to one source skill, ran ./scripts/check-all.sh, and got "All checks passed" with the Codex copy already out of sync.

That's no longer hypothetical. Since you opened this, main has taken two merges:

  • it-operations gained three skills — the catalog went from 143 to 146
  • the chief-level skills gained ~800 lines across 15 files

So the Codex/.agents tree committed here is already behind on both counts, and nothing in the repo would have told either of us.

Every other generated artifact here — README, org chart, social card — has a --check mode that CI runs, and that is the only reason they stay honest. build-agents.py doesn't have one and check-all.sh doesn't call it. Without that, the repo ships two versions of the catalog that disagree, and the one people install through the GUI is the stale one.

Same problem in miniature: the roster table and skill counts in AGENTS_MD_TEMPLATE and README_CONTENT are hardcoded rather than read from docs/AGENT-SURFACES.md, so they drift the first time the roster changes — which it just did.

What I'd ask for

  1. Fix the rmtree at lines 86 and 282.
  2. Add a --check mode to build-agents.py and a line calling it in scripts/check-all.sh.
  3. Derive the roster table and counts from docs/AGENT-SURFACES.md rather than hardcoding them.
  4. Copilot's install.sh Python 3 check and install.bat argument forwarding.

You'll also need to rebase and regenerate against current main, which #2 will then keep honest.

One open question, which is mine and not yours

I still haven't settled whether a second distribution target belongs in this repo. 352 committed files roughly doubles the review surface of every future PR and makes every skill edit a two-tree change — the two merges above are a preview of that. The alternatives are generating Codex/ at release time without committing it, or letting it live in its own repo that consumes this one.

I'm raising it so you're not surprised later, not to stall you: all four fixes above are needed under any of those outcomes, and the work carries over if it ends up in a separate repo — I'd help set that up and link it from the README.

Push back if you think I've got the structural point wrong. And thanks again for taking the time on this.


Generated by Claude Code

@dexterityinme

Copy link
Copy Markdown

My honest recommendation: the --check mode for build-agents.py is probably the best entry point. It's small, self-contained, well-specified, and doesn't collide with your giant PR.

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.

4 participants