Agent skill
rule-typescript
Rule mapping for typescript
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/rule-typescript
SKILL.md
Rule typescript
Apply this rule whenever work touches:
*.ts*.tsx
This project uses TypeScript in strict mode with additional safety flags. Every file must compile cleanly under these settings.
Strict compiler options
The tsconfig enables strict: true plus:
- noUncheckedIndexedAccess - array/object index access returns
T | undefined. Always check the result before using it. - exactOptionalPropertyTypes - optional properties do not accept
undefinedas an explicit value unless the type also includes| undefined. - noImplicitReturns - every code path in a function must return a value if any path does.
Imports and path aliases
Cross-library imports must use the path aliases defined in tsconfig.paths.json. For example:
// Correct
import { stubDocument } from '@carrot-fndn/shared/testing';
// Wrong - relative path crossing library boundary
import { stubDocument } from '../../../shared/testing/src';
Within the same library, relative imports are acceptable.
Exports
All exported symbols must have explicit return types. This improves API readability and catches accidental return-type changes.
// Correct
export function computeScore(input: RuleInput): RuleOutput { ... }
// Wrong - implicit return type
export function computeScore(input: RuleInput) { ... }
Use named exports only. Default exports make refactoring harder and are inconsistent with the rest of the codebase.
Type utilities
Prefer type-fest utilities over custom mapped types:
SetRequired<T, K>instead of manualOmit & RequiredcombinationsReadonlyDeep<T>for deeply immutable structuresJsonValue/JsonObjectfor JSON-safe typing
Zod integration
Define Zod schemas as the source of truth for shapes that require runtime validation. Derive the static TypeScript type from the schema:
const UserSchema = z.object({
name: z.string(),
age: z.number().int().positive(),
});
type User = z.infer<typeof UserSchema>;
Never maintain a hand-written interface alongside a Zod schema for the same shape.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?