@base <https://x.com/PawelHuryn/status/2048170309396926577> .
@prefix schema: <https://schema.org/> .
@prefix owl: <https://www.w3.org/2002/07/owl#> .

<#Post> a schema:SocialMediaPosting, schema:Article ;
  schema:headline "Claude Code's Limits Are Generous. The Problem Is Your Harness."@en ;
  schema:name "Claude Code's Limits Are Generous. The Problem Is Your Harness."@en ;
  schema:alternativeHeadline "Four user-side causes behind token burn and quota pain in Claude Code"@en ;
  schema:datePublished "2026-04-25" ;
  schema:dateCreated "2026-04-25T18:40:00-04:00" ;
  schema:inLanguage "en" ;
  schema:url <https://x.com/PawelHuryn/status/2048170309396926577> ;
  schema:publisher <#Platform> ;
  schema:author <https://x.com/PawelHuryn#this> ;
  schema:abstract "A long-form X post argues that recent Claude Code quota improvements do not remove the main user-side causes of runaway cost: cache misses, context bloat, wrong model or effort settings, and token-expensive input formats."@en ;
  schema:articleBody "Paweł Huryn argues that Anthropic fixed several platform-side bugs, but most avoidable Claude Code spend still comes from harness design. The post treats prompt caching as the biggest pricing lever, recommends protecting session prefix stability, urges earlier and smaller context management, pushes subagent delegation for scoped work, differentiates effort and model routing choices, and recommends lower-token tools for browser, PDF, and large-repo workflows. The closing point is operational: if users cannot see cache hit rate and consumption in real time, they will keep misdiagnosing the source of quota burn."@en ;
  schema:text "Same PM workflow as my $750/mo era. Anthropic fixed 3 bugs. The 4 root causes still on your side, with copy-paste templates."@en ;
  schema:hasPart <#section-cache-misses>, <#section-context-bloat>, <#section-session-moves>, <#section-subagents>, <#section-model-effort>, <#section-input-format>, <#section-observability>, <#DefinedTerms>, <#FAQ>, <#howto-harness-efficiency>, <#DiscussionSummary> ;
  schema:about <#prompt-caching>, <#cache-prefix-stability>, <#tool-locking>, <#model-locking>, <#context-bloat>, <#one-million-context>, <#autocompact-threshold>, <#session-compaction>, <#session-moves>, <#compact-command>, <#clear-command>, <#rewind-command>, <#subagent-delegation>, <#parent-context-hygiene>, <#skill-as-agent>, <#model-tiering>, <#reasoning-effort>, <#session-model-routing>, <#openrouter-routing>, <#cost-aware-model-selection>, <#agent-browser>, <#pdftotext>, <#code-review-graph>, <#token-efficient-ingestion>, <#usage-observability>, <#historical-usage-dashboard>, <#realtime-usage-monitor>, <#cache-dashboard> ;
  schema:mentions <#FAQ>, <#DefinedTerms>, <#howto-harness-efficiency>, <#step-1>, <#step-2>, <#step-3>, <#step-4>, <#step-5>, <#faq-1>, <#faq-2>, <#faq-3>, <#faq-4>, <#faq-5>, <#faq-6>, <#faq-7>, <#faq-8>, <#faq-9>, <#faq-10>, <#faq-1-answer>, <#faq-2-answer>, <#faq-3-answer>, <#faq-4-answer>, <#faq-5-answer>, <#faq-6-answer>, <#faq-7-answer>, <#faq-8-answer>, <#faq-9-answer>, <#faq-10-answer>, <#reference-postmortem>, <#reference-thariq-cache>, <#reference-thariq-session>, <#reference-boris>, <#reference-opus47>, <#reference-certification>, <#reference-rtk>, <#reference-caveman>, <#reference-usage>, <#reference-monitor>, <#reference-codegraph>, <#reference-agentbrowser>, <#DiscussionSummary>, <#VisibleReplyCount>, <#VisibleRepostCount>, <#VisibleLikeCount>, <#VisibleBookmarkCount>, <#VisibleViewCount>, <https://x.com/PawelHuryn#this>, <#Platform> .

<#Platform> a schema:Organization ;
  schema:name "X"@en ;
  schema:url <https://x.com/> .

