agentic-praxis-grimoire

APG Skill Library

Current status

The development catalog contains twenty-eight canonical skills: fourteen stable rows and fourteen provisional rows. The provisional rows are the ChatGPT-manager subrouter, approved-roadmap manager-assignment leaf, Go and Ruby language profiles, PostgreSQL and SQLite profiles, pytest and Minitest test profiles, Dockerfile and Vagrantfile profiles, the Bash-to-Python conversion skill, the native Go and go-cmp test profiles, and the Nix test profile. APG13 individually reviewed and promoted the six v0.2 catalog entries to stable after repeated real use, representative non-triggers, edge or stop behavior, post-Superpowers evidence, complete regression, and fresh non-author review. Stability means suitability for routine bounded use within each recorded trigger and project boundary; it does not mean production warranty, universal applicability, automatic invocation, or comparative superiority.

Public v0.2.0 appended one intentionally squashed release commit and annotated tag to preserved public v0.1.0 and supplied the maintainer’s separately managed user-global Codex source. Superpowers was subsequently decommissioned, and a bounded fresh RepoMap smoke discovered all six then-public skills, successfully applied the review skill, passed managed checks, and preserved the target repository. Public v0.3.0 later appends one squashed commit and annotated tag over unchanged v0.2.0, expands that public source to nineteen skills, and preserves the integration owner. These are distribution and post-transition evidence; they do not promote any skill.

APG10 evaluated one experimental source under frozen concealed-source scenarios. Existing owners already handled assumptions, alternatives, traceability, speculative scope, necessary consistency work, and proportional escalation. Two independent positive scenarios supported one correction to implementing-with-test-discipline: when policy and removal authority are clear, its coherent slice now includes locally owned code or test artifacts whose sole purpose ended because of the authorized change. Unrelated cleanup and project-owned lifecycle decisions remain outside that rule. No other leaf changed, no seventh skill was added, and all six remain provisional.

APG3 remains a truthful blocked experiment. It stopped before its clean comparison could begin and authored no candidate. APG4 uses a separately authorized bootstrap standard; it does not rewrite APG3 or claim clean A/B evidence.

The canonical APG skill sources live under skills/. Codex repository discovery is supplied by the checked-in .agents/skills/ directory, whose checked-in development entries are relative symbolic links to these canonical leaves. The projection contains no independent skill content and does not change maturity. Current official Codex skill documentation identifies .agents/skills as a repository discovery location and states that Codex follows symlinked skill folders.

The APG v0.1 bootstrap model defines maturity, acceptance, rollback, dogfooding, and later clean-evaluation requirements.

APG5 records the first real explicit-use observation: six-skill discovery passed and reviewing-and-verifying-repository-work produced an evidence-backed pass in the APG private working repository. Automatic selection was not evaluated, and all six skills remain provisional.

APG6 records the first successful additional-repository use. RepoMap supplied one read-only design observation using designing-significant-changes and the review skill, plus one accepted documentation-only implementation and closeout using planning-repository-work and the review skill. Material non-triggers were proportionate, and the review leaf received one evidence-backed frontmatter discovery correction for bounded repository artifacts. No procedure changed, automatic selection was not measured, and every skill remains provisional.

APG7 records one real APG executable observation for implementing-with-test-discipline and a 26-family behavioral suite plus disposable project-local lifecycle. Design, planning, review, and bounded reviewer-assignment procedures were used within their triggers; debugging was a material non-trigger. This is tooling evidence, not automatic-selection, comparative, stable-maturity, or production-readiness evidence. Every skill remains provisional.

APG7A adds a bounded correction observation for debugging-systematically, implementing-with-test-discipline, and the review skill. The semantic ignore override was reproduced, focused tests failed against APG7 production, and the corrected 28-family suite and disposable recovery control passed. Planning and significant-change design remained material non-triggers. This evidence adds no maturity transition; every skill remains provisional.

APG8 records the first real-project managed adoption and check. Planning and review applied to the bounded deployment and evidence gate; significant-change design, implementation test discipline, and systematic debugging remained material non-triggers. Six existing RepoMap links, user-owned exclusion bytes, and the tracked repository were preserved. This evidence adds no maturity transition; every skill remains provisional.

APG13 separately inventories the complete evidence for each leaf and applies one frozen positive, non-trigger, and edge or stop family per skill. All six current leaves passed without a procedure correction and remain byte-identical to the APG12A baseline. Six fresh final per-skill reviews returned accept-stable.

