一键导入
typescript
Avoid common TypeScript mistakes — any leaks, inference failures, and type narrowing traps.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Avoid common TypeScript mistakes — any leaks, inference failures, and type narrowing traps.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Operates Breeze x402 payment-gated endpoints for balance checks, deposits, and withdrawals on Solana. Use when the user asks to manage Breeze positions or execute paid x402 API calls.
Crossmint provides custodial wallet-as-a-service, NFT minting, virtual debit cards, crypto-to-fiat payouts, and **transaction signing** on Solana. Perfect for AI agents managing DeFi operations without needing a local keypair.
Complete DFlow trading protocol SDK - the single source of truth for integrating DFlow on Solana. Covers spot trading, prediction markets, Swap API, Metadata API, WebSocket streaming, and all DFlow tools.
Complete Drift Protocol SDK for building perpetual futures, spot trading, and DeFi applications on Solana. Use when building trading bots, integrating Drift markets, managing positions, or working with vaults.
Solana vault management via GLAM Protocol. Triggers: glam, glam-cli, glam-sdk, vault create/manage, tokenized vault, share class, DeFi vault, treasury, asset management, access control, delegate permissions, Jupiter swap, Drift perpetuals/spot/vaults, Kamino lending/borrow/vaults/farms, staking (Marinade/native/SPL/Sanctum/LST), cross-chain USDC (CCTP), timelock, subscription/redemption, NAV pricing, token transfer. Supports CLI and TypeScript SDK.
Comprehensive guide for Helius - Solana's leading RPC and API infrastructure provider. Covers RPC nodes, DAS (Digital Asset Standard) API, Enhanced Transactions, Priority Fees, Webhooks, ZK Compression, LaserStream gRPC, and the Helius SDK for building high-performance Solana applications
| name | TypeScript |
| description | Avoid common TypeScript mistakes — any leaks, inference failures, and type narrowing traps. |
| metadata | {"clawdbot":{"emoji":"🔷","requires":{"bins":["tsc"]},"os":["linux","darwin","win32"]}} |
anyunknown forces you to narrow before use — any silently breaks type safetyunknown, never anyunknown, not anyfilter(Boolean) doesn't narrow — use .filter((x): x is T => Boolean(x))Object.keys(obj) returns string[], not keyof typeof obj — intentional, objects can have extra keysArray.isArray() narrows to any[] — may need assertion for element typein operator narrows but only if property is in exactly one branch of unionlet x = "hello" is string — use const or as const for literal type{ status: "ok" } has status: string — use as const or type annotationfn<T>() can't infer, pass a value or annotatetype or kind field to each variant — enables exhaustive switchdefault: const _never: never = x — compile error if case missedsatisfies vs Type Annotationconst x: Type = val widens to Type — loses literal infoconst x = val satisfies Type keeps literal, checks compatibility — prefer for config objects?. returns undefined, not null — matters for APIs expecting null?? only catches null/undefined — || catches all falsy including 0 and ""! should be last resort — prefer narrowing or early returnimport type for type-only imports — stripped at runtime, avoids bundler issuesexport type { X } — prevents accidental runtime dependency.d.ts augmentation: use declare module with exact module path