OpenParable
Skip to content
← Back to skills

A2ui Catalog Extractor

Documents
a2ui-catalog-extractor

A2ui Catalog Extractor is an Agent Skill for documents published in the lynx-family/lynx-stack repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Generate or maintain A2UI catalog JSON from TypeDoc reflections for TypeScript interfaces marked with @a2uiCatalog.

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/lynx-family/lynx-stack/blob/HEAD/packages/genui/a2ui-catalog-extractor/skills/a2ui-catalog-extractor/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/a2ui-catalog-extractor, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

A2UI Catalog Extractor

Use this skill when a task involves authoring, updating, debugging, or generating A2UI catalog JSON from TSX/TypeScript component interfaces.

Workflow

  1. Mark only the catalog-facing TypeScript interface with @a2uiCatalog <ComponentName>.
  2. Use only standard TypeDoc-supported tags besides @a2uiCatalog: summaries, @remarks, @defaultValue, and @deprecated.
  3. Keep catalog-facing shapes inline in the marked interface. The extractor consumes TypeDoc reflection data and does not parse source files itself.
  4. Generate component catalog files with:
a2ui-catalog-extractor --catalog-dir src/catalog --out-dir dist

Supported Type Shapes

  • string, number, boolean
  • string literal unions, emitted as JSON Schema enum
  • mixed unions, emitted as oneOf
  • arrays with T[], Array<T>, or ReadonlyArray<T>
  • inline object type literals
  • Record<string, T>

Developers should not write JSON Schema in comments. If extraction fails because a reference is unsupported, inline the component's catalog contract in the marked interface.