APG16 adds one provisional router for ambiguous APG selection, routing audit, and capability-health diagnosis. It selects one smallest sufficient process leaf or none, rejects mandatory chaining, preserves explicit applicable selection and task authority, and excludes itself. A checked skill-local capability map owns the current routable entries and fails its focused test when the canonical catalog grows without an explicit routing disposition. The router does not alter any stable leaf or the six-skill v0.2 distribution contract.

APG17 adds one provisional synthesis leaf for mixed guidance that needs owner, provenance, privacy, migration, and rollback dispositions before rewrite. Sixteen frozen families and one bounded 34-unit inventory passed with zero candidate corrections. The leaf preserves every source, treats native technical skill authoring as a non-trigger, and changes no stable procedure or six-skill v0.2 distribution contract.

APG18 accepts the language-profile contract and adds one provisional Python profile with calibrated Green/Yellow/Orange/Red structural and semantic responses. The profile preserves repository policy, pairs separately with applicable process skills, and does not change the six-skill v0.2 distribution contract.

APG19 adds provisional Bash, Bats, and Zsh profiles with separate language and test-harness ownership. ZUnit remains deferred until current upstream/runtime evidence or a separately authorized legacy-only scope supports a bounded profile. The three retained leaves change no stable process skill or six-skill v0.2 distribution contract.

APG19A subsequently corrects the Bats fallback test count to include the supported comment function form. Bash and Zsh remain byte-identical; catalog membership, thresholds, maturity, routing, and six-skill v0.2 distribution remain unchanged.

APG20 truthfully defers independent Go and Ruby candidates after final review identifies material defects beyond that phase’s correction allowance. APG20A uses the complete defect ledger as its corrected baseline and retains both leaves after scenario, dogfood, source, integration, and non-author review. The stable procedures and six-skill v0.2 distribution contract remain unchanged.

APG21 accepts separate Nix, PostgreSQL, and SQLite ownership under ADR 0016 and retains provisional PostgreSQL and SQLite leaves after frozen scenarios, read-only dogfood, one bounded SQLite correction, and non-author review. Nix is deferred-material-defect after one correction and a second material scenario contradiction. No generic SQL profile or live operational authority is added.

APG21A corrects the recorded Nix merge contradiction by separating structural merge-family breadth from semantic collision, precedence, ownership, and consumer risk. The reconstructed Nix leaf is retained provisionally after the complete APG21 scenario set, ten focused merge cases, read-only dogfood, and fresh review. One focused PostgreSQL false-escalation correction scopes tested restore evidence to changes that rely on restoration as their recovery boundary. SQLite and router behavior remain unchanged.

APG22 applies the router, synthesis leaf, and all nine retained profiles to 35 frozen read-only APG, RepoMap, private-classification, and public-safe synthetic cases. Every expected disposition matches; no behavior-bearing defect or correction is found. Application discovery is not measured, no maturity row changes, and the six-skill v0.2 distribution remains unchanged. The phase records migration and release-scope proposals without implementing a root cutover, private decommission, manager-assignment skill, ZUnit profile, or v0.3 release.

APG22A adds one provisional leaf that translates already human-approved roadmap authority into a reviewable top-level manager assignment. Thirty frozen cases pass with zero material candidate corrections. Ordinary prompting remains the fallback; planning, worker-assignment composition, routing, review, acceptance, dispatch, and execution remain separate owners.

APG22B subsequently satisfies the separately authorized legacy re-entry condition and adds one provisional ZUnit profile for exactly ZUnit v0.8.2 with Zsh 5.9.2. The exact 5.3.1 pair is unsupported on the tested environment, no version range is claimed, and Zsh semantics remain with the separate Zsh profile. The six- skill v0.2 distribution contract remains unchanged.

APG22C subsequently corrects APG22B’s selected user-startup evidence. The harness now requires an unsuppressed positive control to load the sentinel, -f to suppress it, and the focused ZUnit test process to observe its absence. The exact 5.9.2 support boundary, 5.3.1 unsupported result, leaf bytes, maturity, and six-skill v0.2 distribution contract remain unchanged.

APG23 records fresh-session discovery and explicit-use smoke for all nineteen development skills. It promotes the workflow router, guidance synthesis, Python, Bash, Bats, Zsh, exact-bounded ZUnit, and Nix rows to stable; retains five provisional rows; and includes all thirteen v0.3 skills in release scope. No skill procedure, public v0.2 distribution, schema, managed default, or active integration changes.

APG24 publishes all nineteen release-included skills without changing the fourteen stable and five provisional maturity rows. User and project lifecycle retain schema version 1 with source-specific release sets and explicit subset ownership. The active source advances without changing aggregate-link ownership, and the personal router remains for external source-qualified shadow smoke.

APG24A records that the external shadow passed and that separate human authority then decommissioned the personal router. Public and active v0.3.0 remain unchanged.

