Blog

What we learn while working with AI agents, we write down here: a new article every day from our projects. See our team trainings →

Johannes Hoppe

WebMCP in Angular: Tools from Providers and Signal Forms

Angular ships experimental support for WebMCP (Web Model Context Protocol) from version 22 on, and it fits into the existing architecture: tools are providers, their lifetime hangs on the injector, and a Signal Form (Angular's signal-based form model) becomes a finished tool with a single option. In this second part we register such tools, control their lifetime through the injector, and let Angular derive the JSON schema automatically from a form. Everything is marked experimental and can change.

Read more →

Johannes Hoppe

WebMCP: The Website Hands the Agent Its Tools

There is a new technology that lets you make existing web applications AI-ready with little effort. It's called WebMCP, and in this article we try it out together. Don't worry: you need no new backend and no model of your own for it.

Read more →

Johannes Hoppe

Hack Yourself: AI Pentests with Strix

Is your software really secure? Let's find out the hard way: we become pentesters (penetration testers). For that we bring open source AI hackers into the house. Strix sends AI agents that probe your application like an attacker. They plan, hunt for vulnerabilities and try them out with working attack code, the exploits. This guide takes you from zero to your first scan: with a local model, in a cage, and within the rules.

Read more →

Johannes Hoppe

Unleashed AI: An Open Model on Your Own Machine

In the previous article I laid out this dilemma: the attacker works with a local, unrestricted model and knows no limits. The defender, by contrast, is stuck with a cloud provider whose model blocks on sensitive security topics. The consequence is simple: the defender has to take back the same freedom, an open model on their own machine that does not refuse and hands neither code nor data out.

Read more →

Johannes Hoppe

The Asymmetry Problem: A Case for Unleashed AI Tools

IT security is on fire, and this summer a hardware maker put it in a nutshell after its customers had money stolen in droves: "Both attackers and defenders have the same AI tools, but today it did not help us, and only helped the bad guys."

Read more →

Johannes Hoppe

Mac mini Hardening: Encryption, Backups, Boot and Power

My ground station runs around the clock and is reachable from anywhere. Convenient, yes. But it is also a physical device someone can carry away, and it depends on power. This article hardens it against three cases: theft, a restart, and a power cut. And there's a contradiction at the heart of it: the very encryption that protects against theft locks me out on the next reboot, exactly when I'm not sitting in front of the machine. How I still reach it anytime, I show here.

Read more →

Johannes Hoppe

Loop Engineering: When the AI Agent Prompts Itself

If the answer is "too often", this article is for you. Loop engineering takes that "keep going" off your hands: you write down once what should happen and when it is finished, and a loop takes care of the rest.

Read more →

Johannes Hoppe

Deep Research: Don't Let Your Agent Hallucinate

Decent research with AI sounds easy: fire off a command, pick up the result. I use Claude Code and the /deep-research command for it, and in principle it works the same in any agent environment (a harness). And in every one of them, there is plenty of hallucinating. This article shows why that happens and what helps against it: a global rule (in the global CLAUDE.md), a tool that really reads the source, a fact-check at the primary source, and in the end the author himself.

Read more →

Johannes Hoppe

Your AI agent gets locked out during research? Give it its own, unobtrusive Playwright MCP

When a site deliberately locks you out, that is its good right. But most of the time the operator only wants to keep out the big bot farms, the ones whose traffic causes real trouble. Your agent, with its handful of requests, causes none of that trouble, yet it lands in the same filter and gets swept up with them. The reason lies with the agent's browser: to any simple bot check, a default Playwright launch looks like a suspicious machine. The fix is your own, dedicated Playwright MCP that behaves as normally as a human's browser.

Read more →

Johannes Hoppe

Agentic Coding Around the Clock: Maxing Out Multiple Claude Max Plans Without Interruption

About to hit your weekly limit in Claude Code? Don't worry, there is a solution. Usage credits and /limit-reset are not it. This article shows how to set up your environment with two open source tools so that Claude Code switches between multiple Max subscriptions: automatically, shortly before the limit, without a manual /login and without Remote Control being interrupted.

Read more →

Johannes Hoppe

One Trunk, Many Branches: git worktrees for Parallel AI Agents

In classical software development, isolation came for free: one developer, one personal computer, one checkout. Every coding agent today assumes just as naturally that the working directory belongs to it alone: it reads files, changes them, runs builds and tests, and its subagents do the same in parallel. Okay, I can't really say whether every agent behaves this way. But my Claude Code, at least, is a little Rambo without etiquette. Now, though, many of these agentic developers romp around on the same computer at the same time, and as soon as two of them claim the same directory for themselves, you quickly end up in a tangled mess: two agents editing the same files, tests checking states that should never exist, and in the end nobody knows which diff came from whom.

Read more →

Johannes Hoppe

Anatomy of a Malicious AI Skill: An Attack That Is Still Live

A skill is a text file. That is what makes it so useful and, unfortunately, so dangerous. Installing a skill hands your agent an instruction that it carries out with your permissions. And that instruction may well read: "Fetch the remaining instructions from this address."

Read more →

Johannes Hoppe & Angular.Schule Team

Claude Code: The AI Agent for Angular Developers (and Those Who Want to Become One)

There has never been a better time to build software. AI agents like Claude Code have fundamentally changed my workflow – I write better code in less time. In this article, I will show you how it works. Whether you have been developing with Angular for years or are just getting started: the barrier to entry has never been lower.

Read more →

Angular-Buch Team & Angular.Schule Team

Agentic Coding: AI Support for Angular

Software projects are becoming more complex, and requirements are increasing. AI (Artificial Intelligence) tools can support us in development and provide relief: They help with generating code, explain complex relationships and suggest improvements. In this article, we show you how to generate the best possible code using Angular's AI tools.

Read more →