Agentic Coding Insights v2

COMPLETED May 07, 2026
Summary

Briefing: Agentic Coding Insights v2

Key Insights

1. Your CLAUDE.md-to-skills migration is not cosmetic — it's the difference between a file that loads in full and a library that loads on demand. The convergence across multiple practitioner sources reveals that the architectural shift from monolithic CLAUDE.md files to routed skill libraries solves three distinct problems simultaneously: context bloat (progressive disclosure only loads what's needed), agent drift (scope discipline and anti-rationalization tables prevent deviation from intended behavior), and knowledge compounding (transcript mining and session bootstrapping build the library over time). The WorkOS implementation adds a concrete tactic directly applicable to your Python-side verification needs: "script interpolation" using bang-backtick syntax executes live commands and injects their deterministic output into skill context — so instead of asking the agent to "figure out the last 10 commits," you inject the exact git log output. With 16 skills and 60 memory entries, you're past the point where ad-hoc CLAUDE.md accumulation works; the question is whether your skills have routing descriptions sharp enough for the agent to select them accurately, and whether they terminate in hard exit criteria (passing tests, clean build output, reviewer sign-off) rather than subjective "seems right" completion. The critical meta-skill missing from most setups is a skill-builder skill that runs your transcript JSONL logs against the growing library and surfaces candidate gaps — sessions where the agent repeatedly asked a question that could have been pre-answered by a new skill entry. - How to Work and Compound with AI - Agent Skills - Skills at Scale — Nick Nisi and Zack Proser, WorkOS

2. The dominator-tree approach to validating agent execution is the strongest quantitative case for investing in structural over human review — and it maps directly to your Forge integration test gate. GitHub's research establishes that for non-deterministic agent behavior where "correct" doesn't mean "identical," the right question is not "did the agent do X?" but "did the agent necessarily pass through the mandatory states on the way to success?" Dominator analysis on execution graphs achieves 100% accuracy, precision, and recall compared to 82.2% accuracy and 69.8% F1 for agent self-assessment — meaning agent self-grading is worse than a coin flip for the hard cases. For your cross-service Forge integration tests, this reframes the deploy gate: instead of asserting that a specific API call happened at a specific step, you define the essential state milestones (auth handshake completed, FeedForge responded with 200, GCS write acknowledged) and validate that any execution path that reached "done" necessarily passed through all of them. The "not a bug" detection is particularly valuable: the system achieved 52.2% F1 on distinguishing "agent execution error" from "product regression," while self-assessment scored 0% — directly addressing the debugging ambiguity you face when a cross-service test fails and you can't tell whether FeedForge misbehaved or the agent traversed a wrong path. This is implementable via GitHub Actions and requires 2-10 successful execution traces to build the ground truth model. - Validating agentic behavior when "correct" isn't deterministic

3. Custom linters that inject remediation instructions directly into agent context are the "software dark factory" tactic you're missing — and your existing pre-commit hooks are the insertion point. The OpenAI-derived pattern described in the Commoncog piece is deceptively simple: because you're writing the error messages for your custom lints, you can write them as agent instructions rather than human-readable diagnostics. Instead of "Missing index on stripe_customer_id," the lint message becomes "ADD INDEX: asyncpg queries against stripe_customer_id will time out under pgbouncer connection pooling — run alembic upgrade head after adding Index('ix_users_stripe_customer_id', User.stripe_customer_id) in the migration." Your pre-commit hooks already gate commits; the upgrade is making their error output agent-consumable. The same source describes 5-10k word specifications as enabling agents to run autonomously for extended periods — your weekly scheduled routines are the exact use case — and "automated cleanup runs during lull periods" for managing AI slop accumulation, which maps to your cache warmer worker as a scheduling substrate. The spec-driven development timeline from that piece (switching from writing code to writing specs, with later models able to one-shot from those specs) suggests your .claude/memory/ entries should be evolving toward spec fragments rather than just pitfall warnings. - How to Improve at Sensemaking AI?

