Skip to content
Agentmart
Submit a tool

kernel-dev-typescript

Strict TypeScript: type ownership, derived types, generics, async boundaries.

Skill by project

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/ponti-studios-kernel-dev-typescript

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Strict TypeScript: type ownership, derived types, generics, async boundaries. Use for types, schemas, tsconfig, and shared packages.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/kernel-dev-typescript

What's inside

Skill name
kernel-dev-typescript
Description
Strict TypeScript: type ownership, derived types, generics, async boundaries. Use for types, schemas, tsconfig, and shared packages.
License
MIT
Compatibility
TypeScript 5+ / TypeScript 7 (tsgo).
Metadata
author: project · version: 1.0 · category: Engineering
Instructions
91 lines in SKILL.md · view on GitHub

Files (2)

  • SKILL.md
  • architecture.md · references/

SKILL.md (first lines)

## When to use

- user is adding or reviewing TypeScript types, interfaces, or generics
- user is defining a schema and needs types to stay aligned with it
- user is deciding where a shared type should live in the package graph
- user is configuring tsconfig.json or resolving shared type boundaries
- user asks why a type is wider, duplicated, or less safe than expected
- user is introducing assertions, ignores, or escape hatches to bypass a type error
- Use when enforcing strict type safety in application or shared code
- Use when reviewing for duplicated type definitions or `any` leakage
- Use when deriving types from schemas, generated output, or existing source types
- Use when a type needs clear ownership in a monorepo or package graph

## Outputs

- Tightened type ownership and derivation plan
- Corrected shared or exported types
- Schema-derived or source-derived type definitions
- Type-safety findings and required fixes

## Definition of done

- Types have a clear single source of truth
- No unsafe widening or duplicated parallel type definitions remain
- Boundary types are derived from authoritative schemas or source types
- Strictness settings and package boundaries remain intact

Enforce full TypeScript strictness and keep types derived, owned, and non-duplicated. This skill exists to stop the LLM from weakening the type system or creating parallel truth.

## Non-Negotiables

- Do not use `any` in exported, shared, or boundary-facing types.
- Do not silence type errors with `@ts-ignore`, unsafe assertions, or widening casts unless the user explicitly approves a temporary exception.
- Do not create parallel type definitions when a type can be derived from a schema, generated artifact, or existing source type.
- Do not hand-edit generated type files.
- Do not weaken strict compiler settings to make code compile.

Required strictness:

- `strict`
- `exactOptionalPropertyTypes`
- `noUncheckedIndexedAccess`

## Ownership Rules

Every important type must have one authoritative source.

Prefer deriving types from:

- Zod schemas
- generated database or API artifacts
- existing exported source types
- function return types or object literals when that preserves a single source of truth

Do not maintain:

- one runtime schema and a second handwritten TypeScript type for the same shape
- one server type and a second manually synchronized client copy when a shared or derived contract exists
- one generated type and a second "cleaned up" alias that silently drifts

A type belongs in the lowest-level package that truly owns it. Do not hoist a type to a shared package until more than one consumer genuinely needs it.

## Enforcement Focus

Use this skill to enforce:

- full strictness instead of convenience escapes
- derivation instead of duplication
- narrow exported contracts instead of widened internal shapes
- package-boundary correctness instead of direct `src/` imports
- explicit boundary typing for async results, schemas, and shared contracts

When a type error appears, fix the mismatch at the source of truth instead of layering casts on top of it.

## Structural Decisions

See `references/architecture.md` for:

- type ownership in a monorepo package graph
- tsconfig project references
- package exports boundaries
- circular dependency avoidance for shared types and generated output

## Guardrails

- Never use `any` where `unknown` plus narrowing would preserve safety.
- Never duplicate a type shape just because it is inconvenient to derive.
- Never import from another package's `src/` directly; use published exports.
- Never widen a boundary contract to avoid fixing upstream typing.
- Never let schema, generated types, and exported contracts drift apart.

From ponti-studios/kernel, MIT.

More from ponti-studios/kernel

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Oct 12, 2026 (17 days ago)
Last release
Mar 26, 2026 (7 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
1.0
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from project

Cite this page

kernel-dev-typescript skill. Agent Mart. https://agentmart.dev/skills/ponti-studios-kernel-dev-typescript (last updated 2026-10-24)