Commit Graph

38 Commits

Author SHA1 Message Date
Bo 6d5d111faf feat(skills): land four-vendor skill corpus (#803)
## Summary
- Lands the AgentOps skill corpus across source and Codex wrappers,
including Gemini image targets.
- Integrates the skill branch onto current origin/main and refreshes
generated manifests/catalogs.
- Normalizes local next-work queue enum drift and fixes shellcheck in
alias-collision validation.

## Validation
- bash scripts/regen-all.sh --check
- bash scripts/validate-skill-schema.sh
- bash tests/skills/test-token-budgets.sh
- bash tests/skills/run-all.sh
- bash scripts/audit-codex-parity.sh && bash
scripts/validate-codex-override-coverage.sh && bash
scripts/validate-codex-generated-artifacts.sh --scope worktree && bash
scripts/validate-codex-api-conformance.sh && bash
scripts/validate-codex-runtime-sections.sh && bash
scripts/lint-codex-native.sh
- bash skills/heal-skill/scripts/heal.sh --strict
- PRE_PUSH_SKIP_MKDOCS=1 bash scripts/pre-push-gate.sh --fast

MkDocs strict remains skipped locally via the documented
PRE_PUSH_SKIP_MKDOCS=1 override because the repo currently emits
repo-wide strict-link warnings unrelated to this landing; CI remains
authoritative.
2026-06-06 23:44:42 -04:00
Bo 7455382416 refactor(gc): strip Gas City coupling; adopt NTM+MCP+managed-agents (ag-124p) (#679)
## What

Operator-authorized (Bo, 2026-06-02). Strips the remaining **Gas City**
(`gastown`) coupling from AgentOps and reconciles the **split-doctrine
state** on `main` that the #672–#676 post-mortem flagged: canonical docs
(#676) said NTM+MCP+managed-agents while user-facing docs still
described Gas City as the reference substrate.

The out-of-session substrate is now uniformly **NTM** (local tmux swarm)
+ **MCP** (`ao mcp serve`, shipped) + **managed-agents** (`ao agent`).
AgentOps adopts a substrate; it owns none. Closes **ag-124p** (and
resolves **ag-h93p** — the claude.json gc-hook decouple).

## Deleted (load-bearing surfaces, per the bead's verified scope)

- `packs/agentops/` (the reference City) + root `city.toml`
- `skills/using-gc` + `skills-codex/using-gc` (+
`tests/scripts/using-gc-skill.bats`)
- `gc prime/nudge/mail/hook` wiring in `cli/hooks/claude.json` → now
hookless, matching 3.0 doctrine

## Doc sweep (the split-doctrine fix the post-mortem required)

- **README.md, docs/MIGRATION-3.0.md, docs/dependencies.md,
docs/activation-profiles.md** re-narrated to the substrate trio (the
four files the verdict named)
- AGENTS.md / CLAUDE.md substrate bullets; `dream` skill (+codex twin)
retirement pointer; `shared` / `agent-native` / `using-agentops`
cross-refs; skill-dispositions, context-map, sku-catalog, google-sre
convergence map

## Regenerated derived surfaces

Skill counts (81→80), `registry.json`, `skills/catalog.json`,
context-map, skill-domain-map, codex hashes (14) + manifest, SKILL-TIERS
— all via the generators, validated drift-free.

## Scope boundaries / follow-ups

- **`cli/internal/doctor/fix_bridges.go`** still carries a gc-bridge
detector/fixer subsystem. Out of the bead's verified scope; degrades
gracefully (stat-checks, returns empty when `gc`/`city.toml` absent);
removing it is a test-backed Go change → **follow-up bead**.
- **CLAUDE.md "Gas City bridge — REMOVED"** note kept intentionally:
it's an anti-re-coupling record, not substrate-framing.
- The local-only **bd-closeout** pre-push check (not in CI) is a
pre-existing gap on `main` (its AGENTS.md has no `bd dolt push` line) —
untouched here.
- `thesis-stability` gate FAIL, if present, is the pre-existing
README/PRODUCT/GOALS tagline drift, unrelated to this PR (my
README/PRODUCT edits are the dependency table + skill-count numbers, not
the tagline).

## Verification

`go build ./...` + `go vet` green · skill schema (80/80) + integrity
(heal --strict clean) + lint suite (0 fail) + codex parity green ·
sku-catalog & context-map drift gates green · zero broken markdown links
to deleted paths.

Closes-scenario: ag-124p#gc-coupling-strip
Bounded-context: BC5-Runtime
Evidence: docs/MIGRATION-3.0.md
2026-06-02 09:06:41 -04:00
Bo de0699a493 feat(skills): operating-loop-workflow skill ships the workflow to plugin users (agentops-7m7a #plugin-deliver-operating-loop) (#595)
## What
Adds a `operating-loop-workflow` skill that delivers the
`operating-loop` Workflow-tool script to **installed plugin users** and
invokes it.

## Why
Claude Code plugins do **not** load `.claude/workflows/*.js` (recognized
components are `skills/`, `commands/`, `agents/`, `hooks/`, …). PR #594
force-added the script so it *ships in the plugin cache*, but an
installed user still wouldn't see `/operating-loop`. This skill is the
delivery vehicle.

## How
On `/operating-loop-workflow`, the skill:
1. Idempotently copies
`${CLAUDE_PLUGIN_ROOT}/.claude/workflows/operating-loop.js` →
`~/.claude/workflows/operating-loop.js` (copy-if-newer; never clobbers
user edits).
2. Invokes `Workflow({name:'operating-loop', args})` (supports
`{mode:'plan'}` for the plan-only half).

Named `operating-loop-workflow` (not `operating-loop`) to avoid
colliding with the workflow's own auto-surfaced `/operating-loop` in the
dev repo.

## Registries updated
- `skills/SKILL-TIERS.md` row + `sync-skill-counts.sh` (→ 76 total, 66
user-facing)
- `docs/contracts/skill-dispositions.yaml` + regenerated
`docs/reference/agentops-skill-domain-map.md` (76/76)
- `docs/contracts/context-map.md`,
`docs/reference/agentops-domain-evolution-bdd.md` count

## Validation
- `scripts/pre-push-gate.sh --fast` passed (registry-drift,
skill-domain-map golden gate, domain-evolution plan all green)
- `generate-skill-domain-map.sh`: 76 skills, 76 dispositions, clean

Closes-scenario: agentops-7m7a#plugin-deliver-operating-loop
Bounded-context: BC3-Loop
Evidence: docs/reference/agentops-skill-domain-map.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-29 02:30:09 +00:00
Bo ff6f8569c7 feat(release): tiered release-notes + coverage gate — end the release churn (ag-nc9) (#544)
Makes release-notes scope mechanical per tier so a release can never
again under-scope its notes and burn the re-mining churn (root cause of
the v3.0.x rewrites).

- **Scope rule + tiers** in the standard (+ codex twin): notes = git
range since the previous release (a major = the whole major), with a
major/minor/hotfix table.
- **Coverage gate** in validate-release-notes.sh: maps the diff to
product areas, FAILS if a heavily-touched area (>=3 files) is
undocumented. Wired into release.yml via --since. It immediately caught
a real gap (v3.0.1 missing the Codex area — fixed here).
- **scaffold-release-notes.sh**: mines the range into a tier-correct
draft so notes start comprehensive.
- 6 new bats (14 total), shellcheck clean, codex parity green. v3.0.1
notes verified to PASS coverage over the real v2.41.1..v3.0.1 diff.

Closes-scenario: ag-nc9#tiers-coverage-gate
Bounded-context: BC5-Runtime
Evidence: scripts/validate-release-notes.sh
2026-05-25 11:23:43 -04:00
Bo 7d0d90fbd3 feat(release): enforce release-notes standard + major variant (ag-d0f) (#541)
Fixes two compounding misses on the v3.0.x release notes and makes the
failure mechanically impossible.

**Root cause:** extract-release-notes.sh silently fell back to dumping
the raw CHANGELOG when no curated docs/releases/*-notes.md existed — so
3.0.0/3.0.1 shipped raw dumps, and the curated notes I then wrote did
not follow skills/release/references/release-notes.md (invented
headings, bold-lead-in bullets instead of action labels). The template
also had no major-release variant.

**Standard (template + codex twin):** add a major-release (X.0.0)
variant — required ## Breaking Changes section + migration link;
document the hard gate.

**Conform:** rewrite both 3.0.x curated notes to the standard (major
shape for 3.0.0 w/ Breaking Changes + canonical taxonomy + action
labels; patch shape for 3.0.1).

**Enforce:** scripts/validate-release-notes.sh (existence + sections +
taxonomy + action labels + Breaking-Changes-for-major) + 8 bats cases;
wired as a hard gate in release.yml before notes extraction;
extract-release-notes.sh now fails instead of silently dumping raw
CHANGELOG.

Local: both notes PASS the validator, 8/8 bats, shellcheck clean, codex
parity passes.

Closes-scenario: ag-d0f#release-notes-standard
Bounded-context: BC5-Runtime
Evidence: scripts/validate-release-notes.sh
2026-05-25 09:14:58 -04:00
Bo c1a46cee26 chore: scrub all jsm references — external ref only, patterns kept (soc-wnic7 #scrub-jsm) (#501)
## What

Operator directive (soc-wnic7): scrub ALL references to "jsm" from
AgentOps. jsm was only an external reference corpus we learned patterns
from. The absorbed **patterns stay** (skill-quality rubric, SELF-TEST
shape, system-tuning methodology, bug-hunt patterns, attribution
patterns, marketplace-export profile) — only the jsm **name**,
jsm-dedicated docs, and jsm export tooling are removed.

## Deleted (8 files)

- `docs/reference/jsm-agentops-gap-audit.md`
- `docs/reference/jsm-clean-room-extraction-policy.md`
- `docs/reference/jsm-cli-capability-map.md`
- `docs/reference/jsm-pilot-upgrade-backlog.md`
- `docs/reference/jsm-skill-absorption.md`
- `docs/reference/jsm-skill-standards.md`
- `scripts/check-jsm-export.sh`
- `scripts/inventory-jsm-skills.sh`

## Renamed (kept methodology, stripped jsm)

`skills/standards/references/jsm-attribution.md` →
`external-source-attribution.md` (+ skills-codex + cli/embedded
mirrors). The attribution methodology (Pattern A/B, choice rule, mkdocs
constraint, clean-room hygiene) is a kept pattern — renamed and de-named
rather than deleted, so the standards skill keeps a repoint target.

## Edited

- De-catalogued the 6 deleted docs from `docs/documentation-index.md`
and `docs/reference/index.md`; de-named the kept skill-quality-rubric
entries.
- Genericized every footer/credit per the scope rule:
- `Adapted from jsm / \`x\`` → `Adapted from an external skill corpus /
\`x\``
- `(jsm/ACFS skill corpus)` → `(ACFS skill corpus)` — **ACFS/gstack
credits left intact**
- jsm-only credits (system-tuning, hooks-authoring) → "external skill
corpus", keeping the methodology-only/no-verbatim hygiene clause
- Genericized: "JSM-Style/Marketplace Export Profile", hexagonal-map
adapter node, domain-evolution BDD/plan gherkin steps, CHANGELOG
entries, skill-auditor validation-terms tuple.
- Removed dead `check-jsm-export` blocks from 4 SELF-TEST.md files.

## Regen + gates (all green)

`make sync-hooks` · `regen-codex-hashes.sh` · `generate-registry.sh`
re-run. Verified: `grep -ri jsm` empty (per exclusions);
`regen-codex-hashes --check` OK; `generate-registry --check` OK;
`validate-embedded-sync` in sync; `validate-context-map-drift` OK;
`check-docs-learning-references` PASS; `heal.sh --strict` clean;
`audit-codex-parity` PASS; `go build ./...` OK; no dangling punctuation;
no broken links to deleted files.

Closes-scenario: soc-wnic7#scrub-jsm
Bounded-context: BC1-Corpus
Evidence: docs/documentation-index.md
2026-05-23 22:41:56 -04:00
Bo 386ccf5429 feat(skills): add canonical .feature acceptance to 5 skills — batch 1 (soc-qk4b #crank-batch1) (#476)
W2 of the 3.0 reconciliation — **hexagon crank tail, batched 5/PR**
(operator-approved cadence). 56/80 skills cranked after this. No
behavior/frontmatter change.

| Skill | Acceptance added |
|---|---|
| scope | declare scope, allow in-scope edits, hard-block out-of-scope
via PreToolUse hook |
| harvest | sweep .agents, consolidate/de-dup, write learnings, manual
or dream-loop |
| release | --check readiness, curated notes + CHANGELOG, operator
tag/push, exact-SHA verify |
| update | pull latest skills, install across runtimes, idempotent |
| scaffold | project/component/CI scaffolds + domain-slice via `ao rpi
phased --scaffold-domain` |

Each .feature linked in SKILL.md; registry + codex hashes regenerated
deterministically.

Gates: registry --check OK; codex-parity ✓×5; heal --strict clean ×5;
check-skill-size 0/0.

NOTE: claude-review infra-red (weekly limit, resets May 25) —
operator-authorized bypass when sole red.

Closes-scenario: soc-qk4b#crank-batch1
Bounded-context: BC1-Corpus
Evidence: skills/scope/references/scope.feature
2026-05-23 16:10:45 -04:00
Boden Fuller b8c5a3761b feat(agentops): make 3.0 hookless-first
Add DDD skill-domain contracts, hook lease inventory, replacement ports, artifact-first RPI skill boundaries, and release exact-SHA validation. Demote ao inject to a compatibility adapter and remove prompt-only default hooks.
2026-05-16 09:43:08 -04:00
Boden Fuller 8c731aef64 fix(ci): make skill validate-contracts billboard-aware (clears 4 CI failures)
#275's billboard refactor thinned process-skill SKILL.md files and moved
detail into references/, but the validate contracts still grepped SKILL.md.

skill-lint + smoke-test: relax content-presence checks in crank/implement/
  post-mortem/swarm validate.sh to scan the skill as a unit (SKILL.md +
  references/); structural/identity checks stay SKILL.md-only. test-first-smoke
  updated to match relocated SPEC/TEST WAVE + Step 0/4 headings.
skill-lint line caps: trim flywheel 310 -> 286 (cap 300), using-agentops
  261 -> 239 (cap 250) by removing redundant prose, no content lost.
skill-integrity: link 3 orphaned references (crank/branch-isolation,
  validation/flags + release-readiness-gates).
codex parity: regenerate stale skills-codex source hashes (77 skills).

Local: run-all.sh PASS, heal.sh --strict clean, smoke-test PASS.
2026-05-15 16:30:32 -04:00
Boden Fuller cf83669ca6 fix(skills/release): restore Examples + Troubleshooting after size-limit refactor
Cherry-picked 5cbab078 (release-skill refactor under size limit + non-HEAD
cut support) over-trimmed two required sections — the skill-runtime-formats
check flags '## Examples' and '## Troubleshooting' as mandatory for
user-facing skills.

Adds the sections back as compact inline summaries (pointing to
references/release-workflow-detail.md for the full per-step narration and
full troubleshooting matrix). Codex twin uses \$release notation per the
runtime-format check.

Also folds in a pre-existing evolve codex source-hash drift caught by
regen-codex-hashes.sh.

Mirrors 0fb0b136's skill body changes on the v2.40.0 release branch.
2026-05-13 21:52:06 -04:00
Boden Fuller a1dfd45855 chore(skills/release): refactor under size limit + non-HEAD cut support
Two skill improvements driven by v2.40.0 release-cut prep:

1. Size-limit compliance. SKILL.md was 545 lines (limit 248) — skill-lint
   fail. Extracted Steps 1-16 detail, Examples, Troubleshooting, and the
   New Changelog Template to references/release-workflow-detail.md.
   SKILL.md is now a compact flow index (141 lines Claude / 146 lines
   Codex), with the agent directed to read the detail file before
   executing.

2. Non-HEAD cut workflow. Step 2 previously hard-coded the range as
   <last-tag>..HEAD with no support for cutting at a non-HEAD SHA. Added
   references/release-cut-and-bump.md documenting the release-branch
   pattern (git checkout -b release/v<ver> <sha>, then /release <ver>)
   plus the AgentOps-specific version-bump table (.claude-plugin/*.json,
   marketplace.json 2 fields, docs/CHANGELOG.md, docs/comparisons/vs-*.md
   x3) that the generic Step 7 detection does not catch.

Codex twin updated in parallel (skills-codex/release/),
AskUserQuestion references translated to plain-text prompts. Codex
parity audit passes.
2026-05-13 21:50:44 -04:00
Boden Fuller db847f0c77 feat(practice): pass-5 backfill — 13 more practices: declarations + codex hashes
Adds practices: frontmatter to 13 next-batch skills (red-team, release,
review, scaffold, scenario, scope, security, security-suite, status, swarm,
test, trace, update). After pass 5: 65/689 missing (was 52/702). All slugs
validate against PRACTICE.md (45-slug registry). Codex parity hashes regen'd.
2026-05-10 22:48:07 -04:00
Boden Fuller b6e03c710d feat(skills): absorb remaining JSM slices 2026-05-05 09:03:19 -04:00
Boden Fuller 678fbf48f7 docs(release): adopt component release notes 2026-05-04 08:43:22 -04:00
Boden Fuller a7a51f2c16 feat(standards): codify skill tier caps and codex registration 2026-05-03 23:00:11 -04:00
Boden Fuller 256ff4868b feat(skills): absorb 9 jsm/ACFS Tier 1.5 patterns + new system-tuning skill
Pattern-adopted methodology from 9 jsm/ACFS skills (utility map score >=0.4)
into the AgentOps catalog as references on existing skills, one new top-level
skill, plus a build script and an operator runbook.

- skills/system-tuning/ - NEW utility skill (kill hierarchy, whack-a-mole
  anti-pattern, agent-swarm cleanup) with codex twin and skill-level LICENSE.md
  attribution. Distinct from skills/perf/ to avoid forward/backward methodology
  conflation.
- skills/bug-hunt/ - +2 refs (audit-fix-rescan cycle, convergence criteria)
- skills/research/ - +2 refs (onboarding methodology, data flow from entry
  points)
- skills/release/ - +3 refs (gh-actions CI patterns, release automation,
  changelog-as-research-artifact)
- skills/scope/ - +1 ref (destructive-command-guard patterns)
- skills/bootstrap/ - +1 ref (related runbooks index)
- skills/scaffold/ - +1 ref (forward-looking recommended-reading pointer
  including mcp-server-design with explicit absorption trigger)
- scripts/build-rg.sh + docs/rg-optimized.md - operator-build pattern for
  ripgrep with PCRE2
- docs/runbooks/path-rationalization.md - shell PATH audit and cleanup runbook

Catalog updates: skills/SKILL-TIERS.md adds system-tuning as utility-tier;
skills/using-agentops/SKILL.md catalog edit; sync-skill-counts and sync-hooks
ran for downstream PRODUCT.md, docs/SKILLS.md, docs/ARCHITECTURE.md, and
cli/embedded/skills/using-agentops/SKILL.md mirror.

Constraints honored:
- 4-runtime parity: every skills/ change has skills-codex/ counterpart
- Pattern-adoption only: NO verbatim phrases >5 consecutive words from jsm
  sources (one canonical pattern title "Whack-a-Mole Anti-Pattern" attributed
  via LICENSE.md)
- Per-file footer attribution for enhancement-only refs; skill-level LICENSE.md
  for system-tuning
- skills/perf/ untouched
- mcp-server-design content NOT absorbed (deferred to agentopsd MCP transport
  via discoverability pointer)

.gitignore now excludes .agents/ globally - workspace runtime state is no
longer git-tracked.

Validation: 7x audit-codex-parity PASS, heal-skill --strict clean,
sync-skill-counts PASS (62 user-facing + 9 internal = 71 codex), shellcheck
clean, pre-push-gate --fast passed.
2026-05-03 18:56:23 -04:00
Boden Fuller 557e4af9ec feat(codex): cap skills-codex description catalog and add --repair-shape audit
Adds a 2400-char aggregate budget for skills-codex/*/SKILL.md `description:`
fields in tests/skills/test-token-budgets.sh, then trims each skill's description
to fit (catalog now 2146/2400). Both Claude and Codex SKILL.md descriptions
are kept in sync; codex .agentops-generated.json hashes regenerated.

Adds --repair-shape to scripts/audit-codex-hooks.sh: when ~/.codex/hooks.json
is missing or in legacy-flat shape, rewrites it from hooks/codex-hooks.json
with the active plugin_root (read from .agentops-codex-install.json) and
backs up any prior file. Covered by new test_repairs_legacy_flat_shape.

Memory decay (4 .agents/ files) bumped by the SessionStart inject hook.
2026-04-30 15:16:59 -04:00
Boden Fuller 0496441989 Reduce skill catalog context footprint 2026-04-24 00:52:27 -04:00
Boden Fuller 24b8d29738 fix: purge tracked .agents artifacts 2026-04-03 09:33:31 -04:00
Boden Fuller e1b6b39350 Remove release cadence gate and sync Codex artifacts 2026-04-02 18:36:08 -04:00
Boden Fuller 98e581989c codex: retire stale artifact provenance metadata 2026-04-01 13:10:42 -04:00
Boden Fuller 3f6bb2bda4 chore(codex): sync Codex skills for 6 new lifecycle skills
Add Codex variants (SKILL.md, prompt.md, markers) for test, review,
refactor, deps, perf, and scaffold. Wire cross-references in 8 existing
Codex skill copies. Update catalog and manifest.
2026-03-27 19:39:12 -04:00
Boden Fuller 62b2b5b3a0 fix: narrow codex closeout ownership 2026-03-23 19:54:10 -04:00
Boden Fuller ebba51716d feat: wire codex lifecycle into codex skills 2026-03-23 19:21:36 -04:00
Boden Fuller 274e2e022f chore(codex): refresh release generated hashes 2026-03-22 21:17:01 -04:00
Boden Fuller 061edb548b fix(release): harden retag and audit artifacts 2026-03-22 21:11:41 -04:00
Boden Fuller b5316baef7 fix: align codex skill bundle with runtime contract 2026-03-21 10:08:27 -04:00
Boshu2 7d5162591b fix: harden codex runtime skill parity 2026-03-18 16:19:51 -04:00
Boshu2 8e59cf1389 fix(skills-codex): audit + fix 60+ findings, strengthen CI gates
Skills content fixes:
- Add metadata.tier to all 54 skills-codex/ frontmatter
- Fix wrong-directory cross-refs in 11 skills (skills/ → ../)
- Remove Claude primitive leakage from 13 skills (TaskCreate,
  AskUserQuestion, read_file, Agent tool, claude-code-latest-features)
- Fix dead refs, link missing references, remove orphaned Claude files
- Fix malformed ..$X link syntax in brainstorm, codex-team, rpi, validation
- Minor skills/ fixes: release refs, using-agentops count, push sections

CI gate hardening (false-pass elimination):
- heal.sh: scan skills-codex/, add MISSING_TIER/MALFORMED_LINK/DUPLICATE_REF
- audit-codex-parity.py: +7 Claude primitive patterns, +WRONG_XREF_DIR
- validate-links.sh: add skills-codex/ to scan scope (726 → 1117 links)
- validate-codex-generated-artifacts.sh: frontmatter check, invoke audit
2026-03-15 13:51:49 -04:00
Boshu2 f41e6d6a5a fix(converter): rewrite reference files through codex_rewrite_text
Reference .md files in skills-codex/ were copied verbatim from source,
bypassing all converter rewrite rules. Now .md files in references/,
scripts/, and other subdirs are processed through codex_rewrite_text()
during passthrough copy.

Empirically validated: Codex agent confirms 0 Claude primitives in
converted reference files (was 107). Remaining gap: crank/swarm
orchestration patterns need full Codex-native rewrites (not converter
fixes) — tracked separately.

Validated with: codex exec -s read-only (gpt-5.4)
2026-03-14 03:29:04 -04:00
Test ec3a87df01 Complete ae591e7c follow-up batch 2026-03-08 21:40:47 -04:00
Test 2abe004643 feat: complete codex-first skill rollout 2026-03-08 12:49:35 -04:00
Boden Fuller 9205270833 Harden local codex skill validation 2026-03-07 13:26:49 -05:00
Boden Fuller e0e21e3535 feat: add native Codex plugin install support 2026-03-07 07:30:08 -05:00
Boden Fuller e844c131ae fix(release): track codex release notes reference 2026-03-05 23:08:04 -05:00
Boden Fuller 96b62f20fb chore: stage council V2 contract wiring and skill-codex updates
Wire 6-judge analytics recommendations into skill contracts, add push
skill, sync embedded hooks, and update docs/product metadata.
2026-03-02 06:48:56 -05:00
Boden Fuller 7d65010131 chore: regenerate codex-native skills (modular layout, 49 skills)
Generated by sync-codex-native-skills.sh with modular layout.
References and scripts copied as files instead of inlined.
Overrides applied for 9 skills. Parity validated: 49/49.
2026-02-26 11:02:17 -05:00
Boden Fuller ab8df91ced feat(codex): add Codex-native skill format and install/sync scripts
- skills-codex/: 53 skills converted to Codex-native agents.md format
- install-codex-native-skills.sh: install to ~/.codex/agents/
- sync-codex-native-skills.sh: sync from source skills/ to skills-codex/
- test-codex-native-install.sh: integration tests for the install pipeline
2026-02-25 08:44:19 -05:00