4. Karpathy's "jagged intelligence" formula directly explains why Claude Code drifts on Expo Router but performs well on your FastAPI patterns — and gives you a diagnostic framework, not just symptoms. The formula capability ≈ verifiability × training attention × data coverage × economic value predicts your observed pattern precisely: FastAPI/asyncio patterns are verifiable (tests pass or fail), heavily represented in training data, and economically important to Anthropic's customers. Expo Router conventions score poorly on all axes — UI correctness is hard to verify programmatically, Expo-specific patterns have lower training attention than React Native in general, and the new architecture (RN 0.82+) postdates most training data. The actionable implication is that closing the gap requires moving Expo work onto the "rails" by encoding conventions as verifiable artifacts: a custom ESLint plugin that enforces useRouter usage over useNavigation gives the agent something it can fail deterministically against, shifting it from the low-training-attention regime into the high-verifiability regime. This also explains why parallel-model UI comparisons work for the frontend gap specifically: you're using a higher-attention model (or a model with better Expo coverage) to check the work of your primary agent, not because it's smarter, but because different training mixtures create different "jagged" profiles. The design implication for your weekly scheduled routines: prefer Python-backend tasks (high verifiability, high coverage) over frontend tasks (low verifiability, low coverage) for unattended execution. - Sequoia Ascent 2026 summary

5. Factory's Missions architecture resolves the Alembic-under-parallel-agents problem by establishing a principle you can apply directly: parallelism across features is safe, parallelism within a feature is the conflict source. The three-role pattern (orchestrator → serial workers → validators) with serial execution within a feature is not a quality tradeoff — it's a correctness guarantee. When two workers touch the same migration file, the conflict isn't a race condition in code execution; it's a logical conflict in schema intent, and no amount of worktree sandboxing resolves it. The Missions approach requires a validation contract defined before coding begins — for your Alembic use case, this means specifying the required schema state (tables, indexes, constraints) as the validation target, not the migration file itself. The structured handoff format (what completed, what remains, commands run, exit codes, discovered issues) maps directly to your done-condition files pattern; the key addition is exit codes from each migration step and explicit notes on whether any existing migrations were modified (which should be treated as a conflict flag for the orchestrator). Role-specific model selection is a secondary benefit: your orchestrator can use a slower, more careful reasoning model for planning the migration sequence, while workers use a faster model for generating the migration code. - Missions: Multi-Agent Systems That Ship for Days

6. The Raindrop data (37%→9% user frustration after a single prompt change) represents a maturity level in observability that your PostHog investment can reach with one upgrade: adding implicit signal classifiers on top of your existing explicit metrics. The distinction between explicit signals (tool error rate, latency, cost spikes) and implicit signals (refusal rate, task failure, user frustration derived from trained classifiers) is the difference between knowing your agent errored and knowing your agent frustrated a user without erroring. For your multi-LLM adapter pattern across Anthropic, OpenAI, Gemini, and Groq, this is directly actionable: the Gemini OpenAI-compat null-content issue you've already identified is an explicit signal, but the more dangerous failures are the implicit ones — when Groq returns syntactically valid JSON that doesn't match your expected schema, or when Gemini's function-calling response omits required fields that your adapter doesn't validate. The triage agent pattern (an agent that reviews daily signal spikes and investigates traces) is your PostHog + Bugsink integration target: an agent with read access to your PostHog events and Bugsink error logs that runs on a schedule, clusters similar failures, and writes a summary to a known location in your .claude/memory/ directory. The Claude Code source-leaked regex pattern for detecting negative user signals (keyword-based frustration detection in conversation logs) is immediately implementable as a PostHog property filter on your LLM response events without a trained classifier. - Everything You Need To Know About Agent Observability - Building a Natural Language Interface to the Spotify Ads API with Claude Code Plugins

