Skills
skmtc/skmtcFive skills teach a coding agent to author Skmtc generators: packages that project an OpenAPI document, treated as a domain model, into application code. They ship from the same commit as the engine they describe, and the repo's checks fail when one drifts from the source.
The five
- skmtc-generator0.13.0Engine rules, load first
Author and edit Skmtc generators — packages that project an OpenAPI domain model into application code. Method: clone the nearest stock generator, then apply the engine rules imitation can't teach. Assumes zero prior Skmtc knowledge. Use when asked to "write a skmtc generator", "author/clone/customize gen-x", "add a field type", "change export paths", "add enrichment options", or when editing generator source. ALWAYS pair with the target language's skill (skmtc-lang-typescript).
- skmtc-lang-typescript0.2.2The emitted TypeScript
The TypeScript target-language layer for Skmtc generators (@skmtc/lang-typescript): projection base factories, TsSnippet, the three register shapes, identifier kinds and the type-only import machinery, composition helpers, sanitization, TsFile render rules. Use ALONGSIDE skmtc-generator whenever a generator emits TypeScript. Headings are the template for other skmtc-lang-* skills.
- skmtc-model0.1.3One definition per component schema
The model-generator shape for Skmtc: one definition per component schema, built by copying the shipped SKELETON package and filling its SLOT markers with the target library's syntax. Covers the edge cases every model generator must survive — refs, recursion, optional vs nullable, additionalProperties, enums, readOnly/writeOnly. Use when authoring or editing a generator that maps schemas to a validator/schema/type library ("write a gen-<lib>", "map OpenAPI models to <lib>"). Load ALONGSIDE skmtc-generator (engine rules) and skmtc-lang-typescript (TS layer).
- skmtc-operation0.1.1One definition per (path, method)
The operation-generator shape for Skmtc: one definition per (path, method), for any output family — client hooks, SDK methods, forms, route stubs, docs. Output varies wildly; the DECOMPOSITION of the operation and the peer-consumption rules do not. Core teaching: every schema that appears in your output is a reference to a model generator's definition, obtained through the insert machinery — never rendered text. Use when authoring or editing a generator whose subject is operations ("write a gen for API clients/hooks/routes", "generate an SDK/form per endpoint"). Covers the projection shape only — accumulators (many operations → one file) are out of scope. Load ALONGSIDE skmtc-generator and the emitted language's skill.
- skmtc-cli0.5.0Workspaces, config, the agent contract
Use the Skmtc CLI to scaffold projects, install or clone generators from JSR, configure schema sources and enrichments, and produce code artifacts from an OpenAPI v3 or GraphQL SDL schema. Teaches the workspace mental model (
<root>/.skmtc/<project>/, client.json, bundle, manifest) and the agent contract (strict text / strict JSON modes, exit codes, recipe errors,agent-context+doctor); the command surface itself is discovered from the binary —skmtc --help,skmtc <cmd> -h— rather than carried in this skill. Use this skill when the user asks to "run skmtc", "generate code from an OpenAPI schema", "install a skmtc generator", "scaffold a skmtc project", "watch a skmtc project", "configure enrichments", "publish a stack", "deploy to skmtc-hub" (the command ispublish; there is nodeploy), "skmtc in CI", or invokes any CLI subcommand. For authoring a generator package (Projections, Snippets, transform functions), defer toskmtc-generator. When something is broken (no output, wrong output, error messages, stale bundle), verify before proposing a fix: read the manifest and the parse issues, and reproduce the failure first.
Load skmtc-generator first. It carries the engine rules. Add the target language's skill, then the shape skill matching your subject.