Audit basis
This was a read-only audit performed by nine focused subagents. It used the live Codex configuration, codex mcp list, codex plugin list, Codex Doctor, current tool discovery, filesystem inventories, 2,470 retained rollout files, and recent successful-tool telemetry.
The retained session window ran from January 22 through June 26. The 30-day analysis covered 1,360 threads and the 90-day analysis covered 1,823 threads. Distinct-session counts are more meaningful than raw reads because a skill can be loaded repeatedly inside one task.
Custom skills
There are 21 logical non-system capabilities. Eight Cloudflare-related skill trees are byte-for-byte duplicated under both ~/.agents/skills and ~/.codex/skills, producing 29 catalog entries.
| Skill | Recent evidence | Assessment |
|---|---|---|
| sveltekit-runtime-patterns | 171 sessions in 30 days | Keep Core Svelte runtime guidance |
| cloudflare | 67 sessions | Keep and repair Useful router, but oversized and overly broad |
| workers-best-practices | 40 sessions | Keep Focused production review rules |
| feature-pr-orchestrator | 30 sessions | Keep Proven delegated feature workflow |
| wrangler | 26 sessions | Keep and trim Useful but 922 lines and version-sensitive |
| impeccable | 26 sessions | Keep Explicit-only activation boundary |
| estimate-agent-usage | 30 sessions | Keep Established local usage accounting |
| agents-sdk | 7 sessions | Keep one copy Focused Cloudflare agent guidance |
| durable-objects | 8 sessions | Keep one copy Useful stateful-system specialist |
| effect-v4-serverless-patterns | 10 sessions | Keep Focused and deliberately reviewed |
| expo-ios-device-operator | 7 sessions | Keep Valuable physical-device evidence ladder |
| expo-serve-sim | 3 sessions | Keep Niche but concrete simulator workflow |
| update-nas-executor | 3 sessions | Keep High-value safety runbook |
| workflow-capture | 9 sessions | Keep Explicit reusable-workflow capture |
| youtube-thumbnail-concepting | 6 sessions | Keep and repair Image-generation turn contract conflict |
| btca-local | 5 sessions | Keep and repair Good explicit trigger; malformed closing tag |
| cloudflare-email-service | 3 sessions | Decide Useful but overlaps the umbrella skill |
| sandbox-sdk | 4 sessions | Decide Low-use specialist with umbrella overlap |
| web-perf | 4 sessions | Rewrite or remove Requires Chrome DevTools tools not currently exposed |
| hatch-pet | 3 sessions | Decide Large bespoke workflow with no installed pets |
| columbia-pages | Low-frequency direct use | Keep Produces hosted reports such as this one |
Managed and plugin-provided skills
- System: imagegen, openai-docs, plugin-creator, skill-creator, skill-installer.
- Browser control: Browser, Chrome, and Computer Use skills.
- GitHub: general GitHub orientation, address review comments, fix CI, and publish changes with yeet.
- Codex Security: scan, deep scan, diff scan, discovery, validation, attack-path analysis, threat modeling, triage, fixes, and issue tracking.
- Artifacts: documents, PDF, presentations, spreadsheets, and template creation.
- Other: Remotion video guidance and Gmail workflows.
Skill quality findings
- The eight duplicate trees consume only about 1.6 MB, but the real cost is duplicate prompt registration and ambiguous ownership.
- The Cloudflare umbrella contains 63 reference areas, invalid frontmatter, three broken internal references, and a backup file. Its trigger overlaps nearly every focused Cloudflare skill.
- Some Cloudflare skills install packages, start development tooling, or enable services during preflight. Those flows should begin read-only and respect the repository package manager.
- The empty
codex-primary-runtimedirectory provides no capability. - The
composio-cliskeleton has support files but noSKILL.md, so it cannot load.
Plugins
Twelve local plugins are installed and enabled.
| Plugin group | Plugins | Recommendation |
|---|---|---|
| Strongly active | GitHub, Browser, Chrome, Computer Use, Codex Security | Keep |
| Low-use but small | PDF, Remotion | Keep or disable by preference |
| No observed use | Documents, Presentations, Spreadsheets, Template Creator | Disable until needed |
| Minimal value | Convex | Remove unless scaffolding is wanted |
Gmail, GitHub, and Convex also have app-synchronized remote plugin caches. The GitHub connector is active. Gmail is also genuinely active: recent telemetry recorded 21 successful Gmail calls across seven Desktop threads. Convex had one recent call.
The configured claude-plugins-official marketplace occupies about 12 MB but has no installed plugins. The legacy browser-use@openai-bundled-beta entry is enabled in configuration but no longer exists in the current plugin inventory.
MCP servers and app connectors
| Server | State and evidence | Recommendation |
|---|---|---|
| node_repl | Enabled; heavily used by Browser and Chrome | Keep |
| computer-use | Enabled; recent successful desktop-control activity | Keep |
| openaiDeveloperDocs | Enabled; recent successful official-doc calls | Keep |
| codex-security | Enabled; healthy tools and active security workflows | Keep |
| github HTTP MCP | Enabled but direct PAT path has no calls; duplicates the app connector | Separate or remove |
| codebase-retrieval | Disabled; 595 historical calls but none in 90 days | Remove stale config |
| Connector | Use | Recommendation |
|---|---|---|
| GitHub | Heavy recent use across repository and PR workflows | Keep |
| Svelte Server | Heavy documentation and autofix use | Keep |
| Gmail | 21 successful calls across seven recent Desktop threads | Keep |
| Convex | One recent call; repository tooling covers most real work | Remove unless intentionally wanted |
| Botmail | Unused implicit platform connector | Ignore or hide |
Configuration and instructions
config.tomlis 618 lines and contains 143 trusted-project entries; 40 target paths no longer exist.- Three disabled skill configuration entries target nonexistent files.
- The global rules file contains 30 mostly one-off historical approvals, including destructive commands. They are redundant under the current no-approval posture.
- The configured security posture is broad: unrestricted filesystem, network access, no approval prompts, and Browser navigation/upload approvals set to never ask.
- The global instruction to read every file in full can force huge, generated, binary, or secret-bearing files into context. It is useful for authored source files but costly as an unconditional rule.
- The notification helper, desktop preferences, feature infrastructure, and keybindings are coherent and should remain.
The autonomy settings are internally consistent, but full machine access, no approvals, logged-in Chrome control, and automations that can move files create a large combined blast radius.
Automations
| Automation | Current behavior | Recommendation |
|---|---|---|
| archive-daily-agent-usage | Healthy recent captures | Keep |
| clean-stale-codex-memories | Daily, with repeated no-op runs | Reduce to weekly or monthly |
| archive-ai-session-history | Three times daily; safely skips when storage is unmounted | Reduce cadence or add mount gate |
| keep-developer-clean | Daily and capable of moving projects | Make manual, weekly, or preview-only |
Storage and generated state
- Clean worktrees total about 7.12 GiB. They should be reviewed and removed through Git-aware commands, not raw directory deletion.
- Worktree
node_modulesdirectories total about 9.83 GiB and are reproducible. - Three dirty worktrees must be protected before any bulk cleanup.
- The logging database is the most urgent hygiene issue. It was actively growing during the audit and should receive a retention or log-level fix rather than manual deletion.
- Sessions, archived sessions, memories, generated images, and active state databases should not be treated as disposable cache.
- A stale plugin backup, abandoned marketplace staging, an old app-server binary, and a large verification dependency tree are conservative cleanup candidates after Codex is closed.
Cleanup decisions
Reply with the item numbers and your decision, for example: 1 yes, 2 yes, 6 rewrite, 12 keep.
- Consolidate the eight duplicate Cloudflare-family skills into canonical
~/.agents/skillscopies with~/.codex/skillssymlinks. - Remove the empty
~/.codex/skills/codex-primary-runtimedirectory. - Remove the incomplete
composio-cliskill skeleton, or finish it if Composio is still wanted. - Repair and narrow the Cloudflare umbrella skill: valid frontmatter, focused routing, no backup file, and fixed references.
- Trim the Wrangler skill and make Cloudflare-family preflight checks read-only and package-manager-aware.
- Fix the malformed
btca-localskill and the YouTube thumbnail/image-generation workflow conflict. - Rewrite
web-perffor the installed Browser tooling, or remove it. - Keep or remove
hatch-petbased on whether custom Codex pets are still planned. - Remove 40 dead trusted-project entries and three dead disabled-skill references from configuration.
- Remove the ghost
browser-use@openai-bundled-betaentry and other explicitly obsolete feature/config entries. - Replace the 30 historical global command rules with a minimal durable allowlist, or remove the file while approvals remain disabled.
- Remove the unused
claude-plugins-officialmarketplace. - Remove the stale disabled
codebase-retrievalMCP configuration. - Disable the redundant PAT-backed GitHub MCP path if it can be separated while retaining the active GitHub connector and workflow skills.
- Remove the Convex plugin/connector unless its scaffolding tools are intentionally wanted.
- Disable Documents, Presentations, Spreadsheets, and Template Creator until needed; separately decide whether to keep Remotion.
- Make
keep-developer-cleanmanual, weekly, or preview-only. - Reduce the stale-memory and session-backup automation cadence.
- Review the combined full-access, no-approval, and Browser
never_askposture. - Scope the global “read every file in full” instruction to relevant authored files, excluding huge, generated, binary, and secret-bearing files.
- Delete approximately 2.94 GiB of low-risk temporary data after closing Codex.
- Review and remove unneeded clean worktrees and/or their reproducible
node_modules, while protecting the three dirty worktrees. - Investigate Codex logging retention and verbosity before touching the active 4.07 GiB logging database.
- After Codex is closed, remove the stale plugin backup, abandoned staging data, and old app-server binary through the safest available cleanup path.