stikart CLAUDE.md

stikart CLAUDE.md is an instructions file for coding agents from erisnar/stikart. It costs 3,056 tokens per session, scanned A, original, Apache-2.0.

Project instructions for Stikart, an interactive map of Norwegian trail-running and ultramarathon routes.

In plain words
What is it for?
Use them to run the site locally, understand its Python server and GitHub Pages setup, and run Playwright browser tests on desktop or mobile.
Why use it?
They give a coding agent the project-specific commands, testing setup, and important fixtures needed to work on the site correctly.

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/erisnar/stikart/claude-md
Clone the repo
git clone --depth 1 https://github.com/erisnar/stikart

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

README.md
[![agentmods](https://agentmods.dev/badge/instructions/erisnar/stikart/claude-md.svg)](https://agentmods.dev/instructions/erisnar/stikart/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/erisnar/stikart/claude-md"><img src="https://agentmods.dev/badge/instructions/erisnar/stikart/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 3,056 This file is loaded in full into every session.
When invoked 3,056 The same file — it is already loaded in full.
Security scan A 1 finding. 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.03056 $0.03056
Opus 5 $0.01528 $0.01528
Sonnet 5 $0.00611 $0.00611
Haiku 4.5 $0.00306 $0.00306

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

Security

Grade A, and why

stikart CLAUDE.md scanned grade A with 1 finding 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.

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

const fs = require('fs'), { execSync } = require('child_process');
CLAUDE.md · 200 lines

How it starts

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

Stikart

Interactive map for Norwegian trail running and ultra race routes. Deployed at stikart.no via GitHub Pages.

Running locally

python3 server.py
# Open http://localhost:8000/index.html

The Python server is needed to avoid CORS errors when fetching local GPX files.

Integration tests

Playwright end-to-end tests in tests/ — the only npm usage in the repo (dev-only; the app itself still has no build step).

npm install && npx playwright install chromium   # one-time setup
npm test            # run all tests (starts server.py automatically)
npm run test:ui     # interactive UI mode
npx playwright test --project=mobile             # mobile only
  • Two projects: desktop (Desktop Chrome) and mobile (Pixel 7 emulation — touch events + coarse pointer, so isTouchDevice/isMobile code paths run)
  • tests/fixtures.js blocks analytics and serves blank map tiles (offline-safe), and has helpers: touchScrub (real CDP touch events for chart finger-scrubbing), expandPanel, openRaceDeepLink
  • Tests reference the races nsm-ultra-2025 and lommedalen-rundt (TEST_RACE/DESCRIBED_RACE in fixtures) — update fixtures if those entries are ever removed
  • Covered: race list/search, race selection + map highlight/dim, elevation chart mouse hover and touch scrub (cursor, km marker, freeze/lock), mobile welcome screen, minimized detail card, deep links

Tech stack

  • Vanilla JS, HTML, CSS — no build step, no framework, no npm
  • Leaflet.js 1.9.4 for the map
  • leaflet-polylinedecorator for route arrows
  • Kartverket (Norgeskart) and OpenStreetMap as base layers
  • GoatCounter for privacy-friendly analytics

File structure

File Purpose
js/config.js Constants: WORKER_URL, isTouchDevice, darkColorPool, raceCategories
js/races.js raceRoutes data array — one entry per race
js/utils.js Pure utility functions: slugify, formatDate, haversineKm, fmtTime, fmtPace, etc.
js/map.js Leaflet map init, tile layers, icons, layer state, loadRace/loadRaces, highlightRace, resetRaceStyles, regenerateColors, race picker popup, custom layer control
js/filters.js Filter state and functions: applyFilters, filterByMonth, filterByCategory, filterBySearch, clearSearch
js/elevation.js buildElevationProfile, renderElevationChart, updateElevCursor
js/cursor.js Shared cursor state (dotFrozen, chartTouchMarker), enableDistanceDot/disableDistanceDot, enableChartMouse/enableChartTouch, minimizeDetail/expandDetail
js/pace-planner.js Pace math (gradeFactor, fatiguedArrival, calcCheckpointSplits), renderPacePlanner, openPacePlanner/closePacePlanner/updatePacePlanner, zoomToCheckpoint
js/race-panel.js Race list panel, race detail overlay, selectRace, showRaceDetailOverlay, closeRaceDetail, shareRace, changeRaceColor; extends applyFilters and regenerateColors
js/submission.js Race submit/edit form: showSubmitRaceForm, openEditRaceForm, handleRaceSubmit, parseGPXForStats
js/main.js Entry point: showInfoOverlay, downloadGpx, startup sequence (regenerateColors, URL params, initial loadRace/loadRaces)
gpx-parser.js Parses GPX XML → GeoJSON; Haversine distance + elevation gain; extracts <wpt> waypoints
index.html Shell: map div, filter bar, panels, overlays
style.css All styles
server.py Local dev server
worker.js Cloudflare Worker — handles race submission/edit PRs server-side (holds GitHub PAT)
wrangler.toml Cloudflare Worker config
race-calendar/ GPX files, one folder per race
.github/workflows/validate-race.yml CI: validates GPX and auto-merges valid race PRs

Read the full file on GitHub · 200 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 · 200 lines · 3,056 tokens per session scan A 200dcee2a6c0

Subscribe to this mod's changes

stikart CLAUDE.md is an instructions file published in the GitHub repository erisnar/stikart (2 stars, last pushed 4d ago), licensed Apache-2.0. It adds 3,056 tokens to every session, about $0.0153 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other instructions, from other repositories

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 6,785 tokens

spec-kit AGENTS.md

AGENTS.md instructions for github/spec-kit, covering agents.md, about spec kit and specify, quickstart — add a new integration in 5 steps, integration architecture and integrationmanifest — file tracking.

github/spec-kit · 7,104 tokens

codex AGENTS.md

AGENTS.md instructions for openai/codex, covering rust/codex-rs, the codex-core crate, code review rules, crate api surface and model visible context.

openai/codex · 5,182 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, applying the notice (cutover) and fallback chain (never fail the build).

microsoft/vscode · 5,001 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,469 tokens

deepseek-harness AGENTS.md

AGENTS.md instructions for deepseek-ai/deepseek-harness, covering agents.md, pre-stable apis and released session data, repository layout, commands and host sandbox failures.

deepseek-ai/deepseek-harness · 3,733 tokens