Interlocks: proving the agent read the skill
How incident.io uses interlocks to prove Claude read skill files before calling tools, improving AI agent reliability.
Tom Ashworth shares insights on product management, software development, and technical leadership, with a focus on probabilistic modeling, Rust, GraphQL, and practical guides for teams.
17 articles from this blog
How incident.io uses interlocks to prove Claude read skill files before calling tools, improving AI agent reliability.
How to run your personal life from a git repo using Claude Code, markdown files, and GitHub Actions for task management.
litprompt is a markdown preprocessor for LLM prompts that supports annotated comments and imports to manage complex prompts in git repos.
Explains why phantom macOS notifications appear in iTerm2 when using mise and how to fix it by disabling terminal_progress.
A developer rebuilds a childhood programming game using Claude AI as his engineering team, exploring AI-assisted game development.
A software engineer shares their updated AI workflow using Claude, including tools, plugins, and best practices for daily development.
Using Claude for Chrome as a QA tool for manual testing in web development, combining it with Claude Code to automate test plans.
Analysis of Claude Code's plugin source code reveals effective prompting patterns and agentic workflows used by Anthropic's engineers.
A developer shares their experience using Claude Code in agent mode for an open-source project, highlighting productivity gains and collaboration insights.
Exploration of DuckDB and DuckLake as lightweight analytics tools, comparing them to traditional data lake architectures.
Explains how to use Monte Carlo analysis for product development, using TweetDeck screen capacity as a practical example.
A guide outlining the responsibilities and expectations for a Project Lead role in a software development team, including planning, execution, and launch phases.
A Twitter engineer shares insights and lessons learned from launching GraphQL at scale, handling billions of daily queries.
Exploring Rust for migrating complex CLI tools from Bash, covering requirements, useful crates, and considerations for adoption.
A tech lead's role is to guide the team's future direction, not just write code. Focus on strategy, planning, and empowering engineers.
Introducing two JavaScript libraries, if-expression and try-expression, that wrap if/try statements in functional expressions for cleaner code.
An update on using Flight.js at TweetDeck in 2016, covering mixins, state management, data flow with RxJS, and component architecture.