cratis-chronicle-client-typescript

cratis-chronicle-client-typescript is a skill for Claude Code, Codex from Cratis/AI. It costs 128 tokens per session (4,632 once invoked), scanned A, original, MIT.

A guide to using the @cratis/chronicle client from a Node.js or TypeScript application. It covers connecting over gRPC, defining event classes, appending events, and configuring the decorators the client uses.

In plain words
What is it for?
Use it to connect a Node.js or TypeScript service directly to Chronicle and implement event handlers, reducers, and projections.
Why use it?
It distinguishes the server client from the browser-facing Arc proxy layer and highlights version-specific API differences. TypeScript is JavaScript with optional type checking for safer code.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to connect a Node.js or TypeScript service directly to Chronicle and implement event handlers, reducers, and projections.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/cratis/ai/cratis-chronicle-client-typescript
View source ↗ Cratis/AI
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add Cratis/AI --skill cratis-chronicle-client-typescript
Clone the repo
git clone --depth 1 https://github.com/Cratis/AI

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for cratis-chronicle-client-typescript

README.md
[![agentmods](https://agentmods.dev/badge/skills/cratis/ai/cratis-chronicle-client-typescript.svg)](https://agentmods.dev/skills/cratis/ai/cratis-chronicle-client-typescript)
Your own site
<a href="https://agentmods.dev/skills/cratis/ai/cratis-chronicle-client-typescript"><img src="https://agentmods.dev/badge/skills/cratis/ai/cratis-chronicle-client-typescript.svg" alt="Measured on agentmods" height="20"></a>
Per session 128 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,632 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00128 $0.04632
Opus 5 $0.00064 $0.02316
Sonnet 5 $0.00026 $0.00926
Haiku 4.5 $0.00013 $0.00463

Measured today against content hash 9fff19538b2b, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

cratis-chronicle-client-typescript scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/cratis-chronicle-client-typescript/SKILL.md · 397 lines

How it starts

The opening of the file, as written. The whole thing — 397 lines — stays where its author put it; the contents beside it link to each section on GitHub.

The Chronicle client for TypeScript

@cratis/chronicle is a standalone Node.js client SDK that speaks gRPC to a Chronicle server. It is not a browser library and it is not the Arc TypeScript proxy layer — an Arc frontend calls generated command and query proxies over HTTP and never sees this package.

Verified product sources

This skill is verified against Cratis/Chronicle.TypeScript at tag v4.0.0 (commit bed0b86), which is the version published on npm.

Package Version Where
@cratis/chronicle 4.0.0 Source/package.json:2
@cratis/chronicle.contracts 17.0.0 Source/package.json dependency
@cratis/fundamentals ^7.14.0 peer dependency — you install it

Do not read the version out of the repository. Source/package.json says 1.0.0; publish-version.js overwrites it at publish time. Take the version from npm.

v4.0.0 is a major bump and it changed real API. Guidance written against 3.x is wrong in at least three places — event tags did not exist, reducers took two arguments, and two event-store RPCs were renamed. Do not carry 3.x examples forward.

Project setup

yarn add @cratis/chronicle @cratis/fundamentals reflect-metadata

@cratis/fundamentals is a peer dependency, so it does not arrive on its own. reflect-metadata must be imported once, at the entry point, before any decorated class is loaded (Documentation/getting-started.md:16-27):

import 'reflect-metadata';

The package is ESM-only ("type": "module", Source/package.json:34) and requires decorator support:

// tsconfig.json
{
    "compilerOptions": {
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true
    }
}

Both are set in the shipped sample (Samples/Console/tsconfig.json:12-13).

Connecting

import 'reflect-metadata';
import { ChronicleClient, ChronicleOptions } from '@cratis/chronicle';

const client = new ChronicleClient(ChronicleOptions.development());
try {
    const store = await client.getEventStore('<EventStoreName>');
    // ... use store ...
} finally {
    client.dispose();
}

Read the full file on GitHub · 397 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today First seen · 397 lines · 128 tokens per session scan A 9fff19538b2b

Subscribe to this mod's changes

cratis-chronicle-client-typescript is a skill published in the GitHub repository Cratis/AI (2 stars, last pushed today), licensed MIT. It adds 128 tokens to every session and 4,632 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-06.

Related

Other skills, from other repositories

codegen

Use for .NET code generation work with Roslyn, Microsoft.OpenApi, Razor templates, DTO/manager/controller generation, REST API generation, C# HttpClient generation, Angular/Axios TypeScript request clients, generated formatting, and deterministic output.

AterDev/Perigon.CLI · 53 tokens

grpc

Build or review gRPC services and clients in .NET. USE FOR: ASP.NET Core gRPC, protobuf contracts, unary or streaming RPC, gRPC client factory, interceptors, deadlines, cancellation, channel reuse, backend service integration. DO NOT USE FOR: broad browser-facing APIs without gRPC-Web tradeoff review, SignalR realtime…

managedcode/dotnet-skills · 95 tokens

capability

Creates or modifies a capability class in domain/capabilities/ and its corresponding Has interface in domain/tools/contracts.ts. Use when adding a new tool runtime behavior (agents, skills, commands, rules, mcp, hooks, settings, plugins), changing the constructor params of an existing capability class, or wiring a new…

ai-driven-dev/framework · 122 tokens

amqplib

You are an expert in amqplib, the Node.js client for RabbitMQ and AMQP 0-9-1 protocol. You help developers implement reliable message queuing with work queues, pub/sub fanout, topic routing, RPC patterns, dead letter queues, and message acknowledgment — building decoupled microservices that communicate asynchronously…

TerminalSkills/skills · 75 tokens

openapi-ts-v0

Generate TypeScript clients from OpenAPI specs using @hey-api/openapi-ts — type-safe API clients. Use when generating TypeScript clients from OpenAPI specifications for frontend or API consumers.

blockmatic/basilic · 43 tokens

api-development

Guidelines for building clean, scalable APIs with Go standard library and NestJS TypeScript, covering security, validation, and modular architecture.

Mindrally/skills · 30 tokens