← ClaudeAtlas

dxkit-author-extensionlisted

Write a dxkit extension FOR the user from a prose description of what they want extracted, verified, or delivered — pick the lowest rung (declared artifact → external script → TypeScript plugin), generate the manifest/adapter/plugin, and drive `extensions dev` until green. Use when the user describes a bespoke convention ("our screens are JSX files with a <Screen> root", "our API client is acmeApi.request", "our permissions are hasPermission() calls") or asks to port an existing extractor/report script into dxkit.
vyuh-labs/dxkit · ★ 10 · Data & Documents · score 72
Install: claude install-skill vyuh-labs/dxkit
# dxkit-author-extension You are writing the extension; the user describes the convention. Work the ladder from the bottom — the lowest rung that expresses the need wins, and every rung down is less code the user owns: 1. **Config / declared artifact** — if the evidence already exists as a Postman collection, Pact, `.http` file, HAR, or OpenAPI doc, declare it in `.dxkit/policy.json:flow.sources` and STOP. No code. 2. **External script (rung 3)** — the user has extraction logic (any language) or you can write ~50 lines of Python: a manifest + stdin-payload adapter emitting one wire document. This covers almost everything: inventories, custom findings, delivery sinks. 3. **TypeScript plugin (rung 4)** — only when the need is INSIDE dxkit's gather: a bespoke HTTP-client wrapper flow can't see, a custom artifact format for `flow.sources`, base-URL logic beyond `stripUrlPrefixes`, or an assertion over the gathered flow model. ## The authoring loop (all rungs) 1. Scaffold: `vyuh-dxkit extensions init <name> --kind <kind> --command "…"` (rung 3, `--stub` for a Python starter) or `vyuh-dxkit extensions init <name> --plugin [--kind <kind>]` (rung 4). 2. Read sample source/artifacts the user points at; fill in the logic. 3. `vyuh-dxkit extensions dev <name>` — field-precise errors ARE the spec; iterate until VALID and the summary shows the expected counts. 4. Sanity-check counts against ground truth (grep the repo, count rows). 5. Commit the manife