Install
$ agentstack add skill-hoangnguyen0403-agent-skills-standard-typescript-language ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
TypeScript Language Patterns
Priority: P0 (CRITICAL)
Implementation Guidelines
- Type Annotations: Explicit params/returns. Infer locals.
- Interfaces vs Types: interface for APIs (supports declaration merging). type for unions, intersection types, mapped/conditional types.
- Strict Mode: strict: true. Null Safety: ?. and ?? — Use narrowing instead. Avoid non-null assertion (!) operator.
- Enums: Literal unions or
as const. No runtimeenum. - Generics: Reusable, type-safe code.
- Type Guards:
typeof,instanceof, predicates. - Utility Types:
Partial,Pick,Omit,Record. - Immutability:
readonlyarrays/objects. Const Assertions:as const,satisfies. - Template Literals:
on${Capitalize}. - Discriminated Unions: Literal kind property to narrow type safely. Switch on discriminant.
- Advanced: Mapped, Conditional, Indexed types.
- Access: Default
public. Useprivate/protectedor#private. - Branded Types:
string & { __brand: 'Id' }.
Anti-Patterns
- NEVER use
any: Useunknownor specific interface instead. - No
Function: Use signature() => void. - No
enum: Runtime cost. - No
!: Avoid non-null assertion (!). Use narrowing (typeof, instanceof, if-checks). - No Lint Disable: Fix root cause; never suppress.
Testing
- Mocking: Use
jest.Mockedoras unknown as T. - Checklist: Check method existence, match error constants, satisfy required properties.
- References: See [references/TESTING.md](references/TESTING.md) for common issues/solutions.
Code
// Branded Type
type UserId = string & { __brand: 'Id' };
// Satisfies (Validate + Infer)
const cfg = { port: 3000 } satisfies Record;
// Discriminated Union
type Result = { kind: 'ok'; data: T } | { kind: 'err'; error: Error };
Verification
After any type change that crosses module boundaries or involves generics, unions, conditional types, or branded types: call getDiagnostics (typescript-lsp MCP tool) to confirm no type errors before finalizing.
References
For advanced type patterns and utility types: See [references/REFERENCE.md](references/REFERENCE.md).
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: HoangNguyen0403
- Source: HoangNguyen0403/agent-skills-standard
- License: Apache-2.0
- Homepage: https://www.npmjs.com/package/agent-skills-standard
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.