a0p-self-declaring-modules

Generate a live registry from self-declaring module files at boot.

1|4|Updated Feb 20, 2026
One-click install
npx skills add https://github.com/The-Interdependency/a0 --skill a0p-self-declaring-modules
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: a0p-self-declaring-modules
Source: https://github.com/The-Interdependency/a0/tree/main/.agents/skills/a0p-self-declaring-modules
Command: npx skills add https://github.com/The-Interdependency/a0 --skill a0p-self-declaring-modules

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Eliminates the need for a central registry by allowing each module to declare its own metadata plus handler in a single file, with a filesystem scanner discovering them at boot and generating the registry.

Core Features & Use Cases

  • Self-declaring modules: every module exports both SCHEMA and handle in one place, so there is no drift between metadata and logic.
  • Deterministic discovery: a stable, cache-friendly file scan order ensures reproducible registries across runs.
  • Registry generation: boot-time assembly creates the live registry for route modules, distill skills, a0-skills, and tools.
  • No central list: new tools or modules appear by file addition and disappear by deletion, with a 400-line cap enforced by a0p-module-doctrine.

Quick Start

Drop a new module file into the registry directory following the single-file pattern and reboot to regenerate the registry.

Frequently Asked Questions about a0p-self-declaring-modules

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a Python registry without a centralized dispatch file?

Build a Python registry without centralized dispatch by having each module declare its own metadata and handler in a single file. A filesystem scanner discovers them at boot and generates the registry automatically. This eliminates manual central edits.

What is the best way to auto-discover route modules for boot-time registry generation?

Auto-discover route modules for boot-time registry generation by using deterministic file scanning. Each route module colocates its SCHEMA and handler, allowing a scanner to assemble them into a live registry at boot without manual registration.

How does self-declaring module metadata prevent drift in Python applications?

Self-declaring module metadata prevents drift by colocating the SCHEMA and handle function in one file. This ensures metadata and logic stay synchronized, so the registry generated by the filesystem scanner matches the actual implementation.

Does self-declaring module discovery require a specific file pattern?

Yes, self-declaring module discovery requires the a0p-style single-file pattern. Modules must colocate their SCHEMA and handler in the same file and adhere to the 400-line cap enforced by a0p-module-doctrine for deterministic discovery.

What happens when I add or remove a tool module from the registry directory?

When you add or remove a tool module from the registry directory, it appears or disappears from the registry after a reboot. The deterministic discovery scanner regenerates the live registry based on the current filesystem state.

Why should I use filesystem scanning instead of a central registry for Python tools?

Use filesystem scanning instead of a central registry to allow scalable growth without drift. New tools or modules appear by file addition and disappear by deletion, removing the need to manually update a central dispatch list.