7. The skills AB test data ($1.82 vs. $5.79 vs. $6.07 cost; 7/8/9 judge scores) provides the first quantitative baseline for whether your 16-skill investment is paying off — and the methodology for measuring it is buildable from your existing worktree infrastructure. The result that custom skills produced the only variant with correct persistence handling, per-message deduplication, and tests is more important than the judge score delta: skills are the only mechanism that encoded architectural requirements beyond the immediate prompt. The acknowledged weakness — plan mode produced more cohesive product design — is a direct argument for skill design that encodes not just "how" but "why": your Expo skills should include the rationale for safe-area handling conventions, not just the implementation pattern, so the agent can apply judgment when the exact pattern doesn't fit. Your existing worktrees and parallel-agent infrastructure means you can run this comparison without the speaker's custom tooling: branch, run without skills on one worktree, run with skills on another, use a judge skill against both diffs. The "$0.60 vs. $15 per million tokens" alternative model comparison from the OpenRouter piece is a second axis: running your Python-backend tasks on a cheaper model with your harness vs. Claude Code without your harness would quantify whether harness investment is worth more than model upgrade cycles. - Are AI Coding Skills Just Hype? I Tested Them - Claude Code + OpenRouter = 99% CHEAPER

8. The Claude Code routines announcement and the 5-hour rate limit doubling are operational changes for your weekly scheduled agents — not product news. The rate limit doubling (from the Anthropic-SpaceX compute deal) removes the most common failure mode for weekly scheduled agents that run long: hitting the limit mid-task and producing partial output with no error surfaced to the orchestrator. The routines feature is the native mechanism for what you're currently approximating with done-condition files and scheduled scripts — but the "design for the next model" advice from Simon Willison is load-bearing: your current routines should be built assuming the limit constraints you have today even if they'll loosen, because done-condition files and validation contracts remain valid as model capabilities improve. Concretely: if your weekly scheduler sweep currently relies on a human checking a completion marker file, that's the pattern to formalize as a routine with an explicit done-condition and a validation contract before migrating to the Anthropic-managed execution model. The OpenClaw commit-message billing quirk (users charged extra when commits contained keywords like "hermes.md") is a live risk for your harness: if any of your .claude/memory/ entries or skill files reference third-party tool names in ways that could appear in git commit messages, audit them against Anthropic's third-party harness detection heuristics. - Live blog: Code w/ Claude 2026 - [AINews] Anthropic-SpaceXai's 300MW/$5B/yr deal - Seriously, Anthropic??

9. The normalization-of-deviance framing for trusting AI code without review is a genuine operational risk signal — and the "100 commits / good README / comprehensive tests in 30 minutes" observation has a direct implication for how you evaluate third-party skill libraries. The convergence of Simon Willison's unease ("if I haven't reviewed the code, is it really responsible?") with the 73% wrong-answer acceptance rate data from Cognitive Surrender creates a coherent failure mode: as Claude Code becomes more reliable on your standard patterns, you'll naturally stop reviewing its output on those patterns, and the first time it fails on an edge case (a new asyncpg/pgbouncer connection pool exhaust scenario, a Gemini null-content variant you haven't seen), you won't catch it because the review habit has atrophied. The "99.9% of publicly available skills is crap" claim from the Context is the New Code talk is the supply-side version of the same problem: a downloaded skill that looks polished (good README, examples) can inject subtle requirements violations into your harness. Your /confidence pre-commit hook is doing real work against this — the upgrade is treating any skill you import from external sources as requiring the same AB-test evaluation framework described in the skills hype test, before it enters your versioned library. - Vibe coding and agentic engineering are getting closer than I'd like - Cognitive Surrender - Context Is the New Code

Emerging Patterns