APG25 applies one bounded correction to composing-approved-roadmap-assignments. Three frozen assignment pairs and a failing-first focused test support loading repository structured defaults, omitting repeated ordinary procedure, and retaining authority, acceptance, stop, and successor boundaries. The trigger, catalog row, route, projection, and provisional maturity remain unchanged. ADRs 0020-0022 accept future testing, reporting, and ChatGPT-manager topology work without adding or moving a skill in APG25.

APG26 adds provisional pytest-test-profile and converting-bash-scripts-to-python leaves after sixty frozen scenario families, current-source calibration, failing-first focused contracts, read-only report- tool dogfood, and fresh non-author review. The pytest candidate requires no behavior-bearing correction; the conversion candidate uses one bounded option- injection correction. Public and active v0.3.0 remain nineteen-skill surfaces; no report tool is converted and no test is migrated.

APG32 adds the provisional minitest-test-profile after current primary-source and rights calibration, thirty-six frozen scenario families, a failing-first mirrored contract, Minitest-specific structural thresholds, and fresh non-author review. The candidate uses one bounded trigger and ownership correction. Public and active v0.3.0 remain nineteen-skill surfaces, and APG32 selects no dependency, command, coverage target, readiness action, release, or successor.

APG33 adds the provisional dockerfile-profile after current primary-source and rights calibration, forty frozen scenario families, a failing-first mirrored contract, Dockerfile-specific structural thresholds, one bounded context, ownership, and measurement correction, and fresh non-author review. Public and active v0.3.0 remain nineteen-skill surfaces, and APG33 selects no image, dependency, platform, project command, runtime policy, readiness action, release, or successor.

APG34 adds the provisional vagrantfile-profile after current primary-source and rights calibration, forty frozen scenario families, a failing-first mirrored contract, Vagrantfile-specific structural thresholds, and fresh non-author review. The candidate uses one bounded source-semantics and machine-measurement correction. Public and active v0.3.0 remain nineteen-skill surfaces, and APG34 selects no provider, box, plugin, host platform, network, synced folder, provisioner, project command, lifecycle action, readiness action, release, or successor.

APG38 integrates two corrected APG37 Go component profiles as provisional owners after 66 public-safe scenario families, isolated compatibility probes, independent source and structural review, and one coherent correction cycle per candidate. matryer-is-test-profile and nix-test-profile are deferred after corrected-state review found new behavior defects, so their current-tree integration surfaces are absent. ADR 0026 accepts the two-component, no-stack Go architecture. Public and active v0.3.0 remain nineteen-skill surfaces.

APG40 retains nix-test-profile provisionally after exact-source review, forty corrected public-safe scenarios, source-corpus calibration, one coherent correction cycle, and fresh non-author review. The exact-version matryer/is candidate is deferred-material-defect after its corrected equality contract still invented a source branch; its current surfaces are absent. ADR 0027 is Rejected, ADR 0026 remains Accepted, and no Go stack exists. Public and active v0.3.0 remain nineteen-skill surfaces.

Canonical leaf and discovery shape

Each canonical APG skill source is a direct child of skills/:

skills/
└── <skill-name>/
    ├── SKILL.md
    ├── scripts/       # optional deterministic helpers
    ├── references/    # optional detailed guidance
    └── assets/        # optional templates or media

SKILL.md is required. Supporting directories are optional and exist only when the skill actually uses them. APG v0.1 needs no support directories. Harness-specific metadata, such as an agents/openai.yaml file, may be added only when a target harness and validation need justify it.

Codex uses a separate repository-local projection:

.agents/
└── skills/
    └── <skill-name> -> ../../skills/<skill-name>

Every APG v0.1 projection entry is a relative symbolic link to one matching canonical leaf. Canonical documentation, provenance, maturity, and evaluation records continue to identify skills/; .agents/skills/ owns discovery layout only. Separate opted-in Git worktrees may use apg-project-skills to manage machine-local absolute links to the same leaves with strict Git-local ownership and exclusion. The projection guide defines that installation and rollback boundary. Other harness projections require separate evidence and authorization.

APG30 implements ADR 0022’s skills/chatgpt/<name>/ canonical owner for actor-qualified ChatGPT-manager leaves while retaining flat .agents/skills/ discovery. The current 28/28/28 library contains twenty-six direct children and two nested ChatGPT-manager leaves. The namespace directory is not a skill.

This shape follows APG0-AGENT-SKILLS-SOURCE-01, the public Agent Skills specification inspected on 2026-07-18. The specification publishes no semantic revision, so this phase-local source ID and date record APG’s basis without claiming that the public page is immutable. Future work must re-evaluate compatibility against an explicitly recorded later source identity rather than silently changing the APG0 basis.

