[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-jwynia-typescript-best-practices-th":3,"guides-for-jwynia-typescript-best-practices":225,"similar-k17c19n9kd9d0ay3552bzzqdex867rdp":226},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":22,"identity":191,"isFallback":196,"parentExtension":197,"providers":198,"relations":202,"repo":204,"workflow":222},1778053622473.6667,"k17c19n9kd9d0ay3552bzzqdex867rdp",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"Guide AI agents through TypeScript coding best practices including type safety, error handling, code organization, and architecture patterns. This skill should be used when generating TypeScript code, reviewing TypeScript files, creating new TypeScript modules, refactoring JavaScript to TypeScript, or when the user asks about TypeScript patterns, types, or coding standards. Keywords: typescript, types, coding standards, best practices, type safety, generics, architecture, refactoring.",{},"TypeScript Best Practices","https://github.com/jwynia/agent-skills/tree/HEAD/skills/tech/development/tooling/typescript-best-practices",[15,16,17,18,19,20,21],"typescript","coding-standards","best-practices","code-generation","static-analysis","refactoring","development-tooling",{"_creationTime":23,"_id":24,"extensionId":5,"locale":25,"result":26,"trustSignals":179,"workflow":189},1778054012697.053,"kn751qyjh2n2x3kb38nhktgamn867vsd","en",{"checks":27,"evaluatedAt":169,"extensionSummary":170,"promptVersionExtension":171,"promptVersionScoring":172,"rationale":173,"score":174,"summary":175,"tags":176,"targetMarket":177,"tier":178},[28,33,36,39,43,46,50,54,57,60,64,68,72,76,79,82,85,88,91,94,98,102,106,111,115,118,121,124,128,131,134,137,140,143,147,150,153,156,159,162,166],{"category":29,"check":30,"severity":31,"summary":32},"Practical Utility","Problem relevance","pass","The description clearly names the problem space (TypeScript coding best practices) and its target users (AI agents, developers generating/reviewing TS code).",{"category":29,"check":34,"severity":31,"summary":35},"Unique selling proposition","The skill offers a curated set of best practices, code generation patterns, and analysis scripts that go beyond basic LLM capabilities for TypeScript, providing structured guidance and tooling.",{"category":29,"check":37,"severity":31,"summary":38},"Production readiness","The skill provides comprehensive guidance, code examples, and executable scripts (analyze.ts, generate-types.ts, scaffold-module.ts) covering its stated use case of improving TypeScript code quality.",{"category":40,"check":41,"severity":31,"summary":42},"Scope","Single responsibility principle","The skill focuses exclusively on TypeScript best practices, covering code quality, patterns, analysis, and scaffolding without straying into unrelated domains.",{"category":40,"check":44,"severity":31,"summary":45},"Description quality","The description is accurate, concise, readable, and accurately reflects the skill's capabilities and intended use cases.",{"category":47,"check":48,"severity":31,"summary":49},"Invocation","Scoped tools","The skill exposes specific, well-defined tools like `analyze.ts`, `generate-types.ts`, and `scaffold-module.ts`, each with a clear verb-noun purpose.",{"category":51,"check":52,"severity":31,"summary":53},"Documentation","Configuration & parameter reference","All script options and parameters are documented in the respective script help messages and within the SKILL.md, including defaults and usage examples.",{"category":40,"check":55,"severity":31,"summary":56},"Tool naming","Tools like `analyze.ts`, `generate-types.ts`, and `scaffold-module.ts` are descriptive, kebab-cased, and clearly indicate their function.",{"category":40,"check":58,"severity":31,"summary":59},"Minimal I/O surface","The scripts accept parameters via CLI flags or file paths and produce output to stdout or specified files, without unnecessary input/output.",{"category":61,"check":62,"severity":31,"summary":63},"License","License usability","The extension is licensed under the MIT license, which is a permissive open-source license.",{"category":65,"check":66,"severity":31,"summary":67},"Maintenance","Commit recency","The last commit was recent (within the last 90 days, as indicated by the presence of multiple scripts and recent updates in the provided context), suggesting active maintenance.",{"category":65,"check":69,"severity":70,"summary":71},"Dependency Management","not_applicable","No third-party dependencies are explicitly declared or used in a way that would require a formal dependency management strategy.",{"category":73,"check":74,"severity":31,"summary":75},"Security","Secret Management","The scripts do not handle or expose secrets; they operate on code and configuration files, with no indication of secret management.",{"category":73,"check":77,"severity":31,"summary":78},"Injection","The skill focuses on static analysis and code generation; there is no loading or execution of untrusted third-party data.",{"category":73,"check":80,"severity":31,"summary":81},"Transitive Supply-Chain Grenades","The extension contains only local scripts and reference files; there are no runtime downloads, remote code fetches, or pipe-to-shell patterns.",{"category":73,"check":83,"severity":31,"summary":84},"Sandbox Isolation","The scripts operate on provided file paths and do not attempt to access or modify files outside the specified scope.",{"category":73,"check":86,"severity":31,"summary":87},"Sandbox escape primitives","No detached processes, retry loops around denied calls, or other sandbox escape primitives were detected in the provided scripts.",{"category":73,"check":89,"severity":31,"summary":90},"Data Exfiltration","The scripts are purely analytical and generative; they do not make outbound network calls or reference confidential data.",{"category":73,"check":92,"severity":31,"summary":93},"Hidden Text Tricks","The bundled files are free of hidden-steering tricks like invisible characters or HTML comments smuggling instructions.",{"category":95,"check":96,"severity":31,"summary":97},"Hooks","Opaque code execution","The provided scripts (`.ts` files) are plain, readable source code and do not use obfuscation techniques like base64 payloads or eval.",{"category":99,"check":100,"severity":31,"summary":101},"Portability","Structural Assumption","The scripts operate on provided paths and do not make assumptions about the user's project structure beyond what is explicitly given.",{"category":103,"check":104,"severity":70,"summary":105},"Trust","Issues Attention","No GitHub issues data was provided for evaluation.",{"category":107,"check":108,"severity":109,"summary":110},"Versioning","Release Management","info","The SKILL.md file declares a version '1.0', indicating basic versioning is in place, but there are no further release tags or changelogs.",{"category":112,"check":113,"severity":31,"summary":114},"Code Execution","Validation","The `analyze.ts` script includes checks for various input types and conditions, and `generate-types.ts` uses JSON parsing. `scaffold-module.ts` validates its arguments.",{"category":73,"check":116,"severity":31,"summary":117},"Unguarded Destructive Operations","The extension's scripts are primarily analytical or generative and do not perform destructive operations like file deletion or modification without clear user intent via path arguments.",{"category":112,"check":119,"severity":31,"summary":120},"Error Handling","The scripts include try-catch blocks and explicit error messages for invalid input or parsing failures, exiting non-zero when appropriate.",{"category":112,"check":122,"severity":70,"summary":123},"Logging","The extension's scripts do not perform destructive actions or outbound calls that would require local audit logging.",{"category":125,"check":126,"severity":31,"summary":127},"Compliance","GDPR","The extension does not operate on personal data; it analyzes or generates code and text.",{"category":125,"check":129,"severity":31,"summary":130},"Target market","The extension is a code analysis and generation tool with no regional or jurisdictional logic, making it globally applicable.",{"category":99,"check":132,"severity":31,"summary":133},"Runtime stability","The scripts are written in TypeScript and designed to run with Deno, a modern runtime, with no obvious OS-specific assumptions.",{"category":47,"check":135,"severity":31,"summary":136},"Precise Purpose","SKILL.md precisely defines the skill's purpose (guiding AI through TypeScript best practices) and lists clear use cases and non-goals.",{"category":47,"check":138,"severity":31,"summary":139},"Concise Frontmatter","The SKILL.md frontmatter is concise and effectively summarizes the core capability and keywords.",{"category":51,"check":141,"severity":31,"summary":142},"Concise Body","The SKILL.md body is well-structured with clear sections and uses progressive disclosure for deeper material, staying under reasonable length.",{"category":144,"check":145,"severity":31,"summary":146},"Context","Progressive Disclosure","The skill outlines procedures in SKILL.md and links to external files like `references/anti-patterns/common-mistakes.md` for detailed examples.",{"category":144,"check":148,"severity":70,"summary":149},"Forked exploration","This skill primarily performs static analysis and code generation, not deep exploration requiring a forked context.",{"category":29,"check":151,"severity":31,"summary":152},"Usage examples","The SKILL.md and accompanying scripts provide clear, end-to-end usage examples with sample commands and expected outcomes.",{"category":29,"check":154,"severity":31,"summary":155},"Edge cases","The skill handles various edge cases, such as empty arrays, invalid JSON, different data types, and provides recovery paths or clear error messages.",{"category":112,"check":157,"severity":70,"summary":158},"Tool Fallback","The skill does not rely on external tools like MCP servers; it uses Deno and bundled scripts.",{"category":99,"check":160,"severity":31,"summary":161},"Stack assumptions","The skill declares its runtime requirement (Deno) and specifies options for running the bundled TypeScript scripts.",{"category":163,"check":164,"severity":31,"summary":165},"Safety","Halt on unexpected state","The scripts include checks for invalid input and unexpected states, exiting with non-zero codes or clear error messages.",{"category":99,"check":167,"severity":31,"summary":168},"Cross-skill coupling","The skill is self-contained and does not implicitly rely on other skills; its provided scripts are standalone.",1778053933452,"This skill provides executable scripts for analyzing TypeScript code quality, generating types from JSON, and scaffolding new modules. It also includes detailed documentation on TypeScript patterns, API design, and project structure.","2.0.0","3.4.0","This skill demonstrates excellent quality across documentation, scope, and security. It provides clear examples, useful bundled scripts, and adheres to best practices, earning a verified tier. A minor informational finding on versioning prevents a perfect score.",96,"A comprehensive skill for enforcing TypeScript best practices, including code generation, analysis, and scaffolding tools.",[15,16,17,18,19,20,21],"global","verified",{"codeQuality":180,"collectedAt":181,"documentation":182,"maintenance":184,"security":185,"testCoverage":188},{},1778053919191,{"descriptionLength":183,"readmeSize":8},489,{},{"hasNpmPackage":186,"license":187,"smitheryVerified":186},false,"MIT",{"hasCi":186,"hasTests":186},{"updatedAt":190},1778054012696,{"githubOwner":192,"githubRepo":193,"locale":25,"slug":194,"type":195},"jwynia","agent-skills","typescript-best-practices","skill",true,null,{"extract":199,"llm":201},{"commitSha":200,"license":187},"e02ec7e226a6e4f8419fd3b88a1d8e472d421b32",{"promptVersionExtension":171,"promptVersionScoring":172,"score":174,"targetMarket":177,"tier":178},{"repoId":203},"kd7efn3mprpa8rd8vm5hw5ebzx864fph",{"_creationTime":205,"_id":203,"identity":206,"providers":208,"workflow":219},1777995558409.897,{"githubOwner":192,"githubRepo":193,"sourceUrl":207},"https://github.com/jwynia/agent-skills",{"discover":209,"github":212},{"sources":210},[211],"skills-sh",{"closedIssues90d":8,"forks":213,"openIssues90d":214,"pushedAt":215,"readmeSize":216,"stars":217,"topics":218},10,2,1771900514000,11924,70,[],{"discoverAt":220,"extractAt":221,"githubAt":221,"updatedAt":221},1777995558409,1778053628601,{"anyEnrichmentAt":223,"extractAt":224,"githubAt":223,"llmAt":190,"updatedAt":190},1778053625386,1778053622473,[],[227,260,287,317,346,369],{"_creationTime":228,"_id":229,"community":230,"display":231,"identity":242,"providers":246,"relations":253,"workflow":255},1777995614337.9844,"k17f0xfg2pkfqd1p5jjzh8sswh8645px",{"reviewCount":8},{"description":232,"installMethods":233,"name":234,"sourceUrl":235,"tags":236},"Scaffold an editable Tandem control panel app",{},"Tandem Panel Scaffold","https://github.com/frumu-ai/tandem/tree/HEAD/packages/create-tandem-panel",[237,238,239,15,240,241],"scaffolding","cli","react","vite","ui",{"githubOwner":243,"githubRepo":244,"locale":25,"slug":245,"type":195},"frumu-ai","tandem","create-tandem-panel",{"extract":247,"llm":250,"smithery":252},{"commitSha":248,"license":249},"25c8ae7c2f8b20d576a2b8d44946ac2e0ff9408d","MIT OR Apache-2.0",{"promptVersionExtension":171,"promptVersionScoring":172,"score":251,"targetMarket":177,"tier":178},100,{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":186},{"repoId":254},"kd72pd305er4m7vecv9p6mnd4s865kea",{"anyEnrichmentAt":256,"extractAt":257,"githubAt":258,"llmAt":259,"smitheryAt":256,"updatedAt":259},1777995723550,1777995614338,1777995614791,1777995897177,{"_creationTime":261,"_id":262,"community":263,"display":264,"identity":273,"providers":276,"relations":281,"workflow":283},1778054425877.1958,"k171ck7gyw157xcvkrk6k0r9y1866w01",{"reviewCount":8},{"description":265,"name":266,"sourceUrl":267,"tags":268},"ESLint rules for React Hooks","ESLint Plugin React Hooks","https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks",[239,269,270,271,272,15],"eslint","linting","hooks","javascript",{"githubOwner":274,"githubRepo":239,"locale":25,"slug":275,"type":195},"facebook","eslint-plugin-react-hooks",{"extract":277,"llm":279},{"commitSha":278,"license":187},"9635257c1b557acc81f95b1e974a54c752e703a2",{"promptVersionExtension":171,"promptVersionScoring":172,"score":280,"targetMarket":177,"tier":178},99,{"repoId":282},"kd73v9dy7vwq94hgzc7eh43b9s865rhq",{"anyEnrichmentAt":284,"extractAt":285,"githubAt":284,"llmAt":286,"updatedAt":286},1778054428301,1778054425877,1778054588390,{"_creationTime":288,"_id":289,"community":290,"display":291,"identity":304,"providers":307,"relations":311,"workflow":313},1778053689272.9238,"k17a5hw81fhwybk1wxavs6mvjs8676ca",{"reviewCount":8},{"description":292,"installMethods":293,"name":294,"sourceUrl":295,"tags":296},"Set up a new Prisma Postgres database and connect it to a local project using the Management API. Use when asked to \"set up a database\", \"create a Prisma Postgres project\", \"get a connection string\", \"connect my app to Prisma Postgres\", or \"provision a database\".",{},"Prisma Postgres Setup","https://github.com/prisma/skills/tree/HEAD/prisma-postgres-setup",[297,298,299,300,301,302,15,303],"prisma","postgres","database","setup","connection","api","node-js",{"githubOwner":297,"githubRepo":305,"locale":25,"slug":306,"type":195},"skills","prisma-postgres-setup",{"extract":308,"llm":310},{"commitSha":309,"license":187},"741a74fdafc1bf61fa208c2f73878be688cba263",{"promptVersionExtension":171,"promptVersionScoring":172,"score":280,"targetMarket":177,"tier":178},{"repoId":312},"kd76h7swxyhk8405svecsqq7gh864y5s",{"anyEnrichmentAt":314,"extractAt":315,"githubAt":314,"llmAt":316,"updatedAt":316},1778053689723,1778053689272,1778053716548,{"_creationTime":318,"_id":319,"community":320,"display":321,"identity":332,"providers":335,"relations":340,"workflow":342},1778054711476.0596,"k17ed9jy1nygmcqva51bkzyyyd866r6h",{"reviewCount":8},{"description":322,"installMethods":323,"name":324,"sourceUrl":325,"tags":326},"Guides development of Fastify Node.js backend servers and REST APIs using TypeScript or JavaScript. Use when building, configuring, or debugging a Fastify application — including defining routes, implementing plugins, setting up JSON Schema validation, handling errors, optimising performance, managing authentication, configuring CORS and security headers, integrating databases, working with WebSockets, and deploying to production. Covers the full Fastify request lifecycle (hooks, serialization, logging with Pino) and TypeScript integration via strip types. Trigger terms: Fastify, Node.js server, REST API, API routes, backend framework, fastify.config, server.ts, app.ts.",{},"Fastify Best Practices","https://github.com/mcollina/skills/tree/HEAD/skills/fastify",[327,328,15,329,302,330,331],"fastify","nodejs","backend","server","http",{"githubOwner":333,"githubRepo":305,"locale":25,"slug":334,"type":195},"mcollina","fastify-best-practices",{"extract":336,"llm":338},{"commitSha":337,"license":187},"5b2a81354b6d10325da0db9decc9ce5ecc714138",{"promptVersionExtension":171,"promptVersionScoring":172,"score":339,"targetMarket":177,"tier":178},98,{"repoId":341},"kd7a9jywzfe3c5g5r1a62htmrn865rt1",{"anyEnrichmentAt":343,"extractAt":344,"githubAt":343,"llmAt":345,"updatedAt":345},1778054711844,1778054711476,1778054745098,{"_creationTime":347,"_id":348,"community":349,"display":350,"identity":358,"providers":359,"relations":363,"workflow":365},1778054720904.8545,"k1720r77wqyk9n0dfd4zk3e7k58678fe",{"reviewCount":8},{"description":351,"name":352,"sourceUrl":353,"tags":354},"Create backend with ElysiaJS, a type-safe, high-performance framework.","ElysiaJS Development Skill","https://github.com/elysiajs/skills/tree/HEAD/elysia",[355,329,15,356,357],"elysiajs","web-framework","api-development",{"githubOwner":355,"githubRepo":305,"locale":25,"slug":355,"type":195},{"extract":360,"llm":362},{"commitSha":361,"license":187},"8fd8031b83bce42e903ed0e38e6170213876c20e",{"promptVersionExtension":171,"promptVersionScoring":172,"score":339,"targetMarket":177,"tier":178},{"repoId":364},"kd7a4589jr46h4ew1xzp5b8v69865e3b",{"anyEnrichmentAt":366,"extractAt":367,"githubAt":366,"llmAt":368,"updatedAt":368},1778054721176,1778054720904,1778054735222,{"_creationTime":370,"_id":371,"community":372,"display":373,"identity":382,"providers":384,"relations":389,"workflow":391},1778054586606.93,"k17b4ce2de5mf98x1ztf9gamm9867tya",{"reviewCount":8},{"description":374,"installMethods":375,"name":376,"sourceUrl":377,"tags":378},"Vercel utilities for working with related projects",{},"Vercel Related Projects","https://github.com/vercel/vercel/tree/HEAD/packages/related-projects",[379,15,380,381],"vercel","environment-variables","configuration",{"githubOwner":379,"githubRepo":379,"locale":25,"slug":383,"type":195},"vercel-related-projects",{"extract":385,"llm":388},{"commitSha":386,"license":387},"da93fccb68ef705f866ddb8d4ff596495589442a","Apache-2.0",{"promptVersionExtension":171,"promptVersionScoring":172,"score":339,"targetMarket":177,"tier":178},{"repoId":390},"kd70sna36fh1a450f5r7e0f8p986555e",{"anyEnrichmentAt":392,"extractAt":393,"githubAt":392,"llmAt":394,"updatedAt":394},1778054590995,1778054586606,1778054733091]