Kamae Ts — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Kamae Ts (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
Aggregate score unchanged between these scans.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> <img src="./docs/assets/logo.svg" alt="kamae-ts" height="120"> </p>
<p align="center"> <a href="https://iwasa-kosui.github.io/kamae-ts/"><strong>Documentation →</strong></a> </p>
日本語版: README.ja.md
_Kamae (構え) — a stance of readiness._
An extensible harness of skill plugins for designing and implementing robust server-side TypeScript applications. Each skill encodes a kamae — a practiced stance for a specific design concern — that coding agents apply when generating or reviewing code.
The current stances focus on functional domain modeling; more will be added over time.
Via gh skill (the GitHub CLI's agent skills extension):
# Install a single skill (interactive prompt for agent/scope)
gh skill install iwasa-kosui/kamae-ts kamae
# Install non-interactively for Claude Code at user scope
gh skill install iwasa-kosui/kamae-ts kamae \
--agent claude-code --scope user
# Pin to a specific release
gh skill install iwasa-kosui/kamae-ts [email protected]Or via skills CLI:
npx skills add iwasa-kosui/kamae-tskamaeTriggered when writing server-side TypeScript code (domain models, use cases, repositories, state transitions, error handling, boundary validation, PII protection). Guides code generation through a thin dispatcher SKILL.md that lazy-loads topic sub-files (domain-modeling.md, state-modeling.md, error-handling.md, boundary-defense.md, declarative-style.md, test-data.md) and library-specific guides only when relevant.
kamae-reviewTriggered during code review. Walks a checklist of severity-tagged review items (split across checklist/*.md sub-files) and reports findings citing the canonical principle in kamae. Depends on kamae being installed for the knowledge base — install both together.
Both skills load applicable rules at the start of each invocation, in priority order:
.claude/rules/*.md (project)~/.claude/rules/*.md (user-global)rules/defaults/*.mdA rule applies to kamae-ts when its frontmatter declares applies-to: kamae, applies-to: kamae-review, or applies-to: "*". Four rule types are supported:
library-preference — pin a specific Result or validation library (overrides auto-detection)check-toggle — disable a named review check (e.g., PII protection for projects with no personal data)convention — declare project-specific conventions (e.g., "Branded Types live in src/types/brand.ts")override — replace specific guidance from a topic sub-fileSee rules/README.md for the rule format and concrete examples.
For full skill replacement, use Claude Code's standard skill path-shadowing (.claude/skills/kamae/SKILL.md overrides the installed plugin's).
Skill quality is continuously evaluated with microsoft/waza.
evals/kamae/ and evals/kamae-review/..github/workflows/eval.yml runs both suites on every pull_request that touches skills/**, evals/**, rules/**, or .waza.yaml, using the copilot-sdk executor.A reading version of the principles is published at https://iwasa-kosui.github.io/kamae-ts/, in both English (/en/) and Japanese (/ja/).
Join the official Discord server to discuss server-side TypeScript, ask questions, and share what you are working on: <https://discord.gg/Z9HVbqEWzd>
These principles are based on the following articles:
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.