<https://x.com/PawelHuryn#this> a schema:Person ;
  schema:name "Paweł Huryn"@en ;
  schema:alternateName "@PawelHuryn" ;
  schema:url <https://x.com/PawelHuryn> .

<#DefinedTerms> a schema:DefinedTermSet ;
  schema:name "Defined terms for Claude Code's Limits Are Generous. The Problem Is Your Harness."@en ;
  schema:hasPart <#prompt-caching>, <#cache-prefix-stability>, <#tool-locking>, <#model-locking>, <#context-bloat>, <#one-million-context>, <#autocompact-threshold>, <#session-compaction>, <#session-moves>, <#compact-command>, <#clear-command>, <#rewind-command>, <#subagent-delegation>, <#parent-context-hygiene>, <#skill-as-agent>, <#model-tiering>, <#reasoning-effort>, <#session-model-routing>, <#openrouter-routing>, <#cost-aware-model-selection>, <#agent-browser>, <#pdftotext>, <#code-review-graph>, <#token-efficient-ingestion>, <#usage-observability>, <#historical-usage-dashboard>, <#realtime-usage-monitor>, <#cache-dashboard> ;
  schema:isPartOf <#Post> .

<#FAQ> a schema:FAQPage ;
  schema:name "FAQ for Claude Code's Limits Are Generous. The Problem Is Your Harness."@en ;
  schema:mainEntity <#faq-1>, <#faq-2>, <#faq-3>, <#faq-4>, <#faq-5>, <#faq-6>, <#faq-7>, <#faq-8>, <#faq-9>, <#faq-10> ;
  schema:hasPart <#faq-1>, <#faq-2>, <#faq-3>, <#faq-4>, <#faq-5>, <#faq-6>, <#faq-7>, <#faq-8>, <#faq-9>, <#faq-10>, <#faq-1-answer>, <#faq-2-answer>, <#faq-3-answer>, <#faq-4-answer>, <#faq-5-answer>, <#faq-6-answer>, <#faq-7-answer>, <#faq-8-answer>, <#faq-9-answer>, <#faq-10-answer> ;
  schema:isPartOf <#Post> .

<#VisibleReplyCount> a schema:InteractionCounter ;
  schema:interactionType schema:CommentAction ;
  schema:userInteractionCount "9" .

<#VisibleRepostCount> a schema:InteractionCounter ;
  schema:interactionType schema:ShareAction ;
  schema:userInteractionCount "39" .

<#VisibleLikeCount> a schema:InteractionCounter ;
  schema:interactionType schema:LikeAction ;
  schema:userInteractionCount "331" .

<#VisibleBookmarkCount> a schema:InteractionCounter ;
  schema:interactionType schema:BookmarkAction ;
  schema:userInteractionCount "1.1K" .

<#VisibleViewCount> a schema:InteractionCounter ;
  schema:interactionType schema:ViewAction ;
  schema:userInteractionCount "285K" .

<#DiscussionSummary> a schema:Comment ;
  schema:name "Discussion visibility note"@en ;
  schema:text "The post advertises 9 replies, but X guest view blocks reply text behind sign-in gating. The graph therefore captures visible engagement counts and the reply-access constraint, not the hidden thread content."@en ;
  schema:isPartOf <#Post> .

