Skip to content

feat: add Codex skill discovery parity #386

Closed

Description

@Jammy2211

Overview

Make assistant and workspace-local skills discoverable by Codex without duplicating their canonical instructions or breaking Claude discovery. Extend the existing Brain discovery generator to inventory registered repositories, produce stable collision-free Codex adapters, neutralize workspace-local canonical skill locations, and drift-check parity across both harnesses.

Plan

  • Extend the shared Brain discovery generator instead of adding per-repository installer scripts.
  • Generate repository-namespaced, hyphenated Codex adapters for every public assistant skill while keeping flat assistant Markdown canonical.
  • Move workspace-local skill bodies to neutral skills/ locations and generate both Claude and Codex discovery adapters.
  • Preserve all existing Claude skill names and links; exclude helper/internal Markdown from public discovery.
  • Add inventory parity, name validity, collision, idempotence, drift, and broken-link coverage.
  • Update skill-bootstrap instructions so newly added skills acquire both harness adapters.
  • Implement as one task in two waves: generator/contract first, then repository rollout.
Detailed implementation plan

Affected Repositories

  • PyAutoBrain (primary)
  • autofit_assistant
  • autogalaxy_assistant
  • autolens_assistant
  • autocti_assistant
  • autofit_workspace
  • autogalaxy_workspace
  • autolens_workspace

Work Classification

Workspace

Branch Survey

Repository Current Branch Dirty? Conflict
PyAutoBrain main clean codex-hook-parity
autofit_assistant main user-owned untracked scripts/compose_model_gaussians_exponentials.py codex-hook-parity
autogalaxy_assistant main clean codex-hook-parity
autolens_assistant main user-owned untracked scripts/cluster_model_composition.py codex-hook-parity
autocti_assistant main clean codex-hook-parity
autofit_workspace main clean none
autogalaxy_workspace main clean none
autolens_workspace main clean mass-field-workspace-sweep (active dirty task worktree)

Suggested branch: feature/codex-skill-discovery

Planned state: serialized behind codex-hook-parity and mass-field-workspace-sweep; do not create worktrees until both claims clear.

Implementation Steps

  1. Extend PyAutoBrain/bin/install.sh project-discovery machinery to identify skill-hosting repositories through the registered workspace/body map and inventory their supported canonical skill shapes.
  2. Define deterministic repository-namespaced Codex names using lowercase hyphenated components, validate the Codex name grammar/length, and fail on duplicate generated names.
  3. Treat assistant skills/*.md files with valid public frontmatter as canonical. Generate thin .codex/skills/<stable-name>/SKILL.md adapters that carry valid Codex frontmatter and route to that one canonical body. Exclude README.md, underscore-prefixed helpers, and non-skill Markdown.
  4. Move the four existing workspace-local canonical skills from .claude/skills/*/SKILL.md into neutral skills/*/SKILL.md locations. Regenerate the original Claude discovery paths and add namespaced Codex adapters, preserving user-facing Claude names.
  5. Update the four assistant AGENTS.md, skills/README.md, and _bootstrap_skill.md instructions so adding a public skill updates the canonical inventory and the shared discovery generator rather than only adding a Claude symlink.
  6. Add Brain unit/fixture tests for assistant/workspace inventory parity, stable names, collision detection, helper exclusion, idempotent generation, drift detection, and resolving canonical links. Add repository-level checks where existing CI has a suitable hook.
  7. Generate and review all committed adapters across the seven consumer repositories, verify existing .claude/skills paths still resolve, and run focused repository tests plus the independent review gate.
  8. Ship one PR per affected repository through ship_workspace; Heart and merge remain separate gates.

Key Files

  • PyAutoBrain/bin/install.sh — shared cross-harness discovery generator and drift checker
  • PyAutoBrain/tests/test_skill_install.py — generator, collision, parity, and drift coverage
  • *_assistant/skills/*.md — canonical flat assistant skill bodies
  • *_assistant/.codex/skills/*/SKILL.md — generated Codex discovery adapters
  • *_assistant/skills/_bootstrap_skill.md — new-skill registration instructions
  • *_workspace/skills/*/SKILL.md — neutral workspace-local canonical bodies
  • *_workspace/.claude/skills/ and .codex/skills/ — generated harness adapters

Original Prompt

Click to expand starting prompt

Make assistant and workspace skills discoverable in Codex

Type: maintenance
Target: assistants
Repos:

  • @PyAutoBrain
  • @autofit_assistant
  • @autogalaxy_assistant
  • @autolens_assistant
  • @autocti_assistant
  • @autofit_workspace
  • @autogalaxy_workspace
  • @autolens_workspace
    Difficulty: large
    Autonomy: supervised
    Priority: high
    Status: draft
    Filed: 2026-09-17
    Parent: draft/maintenance/organs/agent_harness_agnostic_setup.md
    Blocked-by: codex_hook_parity

Request

Can you check that all Agent setup (skills, md files, etc) is agnostic to whether its claude or codex, been using claude for a while but gonna codex for the forseeable so worth an agnostic sweep

Scope

Keep the existing flat assistant skill Markdown as canonical for this phase and
generate Codex-discoverable <hyphenated-name>/SKILL.md adapters for every
public assistant skill and the workspace-local skills. Drive discovery from
the repository/body map rather than another hardcoded installer list. Update
bootstrap instructions so new skills acquire both Claude and Codex adapters.

Acceptance

  • Public skill inventories have tested Claude/Codex parity.
  • Every Codex adapter has a stable valid name, description and single
    canonical body; helper/internal Markdown is not exposed as a public skill.
  • Name normalization is collision-checked across installed assistants.
  • Existing Claude skill names and links continue to work.

Activity

  1. Jammy2211 commented on Sep 19, 2026

    @Jammy2211
    ContributorAuthor

    codex-skill-discovery

    Summary

    Added registry-driven Claude/Codex discovery for shared assistant and workspace skill bodies; all 105 Codex adapters were discovered by codex-cli 0.155.1. Existing Claude links and canonical bodies were preserved. Clone boundaries exclude parent-specific generated wrappers from newborn copy sets.

    Validation and limits

    Focused tests and independent review CLEAN. Discovery installer: 22 tests; clone profiles: 37; Mind ledger: 26; template/privacy: 111; hook adapters: 8; shared guard fixtures: 68; Brain Memory faculty: 8; Memory board: 62. Tenant firewall, scoped discovery drift, Memory structure/wikilinks, and lensing clone boundary passed. Actual Codex smoke covers discovery, not end-to-end scientific execution or every harness. Eleven pre-existing inference-assistant clone-boundary gaps remain outside this task. No template publish or release was performed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions