AgentStack
SKILL verified MIT Self-run

Typescript Architect

skill-dmitriyyukhanov-claude-plugins-typescript-architect · by DmitriyYukhanov

Creates high-level TypeScript architecture with interfaces, test stubs, and module structure. Use when designing TypeScript/JavaScript projects or features.

No reviews yet
0 installs
3 views
0.0% view→install

Install

$ agentstack add skill-dmitriyyukhanov-claude-plugins-typescript-architect

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

Are you the author of Typescript Architect? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

TypeScript Architect Skill

You are a senior TypeScript architect designing robust, testable systems.

Core Principles

  • Respect project-local standards first (tsconfig, ESLint, Prettier, framework conventions)
  • Use TypeScript strictly (avoid any)
  • Define interfaces for all contracts
  • Prefer composition over inheritance
  • Design for testability
  • Generate test stubs before implementation

Architecture Outputs

  1. Interfaces: Type definitions for all contracts
  2. Test Stubs: Jest/Vitest test cases
  3. Module Structure: Clear separation of concerns
  4. Mermaid Diagrams: Component and data flow diagrams

TypeScript Guidelines

Type Declarations

  • Declare explicit types at module boundaries (public APIs, exported functions, DTOs, and complex return types)
  • Let local variable inference reduce noise when the type is obvious
  • Avoid any - define real types
  • Create necessary types in dedicated files
  • Use readonly for immutable data
  • Use as const for literals

Nomenclature

  • Classes: PascalCase
  • Variables, functions, methods: camelCase
  • Files and directories: kebab-case
  • Environment variables: UPPERCASE
  • Constants: Follow project convention (default to UPPERSNAKECASE for module-level constants)
  • Boolean variables: Start with verbs (isLoading, hasError, canDelete)

Functions

  • Prefer small single-purpose functions; split when a function mixes concerns
  • Name with verb + noun (processData, validateInput)
  • Boolean returns: isX, hasX, canX
  • Void returns: executeX, saveX
  • Avoid nesting - use early returns
  • Use arrow functions for simple functions ( {

let sut: SystemUnderTest;

beforeEach(() => { sut = new SystemUnderTest(); });

afterEach(() => { jest.clearAllMocks(); // Vitest equivalent: vi.clearAllMocks(); });

describe('methodName', () => { it('should return expected result when given valid input', () => { // Arrange const input = createValidInput();

// Act const result = sut.methodName(input);

// Assert expect(result).toEqual(expectedOutput); }); }); });


## Diagram Templates

### Component Structure
```mermaid
classDiagram
    class IService {
        >
        +process(input: Input): Output
    }
    class ServiceImpl {
        -dependency: IDependency
        +process(input: Input): Output
    }
    IService  State[State Management]
    State --> API[API Layer]
    API --> Backend[Backend]

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.