Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
pproenca avatar

Ts Google

  • 321 installs
  • 191 repo stars
  • Updated July 24, 2026
  • pproenca/dot-skills

ts-google is an agent skill that applies Google's TypeScript style guide with 45 prioritized rules for developers who need consistent, type-safe TypeScript when writing or reviewing code.

About

ts-google is a dot-skills agent skill (v1.1.6, January 2026) encoding Google's TypeScript style guide for AI-assisted writing, review, and refactoring. It organizes 45 rules across 8 categories—from CRITICAL module- and types- prefixes through class, function, control-flow, error-handling, naming, and literal conventions—with per-rule reference markdown files and an AGENTS.md compiled guide. Developers reach for ts-google when generating or reviewing .ts/.tsx files and need enforceable decisions on named exports, import type, no any, interfaces over type aliases, catch unknown, and triple-equals instead of generic lint opinions. Triggers include TypeScript files, type annotations, module imports, class design, and code style decisions.

  • ts-google

Ts Google by the numbers

  • 321 all-time installs (skills.sh)
  • +5 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #1,252 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/pproenca/dot-skills --skill ts-google

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs321
repo stars191
Last updatedJuly 24, 2026
Repositorypproenca/dot-skills

How do you enforce Google TypeScript style in AI code?

Use ts-google for development tasks

Who is it for?

TypeScript developers and reviewers who want Google-internal consistency across modules, types, classes, and error handling.

Skip if: Pure JavaScript codebases, Python backends, or teams standardized on a conflicting style guide like Airbnb without adaptation.

When should I use this skill?

User edits or reviews TypeScript files, asks about module imports, type annotations, class design, or Google TS style compliance.

What you get

Refactored TypeScript matching Google rules for modules, types, classes, functions, errors, and naming.

  • style-compliant TypeScript code
  • refactor guidance per rule

By the numbers

  • 45 rules across 8 categories in metadata.json v1.1.6
  • Based on Google TypeScript style guide (January 2026)
  • Individual reference files per rule under references/

Files

SKILL.mdMarkdownGitHub ↗

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

PriorityCategoryImpactPrefix
1Module OrganizationCRITICALmodule-
2Type SafetyCRITICALtypes-
3Class DesignHIGHclass-
4Function PatternsHIGHfunc-
5Control FlowMEDIUM-HIGHcontrol-
6Error HandlingMEDIUMerror-
7Naming & StyleMEDIUMnaming-
8Literals & CoercionLOW-MEDIUMliteral-

Quick Reference

1. Module Organization (CRITICAL)

  • `module-named-exports` - Use named exports over default exports
  • `module-no-mutable-exports` - Avoid mutable exports
  • `module-es6-modules` - Use ES6 modules exclusively
  • `module-no-namespaces` - Avoid TypeScript namespaces
  • `module-import-paths` - Use relative paths for project imports
  • `module-import-type` - Use import type for type-only imports
  • `module-export-api-surface` - Minimize exported API surface

2. Type Safety (CRITICAL)

  • `types-no-any` - Never use the any type
  • `types-prefer-interfaces` - Prefer interfaces over type aliases for objects
  • `types-explicit-structural` - Explicitly annotate structural types
  • `types-nullable-patterns` - Handle nullable types correctly
  • `types-array-syntax` - Use consistent array type syntax
  • `types-no-wrapper-types` - Never use wrapper object types
  • `types-prefer-map-set` - Prefer Map and Set over index signatures
  • `types-no-empty-object` - Avoid empty object type

3. Class Design (HIGH)

  • `class-parameter-properties` - Use parameter properties for constructor assignment
  • `class-readonly-properties` - Mark properties readonly when never reassigned
  • `class-no-private-fields` - Use TypeScript private over private fields
  • `class-no-static-containers` - Avoid container classes with only static members
  • `class-constructor-parens` - Always use parentheses in constructor calls
  • `class-no-prototype-manipulation` - Never manipulate prototypes directly

4. Function Patterns (HIGH)

  • `func-declarations-over-expressions` - Prefer function declarations over expressions
  • `func-arrow-concise-bodies` - Use concise arrow function bodies appropriately
  • `func-avoid-this-rebinding` - Avoid rebinding this
  • `func-rest-parameters` - Use rest parameters over arguments
  • `func-generator-syntax` - Use correct generator function syntax
  • `func-default-parameters` - Use default parameters sparingly

5. Control Flow (MEDIUM-HIGH)

  • `control-always-use-braces` - Always use braces for control structures
  • `control-triple-equals` - Always use triple equals
  • `control-for-of-iteration` - Prefer for-of over for-in for arrays
  • `control-switch-default` - Always include default case in switch
  • `control-no-assignment-in-condition` - Avoid assignment in conditional expressions

6. Error Handling (MEDIUM)

  • `error-throw-errors` - Always throw Error instances
  • `error-catch-unknown` - Type catch clause variables as unknown
  • `error-empty-catch-comments` - Document empty catch blocks
  • `error-avoid-assertions` - Avoid type and non-null assertions

7. Naming & Style (MEDIUM)

  • `naming-identifier-styles` - Use correct identifier naming styles
  • `naming-descriptive-names` - Use descriptive names
  • `naming-no-decorative-underscores` - Avoid decorative underscores
  • `naming-no-interface-prefix` - No I prefix for interfaces
  • `naming-constants` - Use CONSTANT_CASE for true constants

8. Literals & Coercion (LOW-MEDIUM)

  • `literal-single-quotes` - Use single quotes for strings
  • `literal-number-formats` - Use correct number literal formats
  • `literal-explicit-coercion` - Use explicit type coercion
  • `literal-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

FileDescription
AGENTS.mdComplete compiled guide with all rules
references/_sections.mdCategory definitions and ordering
assets/templates/_template.mdTemplate for new rules
metadata.jsonVersion and reference information

Related skills

How it compares

Pick ts-google over generic ESLint prompts when you need opinionated Google TS conventions with per-rule examples for agent-driven refactors.

FAQ

How many rules does ts-google include?

ts-google bundles 45 rules across 8 categories in metadata.json v1.1.6. Categories span module organization, type safety, class design, functions, control flow, errors, naming, and literals.

Should ts-google projects use default exports?

ts-google rule module-named-exports requires named exports over default exports. The guide also discourages mutable exports, TypeScript namespaces, and type-only imports without import type.

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.