<#prompt-caching> a schema:DefinedTerm ;
  schema:name "Prompt caching"@en ;
  schema:description "Caching of stable prompt prefixes so repeated turns reuse prior input context more cheaply."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#cache-prefix-stability> a schema:DefinedTerm ;
  schema:name "Cache prefix stability"@en ;
  schema:description "Keeping the cached session prefix unchanged so later turns continue to hit the same cache entry."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#tool-locking> a schema:DefinedTerm ;
  schema:name "Tool locking"@en ;
  schema:description "Holding the enabled tool set fixed for a session to avoid invalidating cache state."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#model-locking> a schema:DefinedTerm ;
  schema:name "Model locking"@en ;
  schema:description "Keeping the same model for a session so cached prefixes remain reusable."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#context-bloat> a schema:DefinedTerm ;
  schema:name "Context bloat"@en ;
  schema:description "Token waste caused by letting long sessions accumulate too much stale or irrelevant history."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#one-million-context> a schema:DefinedTerm ;
  schema:name "1M context mode"@en ;
  schema:description "A very large context configuration the post treats as expensive for most practical Claude Code work."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#autocompact-threshold> a schema:DefinedTerm ;
  schema:name "Auto-compact threshold"@en ;
  schema:description "The usage percentage at which Claude Code automatically compresses session context."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#session-compaction> a schema:DefinedTerm ;
  schema:name "Session compaction"@en ;
  schema:description "Manual context compression before the automatic trigger to control token growth earlier."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#session-moves> a schema:DefinedTerm ;
  schema:name "Session moves"@en ;
  schema:description "A repeatable set of commands and habits for keeping a coding session efficient."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#compact-command> a schema:DefinedTerm ;
  schema:name "/compact"@en ;
  schema:description "A command used to condense session history before the context window grows too large."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#clear-command> a schema:DefinedTerm ;
  schema:name "/clear"@en ;
  schema:description "A command used to reset context between unrelated work."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#rewind-command> a schema:DefinedTerm ;
  schema:name "/rewind"@en ;
  schema:description "A command used to back up from a bad turn instead of building more prompts on top of it."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#subagent-delegation> a schema:DefinedTerm ;
  schema:name "Subagent delegation"@en ;
  schema:description "Handing mechanical, scoped, or parallelizable tasks to a separate agent context."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#parent-context-hygiene> a schema:DefinedTerm ;
  schema:name "Parent context hygiene"@en ;
  schema:description "Protecting the main session from unnecessary detail so reasoning stays focused and cheap."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#skill-as-agent> a schema:DefinedTerm ;
  schema:name "Skill as agent"@en ;
  schema:description "Running a skill in its own model context rather than loading its full payload into the parent session."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#model-tiering> a schema:DefinedTerm ;
  schema:name "Model tiering"@en ;
  schema:description "Choosing Haiku, Sonnet, or Opus based on task complexity and judgment needs."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#reasoning-effort> a schema:DefinedTerm ;
  schema:name "Reasoning effort"@en ;
  schema:description "The setting that controls how much inference work the model spends on a prompt."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#session-model-routing> a schema:DefinedTerm ;
  schema:name "Session model routing"@en ;
  schema:description "Choosing the base session model at start and keeping it stable."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#openrouter-routing> a schema:DefinedTerm ;
  schema:name "OpenRouter routing"@en ;
  schema:description "Using an alternate Anthropic-compatible provider endpoint while keeping the Claude Code interface."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#cost-aware-model-selection> a schema:DefinedTerm ;
  schema:name "Cost-aware model selection"@en ;
  schema:description "Matching model cost and effort level to the actual task rather than using expensive defaults."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#agent-browser> a schema:DefinedTerm ;
  schema:name "agent-browser"@en ;
  schema:description "A browser automation and extraction tool that relies on the accessibility tree instead of screenshot-heavy interaction."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#pdftotext> a schema:DefinedTerm ;
  schema:name "pdftotext"@en ;
  schema:description "A text extraction utility recommended over image-based PDF reading when visual analysis is unnecessary."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#code-review-graph> a schema:DefinedTerm ;
  schema:name "code-review-graph"@en ;
  schema:description "A structural code graph used to avoid rereading an entire repository for every task."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#token-efficient-ingestion> a schema:DefinedTerm ;
  schema:name "Token-efficient ingestion"@en ;
  schema:description "Choosing input formats and tools that minimize unnecessary token use."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#usage-observability> a schema:DefinedTerm ;
  schema:name "Usage observability"@en ;
  schema:description "The ability to see token, quota, or cache behavior clearly enough to optimize it."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#historical-usage-dashboard> a schema:DefinedTerm ;
  schema:name "Historical usage dashboard"@en ;
  schema:description "A longer-horizon view of sessions and spend used to diagnose where costs accumulated."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#realtime-usage-monitor> a schema:DefinedTerm ;
  schema:name "Real-time usage monitor"@en ;
  schema:description "A live dashboard showing current-window usage so a user can adjust before hitting limits."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#cache-dashboard> a schema:DefinedTerm ;
  schema:name "Cache dashboard"@en ;
  schema:description "A metrics view that exposes cache hit rate directly."@en ;
  schema:isPartOf <#DefinedTerms>, <#Post> .

