caveman
claudeTalk like caveman. Cut filler. Keep technical details explicit.
22 skills · 1 command · 3 agents · hooks
Nothing ships unproven. hmd makes your coding agent's work pass a test it didn't write — and proves that test can fail — before the push lands. The gate is a plain git pre-push hook, so it holds in any repo. Answer and steer your Claude Code session from your phone (pair with hmd app connect).
Plugin hmd from marketplace heimdall in randomittin/heimdall. Commands read from the repo's manifest — 22 days ago.
This plugin runs code on your machine — its hooks fire automatically on events like tool use and it starts local MCP servers. The exact commands are listed below; read them before installing.
designmatchUse when matching a React Native screen to a Claude Design HTML canonical at ≥95% visual parity on real Android/iOS hardware — closes the loop with a VQA stub mode, Playwright canonical renderer at 1080×2444, and a dual-metric pixelmatch + SSIM diff harness producing composite triptychs.
heimdallAutonomous superskill manager — the main orchestrator agent for complex development tasks. Analyzes prompts, detects and assigns relevant skills, decomposes work into sub-projects, spawns parallel agents (architect, coder, design, test, lint, docs, reviewer), enforces quality gates, tracks token bud
mac-deep-cleanDeep-clean a macOS dev machine — reclaim disk (caches, dev-tool caches, dead repos, git worktrees, Android/Xcode/simulator bloat, System Data) and diagnose/fix memory exhaustion (runaway process leaks, swap thrashing, wired RAM). Use when disk is full, "System Data" is huge, the machine is swapping/
self-improveThe deliberate self-improvement loop for the maintainer — step back from fixing issues and improve Heimdall's OWN capability. Ports karpathy/autoresearch to Heimdall's routing/planning: collect evidence from metrics.jsonl + queue dead/done stats → form testable hypotheses → run a bounded routing exp
stacksLoad stack-specific knowledge (conventions, exact lint/test/build commands, common failure patterns) onto the current role agent for the project's detected tech stack(s) — Next.js, React Native, Spring Boot, FastAPI, Django, Rust, etc. Use at the start of any task in an unfamiliar or newly-onboarded
system-healthSuggest whether the machine needs a DISK or MEMORY cleanup — and catch the case where Heimdall ITSELF is the hog (runaway orphaned python from the presence keeper). Use when the machine is slow / swapping / laggy, disk or "System Data" is full, memory is exhausted, at the start of a long session, or
/hmd:autocommitToggle auto git commits on/off for this project. Run without args to see status, or with "on"/"off" to set.
/hmd:autonomySet Heimdall autonomy (1=Guided, 2=Checkpoint, 3=Full Auto) — how much the agent does before asking. Use with a number, +/- to cycle, or no argument to show current.
/hmd:benchReproduce the public benchmark table on your own machine (spec S-5). Runs a fixed suite of coding tasks under two arms — raw Claude Code vs Heimdall — and PRODUCES real numbers (tokens, wall time, tests passing, cost) by actually running them. Never hardcodes results. Safe by default (dry mode: vali
/hmd:continueCompact without losing the thread. Saves a fresh checkpoint, writes a continue handoff (goal, exact next step, in-flight agents with worktrees, decisions made, gated items) and prints ONE ready-to-paste `/compact <focus>` line; once you paste it, the SessionStart(compact) hook re-injects the handoff
/hmd:debloatRetroactive whole-repo bloat removal (spec H-2ii). Scores an existing repo on the deterministic bloat axes, writes BLOAT-REPORT.md, and — only behind a passing test-suite safety oracle — proposes gated refactor waves as a PR. The zero-risk adoption hook.
/hmd:demoThe first-five-minutes wow. Scaffolds a fully-specified canned task (a real Todo REST API + single-page frontend + tests + README) into a fresh project dir and hands you the exact command to watch Heimdall build it end-to-end. Safe by default (dry mode) — never auto-executes without --run. Use when
/hmd:designmatchBootstrap the designmatch skill in a React Native project from a Claude Design link. Auto-imports the Visual QA stub helper (visual-qa.ts), writes default state.vqa.json, registers the canonical source, updates .gitignore, and prints the wiring snippet. Use when starting visual-parity work on a new
/hmd:dreamOvernight autoresearch + maintainer sweep that surfaces a MORNING REPORT — suggested changes, issues raised with fixes, and kept improvements. Shadow-first; never auto-pushes. Runs on-demand or scheduled for off-hours.
/hmd:fallbackShow or change hmd's OmniRoute fallback-routing gate — whether Heimdall may route work to a third-party model, through a locally-hosted OmniRoute gateway, using the operator's OWN API key, when Claude capacity runs out. Use when a dev asks why fallback isn't routing, wants to arm it (`auto` for near
/hmd:feedbackSubmit team feedback as a GitHub issue on the repo, straight from an hmd session. Use when a team dev wants to flag friction, request a change, or report something about the team flow. Files the dev's words + minimal context (hmd version, optional command/phase) via the existing issue-loop GitHub co
/hmd:invitePrint a ONE-COMMAND team join to recruit a teammate onto your Heimdall team. Use when a dev wants to add someone to their team's presence wall — the statusline "invite your team" tease points here. Resolves this repo's team secret from the dev's OWN <repo>/.heimdall/team.json and inlines it (plus th
/hmd:levelDeprecated alias for /hmd:autonomy. Sets Heimdall autonomy (1=Guided, 2=Checkpoint, 3=Full Auto). Still works; prints a one-line rename notice.
/hmd:maintain-checkRun one durable maintainer autopilot cycle — budget-gated, stop-guarded, checkpointed. Use --dry-run to preview without executing.
/hmd:maintainRun automated maintenance — seeker finds bugs from pod logs and raises GitHub issues, fixer picks them up and creates PRs. Can run as a one-shot or scheduled via /schedule.
/hmd:reflectForce a reflection pass over the conflict log — re-evaluate all unresolved skill conflicts
/hmd:report-bugFile a GitHub issue against the Heimdall plugin repo from inside a session. Use when the user reports a bug, requests a feature, or wants to flag a docs/help-text problem in Heimdall itself. Auto-fills environment (plugin SHA, OS, recent commits) and posts to randomittin/heimdall (or the plugin's or
/hmd:saveSave current work state for next session. Creates/updates .planning/ files (CHECKPOINT.md, STATE.md, settings.json) so Heimdall resumes with full context. NOT a rewind — saves forward progress. Run before closing a session or at any milestone.
/hmd:statusShow current Heimdall state — project phase, active agents, quality gates, conflicts
/hmd:switch-aiShow or change which offline coding-AI CLI backend hmd prefers (Claude Code, Cursor CLI, ...). Use with a letter, backend id, or loose name, or no argument to show current + detected options.
/hmd:teamManage this repo's TEAM for multi-tenant Heimdall presence — mint, join, or inspect the per-repo team secret. Use when a dev wants to start a private team, switch teams, join a teammate's team, or check which team this repo is on. A team = a high-entropy secret scoped to a repo; presence (HAID + onl
architectRead-only architecture and planning specialist. Analyzes codebase structure, identifies patterns and risks, designs solutions, and emits machine-readable plans (PLAN files + waves.json) with runnable acceptance criteria. Use proactively before any change touching 3+ files, any new system, or when th
coderFeature implementation specialist. Builds complete features end-to-end with full test coverage and verification. Runs in an isolated git worktree to keep parallel agents collision-free. Use proactively when implementing new functionality, fixing bugs that need code changes, or making any code modifi
database-architectDatabase design agent. Schema modeling, migration strategy, query optimization, technology evaluation. Use when task involves data layer, models, or persistence.
designUI/UX design agent. Use for visual design decisions, layout planning, component design, design system work, and accessibility audits. Integrates with design-for-ai skills when available.
docs-writerDocumentation agent. Use for writing and updating documentation, README files, API docs, and keeping docs in sync with implementation changes.
fixerBug fixer agent. Picks up open GitHub issues labeled 'bug' or 'seeker', creates a fix branch, implements the fix, runs tests, and raises a PR. Use for automated bug fixing from issue queue.
heimdallAutonomous superskill manager. Use proactively for any multi-step development task. Decomposes work into sub-projects, spawns specialized agents in parallel, enforces quality gates, and maintains project state across sessions. Thinks like a CTO.
incident-responderProduction incident response agent. Root cause analysis, observability-driven debugging, rollback strategy, blameless postmortem. Use when production is broken or errors are spiking.
lint-qualityLint and static analysis agent. Use for enforcing code style, running linters, and checking for common code quality issues. Fast and mechanical.
plannerCreates verified execution plans with acceptance criteria that block progression. Decomposes work into dependency-ordered waves of parallel tasks with grep-verifiable or command-runnable criteria.
reviewerCode review agent. Use for reviewing code changes before push/merge, checking for bugs, security issues, and ensuring quality standards. Mandatory before any push.
security-auditorSecurity assessment agent. Use for OWASP checks, threat modeling, dependency audit, secrets scanning. Spawn it whenever a task touches auth, secrets, user input or dependencies — no code spawns it for you, so the orchestrator has to decide. Reports vulnerabilities with severity + fix recommendations
seekerBug seeker agent. Pulls fresh logs from Kubernetes pods, analyzes for errors/crashes/anomalies, and raises GitHub issues with reproduction steps. Use when monitoring production or running maintenance sweeps.
test-runnerTest writing and execution agent. Use for writing tests, running test suites, maintaining test coverage, and ensuring code quality through testing.
verifierPost-execution verification agent. Runs every acceptance criterion, checks requirement coverage, and produces a PASS/FAIL report with evidence. Never skips a criterion.
wave-executorExecutes all tasks in a single wave of a plan. Implements, verifies acceptance criteria, and commits atomically. Spawns parallel subprocesses for independent tasks within the wave.
heimdall-ledgerruns: python3 ${CLAUDE_PLUGIN_ROOT:-.}/bin/heimdall-ledger-mcp
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled parallel-gate && exit 0; "${CLAUDE_PLUGIN_R
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled ctx-meter-notice && exit 0; CTX="${CLAUDE_P
P="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; F="$P/bin/heimdall-secret-filter"; [ -x "$F" ] || { echo "heimdall: secret-filter not found (CLAUDE_PLUGIN_ROOT unset or stale, and no install at ~/.heimdal
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled caveman-level-context && exit 0; PLUGIN="${
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled inbox-deliver-prompt && exit 0; PLUGIN="${C
[ -f "${CLAUDE_PROJECT_DIR:-.}/.heimdall/ui/stop-request.json" ] || exit 0; HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2
INPUT=$(cat); PLUGIN="${CLAUDE_PLUGIN_ROOT:-}"; [ -x "$PLUGIN/bin/heimdall-precheck-bash" ] || PLUGIN="$HOME/.heimdall"; if [ ! -x "$PLUGIN/bin/heimdall-precheck-bash" ]; then echo "heimdall: precheck
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled parallelism-tracker-read && exit 0; INPUT=$
INPUT=$(cat); PLUGIN="${CLAUDE_PLUGIN_ROOT:-}"; [ -x "$PLUGIN/bin/heimdall-precheck-agent" ] || PLUGIN="$HOME/.heimdall"; if [ ! -x "$PLUGIN/bin/heimdall-precheck-agent" ]; then echo "heimdall: preche
INPUT=$(cat); CONTENT=$(printf '%s' "$INPUT" | jq -r '.tool_input.content // .tool_input.new_string // empty' 2>/dev/null); TOOL=$(printf '%s' "$INPUT" | jq -r '.tool_name // "unknown"' 2>/dev/null ||
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled edit-claim-prewarn && exit 0; INPUT=$(cat);
P="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; G="$P/bin/secret-read-guard"; [ -x "$G" ] || { echo "heimdall: secret-read-guard not found (CLAUDE_PLUGIN_ROOT unset or stale, and no install at ~/.heimdall
INPUT=$(cat); PLUGIN="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; LCG="$PLUGIN/bin/heimdall-lintconfig-guard"; if [ -x "$LCG" ]; then printf '%s' "$INPUT" | "$LCG"; else echo "heimdall: lintconfig-guard
[ "${HMD_PHONE_DENY:-}" = "0" ] && exit 0; [ -f "${CLAUDE_PROJECT_DIR:-.}/.heimdall/app/connect.json" ] || exit 0; HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ]
[ -s "${CLAUDE_PROJECT_DIR:-.}/.heimdall/ui/inbox.jsonl" ] || exit 0; HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/
[ -f "${CLAUDE_PROJECT_DIR:-.}/.heimdall/ui/stop-request.json" ] || exit 0; HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled corpus-capture && exit 0; PLUGIN="${CLAUDE_
INPUT=$(cat); TOOL=$(printf '%s' "$INPUT" | jq -r '.tool_name // "unknown"'); FPATH=$(printf '%s' "$INPUT" | jq -r '.tool_input.file_path // .tool_input.notebook_path // empty'); if [ -n "$FPATH" ]; t
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled context-sync && exit 0; PLUGIN="${CLAUDE_PL
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled journal-commit && exit 0; PLUGIN="${CLAUDE_
[ -s "${CLAUDE_PROJECT_DIR:-.}/.heimdall/ui/inbox.jsonl" ] || exit 0; HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/
[ -f "${CLAUDE_PROJECT_DIR:-.}/.heimdall/ui/stop-request.json" ] || exit 0; HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled session-bootstrap && exit 0; INPUT=$(cat 2>
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled resume-probe && exit 0; PLUGIN="${CLAUDE_PL
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled maintain-resume-hint && exit 0; "${CLAUDE_P
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled quota-resume-hint && exit 0; "${CLAUDE_PLUG
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled dream-notice && exit 0; PLUGIN="${CLAUDE_PL
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled presence-keeper-start && exit 0; INPUT=$(ca
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled presence-connect-prompt && exit 0; PLUGIN="
HMDP="${CLAUDE_PLUGIN_ROOT:-$HOME/.heimdall}"; [ -r "$HMDP/bin/lib/hook-enabled.sh" ] && . "$HMDP/bin/lib/hook-enabled.sh" 2>/dev/null && ! hmd_hook_enabled ai-select && exit 0; PLUGIN="${CLAUDE_PLUGI
Talk like caveman. Cut filler. Keep technical details explicit.
22 skills · 1 command · 3 agents · hooks
Persistent memory for Claude Code: the next session starts where the last one left off.
29 skills · 1 MCP server · hooks
tasteskill 2.5.1: professional company websites at the figma.com and x.ai level, with one section per screen, real photographs, real product UI, effects kept for tech and gaming pages, and a real-browser checker and finish gate.
1 skill
Open-source AI job search that runs locally in your AI coding CLI: scan job portals, evaluate listings into a structured A-H report with a 1-5 score, tailor your CV, track applications
5 skills · hooks
Cross-session memory and token savings for coding agents.
6 skills · 1 agent · 1 MCP server · hooks
Package any website or local web build into a lightweight desktop app with Pake CLI.
1 skill
This page updates itself from your repo. Add the badge to your README, or get it Featured to pin it above the organic results with a followed link to your site.