ts-google
Google TypeScript style guide for writing clean, consistent, type-safe code. This skill should be used when writing, reviewing, or refactoring TypeScript code. Triggers on TypeScript files, type annotations, module imports, class design, and code style decisions.
How do I install this agent skill?
npx skills add https://github.com/pproenca/dot-skills --skill ts-googleIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides a comprehensive TypeScript style guide based on Google's internal standards, intended for use by AI agents during code generation and refactoring. The content consists of documentation and code examples without any executable scripts, obfuscation, or data exfiltration patterns. A low-severity risk of indirect prompt injection is noted as the skill is designed to process external TypeScript source code which could contain adversarial instructions.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerwarn
50/50 files flagged
What does this agent skill do?
Google TypeScript Best Practices
Comprehensive TypeScript style guide based on Google's internal standards, designed for AI agents and LLMs. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
When to Apply
Reference these guidelines when:
- Writing new TypeScript code
- Organizing modules and imports
- Designing type annotations and interfaces
- Creating classes and functions
- Reviewing code for style consistency
- Refactoring existing TypeScript code
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Module Organization | CRITICAL | module- |
| 2 | Type Safety | CRITICAL | types- |
| 3 | Class Design | HIGH | class- |
| 4 | Function Patterns | HIGH | func- |
| 5 | Control Flow | MEDIUM-HIGH | control- |
| 6 | Error Handling | MEDIUM | error- |
| 7 | Naming & Style | MEDIUM | naming- |
| 8 | Literals & Coercion | LOW-MEDIUM | literal- |
Quick Reference
1. Module Organization (CRITICAL)
module-named-exports- Use named exports over default exportsmodule-no-mutable-exports- Avoid mutable exportsmodule-es6-modules- Use ES6 modules exclusivelymodule-no-namespaces- Avoid TypeScript namespacesmodule-import-paths- Use relative paths for project importsmodule-import-type- Use import type for type-only importsmodule-export-api-surface- Minimize exported API surface
2. Type Safety (CRITICAL)
types-no-any- Never use the any typetypes-prefer-interfaces- Prefer interfaces over type aliases for objectstypes-explicit-structural- Explicitly annotate structural typestypes-nullable-patterns- Handle nullable types correctlytypes-array-syntax- Use consistent array type syntaxtypes-no-wrapper-types- Never use wrapper object typestypes-prefer-map-set- Prefer Map and Set over index signaturestypes-no-empty-object- Avoid empty object type
3. Class Design (HIGH)
class-parameter-properties- Use parameter properties for constructor assignmentclass-readonly-properties- Mark properties readonly when never reassignedclass-no-private-fields- Use TypeScript private over private fieldsclass-no-static-containers- Avoid container classes with only static membersclass-constructor-parens- Always use parentheses in constructor callsclass-no-prototype-manipulation- Never manipulate prototypes directly
4. Function Patterns (HIGH)
func-declarations-over-expressions- Prefer function declarations over expressionsfunc-arrow-concise-bodies- Use concise arrow function bodies appropriatelyfunc-avoid-this-rebinding- Avoid rebinding thisfunc-rest-parameters- Use rest parameters over argumentsfunc-generator-syntax- Use correct generator function syntaxfunc-default-parameters- Use default parameters sparingly
5. Control Flow (MEDIUM-HIGH)
control-always-use-braces- Always use braces for control structurescontrol-triple-equals- Always use triple equalscontrol-for-of-iteration- Prefer for-of over for-in for arrayscontrol-switch-default- Always include default case in switchcontrol-no-assignment-in-condition- Avoid assignment in conditional expressions
6. Error Handling (MEDIUM)
error-throw-errors- Always throw Error instanceserror-catch-unknown- Type catch clause variables as unknownerror-empty-catch-comments- Document empty catch blockserror-avoid-assertions- Avoid type and non-null assertions
7. Naming & Style (MEDIUM)
naming-identifier-styles- Use correct identifier naming stylesnaming-descriptive-names- Use descriptive namesnaming-no-decorative-underscores- Avoid decorative underscoresnaming-no-interface-prefix- No I prefix for interfacesnaming-constants- Use CONSTANT_CASE for true constants
8. Literals & Coercion (LOW-MEDIUM)
literal-single-quotes- Use single quotes for stringsliteral-number-formats- Use correct number literal formatsliteral-explicit-coercion- Use explicit type coercionliteral-array-constructor- Avoid Array constructor
How to Use
Read individual reference files for detailed explanations and code examples:
- Section definitions - Category structure and impact levels
- Rule template - Template for adding new rules
Reference Files
| File | Description |
|---|---|
| AGENTS.md | Complete compiled guide with all rules |
| references/_sections.md | Category definitions and ordering |
| assets/templates/_template.md | Template for new rules |
| metadata.json | Version and reference information |
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/pproenca/dot-skills/ts-google">View ts-google on skillZs</a>