Author and edit SKMTC generators — Projection classes, Snippets, transform functions, enrichment schemas, and the customization seams in cloned stock generators. Teaches the generation model first: the three-phase lifecycle (parse, generate, render), code as Stringable object trees, dependencies declared at construction and settled by the engine, and Files as the cache that makes generation idempotent and order-independent. Use this skill when the user asks to "write a skmtc generator", "author a generator", "clone gen-x", "customize gen-x", "add a field type", "swap the HTTP layer", "change export paths", "add enrichment options", "compose generators", or edits a `.ts`/`.tsx` file under `<root>/.skmtc/<project>/<gen-name>/`. Defer to `skmtc-cli-v2` for install/clone/bundle commands themselves. Defer to `skmtc-debug` when the generator's output is broken and the cause isn't yet known. Pair with `skmtc-lang-typescript` or `skmtc-lang-kotlin` for the target-language layer — load the lang skill for whichever la
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. Covers the command surface (`init`, `create`, `clone`, `install`, `list`, `remove`, `generate`, `describe`, `bundle`, `clean`, `status`, `eject`, `adopt`, `dev`, `publish`, `push`, `pull`, `project`, `migrate`, `login`, `logout`, `doctor`, `agent-context`), the `<root>/.skmtc/<project>/` workspace layout, the `.settings/client.json` shape (basePath, source, enrichments, skip, include), and the agent-native operation modes (interactive / strict text / strict JSON) with their exit codes and recipe-error contract. 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 is `publish`; there is no `deploy`), "skmtc in CI", or invokes any
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 is `publish`; there is no `deploy`), "skmtc in CI", or invokes any CLI subcommand. For *authoring* a generator package (Projections, Snippets, transform functions), defer to `skmtc-generator-v2`. When something is broken (no output, wrong output,
Author and edit SKMTC generators — write or modify Projection classes, Snippets, transform functions, enrichment schemas, and the customization seams in cloned stock generators. Covers the generation model (producers, Definitions, Files-as-cache), the DSL (Projection vs Snippet, ContentSettings), cross-generator coordination via memoization, and the operational rules that override default TypeScript / codegen intuitions imported from training data. Use this skill when the user asks to "write a skmtc generator", "author a generator", "clone gen-x", "customize gen-x", "add a field type", "swap the HTTP layer", "change export paths", "add enrichment options", "compose generators", or edits a `.ts`/`.tsx` file under `<root>/.skmtc/<project>/<gen-name>/`. Defer to `skmtc-cli` for install/clone/bundle commands themselves. Defer to `skmtc-debug` when the generator's output is broken and the cause isn't yet known — verify-first stance takes priority during diagnosis. Pair with `skmtc-lang-typescript` for the TypeScr
The GraphQL pipeline for SKMTC generators — authoring generators whose input schema is GraphQL SDL rather than OpenAPI. Covers `toGqlOperationEntry`, `GqlOperation`, `synthesizeArgsObject` (mutation args -> object schema), the GQL enrichment routing (`[id][rootKind][fieldName][variant]` — two nested subject keys where OAS has path+method), the `to<Lang>GqlOperationProjectionBase` companion factories, and the `GeneratorKey` shape `id|rootKind|fieldName|variant`. Use this skill ALONGSIDE `skmtc-generator` whenever the schema source is GraphQL SDL or the task mentions "GraphQL", "SDL", "GqlOperation", "toGqlOperationEntry", or GraphQL query/mutation generators. Engine rules (producers, register/insert, the axioms) stay in `skmtc-generator`; this skill carries only what differs for GraphQL.
The Kotlin target-language layer for SKMTC generators (`@skmtc/lang-kotlin`). Covers how a generator declares Kotlin as its target language (importing `toKtModelProjectionBase` / `toKtOasOperationProjectionBase` and `KtSnippet` from the lang package), what the lang package exports (the `kotlin` Lang object, the register family, `KtFile` / `KtImport` / `KtDefinition`), the head+value rendering model, entity kinds and identifier factories, the import model of emitted Kotlin (packages from paths, symbol-level imports, same-package suppression, no type-only imports), the value composition classes (`KtParameterList`, `KtPrimaryConstructor`, `KtFunctionSignature`, `KtAnnotation`), the `SchemaToValueFn` router contract and where serialization annotations and default values are decided (inside the router's per-type snippets, exposed as value fields), and naming/sanitization (`sanitizePropertyName`, `toPackageName`, hard keywords like `object`). Use this skill alongside `skmtc-generator` whenever a generator emits Ko
The TypeScript target-language layer for SKMTC generators (`@skmtc/lang-typescript`). Covers how a generator declares TypeScript as its target language (importing the projection-base veneers and `TsSnippet` from the lang package), what the lang package exports (the `typescript` Lang object, the register family, `TsFile` / `TsImport` / `TsDefinition`), entity kinds and `Identifier` factories, the import model of emitted TypeScript (type-only imports, TS1484 / `verbatimModuleSyntax`, `toImport()`), the TS syntax helpers (`List`, `FunctionParameter`, `toPathTemplate`, …), and naming/sanitization of emitted identifiers. Use this skill alongside `skmtc-generator` whenever a generator emits TypeScript — i.e. for almost all generator authoring today — and specifically when the user asks about "lang-typescript", "TsSnippet", "type-only imports", "TS1484", "import type", "where do I import List from", "sanitizePropertyName", or anything about the *shape of the emitted TypeScript* rather than engine behavior. Engine r
Diagnose failures in SKMTC sessions — no output, wrong output, error messages, bundle freshness, parseIssues, "Registered definition mismatch", ref cycles, "Module not found" in generated code, or any other broken behavior. Applies across both CLI usage and generator authoring contexts. Use this skill when the user asks "why isn't my generator working", "no output for X", "wrong output", "what does this error mean", "manifest says X", "bundle is stale", "INVALID_SCHEMA", "INVALID_DEPENDENCY_REF", "Registered definition mismatch", "Module not found" (in generated code), "ConfigValidationError", or reports any other SKMTC failure. This skill encodes a **verify-first epistemic stance** — read the manifest, check parseIssues, reproduce the failure before proposing fixes. Distinct from `skmtc-cli` and `skmtc-generator` which guide *doing*; this skill guides *diagnosing*.