<#section-cache-misses> a schema:WebPageElement ;
  schema:name "Cache misses"@en ;
  schema:position 1 ;
  schema:about <#prompt-caching>, <#cache-prefix-stability>, <#tool-locking>, <#model-locking> ;
  schema:text "Prompt caching is framed as the largest cost lever. The post says mid-session tool or model changes invalidate the cached prefix and force expensive rereads."@en ;
  schema:isPartOf <#Post> .

<#section-context-bloat> a schema:WebPageElement ;
  schema:name "Context bloat"@en ;
  schema:position 2 ;
  schema:about <#context-bloat>, <#one-million-context>, <#autocompact-threshold>, <#session-compaction> ;
  schema:text "Large default context windows are described as expensive and too permissive. The recommendation is to disable the one-million-token mode and compact before auto-trigger."@en ;
  schema:isPartOf <#Post> .

<#section-session-moves> a schema:WebPageElement ;
  schema:name "Five session moves"@en ;
  schema:position 3 ;
  schema:about <#session-moves>, <#compact-command>, <#clear-command>, <#rewind-command>, <#subagent-delegation> ;
  schema:text "The post turns session hygiene into a playbook: compact early, clear between unrelated work, rewind bad turns, and delegate isolated subtasks."@en ;
  schema:isPartOf <#Post> .

<#section-subagents> a schema:WebPageElement ;
  schema:name "Subagents and skill isolation"@en ;
  schema:position 4 ;
  schema:about <#subagent-delegation>, <#parent-context-hygiene>, <#skill-as-agent>, <#model-tiering> ;
  schema:text "Subagents are presented as the underused optimization because they keep the parent context lean while routing mechanical or scoped work to cheaper models."@en ;
  schema:isPartOf <#Post> .

<#section-model-effort> a schema:WebPageElement ;
  schema:name "Wrong model or effort"@en ;
  schema:position 5 ;
  schema:about <#reasoning-effort>, <#session-model-routing>, <#openrouter-routing>, <#cost-aware-model-selection> ;
  schema:text "The post separates effort level, session model choice, and provider routing into distinct dials that should be set deliberately rather than left at expensive defaults."@en ;
  schema:isPartOf <#Post> .

<#section-input-format> a schema:WebPageElement ;
  schema:name "Wrong input format"@en ;
  schema:position 6 ;
  schema:about <#agent-browser>, <#pdftotext>, <#code-review-graph>, <#token-efficient-ingestion> ;
  schema:text "Screenshots, PDF image reads, and raw large-repo reads are described as bad defaults when lower-token alternatives already exist."@en ;
  schema:isPartOf <#Post> .

<#section-observability> a schema:WebPageElement ;
  schema:name "Watch the number"@en ;
  schema:position 7 ;
  schema:about <#usage-observability>, <#historical-usage-dashboard>, <#realtime-usage-monitor>, <#cache-dashboard> ;
  schema:text "The final operational claim is that users need historical and real-time telemetry, including cache hit rates, to correct harness design."@en ;
  schema:isPartOf <#Post> .

<#howto-harness-efficiency> a schema:HowTo ;
  schema:name "How to reduce Claude Code token burn without changing the workflow"@en ;
  schema:description "The post turns quota management into an operational harness design problem rather than a model-quality complaint."@en ;
  schema:isPartOf <#Post> ;
  schema:hasPart <#step-1>, <#step-2>, <#step-3>, <#step-4>, <#step-5> ;
  schema:step <#step-1>, <#step-2>, <#step-3>, <#step-4>, <#step-5> .

<#step-1> a schema:HowToStep ;
  schema:name "Protect the cached prefix"@en ;
  schema:position 1 ;
  schema:text "Start the session with a stable tool set and model choice, then avoid mid-session changes that invalidate the prompt cache."@en ;
  schema:isPartOf <#howto-harness-efficiency>, <#Post> .

