Agent skill · Audited from source
typescript
skill · gentleman-programming/gentleman-skillsMIT licenceAudited 23 Oct 2026 · source cfd30384f54c
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit cfd30384f54c and found no filesystem, network or shell access and no hard-coded secrets. What it does: TypeScript strict patterns and best practices. Trigger: When writing TypeScript code - types, interfaces, generics.
Cite
Cite this page
ModelsAtlas. “typescript (gentleman-programming/gentleman-skills)”. Retrieved 23 Oct 2026. https://modelsatlas.com/skills/gentleman-programming/typescript
5 skills are called “typescript”. You are viewing gentleman-programming/gentleman-skills.
- gentleman-programming/gentleman-skills★ 659✓SAFE
- lobehub/lobehub★ 84k!CAUTION
- FranciscoMoretti/sparka★ 1.2k!CAUTION
- alinaqi/claude-bootstrap★ 707✓SAFE
- val1813/kwcode★ 685✓SAFE
Trust audit
Audit 0.4.1 · source read 23 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 16,667 of 17,602 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (0)
No findings at any severity. We re-audit when the source changes.
Audit 0.4.1 · source sha cfd30384f54c · 23 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publishergentleman-programming GitHub organizationOwner of the repository this skill is read from
- Source foldergentleman-programming/gentleman-skills/curated/typescriptThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdictcfd30384f54cA new audit runs when the source changes
- Repository statusNot archivedLast push 209 days ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: TypeScript strict patterns and best practices. Trigger: When writing TypeScript code - types, interfaces, generics.
---
name: typescript
description: >
TypeScript strict patterns and best practices.
Trigger: When writing TypeScript code - types, interfaces, generics.
license: Apache-2.0
metadata:
author: gentleman-programming
version: "1.0"
---
## Const Types Pattern (REQUIRED)
```typescript
// ✅ ALWAYS: Create const object first, then extract type
const STATUS = {
ACTIVE: "active",
INACTIVE: "inactive",
PENDING: "pending",
} as const;
type Status = (typeof STATUS)[keyof typeof STATUS];
// ❌ NEVER: Direct union types
type Status = "active" | "inactive" | "pending";
```
**Why?** Single source of truth, runtime values, autocomplete, easier refactoring.
## Flat Interfaces (REQUIRED)
```typescript
// ✅ ALWAYS: One level depth, nested objects → dedicated interface
interface UserAddress {
street: string;
city: string;
}
interface User {
id: string;
name: string;
address: UserAddress; // Reference, not inline
}
interface Admin extends User {
permissions: string[];
}
// ❌ NEVER: Inline nested objects
interface User {
address: { street: string; city: string }; // NO!
}
```
## Never Use `any`
```typescript
// ✅ Use unknown for truly unknown types
function parse(input: unknown): User {
if (isUser(input)) return input;
throw new Error("Invalid input");
}
// ✅ Use generics for flexible types
function first<T>(arr: T[]): T | undefined {
return arr[0];
}
// ❌ NEVER
function parse(input: any): any { }
```
## Utility Types
```typescript
Pick<User, "id" | "name"> // Select fields
Omit<User, "id"> // Exclude fields
Partial<User> // All optional
Required<User> // All required
Readonly<User> // All readonly
Record<string, User> // Object type
Extract<Union, "a" | "b"> // Extract from union
Exclude<Union, "a"> // Exclude from union
NonNullable<T | null> // Remove null/undefined
ReturnType<typeof fn> // Function return type
Parameters<typeof fn> // Function params tuple
```
## Type Guards
```typescript
function isUser(value: unknown): value is User {
return (
typeof value === "object" &&
value !== null &&
"id" in value &&
"name" in value
);
}
```
## Import Types
```typescript
import type { User } from "./types";
import { createUser, type Config } from "./utils";
```
## Keywords
typescript, ts, types, interfaces, generics, strict mode, utility typesExcerpt, first 2,438 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit cfd3038
git clone https://github.com/gentleman-programming/gentleman-skills git -C gentleman-skills checkout cfd30384f54c
The author documents no install command, so this uses the repository directly. Our verdict covers commit cfd30384f54c only.
Works in
The author has not said which agents this skill supports, and we have not tested it in any.
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
cfd30384f54c
Similar skills
All coding & review skills →obra/superpowers
Use when creating new skills, editing existing skills, or verifying skills work before deployment
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
mattpocock/skills
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
Questions about typescript
What does the typescript skill do?
Is typescript safe to install?
What can typescript access on my machine?
How current is this page?
Sources
- github.com/gentleman-programming/gentleman-skills/tree/main/cura — the audited source at commit cfd30384f54c and every finding aboveObserved · 23 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the typescript skill do?
- Is typescript safe to install?
- What can typescript access on my machine?