agents-at-scale-ark: Skill for Claude Code

.claude/skills/ark-sdk-development/SKILL.md

ark-sdk-development is a skill for Claude Code from mckinsey/agents-at-scale-ark. It costs 81 tokens per session (1,112 once invoked), scanned A, original, Apache-2.0.

A development guide for keeping Ark's Python, API, and TypeScript types synchronized when its Kubernetes resource definitions change.

In plain words
What is it for?
It is for regenerating SDK types, updating API models, refreshing dashboard types, and adding custom SDK code.
Why use it?
It removes repetitive manual updates and helps resolve errors caused by code using outdated data shapes.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

This is mckinsey/agents-at-scale-ark's own configuration. It tells Claude Code how to work on agents-at-scale-ark itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything agents-at-scale-ark configures →

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is cp ../../ark-api/openapi.json ../out/.

Reuse

Borrowing it

Nothing to install: this file belongs to mckinsey/agents-at-scale-ark. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/mckinsey/agents-at-scale-ark/main/.claude/skills/ark-sdk-development/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/mckinsey/agents-at-scale-ark

Made for: Claude Code.

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 ark-sdk-development

README.md
[![agentmods](https://agentmods.dev/badge/skills/mckinsey/agents-at-scale-ark/ark-sdk-development/github.svg)](https://agentmods.dev/skills/mckinsey/agents-at-scale-ark/ark-sdk-development)
Your own site
<a href="https://agentmods.dev/skills/mckinsey/agents-at-scale-ark/ark-sdk-development"><img src="https://agentmods.dev/badge/skills/mckinsey/agents-at-scale-ark/ark-sdk-development/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ark-sdk-development

Your own site · 80×15
<a href="https://agentmods.dev/skills/mckinsey/agents-at-scale-ark/ark-sdk-development"><img src="https://agentmods.dev/badge/skills/mckinsey/agents-at-scale-ark/ark-sdk-development.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 81 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,112 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. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.00081 $0.01112
Opus 5 $0.00041 $0.00556
Sonnet 5 $0.00016 $0.00222
Haiku 4.5 $0.00008 $0.00111

Measured 6d ago against content hash f24586e762bb, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

ark-sdk-development 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 6d ago.

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.

.claude/skills/ark-sdk-development/SKILL.md · 115 lines

How it starts

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

ARK SDK and Type Development

Type Generation Pipeline

Types flow through the ARK stack:

CRD YAML (ark/config/crd/)
    ↓ make ark-sdk-build (automatic)
ark-sdk Python types + overlay utilities
    ↓
ark-api Pydantic models (manual updates if exposing new fields)
    ↓ make ark-api-build → generates openapi.json
ark-dashboard TypeScript types
    ↓ npm run generate:api → generates types.ts

ark-sdk: Automatic Type Generation

CRD types are automatically generated from Kubernetes CRD YAML files.

make ark-sdk-build

This runs:

  1. crd_to_openapi.py - converts CRDs to OpenAPI schema
  2. openapi-generator-cli - generates Python types from schema
  3. Copies overlay files on top of generated code
  4. Builds wheel package

Adding Custom SDK Functionality (Overlays)

The lib/ark-sdk/gen_sdk/overlay/python/ark_sdk/ directory contains custom Python modules that are copied on top of generated code. This is how utilities like client.py, k8s.py, and executor.py are added.

To add custom SDK functionality:

  1. Add Python files to lib/ark-sdk/gen_sdk/overlay/python/ark_sdk/
  2. Run make ark-sdk-build

ark-api: Manual Model Updates

The ark-api has manually written Pydantic models in services/ark-api/ark-api/src/ark_api/models/.

When to update ark-api models:

  • When exposing new CRD fields via the HTTP API
  • When adding new API response types
make ark-api-build

This generates services/ark-api/openapi.json from FastAPI routes and Pydantic models.

Pydantic Model Naming (CRITICAL)

Pydantic model class names MUST be globally unique across all model files. When multiple files define classes with the same name (e.g., ConfigMapKeyRef, Header, ValueFrom), FastAPI generates non-deterministic OpenAPI schema names like ark_api__models__agents__Header-Input. These names depend on import order and cause CI failures when types.ts differs between environments.

Solution: Prefix class names with their domain context:

Read the full file on GitHub · 115 lines

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. 6d ago First seen · 115 lines · 81 tokens per session scan A f24586e762bb

Subscribe to this mod's changes

ark-sdk-development is a skill published in the GitHub repository mckinsey/agents-at-scale-ark (422 stars, last pushed today), licensed Apache-2.0. It adds 81 tokens to every session and 1,112 once invoked, about $0.0004 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-03.

Related

Other skills, from other repositories

fastapi-templates

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

wshobson/agents · 37 tokens

langgraph-docs

Fetches and references LangGraph Python documentation to build stateful agents, create multi-agent workflows, and implement human-in-the-loop patterns. Use when the user asks about LangGraph, graph agents, state machines, agent orchestration, LangGraph API, or needs LangGraph implementation guidance.

langchain-ai/deepagents · 62 tokens

stripe-projects

Use after E2B sandbox/API access has been provisioned through Stripe Projects and the user needs to use the resulting E2B API key with the E2B CLI, JavaScript SDK, Python SDK, or Code Interpreter SDK.

e2b-dev/E2B · 51 tokens

node-modern

Use this skill when writing, reviewing, or refactoring Node.js >= 22 TypeScript code in WrongStack. Triggers: ESM imports, fetch usage, AbortSignal, node: protocol, Web Streams, or any async patterns.

WrongStack/WrongStack · 52 tokens

fastapi

Use when building, reviewing, testing, securing or shipping a FastAPI / async Python service — routers, Pydantic v2 schemas, dependency injection, async SQLAlchemy 2.0, OAuth2/JWT, ASGITransport tests, production wiring. NOT language-level Python or packaging (that is python), NOT engine-level SQL (that is…

ericrisco/rsc-harness · 94 tokens

django

Use when building, reviewing, securing, testing or shipping a Django app — models, migrations, QuerySets/managers, FBV/CBV views, forms, the admin, settings split, and Django REST Framework (serializers, ModelViewSet, permissions). NOT async FastAPI/Pydantic services (that is fastapi), NOT Postgres schema/index work…

ericrisco/rsc-harness · 84 tokens