Shark CLAUDE.md

Project instructions for Shark, a Swift command-line tool that generates type-safe access to Apple app resources and checks or fills missing translations. Localization means adapting an app's text for different languages and regions.

In plain words
What is it for?
They are for generating accessors for images, colors, fonts, and other resources, checking translation files, and proposing translations while preserving formatting placeholders.
Why use it?
They clarify Shark's supported resource formats and commands, helping agents keep its documentation and behavior consistent with the tool's actual purpose.

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/kaandedeoglu/shark/claude-md
Clone the repo
git clone --depth 1 https://github.com/kaandedeoglu/Shark
Per session 2,803 This file is loaded in full into every session.
When invoked 2,803 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.02803 $0.02803
Opus 5 $0.01401 $0.01401
Sonnet 5 $0.00561 $0.00561
Haiku 4.5 $0.00280 $0.00280

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

Security

Grade A, and why

Shark 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 2d 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 · 188 lines

How it starts

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

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Overview

Shark is a Swift command line tool with three subcommands:

  • generate (default) — type-safe enums for iOS/macOS application assets (images, colors, fonts, localizations, storyboards, data assets). Parses the Xcode project to discover resources; compile-time safety for asset access.
  • lint — localization completeness checks across all locales (missing-key, empty-source-value, placeholder-mismatch, orphaned-key); exit code 1 on findings, built as a CI gate.
  • translate — fills localization gaps via local Claude Code by default, with Claude API and Codex CLI backends also supported; machine-validated format-specifier preservation and needs_review write-back.

Positioning (keep docs/marketing consistent with this)

Shark's pitch against Xcode's generated symbols (which sherlocked images/colors in Xcode 15 and string accessors via String Catalogs later): Shark also covers fonts, storyboards, and data assets; speaks classic .strings and .xcstrings; namespaces by folder structure and key separators; handles multi-target/white-label setups (--target, --exclude, --name); and — the core argument — treats localization as a workflow (generate → lint → translate), not just codegen. Against SwiftGen/R.swift: project-driven instead of config-driven, zero runtime dependency, and they don't lint or translate. XcodeGen/Tuist are project generators — orthogonal, not competitors. The three subcommands deliberately share one project model and one FormatSpecifierParser, so claims like "lint checks exactly what generate generates" stay true — preserve that property when extending.

Build and Development Commands

Building the Project

# Build in debug mode
swift build

# Build for release
swift build -c release

# Install locally (after building release)
cp ./.build/release/Shark /usr/local/bin/shark

Running Tests

The project uses Swift Package Manager's built-in testing. Look for test files in the standard Tests/ directory structure.

Read the full file on GitHub · 188 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. 2d ago First seen · 188 lines · 2,803 tokens per session scan A 32fc25a547ab

Subscribe to this mod's changes

Shark CLAUDE.md is an instructions file published in the GitHub repository kaandedeoglu/Shark (382 stars, last pushed 11d ago), licensed MIT. It adds 2,803 tokens to every session, about $0.0140 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-30.