<#step-2> a schema:HowToStep ;
  schema:name "Compact context earlier"@en ;
  schema:position 2 ;
  schema:text "Disable oversized context defaults when unnecessary, compact before the auto-trigger, and reset or rewind when work diverges."@en ;
  schema:isPartOf <#howto-harness-efficiency>, <#Post> .

<#step-3> a schema:HowToStep ;
  schema:name "Delegate isolated work"@en ;
  schema:position 3 ;
  schema:text "Use subagents or agent-backed skills for scoped research, mechanical edits, and parallelizable subtasks so the parent context stays clean."@en ;
  schema:isPartOf <#howto-harness-efficiency>, <#Post> .

<#step-4> a schema:HowToStep ;
  schema:name "Choose lower-token ingestion paths"@en ;
  schema:position 4 ;
  schema:text "Prefer accessibility-tree browsing, text extraction for PDFs, and structural code graphs instead of screenshot-heavy or full-repo reads."@en ;
  schema:isPartOf <#howto-harness-efficiency>, <#Post> .

<#step-5> a schema:HowToStep ;
  schema:name "Watch telemetry continuously"@en ;
  schema:position 5 ;
  schema:text "Use historical, real-time, and cache-specific dashboards so cost and quota behavior can be corrected before limits are exhausted."@en ;
  schema:isPartOf <#howto-harness-efficiency>, <#Post> .

<#faq-1> a schema:Question ;
  schema:name "What is the post's main claim?"@en ;
  schema:acceptedAnswer <#faq-1-answer> ;
  schema:isPartOf <#FAQ>, <#Post> .
<#faq-1-answer> a schema:Answer ;
  schema:text "The main claim is that Claude Code quota pain now comes more from harness design than from the platform bugs Anthropic already fixed."@en ;
  schema:isPartOf <#faq-1>, <#FAQ>, <#Post> .

<#faq-2> a schema:Question ;
  schema:name "What is described as the biggest pricing lever?"@en ;
  schema:acceptedAnswer <#faq-2-answer> ;
  schema:isPartOf <#FAQ>, <#Post> .
<#faq-2-answer> a schema:Answer ;
  schema:text "Prompt caching is described as the single biggest pricing lever because stable cached prefixes make later turns far cheaper."@en ;
  schema:isPartOf <#faq-2>, <#FAQ>, <#Post> .

<#faq-3> a schema:Question ;
  schema:name "Why avoid changing tools or models mid-session?"@en ;
  schema:acceptedAnswer <#faq-3-answer> ;
  schema:isPartOf <#FAQ>, <#Post> .
<#faq-3-answer> a schema:Answer ;
  schema:text "The post says those changes invalidate the cached prefix and force a full reread of session context."@en ;
  schema:isPartOf <#faq-3>, <#FAQ>, <#Post> .

<#faq-4> a schema:Question ;
  schema:name "Why does the author argue against the 1M context default?"@en ;
  schema:acceptedAnswer <#faq-4-answer> ;
  schema:isPartOf <#FAQ>, <#Post> .
<#faq-4-answer> a schema:Answer ;
  schema:text "Because most tasks do not need it and the larger context window lets token sprawl grow too far before compaction."@en ;
  schema:isPartOf <#faq-4>, <#FAQ>, <#Post> .

<#faq-5> a schema:Question ;
  schema:name "What commands are part of the session playbook?"@en ;
  schema:acceptedAnswer <#faq-5-answer> ;
  schema:isPartOf <#FAQ>, <#Post> .
<#faq-5-answer> a schema:Answer ;
  schema:text "The session playbook emphasizes compacting early, clearing between unrelated work, and rewinding when a turn goes sideways."@en ;
  schema:isPartOf <#faq-5>, <#FAQ>, <#Post> .

<#faq-6> a schema:Question ;
  schema:name "Why are subagents central to the argument?"@en ;
  schema:acceptedAnswer <#faq-6-answer> ;
  schema:isPartOf <#FAQ>, <#Post> .
<#faq-6-answer> a schema:Answer ;
  schema:text "They keep the parent context lean and let cheaper models handle bounded subtasks without contaminating the main reasoning thread."@en ;
  schema:isPartOf <#faq-6>, <#FAQ>, <#Post> .