Current development catalog

Skill Trigger boundary Maturity
composing-bounded-worker-assignments Delegation is already authorized and selected, and one non-trivial worker assignment needs explicit boundaries stable
composing-approved-roadmap-assignments A human-approved roadmap phase or explicitly approved bounded phase sequence needs a reviewable top-level manager assignment without added authority provisional
designing-significant-changes Consequential behavior, architecture, ownership, contracts, safety, or irreversible choices remain unresolved stable
planning-repository-work An accepted objective needs dependent steps, cross-file coordination, staged risk reduction, or durable handoff stable
implementing-with-test-discipline A code change benefits from executable behavioral evidence stable
converting-bash-scripts-to-python An existing Bash executable or script family needs a bounded conversion to Python that preserves or deliberately migrates its observable contract provisional
debugging-systematically Behavior is failing, inconsistent, flaky, unexplained, or has multiple plausible causes stable
reviewing-and-verifying-repository-work A bounded repository artifact, change, phase, commit, or worker result needs evidence-backed acceptance, correction, disposition, or a completion claim stable
agentic-praxis-grimoire-workflow Multiple APG skills are plausible, a routing decision needs audit, or APG capability metadata may be missing or stale stable
chatgpt-manager-workflow Selection among multiple plausible ChatGPT top-level-manager capabilities is ambiguous or a ChatGPT-manager routing decision requires audit provisional
synthesizing-repository-guidance A dense, duplicated, mixed-scope, private, or source-derived guidance corpus needs bounded ownership and migration dispositions before rewrite stable
python-language-profile Python-specific judgment is material to structure, complexity, public APIs, typing, concurrency, serialization, packaging, or warning and crisis thresholds beyond repository policy stable
bash-language-profile Bash-specific judgment is material to quoting, expansion, arrays, pipelines, traps, subprocesses, files, portability, or warning and crisis thresholds beyond repository policy stable
bats-test-profile Bats-specific test judgment is material to evaluation, run status and output, hooks, fixtures, TAP, file descriptors, parallelism, background cleanup, or warning and crisis thresholds beyond repository policy stable
dockerfile-profile Dockerfile-specific judgment is material to parser directives, build stages, instruction forms, variable scope, build context, copies, mounts, cache behavior, file ownership, runtime metadata, platform behavior, or warning and crisis thresholds beyond repository policy provisional
vagrantfile-profile Vagrantfile-specific judgment is material to configuration versions and loading, machines, boxes, provider blocks, networks, synced folders, provisioners, triggers, Vagrant state, host-dependent behavior, or warning and crisis thresholds beyond repository policy provisional
minitest-test-profile Minitest-specific judgment is material to test or spec organization, assertions, lifecycle, mocks, stubs, fixture alternatives, isolation, parallelism, filtering, runners, plugins, reporters, subprocess, filesystem, or database test boundaries, or warning and crisis thresholds beyond repository policy provisional
pytest-test-profile pytest-specific judgment is material to discovery, collection, assertions, fixtures, parametrization, mocks, isolation, xdist, coverage, or warning and crisis thresholds beyond repository policy provisional
go-cmp-test-profile A repository has already selected google/go-cmp v0.7.0 and comparison judgment is material to equality versus diff, option composition and filters, comparers and transformers, ignores and unexported fields, sorting, approximation, panics, diagnostic exposure, or thresholds beyond repository policy provisional
go-language-profile Go-specific judgment is material to structure, errors, context, interfaces, generics, concurrency, public APIs, reflection, unsafe, cgo, subprocesses, compatibility, or warning and crisis thresholds beyond repository policy provisional
go-test-profile Native Go test judgment is material to package placement, subtests, helper attribution, cleanup and isolation, TestMain, parallelism, goroutine reporting, examples, benchmarks, fuzzing, caching, effective language version, or warning and crisis thresholds beyond repository policy provisional
nix-language-profile Nix-specific judgment is material to expressions, attribute sets, modules, derivations, flakes, overlays, purity, evaluation, store exposure, activation, remote builders, or warning and crisis thresholds beyond repository policy stable
nix-test-profile Nix test judgment is material to selecting which already-selected testing surface proves an exact claim, package phases, flake checks, Nixpkgs or NixOS test ownership, test-evidence qualification across sandbox, store, builder, or cache boundaries, or Nix-test-specific structural review provisional
postgresql-database-profile PostgreSQL-specific judgment is material to SQL, schemas, MVCC, transactions, locks, DDL, migrations, routines, triggers, security, backup and restore, replication, maintenance, or warning and crisis thresholds beyond repository policy provisional
ruby-language-profile Ruby-specific judgment is material to structure, exceptions, blocks, shared state, dynamic dispatch, metaprogramming, callbacks, concurrency, gems, public compatibility, serialization, subprocesses, or warning and crisis thresholds beyond repository policy provisional
sqlite-database-profile SQLite-specific judgment is material to SQL, transaction modes, single-writer concurrency, busy handling, journal or WAL behavior, schema rebuilds, pragmas, affinity, file ownership, backup and integrity, extensions, or warning and crisis thresholds beyond repository policy provisional
zsh-language-profile Zsh-specific judgment is material to option state, arrays, expansion, globbing, autoloading, startup or interactive behavior, hooks, modules, processes, or warning and crisis thresholds beyond repository policy stable
zunit-test-profile An exact APG-verified ZUnit v0.8.2 and Zsh 5.9.2 pair needs ZUnit-specific judgment about runner invocation, discovery, assertions, hooks, configuration, output, isolation, process cleanup, compatibility, or warning and crisis thresholds beyond repository policy stable