Skills as the convergent primitive for harness investment across independent teams. The WorkOS, Supabase, Addyosmani, and eugeneyan sources arrived at structurally identical patterns without coordination: a skill.md file with front matter for routing, scope discipline encoded as "touch only what you're asked," progressive disclosure for context efficiency, and bootstrapping from interactive sessions. The convergence is meaningful because these are different organizations (enterprise developer tools, database-as-a-service, solo practitioner) with different stacks, which suggests the pattern is load-bearing rather than fashion. The critical differentiator between effective and ineffective skills implementations is the routing description quality: the WorkOS team found that verb choice ("use" vs. "apply") materially affects whether the agent selects the skill, and the Supabase team found that skills without evals are unverified — you don't know if they improve or degrade performance. For your 16-skill library: audit routing descriptions against the "use verb" heuristic, and run your five most-used skills through the AB-test methodology to establish a quality baseline before the library grows further. - Skills at Scale — Nick Nisi and Zack Proser, WorkOS - Skill Issue: How We Used AI to Make Agents Actually Good at Supabase - Agent Skills - How to Work and Compound with AI

Structural verification is replacing human review at scale — but the transition requires defining "essential states" before coding begins. The GitHub dominator-tree research, the Missions validation contract pattern, and the CommoncogAI custom-linter-with-remediation approach are three independent implementations of the same insight: at agent execution speed, human review is not a viable verification mechanism, and "does the code look right?" is the wrong question. The correct question is "did the execution necessarily pass through the mandatory states?" which requires defining those states before the agent starts. This creates an ordering constraint that changes how you scope tasks for scheduled agents: the validation contract (what states must be reached for success) must precede the task specification (what to build), not follow it. The practical gap is that most teams (and most prompts) specify completion criteria in terms of output ("implement the FeedForge integration") rather than state milestones ("FeedForge auth handshake completes, S3-compatible write acknowledged, integration test passes"), making structural validation impossible after the fact. - Validating agentic behavior when "correct" isn't deterministic - Missions: Multi-Agent Systems That Ship for Days - How to Improve at Sensemaking AI?

Context engineering quality — not model choice — is the primary bottleneck for teams above a certain harness maturity threshold. The AINews harness-engineering data (10-20 benchmark points from harness alone), the eugeneyan transcript mining methodology, and the Unblocked "satisfaction of search" finding converge on a counterintuitive claim: above the threshold where your harness is actively maintained and verified, switching models yields diminishing returns compared to pruning and routing your context more precisely. The "satisfaction of search" failure mode — where agents stop looking once they find a plausible answer — is particularly relevant for your .claude/memory/ entries: if 60 entries are loaded flat, the agent may anchor on the first relevant-seeming entry rather than finding the most applicable one. The upgrade is moving from flat memory files toward structured, routable memory with explicit applicability conditions ("use this entry when: asyncpg + pgbouncer + production load"). The corollary is that your /confidence and /compound pre-commit hooks are more differentiating than any model upgrade you could make. - [AINews] AI Engineer World's Fair - How to Work and Compound with AI - Mergeable by default: Building the context engine

Dissenting Views