<#faq-7> a schema:Question ;
  schema:name "What does the post mean by wrong model or effort?"@en ;
  schema:acceptedAnswer <#faq-7-answer> ;
  schema:isPartOf <#FAQ>, <#Post> .
<#faq-7-answer> a schema:Answer ;
  schema:text "It means users often leave expensive reasoning effort or model choices on by default when the task does not justify that cost."@en ;
  schema:isPartOf <#faq-7>, <#FAQ>, <#Post> .

<#faq-8> a schema:Question ;
  schema:name "What input-format swaps are recommended?"@en ;
  schema:acceptedAnswer <#faq-8-answer> ;
  schema:isPartOf <#FAQ>, <#Post> .
<#faq-8-answer> a schema:Answer ;
  schema:text "The post recommends agent-browser for web work, pdftotext for PDFs, and code-review-graph for large repositories."@en ;
  schema:isPartOf <#faq-8>, <#FAQ>, <#Post> .

<#faq-9> a schema:Question ;
  schema:name "Why is observability important?"@en ;
  schema:acceptedAnswer <#faq-9-answer> ;
  schema:isPartOf <#FAQ>, <#Post> .
<#faq-9-answer> a schema:Answer ;
  schema:text "Because without cache hit rates and usage dashboards, users cannot tell whether spend is coming from the model, the harness, or both."@en ;
  schema:isPartOf <#faq-9>, <#FAQ>, <#Post> .

<#faq-10> a schema:Question ;
  schema:name "Does the graph include reply text?"@en ;
  schema:acceptedAnswer <#faq-10-answer> ;
  schema:isPartOf <#FAQ>, <#Post> .
<#faq-10-answer> a schema:Answer ;
  schema:text "No. The reply count is visible, but X guest view gated the reply bodies behind sign-in, so only engagement metrics and the access constraint are modeled."@en ;
  schema:isPartOf <#faq-10>, <#FAQ>, <#Post> .

<#reference-postmortem> a schema:CreativeWork ;
  schema:name "April 23 postmortem"@en ;
  schema:url <https://x.com/ClaudeDevs/status/2047371123185287223> .

<#reference-thariq-cache> a schema:CreativeWork ;
  schema:name "Lessons from Building Claude Code"@en ;
  schema:url <https://x.com/trq212/status/2024574133011673516> .

<#reference-thariq-session> a schema:CreativeWork ;
  schema:name "Using Claude Code: Session Management & 1M Context"@en ;
  schema:url <https://x.com/trq212/status/2044548257058328723> .

<#reference-boris> a schema:CreativeWork ;
  schema:name "Boris Cherny context note"@en ;
  schema:url <https://x.com/bcherny/status/1977163445205450783> .

<#reference-opus47> a schema:CreativeWork ;
  schema:name "Introducing Claude Opus 4.7"@en ;
  schema:url <https://www.anthropic.com/news/claude-opus-4-7> .

<#reference-certification> a schema:CreativeWork ;
  schema:name "Hands-On Claude Code Certification"@en ;
  schema:url <https://go.productcompass.pm/claudathon> .

<#reference-rtk> a schema:CreativeWork ;
  schema:name "rtk-ai/rtk"@en ;
  schema:url <https://github.com/rtk-ai/rtk> .

<#reference-caveman> a schema:CreativeWork ;
  schema:name "juliusbrussee/caveman"@en ;
  schema:url <https://github.com/juliusbrussee/caveman> .

<#reference-usage> a schema:CreativeWork ;
  schema:name "phuryn/claude-usage"@en ;
  schema:url <https://github.com/phuryn/claude-usage> .

<#reference-monitor> a schema:CreativeWork ;
  schema:name "Gronsten/claude-usage-monitor"@en ;
  schema:url <https://github.com/Gronsten/claude-usage-monitor> .

<#reference-codegraph> a schema:CreativeWork ;
  schema:name "tirth8205/code-review-graph"@en ;
  schema:url <https://github.com/tirth8205/code-review-graph> .

<#reference-agentbrowser> a schema:CreativeWork ;
  schema:name "vercel-labs/agent-browser"@en ;
  schema:url <https://github.com/vercel-labs/agent-browser> .
