deckforge CLAUDE.md

deckforge CLAUDE.md is an instructions file for coding agents from Whatsonyourmind/deckforge. It costs 2,210 tokens per session, scanned A, original, MIT.

Repository instructions for DeckForge, an API-based service that creates presentations and charts, including PowerPoint and Google Slides files. They document its Python server, database, background jobs, storage, themes, billing, and TypeScript software development kit.

In plain words
What is it for?
Use them when developing or testing the presentation API, slide and chart rendering, themes, content generation, billing, storage, background workers, or the TypeScript SDK.
Why use it?
They give contributors the technical context needed to change the project without overlooking its connected services. They also identify the tools and test setup used by each part.

Instructions file

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.

agentmods
npx agentmods add instructions/whatsonyourmind/deckforge/claude-md
Clone the repo
git clone --depth 1 https://github.com/Whatsonyourmind/deckforge

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 deckforge CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/whatsonyourmind/deckforge/claude-md.svg)](https://agentmods.dev/instructions/whatsonyourmind/deckforge/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/whatsonyourmind/deckforge/claude-md"><img src="https://agentmods.dev/badge/instructions/whatsonyourmind/deckforge/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 2,210 This file is loaded in full into every session.
When invoked 2,210 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
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 $0.02210 $0.02210
Opus 5 $0.01105 $0.01105
Sonnet 5 $0.00442 $0.00442
Haiku 4.5 $0.00221 $0.00221

Measured 4d ago against content hash 6f5b4a3af3cb, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

deckforge CLAUDE.md 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 4d 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.md · 147 lines

How it starts

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

DeckForge

API-first presentation generation platform. 32 slide types, 24 chart types, 15 themes, native PPTX + Google Slides output, AI content generation, finance vertical with 9 specialized slide types.

Tech Stack

  • API: Python 3.12, FastAPI, Pydantic v2, uvicorn
  • Database: PostgreSQL (prod) / SQLite (dev), SQLAlchemy 2.0 (async), Alembic migrations
  • Queue: Redis + ARQ (async workers for content generation and rendering)
  • Storage: MinIO (dev) / Cloudflare R2 (prod), S3-compatible via boto3
  • Rendering: python-pptx (PPTX), google-api-python-client (Google Slides), Plotly + Kaleido (static chart PNGs)
  • SDK: TypeScript, tsup build, vitest tests (in sdk/ directory)
  • Billing: Stripe (subscriptions, 3 tiers), x402 (USDC per-call for AI agents on Base L2)
  • Auth: Unkey (prod) / DB-based SHA-256 key hashing (dev), API key prefixes dk_test_ / dk_live_
  • Layout: kiwisolver constraint solver, 12-column grid, Pillow text measurement
  • Themes: 15 YAML definitions in src/deckforge/themes/data/
  • Content: Model-agnostic LLM orchestration (Claude, OpenAI, Gemini, Ollama) with 4-stage pipeline
  • MCP: FastMCP server with 6 tools for AI agent integration

Project Structure

src/deckforge/
  config.py       # Pydantic Settings, DECKFORGE_ env prefix, all config fields
  main.py         # App entrypoint, lifespan, uvicorn runner
  ir/             # Pydantic IR models
    slides/       # 32 slide types (23 universal + 9 finance), discriminated on slide_type
    elements/     # Element types (title, text, metric, chart, image, table, etc.)
    charts/       # 24 chart types, discriminated on chart_type
  api/            # FastAPI routes + middleware
    routes/       # 15 route modules: render, generate, health, billing, onboarding, etc.
    middleware/    # Auth (Unkey/DB), rate limiting (Redis token bucket), credit check, x402
  db/             # Database layer
    base.py       # SQLAlchemy Base with naming conventions
    engine.py     # Async engine, session factory, get_db() dependency
    models/       # 8 models: User, ApiKey, Job, Deck, BatchJob, UsageRecord, PaymentEvent, WebhookRegistration
    repositories/ # Repository pattern, singleton instances, session-as-argument
  rendering/      # Output renderers
    pptx/         # PPTX renderer with ELEMENT_RENDERERS registry, transitions, Open XML
    gslides/      # Google Slides renderer with ELEMENT_BUILDERS dispatch, batchUpdate
    charts/       # Static chart renderers (Plotly -> PNG at 300 DPI), 24 chart types
    thumbnails/   # 3-tier fallback: LibreOffice -> pdf2image -> Pillow placeholder
  layout/         # Constraint-based layout
    solver.py     # kiwisolver constraint system
    grid.py       # 12-column grid
    patterns/     # PATTERN_REGISTRY: 9 layout patterns + GenericPattern fallback
    overflow.py   # Adaptive: font reduce (2pt steps) -> reflow -> slide split
  themes/         # Theme system
    data/         # 15 YAML themes (arctic-clean, corporate-blue, finance-pro, etc.)
    resolver.py   # 3-tier resolution: colors -> palette -> slide_masters
    brand_kit.py  # BrandKitMerger (protected keys: spacing, typography.scale)
  content/        # NL-to-IR pipeline
    pipeline.py   # 4-stage: intent -> outline -> expand -> refine
    intent.py     # Prompt classification
    outline.py    # Slide structure planning
    expand.py     # Content generation per slide
    refine.py     # QA and polish
  llm/            # LLM provider adapters
    router.py     # Provider selection + fallback chain
    adapters/     # Claude (tool_use), OpenAI (json_schema), Gemini (response_schema), Ollama (retry)
  charts/         # Chart recommender (data analysis -> chart type suggestion)
  finance/        # Financial formatting, conditional formatting, data ingestion
  qa/             # 5-pass QA pipeline, auto-fix engine (contrast, overflow, alignment), scorer
  billing/        # Stripe client, credit reservation/deduction, tier definitions, x402 config
  services/       # Business logic: DeckOperations, SlideTypeRegistry, CostEstimator
  workers/        # ARQ workers: ContentWorkerSettings, RenderWorkerSettings, task definitions
  mcp/            # MCP server: 6 tools (render, generate, themes, slide_types, estimate, preview)

sdk/              # TypeScript SDK (@deckforge/sdk)
  src/            # Immutable builder pattern, SSE streaming, full type coverage (32 slide + 24 chart types)
demos/            # 5 demo deck IRs (mckinsey-strategy, pe-deal-memo, startup-pitch, board-update, product-launch)
alembic/          # Database migrations (5 migrations)
scripts/          # bootstrap-db.sh (migrations + seed data)

Read the full file on GitHub · 147 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. 4d ago First seen · 147 lines · 2,210 tokens per session scan A 6f5b4a3af3cb

Subscribe to this mod's changes

deckforge CLAUDE.md is an instructions file published in the GitHub repository Whatsonyourmind/deckforge (7 stars, last pushed 9d ago), licensed MIT. It adds 2,210 tokens to every session, about $0.0111 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-08-31.