{"generatedAt":"2026-07-21T19:32:14.550Z","entries":[{"id":"claude-code-agentic-loop-context","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/claude-code-agentic-loop-context","title":"How Claude Code's agentic loop fills your context window","description":"Claude Code runs a gather→act→verify loop: startup load fills context before you type, then file reads and tool output pile up as the loop runs - compaction, /clear, and subagents are the official levers for what sticks.","tags":["claude-code","agentic-loop","context-window","compaction","claude-md","skills","subagents","mcp","hooks"],"category":"claude","date":"2026-06-30T00:00:00.000Z","excerpt":"Claude Code is an agentic harness: the model reasons through a gather → act → verify loop while tools read, edit, run, and search your project. Context starts filling before your first prompt CLAUDE.md, auto memory, MCP...","headings":"Definition The loop and built-in tools What loads before you type How context grows during the loop Compaction survival map Compact Instructions Subagents as context isolation Inspect and reset Bottom line"},{"id":"claude-code-channels","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/claude-code-channels","title":"Claude Code channels: push CI alerts and chat into your running session","description":"Channels are MCP servers that inject Telegram, Discord, iMessage, or webhook events into the local Claude Code session you already have open - v2.1.80+, `--channels` per session, and a sender allowlist, not just `.mcp.json`.","tags":["claude-code","channels","mcp","webhooks","telegram"],"category":"claude","date":"2026-07-08T00:00:00.000Z","excerpt":"A CI job fails while you're at lunch. Your Telegram bot gets a DM. A deploy webhook fires. Channels are how those events land in the Claude Code session already running on your machine with your repo open and your contex...","headings":"Definition Where channels sit Requirements Enable an official channel What you see in the terminal Security model Build a one-way webhook channel Two-way: reply tool and permission relay Unattended sessions Enterprise controls What to read next"},{"id":"claude-code-commands-cheatsheet-2026","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/claude-code-commands-cheatsheet-2026","title":"Claude Code commands cheatsheet (2026)","description":"A practical map of Claude Code’s shortcuts, prefixes, session commands, and CLI flags - ordered like a real terminal cheatsheet.","tags":["claude-code","commands","shortcuts","interactive-mode","cheatsheet"],"category":"claude","date":"2026-07-08T00:00:00.000Z","excerpt":"The basics worth memorizing: shortcuts, prefixes, in session slash commands, and shell CLI not the full /commands list, just what you reach for daily. Keyboard shortcuts are described in prose, not boxed in code; the col...","headings":"Cheatsheet layout Command cheatsheet (when you’re stuck) `Ctrl+C` `Esc` `Esc` then `Esc` `Ctrl+R` Shortcuts & prefixes Slash commands: `/…` Shell mode: `!…` Multiline input: `\\\\` + `Enter` File mentions: `@` Permission modes: `Shift+Tab` Claude (shell) commands `claude` `claude \"query\"` `claude -p \"query\"` `claude -c` `claude --add-dir ../path` Claude commands (inside a session) `/help` `/usage` (aliases: `/cost`, `/stats`) `/export [filename]` `/clear` (aliases: `/reset`, `/new`) `/exit` (alias: `/quit`) `/status` `/rewind` (aliases: `/checkpoint`, `/undo`) `/plan [description]` `/doctor` Session commands `/context` `/compact [instructions]` `/init` `/memory` `/config` (alias: `/settings`) `/permissions` (alias: `/allowed-tools`) Context & memory `/hooks` `/mcp` `/agents` Bottom line"},{"id":"claude-code-goal-command","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/claude-code-goal-command","title":"Claude Code /goal: keep a session running until a fresh model says it's done","description":"/goal sets a completion condition and Claude keeps taking turns until a separate small fast model (default Haiku) confirms it from the transcript. Requires v2.1.139+, one goal per session, condition up to 4,000 characters.","tags":["claude-code","goal","agentic-loop","auto-mode","hooks"],"category":"claude","date":"2026-07-01T00:00:00.000Z","excerpt":"/goal sets a completion condition and Claude keeps taking turns toward it no per turn prompting until a separate small fast model (Haiku by default) confirms the condition is met. After each turn that evaluator returns y...","headings":"Definitions Set a goal Write a condition the evaluator can actually verify Check status, then clear How evaluation works /goal vs /loop vs Stop hook vs auto mode Run it unattended When it won't start Bottom line"},{"id":"claude-code-harness-starter","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/claude-code-harness-starter","title":"How to set up a minimal Claude Code harness: 10 files, one command","description":"A minimal Claude Code harness fits in ten files - a lean CLAUDE.md skeleton, a verifiable definition-of-done loop, three read-only subagents, a pre-ship security audit, and credential deny rules. One npx command installs the set.","tags":["claude-code","claude-md","agents-md","harness","context-engineering"],"category":"harness","date":"2026-07-18T00:00:00.000Z","excerpt":"An agent harness is everything around the model: rule files, permissions, subagents, verification. It decides more of the outcome than the model does. The minimal version for Claude Code fits in ten files, and npx leanha...","headings":"What a minimal harness contains Why ten files and not thirty The three files that work without discipline Set it up Migrating an existing CLAUDE.md Bottom line"},{"id":"claude-code-plan-mode","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/claude-code-plan-mode","title":"Claude Code plan mode: explore before you edit, and what it really enforces","description":"Plan mode makes Claude Code read and plan without touching disk until you approve - enable it with Shift+Tab or --permission-mode plan. Under the hood it's prompt reinforcement plus a markdown plan file, not a hard tool lockdown.","tags":["claude-code","plan-mode","agentic-workflow","permission-modes","context-engineering"],"category":"claude","date":"2026-07-01T00:00:00.000Z","excerpt":"Plan mode separates exploration from execution: Claude Code reads files and drafts an implementation plan but makes no edits until you approve it . Turn it on with Shift+Tab mid session or claude permission mode plan at...","headings":"Definitions Enable it The workflow: explore → plan → implement → commit When to use it - and when to skip What the harness actually enforces Plan mode vs a DIY markdown handoff Bottom line"},{"id":"claude-code-security-sandboxing-2026","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/claude-code-security-sandboxing-2026","title":"Claude Code security in 2026: sandbox ladder, credentials, and when /sandbox is not enough","description":"OS-level Bash sandboxing cut Anthropic's permission prompts ~84%, but /sandbox only wraps Bash. Pick the right isolation tier, deny credential reads, and lock managed settings for unattended work.","tags":["claude-code","security","sandboxing","permissions","prompt-injection"],"category":"claude","date":"2026-07-17T00:00:00.000Z","excerpt":"The more permission dialogs you click through, the less you read them. Claude Code's OS level Bash sandbox (filesystem isolation plus network isolation) cut those prompts by about 84% in Anthropic's internal usage, and i...","headings":"Definitions Why prompts are not enough The isolation ladder (2026) Scope gap that bites Enable and configure `/sandbox` Close the credential hole (v2.1.187+) Org lockdown What still sits outside the sandbox Practical playbook Bottom line"},{"id":"claude-code-tools","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/claude-code-tools","title":"Claude Code tools: the permission model and how the core ones behave","description":"Claude Code ships 42 built-in tools and only 13 ask for permission - the read/mutate split, gotchas for the tools you touch daily, and the ToolName(specifier) rules that restrict or disable any of them.","tags":["claude-code","tools","permissions","bash","mcp"],"category":"claude","date":"2026-07-06T00:00:00.000Z","excerpt":"Claude Code ships 42 built in tools, and only 13 of them ever ask for permission. The split is the design: tools that only read (Read, Grep, Glob, LSP, Agent) run freely; tools that mutate state or leave the machine (Bas...","headings":"Definition The permission split Behaviors that bite Restrict and disable: ToolName(specifier) MCP tools: names now, schemas on demand Bottom line"},{"id":"claude-effort-thinking-fast-mode","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/claude-effort-thinking-fast-mode","title":"Why fast mode isn't a lower effort level","description":"Fast mode buys up to 2.5x speed on Opus for a flat $10/$50-per-million-token premium with zero quality change, while a lower effort level cuts tokens - and sometimes quality - instead; they're independent controls meant to stack, not substitute for each other.","tags":["claude","claude-code","effort","extended-thinking","fast-mode","cost-optimization"],"category":"optimization","date":"2026-07-21T00:00:00.000Z","excerpt":"Effort level, extended thinking budget, and fast mode are three separate controls on a Claude session, not one setting. Effort scales every token Claude spends text, tool calls, and thinking together. Thinking budget cap...","headings":"Definitions The levers at a glance Effort level: the token-spend dial Extended thinking: adaptive vs. fixed budget Fast mode: paying for latency Combine them"},{"id":"claude-fable-5","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/claude-fable-5","title":"Claude Fable 5: refusals are an API contract, not an error","description":"Fable 5 ships GA at $10/$50 per million tokens with a 1M context - and safety classifiers that return refusals as HTTP 200 responses, so every integration needs refusal handling, a fallback path, and new billing rules.","tags":["claude","fable","mythos","pricing","refusals","model-selection","prompting"],"category":"claude","date":"2026-07-06T00:00:00.000Z","excerpt":"Anthropic shipped Claude Fable 5 (claude fable 5) on 2026 06 09 as its most capable widely released model a 1M token context , up to 128K output tokens , at $10 / $50 per million input/output tokens. The integration brea...","headings":"Definitions What shipped The refusal contract Thinking works differently Where Fable 5 sits in the stack Working with Fable: notes from Anthropic's field guide Bottom line"},{"id":"claude-model-tier-comparison","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/claude-model-tier-comparison","title":"Why most agents default to the wrong Claude tier","description":"Fable 5 escalates for the hardest reasoning, Opus 4.8 orchestrates, Sonnet 5 is the default worker, Haiku 4.5 does the parallel grunt work. Choose by the job and the token bill, not the benchmark.","tags":["claude","fable","opus","sonnet","haiku","pricing","agents","model-selection"],"category":"claude","date":"2026-06-30T00:00:00.000Z","excerpt":"Anthropic's current stack is four tiers, and the choice is an economics problem, not a benchmark one. Most teams default to Opus for everything because it tops the benchmarks, or stay on Sonnet out of habit and pay the w...","headings":"Definitions The tiers at a glance Pick by job, not by benchmark When to reach for Fable 5 When to reach for Opus 4.8 When Sonnet 5 is the right default When Haiku 4.5 wins The orchestrator–worker pattern Bottom line"},{"id":"claude-sonnet-5","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/claude-sonnet-5","title":"Claude Sonnet 5 closes the gap to Opus without the Opus bill","description":"Sonnet 5 ships as the default on Free and Pro with intro API pricing at $2/$10 per million tokens - near Opus 4.8 on agentic benchmarks at 40% of Opus input cost through the 2026-08-31 intro window (60% at standard pricing) when you keep effort at Medium or below.","tags":["claude","sonnet","opus","pricing","agents","model-selection","fable"],"category":"claude","date":"2026-06-30T00:00:00.000Z","excerpt":"Anthropic shipped Claude Sonnet 5 (claude sonnet 5) on 2026 06 30 as the most agentic Sonnet tier yet positioned close to Opus 4.8 on agentic search and computer use benchmarks, at $2 / $10 per million input/output token...","headings":"Definitions What shipped Where Sonnet 5 sits in the stack Reading the cost-performance curve When to stay on Sonnet 5 vs reach for Opus Community reaction (unverified launch-day thread) Bottom line"},{"id":"context-engineering-beats-a-bigger-window","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/context-engineering-beats-a-bigger-window","title":"Context engineering beats a bigger context window","description":"Claude Code runs up to a 1M-token window on flagship models, but a bigger window doesn't fix a cluttered one - every turn replays the whole history and quality drops before the cap.","tags":["claude-code","context-window","context-engineering","tokens","subagents"],"category":"claude","date":"2026-06-30T00:00:00.000Z","excerpt":"Claude Code now runs up to a 1M token context window on flagship models but a bigger window does not fix a cluttered one. Every turn resends the entire conversation, and answer quality degrades before the hard limit is e...","headings":"Definition The window got bigger; the failure mode didn't Cause: every turn replays, and the middle gets lost Solution: engineer the context Push heavy reads into a subagent Bottom line"},{"id":"dont-break-the-prompt-cache","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/dont-break-the-prompt-cache","title":"Don't break the prompt cache","description":"Prompt caching only pays when the prefix stays byte-identical - put stable content first, dynamic content last, and verify with cache_read_input_tokens.","tags":["cost","caching","prompt-caching","tokens","agents"],"category":"optimization","date":"2026-07-20T00:00:00.000Z","excerpt":"Prompt caching is a 90% list price discount on reused input tokens but only while the prefix stays byte identical across calls. A single interpolated timestamp, a reordered tool list, or a request ID near the top invalid...","headings":"Definitions Placement rules Copy-paste: Anthropic stable prefix Verify before you celebrate Stack, don't substitute"},{"id":"five-metrics-for-an-agent-eval-pipeline","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/five-metrics-for-an-agent-eval-pipeline","title":"Five metrics for an agent eval pipeline","description":"Pick 1–2 custom LLM-judge metrics for the use case plus 2–3 generic agent metrics - about five total. BLEU/ROUGE miss semantics; G-Eval, DAG, and QAG cover what humans actually grade.","tags":["evals","llm-as-judge","agents","cost","quality"],"category":"optimization","date":"2026-07-20T00:00:00.000Z","excerpt":"You cannot optimize what you cannot score. Cost levers in Stop paying full price for repeat LLM calls cut the bill; an eval pipeline tells you whether the cheaper path still ships correct work. Cap the pipeline at roughl...","headings":"Definitions Scorer families The five-metric rule Copy-paste: minimal judge prompt When evals meet cost"},{"id":"from-symbolic-ai-to-agentic-era","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/from-symbolic-ai-to-agentic-era","title":"From symbolic AI to the agentic era","description":"AI winters followed the gap between ambition and engineering; Feigenbaum’s Knowledge Principle and today’s RAG-and-agent stacks show why hybrid systems keep coming back.","tags":["ai-history","expert-systems","ai-winter","agents","rag"],"category":"agents","date":"2026-07-19T00:00:00.000Z","excerpt":"In 1991, Desert Shield turned into Desert Storm. U.S. Transportation Command had to move people and materiel from Europe into Saudi Arabia on crisis clocks. An AI logistics planner called DART, the Dynamic Analysis and R...","headings":"Ambition outruns the stack Chemistry first: knowledge becomes the product MYCIN: proof of method, failure of deployment Glory: XCON configures the machine that ships Winter: four failure modes, one moonshot Two traditions: neat rules, scruffy weights Exhibit: timeline Exhibit: why SVM still shows up Exhibit: the players The hybrid comes back wearing new clothes Exhibit: sources Exit: same agent, different harness"},{"id":"llm-context-management","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/llm-context-management","title":"Prune the log, not the window","description":"Managing what a coding agent keeps in context - not window size - cut agent cost over 50% on SWE-bench Verified with no drop in solve rate, per JetBrains Research.","tags":["context-management","agents","cost","tokens","context-window"],"category":"optimization","date":"2026-07-09T00:00:00.000Z","excerpt":"Window size isn't the lever. [JetBrains Research][jetbrains] tested two ways of managing a coding agent's context observation masking and LLM summarization on SWE bench Verified, 500 real GitHub issues an agent must reso...","headings":"Definitions A bigger window doesn't fix this Symptom, cause, solution Which to use Bottom line"},{"id":"llm-cost-optimization","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/llm-cost-optimization","title":"Stop paying full price for repeat LLM calls","description":"Prompt caching cuts 90% off repeated tokens and batching cuts 50% flat - 95% stacked. A 2026 PwC study measured 41–80% real savings from caching alone on agent workloads.","tags":["cost","caching","batching","model-routing","context-management","pricing","tokens"],"category":"optimization","date":"2026-07-09T00:00:00.000Z","excerpt":"Prompt caching and batch processing are the two LLM cost levers with numbers you can bank on: Anthropic and OpenAI both publish fixed discount percentages, and the two stack. A cache read costs 90% less than a fresh inpu...","headings":"Definitions The levers at a glance Current per-token pricing Lever 1: Prompt caching - 90% off repeated tokens Measured, not promised Don't break the cache Lever 2: Batch processing - 50% off, if you can wait Stacked: caching and batching compound to 95% Lever 3: Model-tier routing Lever 4: Context management Lever 5: Trim output first, guard the prefix Where to start"},{"id":"new-sdlc-vibe-coding","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/new-sdlc-vibe-coding","title":"Vibe coding vs agentic engineering: same agent, different harness","description":"Google's 2026 SDLC whitepaper draws the line between vibe coding and agentic engineering at verification, not AI use - and the harness around the model decides which side you're on.","tags":["vibe-coding","agentic-engineering","sdlc","harness","context-engineering"],"category":"harness","date":"2026-07-08T00:00:00.000Z","excerpt":"Google's 2026 whitepaper The New SDLC With Vibe Coding (Addy Osmani, Shubham Saboo, Sokratis Kartakis) makes one claim about the software development life cycle worth keeping: vibe coding and agentic engineering are not...","headings":"Definitions The line is verification, not AI use Agent = model + harness The SDLC compresses unevenly Context is a financial lever What carries forward Bottom line"},{"id":"plan-and-scope-a-build-with-an-llm","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/plan-and-scope-a-build-with-an-llm","title":"How to plan and scope a build with an LLM","description":"A scoping method for LLM-assisted builds: measurable goals, risk-first order, and task size capped by what you can review in one sitting instead of by the calendar - plus a sunk cost checkpoint and a ready-to-copy planning prompt.","tags":["planning","vibe-coding","agents","prompting"],"category":"agents","date":"2026-07-20T00:00:00.000Z","excerpt":"This is a five step method for scoping a build with an LLM measurable goals, risk first order, and task size capped by what you can review in one sitting plus one checkpoint that catches the sunk cost fallacy before it b...","headings":"Step 1: State the goal as a number, not an adjective Step 2: Order by risk, not by ease Step 3: Size tasks by what you can review, not by the calendar Step 4: Estimate as a range, then re-scope on real data Step 5: Put a sunk cost checkpoint on the calendar - not just an estimate check Where each failure mode comes from The copy-paste planning prompt"},{"id":"trim-output-not-the-cache","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/trim-output-not-the-cache","title":"Trim output, not the cache","description":"Output tokens cost ~5× input and never cache - cut free-form prose first. Rewriting inside a cached prefix mid-session can raise the bill, not lower it.","tags":["cost","tokens","output","caching","agents"],"category":"optimization","date":"2026-07-20T00:00:00.000Z","excerpt":"Cost is (input × input price) + (output × output price). There is no minimum charge, so fewer tokens usually means a smaller bill except when the cut lands inside a cached prefix. Then you can pay more for less text. Thi...","headings":"Definitions The asymmetry What the studies measured Copy-paste: output budget Exit"},{"id":"vibe-coding-field-manual","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/vibe-coding-field-manual","title":"The vibe-coding field manual","description":"Everything in one place: mindset, planning, the session loop, a worked example, ten practices ranked by blast radius, git/prompting/debugging/testing/security playbooks, ten tools with 2026 pricing, and the commands that recover a session gone wrong.","tags":["vibe-coding","agentic-workflow","claude-code","ai-coding-tools","context-engineering"],"category":"agents","date":"2026-07-09T00:00:00.000Z","excerpt":"Vibe coding is a prompt loop, not a shortcut around engineering judgment the loop just moves fast enough that bad judgment compounds in minutes instead of sprints. This manual covers the whole discipline in one place: th...","headings":"Definition The mindset Before you prompt: plan the build The session loop: your first run, step by step Worked example: five prompts, one small tool The ten rules to remember Guardrails: protect what hurts to get wrong Context hygiene: what loads every turn should earn its keep Reuse: build the pattern once, invoke it every time Git is the safety net Prompt patterns that work When it breaks: the debugging playbook Testing and refactoring The security floor Scaling up: subagents, big context, and shared skills Matching the tool to the job Recovery: four commands, in order of how bad it's gotten When to graduate Bottom line"},{"id":"why-agents-ignore-your-claude-md","kind":"articles","url":"https://bartlomiejkrupa.dev/articles/why-agents-ignore-your-claude-md","title":"Why agents ignore your CLAUDE.md","description":"A bloated CLAUDE.md gets filtered out as noise. Keep it to universal instructions and move everything else behind progressive disclosure.","tags":["claude-code","claude-md","context-engineering","agents-md","progressive-disclosure"],"category":"claude","date":"2026-06-30T00:00:00.000Z","excerpt":"If your agent skips instructions you put in CLAUDE.md, the file is probably too long and too specific. The fix is not louder emphasis it is a shorter, more universal file, with everything else moved behind progressive di...","headings":"Definition What it costs Why it gets ignored What to include (and exclude) Commands Conventions Architecture Move the rest behind progressive disclosure Don't use the model as a linter Bottom line"},{"id":"cache-stable-prefix","kind":"notes","url":"https://bartlomiejkrupa.dev/notes/cache-stable-prefix","title":"Cache-stable prefix","description":"Put only byte-stable content before the prompt-cache marker - system prompt and tool schemas first, timestamps and per-request context after - or every later call pays full input price.","tags":["caching","cost","prompt-caching","tokens"],"category":"rule","date":"2026-07-20T00:00:00.000Z","excerpt":"A prompt cache is a prefix match on exact bytes. Anything that changes above the marker timestamps, request IDs, reordered tools, dynamic tool results invalidates every cached token after it. You still get an answer; you...","headings":"Rule"},{"id":"claude-code-skill-composition","kind":"notes","url":"https://bartlomiejkrupa.dev/notes/claude-code-skill-composition","title":"Claude Code skill composition","description":"Claude Code skills compose through explicit Skill-tool calls between separate files, not a dedicated sub-skill primitive - disable-model-invocation blocks that call path too, not just autonomous triggering.","tags":["skills","claude-code","agentic-engineering","subagents"],"category":"concept","date":"2026-07-09T00:00:00.000Z","excerpt":"A skill's SKILL.md body is just instructions loaded into the conversation. If those instructions tell Claude to invoke another skill by name, Claude calls the same Skill tool a human user would there's no separate \"call...","headings":"The hard gate Two ways skills meet subagents When to reach for orchestration"},{"id":"claude-md-universal-only","kind":"notes","url":"https://bartlomiejkrupa.dev/notes/claude-md-universal-only","title":"Keep CLAUDE.md to universal instructions","description":"Put only universally applicable instructions in CLAUDE.md; task-specific content raises the odds an agent treats the whole file as noise and ignores it.","tags":["claude-md","claude-code","context-engineering"],"category":"rule","date":"2026-06-30T00:00:00.000Z","excerpt":"Put only universally applicable instructions in CLAUDE.md. Task specific or situational content raises the chance the agent treats the whole file as noise and ignores it the failure mode broken down in why agents ignore...","headings":"Include Exclude Why"},{"id":"context-engineering","kind":"notes","url":"https://bartlomiejkrupa.dev/notes/context-engineering","title":"Context engineering","description":"Context engineering is curating what enters the model's context window each turn, rather than relying on a bigger window to absorb the clutter.","tags":["context","claude-code","tokens"],"category":"concept","date":"2026-07-08T00:00:00.000Z","excerpt":"Context engineering is the practice of curating what enters a model's context window each turn instead of relying on a larger window to absorb clutter. Input quality drives output quality; a bigger window does not. Why i...","headings":"Why it matters The moves"},{"id":"goal-evaluator-transcript-only","kind":"notes","url":"https://bartlomiejkrupa.dev/notes/goal-evaluator-transcript-only","title":"The /goal evaluator only reads the transcript","description":"Claude Code's /goal evaluator is a prompt-based Stop hook that doesn't call tools, so any proof of completion - test output, an exit code, git status - must be surfaced in the conversation or it can't be judged.","tags":["claude-code","goal","hooks"],"category":"rule","date":"2026-07-01T00:00:00.000Z","excerpt":"Claude Code's /goal evaluator is a prompt based Stop hook running your small fast model (Haiku by default). It does not call tools . It judges the completion condition against what Claude has already surfaced in the conv...","headings":"Symptom Cause Solution"},{"id":"llm-as-a-judge","kind":"notes","url":"https://bartlomiejkrupa.dev/notes/llm-as-a-judge","title":"LLM-as-a-judge","description":"LLM-as-a-judge scores another model's output with a fixed rubric - use DAG for clear pass/fail, G-Eval for subjective quality, QAG for fact checks; cap an agent pipeline at ~5 metrics.","tags":["evals","llm-as-judge","agents","quality"],"category":"concept","date":"2026-07-20T00:00:00.000Z","excerpt":"LLM as a judge a model grades another model's output (or full trajectory) against a written rubric, instead of exact match metrics like BLEU/ROUGE that ignore semantics. Which judge shape | Need | Prefer | | | | | Clear...","headings":"Which judge shape On this site"},{"id":"lost-in-the-middle","kind":"notes","url":"https://bartlomiejkrupa.dev/notes/lost-in-the-middle","title":"Lost in the middle","description":"Language models use information at the start and end of a long context far more reliably than the middle - recall drops well before the token limit.","tags":["context","retrieval","tokens"],"category":"concept","date":"2026-06-30T00:00:00.000Z","excerpt":"\"Lost in the middle\" is the observed failure of language models to reliably use information placed in the middle of a long context. Recall is strongest for content at the very start and very end of the window and weakest...","headings":"Consequence What to do"},{"id":"subagent-context-isolation","kind":"notes","url":"https://bartlomiejkrupa.dev/notes/subagent-context-isolation","title":"Subagent context isolation","description":"A subagent runs in its own context window and returns only a summary, keeping heavy intermediate tokens out of the parent conversation.","tags":["subagents","claude-code","context","mcp"],"category":"concept","date":"2026-06-30T00:00:00.000Z","excerpt":"A subagent runs in its own separate context window and returns only a summary to the main agent. The heavy intermediate tokens large file reads, MCP documentation, search output never enter the parent conversation. Why u...","headings":"Why use it When to reach for it"},{"id":"verifiable-completion-condition","kind":"notes","url":"https://bartlomiejkrupa.dev/notes/verifiable-completion-condition","title":"Verifiable completion condition","description":"A verifiable completion condition is an autonomous-loop stop rule with a single measurable end state the model can prove from its own output - the difference between a loop that terminates and one that spins.","tags":["claude-code","goal","agents","autonomy"],"category":"concept","date":"2026-07-01T00:00:00.000Z","excerpt":"A verifiable completion condition is the stop rule for an autonomous agent loop: a single measurable end state the model can prove from its own output . It's what separates a loop that terminates from one that spins on a...","headings":"What makes one verifiable Bad vs good Where it applies"},{"id":"agent-skills","kind":"tools","url":"https://github.com/addyosmani/agent-skills","title":"agent-skills","description":"Production-grade engineering skills for AI coding agents - review, security, frontend, and workflow patterns.","tags":["skills"],"category":"Guide","date":"1970-01-01T00:00:00.000Z","excerpt":"Production grade engineering skills for AI coding agents review, security, frontend, and workflow patterns. Borrow the skill structure and review gates a practical template for skills that survive past the first prompt.","headings":""},{"id":"ai-agents-for-beginners","kind":"tools","url":"https://github.com/microsoft/ai-agents-for-beginners","title":"AI Agents for Beginners","description":"Microsoft's 12-lesson course on building AI agents - patterns, tools, memory, and multi-agent design.","tags":["agents","course"],"category":"Course","date":"1970-01-01T00:00:00.000Z","excerpt":"Microsoft's 12 lesson course on building AI agents patterns, tools, memory, and multi agent design. Structured on ramp with runnable notebooks good baseline vocabulary before you wire agents into a real codebase.","headings":""},{"id":"claude-code-game-studios","kind":"tools","url":"https://github.com/Donchitos/Claude-Code-Game-Studios","title":"Claude Code Game Studios","description":"Multi-agent game dev studio for Claude Code - 49 role agents, 72 workflow skills, and studio-style coordination.","tags":["claude","agents","skills"],"category":"Framework","date":"1970-01-01T00:00:00.000Z","excerpt":"Multi agent game dev studio for Claude Code 49 role agents, 72 workflow skills, and studio style coordination. A full production hierarchy in a repo not a toy demo. Borrow the agent roster and skill wiring when you need...","headings":""},{"id":"claude-howto","kind":"tools","url":"https://github.com/luongnv89/claude-howto","title":"claude-howto","description":"Visual, example-driven Claude Code guide from slash commands through subagents, hooks, MCP, and plugins.","tags":["claude","skills"],"category":"Guide","date":"1970-01-01T00:00:00.000Z","excerpt":"Visual, example driven Claude Code guide from slash commands through subagents, hooks, MCP, and plugins. Copy paste templates and a progressive weekend path useful in 15 minutes, not another feature reference.","headings":""},{"id":"codegraph","kind":"tools","url":"https://github.com/colbymchenry/codegraph","title":"codegraph","description":"Pre-indexed local SQLite knowledge graph of codebase symbols, edges, and call paths.","tags":["AST","MCP"],"category":"Primitive","date":"1970-01-01T00:00:00.000Z","excerpt":"Pre indexed local SQLite knowledge graph of codebase symbols, edges, and call paths. Returns line numbered source plus call paths in one query replaces a grep + read loop with a single round trip.","headings":""},{"id":"cognee","kind":"tools","url":"https://github.com/topoteretes/cognee","title":"cognee","description":"Self-hosted AI memory platform - persistent long-term agent memory backed by a knowledge graph engine.","tags":["agents","memory"],"category":"Platform","date":"1970-01-01T00:00:00.000Z","excerpt":"Self hosted AI memory platform persistent long term agent memory backed by a knowledge graph engine. Session amnesia is the default; cognee gives agents recall across runs without shipping context to a third party memory...","headings":""},{"id":"last30days-skill","kind":"tools","url":"https://github.com/mvanhorn/last30days-skill","title":"last30days-skill","description":"Agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the open web.","tags":["skills","research"],"category":"Skill","date":"1970-01-01T00:00:00.000Z","excerpt":"Agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the open web. Drop in research skill surfaces what people are actually saying this month instead of stale training data takes.","headings":""},{"id":"learn-harness-engineering","kind":"tools","url":"https://github.com/walkinglabs/learn-harness-engineering","title":"learn-harness-engineering","description":"Project-based course on environment design, state management, verification, and control for reliable AI coding agents.","tags":["harness","agents"],"category":"Course","date":"1970-01-01T00:00:00.000Z","excerpt":"Project based course on environment design, state management, verification, and control for reliable AI coding agents. Harness engineering, not prompt engineering 12 lectures and 6 projects that scaffold AGENTS.md, init....","headings":""},{"id":"nn-zero-to-hero","kind":"tools","url":"https://github.com/karpathy/nn-zero-to-hero","title":"nn-zero-to-hero","description":"Karpathy's neural networks course - micrograd through GPT, built from scratch in Python and PyTorch.","tags":["ML","course"],"category":"Course","date":"1970-01-01T00:00:00.000Z","excerpt":"Karpathy's neural networks course micrograd through GPT, built from scratch in Python and PyTorch. The best antidote to black box LLM usage you understand what you're prompting once you've built the stack yourself.","headings":""},{"id":"skillspector","kind":"tools","url":"https://github.com/NVIDIA/SkillSpector","title":"SkillSpector","description":"Security scanner for AI agent skills - static and optional LLM analysis for vulnerabilities and malicious patterns.","tags":["skills","security","MCP"],"category":"Security","date":"1970-01-01T00:00:00.000Z","excerpt":"Security scanner for AI agent skills static and optional LLM analysis for vulnerabilities and malicious patterns. Scan before you install 68 patterns, SARIF for CI, baseline suppression so re scans surface only new findi...","headings":""},{"id":"stagehand","kind":"tools","url":"https://github.com/browserbase/stagehand","title":"Stagehand","description":"AI browser automation framework mixing natural-language actions with Playwright-precision code.","tags":["agents","browser"],"category":"Framework","date":"1970-01-01T00:00:00.000Z","excerpt":"AI browser automation framework mixing natural language actions with Playwright precision code. act(), extract(), and agent() with action caching AI when the DOM shifts, code when you already know the selector.","headings":""}]}