These functional groupings do not adopt a category-directory taxonomy. A skill retains one canonical leaf and may be discovered through more than one concept.

Procedure and project-policy boundary

Each leaf owns one reusable procedure after its trigger is satisfied. The target repository or current task continues to own authority, architecture, privacy, exact scopes, test commands, coverage policy, branch and worktree workflow, commits, reviews, pushes, publication, reports, rollback, and destructive actions. A skill consumes those parameters; it does not invent or universalize them.

The bounded-assignment skill composes one assignment only. It does not authorize or dispatch delegation, and ordinary internal workers return through the agent harness rather than managed report commands.

Acceptance and maintenance

The skill authoring and maintenance guide is the normative owner for new skills, frontmatter and behavior-bearing corrections, support additions, maturity-only dispositions, deprecation, and removal. Retained leaves continue to require a coherent reusable problem, precise trigger and non-trigger boundaries, project-owned authority, observable evidence or stop behavior, appropriate provenance, representative scenarios, independent review, structural validation, and a removal path. This catalog summarizes current state; it does not redefine that procedure.

bin/apg-check-skill-library validates the adopted mechanical leaf, catalog, link-containment, and checked-in projection subset. A pass does not establish semantic usefulness, rights, privacy, discovery, maturity, or stability.

Current maturity evidence and release boundary

The APG4 public evaluation summary records the bounded scenario and review result. The Superpowers transition map records coverage and remaining gaps.

The fresh RepoMap discovery smoke, APG10 source-disposition review, APG11 maintenance formalization, APG12 distribution validation, APG12A correction, and APG13 individual maturity review are complete. ADR 0010 records positive, representative non-trigger, edge or stop, real-use, correction, regression, authority, privacy, and rollback evidence for each skill. All six APG13 process leaves passed their frozen applications and final non-author reviews without an APG13 procedure correction.

Clean A/B superiority and a positive use in a second repository are valuable evidence but are not independent stability blockers under ADR 0006. A concrete unresolved material authority, privacy, safety, or procedure defect may block an individual skill. The current catalog contains fourteen stable rows and fourteen provisional manager-assignment, language, database, test-profile, or conversion rows. Public v0.1.0 retains its historical provisional catalog; public v0.2.0 contains the six stable leaves. APG14 changes no skill procedure or maturity row. APG16, APG17, APG18, APG19, APG20A, APG21, and APG21A add only provisional development leaves; APG20 preserves the defect evidence that APG20A corrects. The six APG13 dispositions remain unchanged. No successor phase begins automatically.

APG22 changes no catalog row, capability-map entry, projection, or maturity. Its dogfood evidence does not establish automatic discovery or readiness; APG22A makes the manager-assignment objective terminal. APG22B makes the separately authorized ZUnit compatibility and scope work terminal by retaining one exact version pair. APG22C corrects the startup-isolation evidence without changing that result. APG23 completes the new-session application gate, promotes eight rows, retains five provisional rows, and accepts all thirteen v0.3 skills for release scope. APG24 distributes that exact set as v0.3.0 without changing maturity or any skill procedure. APG26 later adds two provisional private-development candidates without changing that public release, its active integration, or any preexisting maturity row. APG30 adds one provisional subrouter and APG32 adds one provisional Minitest profile under the same immutable public and active v0.3.0 boundary. APG33 adds one provisional Dockerfile profile, APG34 adds one provisional Vagrantfile profile, APG38 adds two provisional Go test-component profiles, and APG40 adds one provisional Nix test profile without changing that boundary.