On serial vs. parallel execution within a feature: the Missions "serial is quality" principle is in direct tension with the SmartBear "parallelism is operational" stance. The prevailing view (from Missions/Factory) is that serial feature execution is not a quality tradeoff but a correctness guarantee — running workers in parallel within a feature causes conflicts, duplicated work, and inconsistent decisions that compound across long-running tasks. The dissenting view (from SmartBear's multi-agent QA work) is that parallelism is already the operational model for QA agents, and the unsolved problem is test data management (isolation of shared state), not execution correctness. This is a difference in emphasis rather than direct contradiction: SmartBear's parallel sessions operate on read-mostly browser state, while Missions' serial concern is write-heavy schema and code state. For your stack, the resolution is domain-specific: Alembic migrations and schema changes require serial execution per the Missions principle; Playwright E2E tests across your Expo web target can safely parallelize per the SmartBear model, provided each session has an isolated database state (which your pgbouncer setup should enable with connection-level isolation). - Missions: Multi-Agent Systems That Ship for Days - SmartBear and Multi-Agent QA - Software Engineering Is Becoming Plan and Review

On custom skills quality: "99.9% of skills is crap" is a useful prior, but the AB-test data shows a well-designed custom skill outperforms both no-skills and plan mode. The Context is the New Code claim that most public skills fail basic quality evaluation would suggest strong skepticism toward the ecosystem. The Are AI Coding Skills Just Hype data shows a 9/10 judge score for the custom-skill variant vs. 8/10 for plan mode and 7/10 for no skills — with the critical differentiator being that only the custom-skill variant had tests and correct persistence handling. These are consistent positions if you accept that quality variance is extreme: most externally sourced skills are negative-value, while bespoke skills written for your specific stack and verified against your eval harness are positive-value. The practical implication is that skill evaluation (the methodology from the AB test) is more important than the skill content itself — a well-designed evaluation can tell you whether a skill helps or hurts, which makes the test infrastructure the real compounding asset. - Context Is the New Code - Are AI Coding Skills Just Hype? I Tested Them

Read & Act

What to read

  • How to Work and Compound with AI — The methodology for mining 2,500 past user turns to find missing skill candidates, the two-tmux-pane evaluator pattern, and the ~/vault + ~/.claude split are all directly applicable to your 16-skill, 60-memory setup. The bootstrapping-from-sessions approach for creating new skills is not adequately captured in any summary; the transcript mining section alone justifies a full read given your existing memory investment.

  • Validating agentic behavior when "correct" isn't deterministic — The dominator-tree methodology and the 100% vs. 69.8% F1 quantitative comparison are the strongest case in this dataset for investing in structural verification over human review. The GitHub Actions integration guidance is directly applicable to your Forge integration test gate; reading in full is necessary to understand why the "essential state vs. optional variation" distinction is non-trivial to implement.

  • How to Improve at Sensemaking AI? — The "software dark factory" custom-linter-with-remediation-injection pattern is a tactic you haven't described using but should, and it integrates directly with your pre-commit hooks. The spec-driven development timeline (switching to 5-10k word specs) and automated cleanup-during-lull-periods patterns are directly relevant to your weekly scheduled agents.

What to do

1. Audit your .claude/memory/ entries for routability, then add applicability conditions to the top 10 most-referenced entries. The "satisfaction of search" failure mode means flat memory loading causes agents to anchor on the first plausible entry rather than the most applicable one. For each high-use entry, add a one-line when: [condition] field at the top — "when: asyncpg + pgbouncer + connection pool warnings," "when: Gemini adapter + function calling + missing fields" — and migrate entries toward the routable skill format so they're loaded on demand rather than flat-loaded into every session. This directly addresses context rot and the diminishing returns you're likely experiencing as the 60-entry library grows.

2. Rewrite the error messages for your three most-triggered pre-commit hook failures as agent instructions rather than human diagnostics. Pick the hooks that fire most frequently (likely type-check violations, test ratchet failures, or linting errors) and rewrite their error output to include the specific remediation steps an agent should take, including relevant file paths, command sequences, and any known exceptions (e.g., "the pgbouncer PREPARED STATEMENT exception is expected here — use asyncpg.create_pool(statement_cache_size=0) not a standard pool config"). This converts your existing hook infrastructure into a custom-linter-with-remediation-injection system without adding new tooling, and makes your pre-commit gates significantly more effective as the first step when an agent is given the output to interpret.

3. Before your next weekly scheduled agent run, write the validation contract first. Define the three to five essential states that must be traversed for the task to count as complete — not output descriptions but state milestones (auth completed, migration idempotent, test suite green, done-condition file written with specific fields populated). Run the agent, then check whether all essential states were reached rather than just whether the output looks correct. This single practice shift, applied consistently for four to six weeks, will surface whether your scheduled routines are silently completing-but-not-really in ways your current done-condition files don't catch.

Source Articles