<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>automation on olafalders.com</title><link>https://www.olafalders.com/categories/automation/</link><description>Recent content in automation on olafalders.com</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Olaf Alders</copyright><lastBuildDate>Mon, 16 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.olafalders.com/categories/automation/index.xml" rel="self" type="application/rss+xml"/><item><title>AI Shoulder Surf V1</title><link>https://www.olafalders.com/2026/03/16/ai-shoulder-surf-v1/</link><pubDate>Mon, 16 Mar 2026 00:00:00 +0000</pubDate><guid>https://www.olafalders.com/2026/03/16/ai-shoulder-surf-v1/</guid><description>&lt;!-- markdownlint-disable MD003 MD033 MD046 --&gt;
&lt;p&gt;A while back I thought of having some regular office hours so that I could
share my screen with some friends and we could just talk about what we are
learning and working on. I think office hours are hard to sell unless you&amp;rsquo;re
some kind of expert or thought leader. I am neither of those things, but
I do enjoy showing what I&amp;rsquo;m working on. So, I proposed a &amp;ldquo;shoulder surf&amp;rdquo;
session where people could share screens and gab. No video recording was made,
in order to remove the stress and the performative aspect of video calls. It also
leaves space for asking questions and admitting you have knowledge gaps.
Admitting to not having answers is not a problem for me personally, because
knowledge gaps are basically all that I have, but I want other people to have a
safe space.&lt;/p&gt;
&lt;p&gt;I posted something on LinkedIn, texted some former colleagues whom I have been
keeping in touch with and we set up a meeting. I thought we&amp;rsquo;d have a handful of
folks, but we had a dozen and I learned a lot. This was the first session of at
least two. (I&amp;rsquo;m not making big plans).&lt;/p&gt;
&lt;p&gt;What follows is a combination of a factual AI summary of the call and some of
my comments. So, I did have an assist, but it&amp;rsquo;s also not slop. The target
audience of this post is the folks who were on the call, but maybe some others
will find the digest version useful.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.olafalders.com/2026/03/16/ai-shoulder-surf-v1/featured.jpeg" &gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="featured"
width="500"
height="500"
src="https://www.olafalders.com/2026/03/16/ai-shoulder-surf-v1/featured.jpeg"
srcset="https://www.olafalders.com/2026/03/16/ai-shoulder-surf-v1/featured.jpeg 800w, https://www.olafalders.com/2026/03/16/ai-shoulder-surf-v1/featured.jpeg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://www.olafalders.com/2026/03/16/ai-shoulder-surf-v1/featured.jpeg"&gt;&lt;/figure&gt;
&lt;/a&gt; &lt;!-- markdownlint-disable-line --&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;&lt;a href="https://www.flickr.com/photos/74105777@N00/9598190955" target="_blank"&gt;Peaking over @brad_frost&amp;rsquo;s shoulder at An Event Apart&lt;/a&gt;&amp;rdquo; by &lt;a href="https://www.flickr.com/photos/74105777@N00" target="_blank"&gt;Jeremy Keith&lt;/a&gt; is licensed under &lt;a href="https://creativecommons.org/licenses/by/2.0/" target="_blank"&gt;CC BY 2.0&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Mateu: OpenClaw and AI-Generated Video
&lt;div id="mateu-openclaw-and-ai-generated-video" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#mateu-openclaw-and-ai-generated-video" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Mateu kicked things off by demonstrating how he used AI to produce &lt;a href="https://www.youtube.com/watch?v=4QwQQiLk7pE" target="_blank"&gt;OpenClaw: Introduction &amp;amp; Memory Search Overview&lt;/a&gt;, a YouTube video explaining &lt;a href="https://github.com/openclaw/openclaw" target="_blank"&gt;OpenClaw&lt;/a&gt; — a project he&amp;rsquo;s been experimenting with. He runs it inside a Linux container on &lt;a href="https://www.proxmox.com/" target="_blank"&gt;Proxmox&lt;/a&gt; and used &lt;a href="https://manus.im/app" target="_blank"&gt;Manus&lt;/a&gt; to generate the video.&lt;/p&gt;
&lt;p&gt;On the cost side, Mateu has been happy with the &lt;a href="https://openai.com/codex" target="_blank"&gt;Codex
model&lt;/a&gt; at $20/month and finds it genuinely useful for
day-to-day work.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Ingy: Headless Claude in a Makefile
&lt;div id="ingy-headless-claude-in-a-makefile" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ingy-headless-claude-in-a-makefile" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Ingy talked about &lt;a href="https://github.com/makeplus/makes" target="_blank"&gt;makes&lt;/a&gt;, and an automation that he put together just a few minutes before the call. It centres on a &lt;a href="https://github.com/makeplus/makes/blob/main/.claude/skills/version-update/SKILL.md" target="_blank"&gt;version-update skill&lt;/a&gt; that runs Claude in headless mode. The skill instructs Claude to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Run &lt;code&gt;make version-check&lt;/code&gt; and capture the output&lt;/li&gt;
&lt;li&gt;Find all lines indicating an outdated version (&lt;code&gt;&amp;lt;file&amp;gt; &amp;lt;old-version&amp;gt; -&amp;gt; &amp;lt;new-version&amp;gt;&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Update the version string in each corresponding &lt;code&gt;.mk&lt;/code&gt; file&lt;/li&gt;
&lt;li&gt;Re-run &lt;code&gt;make version-check&lt;/code&gt; to confirm everything is current&lt;/li&gt;
&lt;li&gt;Commit the changes with a descriptive message&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This is then wired up as a &lt;a href="https://github.com/makeplus/makes/blob/main/.github/workflows/version-update.yaml" target="_blank"&gt;GitHub Actions workflow&lt;/a&gt; that runs on a daily schedule. It checks out the repo, passes the &lt;code&gt;ANTHROPIC_API_KEY&lt;/code&gt;, runs &lt;code&gt;make version-update&lt;/code&gt;, and pushes any commits if versions changed.&lt;/p&gt;
&lt;p&gt;Ingy described this as a shift toward building &lt;strong&gt;agent-friendly tooling&lt;/strong&gt; rather than just human-centric tools. The skill file is the spec; Claude is the executor.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Olaf: The &amp;ldquo;Talk About Us&amp;rdquo; Skill
&lt;div id="olaf-the-talk-about-us-skill" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#olaf-the-talk-about-us-skill" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I presented the &lt;a href="https://github.com/oalders/talk-about-us" target="_blank"&gt;talk-about-us&lt;/a&gt; skill, which I wrote about at length in an &lt;a href="https://www.olafalders.com/2026/01/15/can-others-explain-my-work-without-me" &gt;earlier post&lt;/a&gt;. The short version: it&amp;rsquo;s derived from &lt;a href="https://www.anildash.com/2025/12/05/talk-about-us-without-us/" target="_blank"&gt;Anil Dash&amp;rsquo;s framework&lt;/a&gt; for writing copy that other people can repeat accurately without you in the room.&lt;/p&gt;
&lt;p&gt;The skill audits text for jargon, distinctiveness, emotional resonance, and value-first messaging. It gives frank feedback and rewrite suggestions while preserving the author&amp;rsquo;s voice. Friends have found it useful for blog posts, sponsor emails, resumes, and grant proposals. It gives you the honest outside perspective that&amp;rsquo;s hard to get when you&amp;rsquo;re too close to your own work.&lt;/p&gt;
&lt;p&gt;The skill itself was written using superpowers&amp;rsquo; &lt;a href="https://github.com/obra/superpowers/tree/main/skills/writing-skills" target="_blank"&gt;skill-writing skill&lt;/a&gt; — a nice example of using the tools to build the tools.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Nico: The Bot That Works While You Sleep
&lt;div id="nico-the-bot-that-works-while-you-sleep" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#nico-the-bot-that-works-while-you-sleep" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Nico showed off the most ambitious automation of the afternoon: &lt;a href="https://github.com/sukria/koan" target="_blank"&gt;koan&lt;/a&gt;, a bot system designed to maximize Claude quota usage during off-hours. While he&amp;rsquo;s asleep, the bot:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Processes a queue of GitHub issues&lt;/li&gt;
&lt;li&gt;Implements fixes and creates pull requests&lt;/li&gt;
&lt;li&gt;Responds to PR comments&lt;/li&gt;
&lt;li&gt;Runs multiple refinement passes: implementation, refactor, security audit&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The queue is accessible via Telegram, which means Nico can add tasks to the pipeline from his phone before bed and wake up to completed pull requests. It&amp;rsquo;s queue-based, runs unattended, and uses iterative passes to improve code quality rather than trying to get everything right in one shot. The combination of multiple refinement stages and overnight execution is clever — the quota limits that would be annoying during the day become a non-issue when you have eight hours.&lt;/p&gt;
&lt;h2 class="relative group"&gt;The Bigger Themes
&lt;div id="the-bigger-themes" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-bigger-themes" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;A few threads ran through the whole session:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Specification over code.&lt;/strong&gt; Todd made the case that the future of development is writing detailed specifications rather than code. The measure of success isn&amp;rsquo;t whether the code is correct — it&amp;rsquo;s whether the tests validate the expected behavior. He argued this requires roughly 10x more tests than traditional development. The &lt;a href="https://agentskills.io/specification" target="_blank"&gt;Agent Skills specification&lt;/a&gt; is worth reading if this resonates with you.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Model selection matters.&lt;/strong&gt; Most people in the group have settled on Claude Opus for serious development work. The $100/month cost is real, but the quality difference justifies it when you&amp;rsquo;re using AI as a core part of your workflow rather than an occasional helper.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Editor&amp;rsquo;s note: there was some discussion about using the Haiku model and having issues getting quality code back out of it. I do think it&amp;rsquo;s going to be an uphill battle to get great results out of Haiku for everything. There are, however, some things it does very well. I use it to extract event and organization details out of web pages for &lt;a href="https://mymindisracing.com/" target="_blank"&gt;My Mind is Racing&lt;/a&gt;. I would not use it to produce code, but for less complex tasks it can be a significant money saver.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Containerization for safety.&lt;/strong&gt; There was broad agreement that running AI agents in isolated environments — Docker, KVM, &lt;a href="https://linuxcontainers.org/incus/" target="_blank"&gt;Incus&lt;/a&gt; — is important for anything that touches real systems. You want controlled, auditable access, not a process that can reach anywhere it wants. See also this walkthrough on &lt;a href="https://mensfeld.pl/2026/01/claude-on-incus-all-the-autonomy-securely/" target="_blank"&gt;Claude on Incus&lt;/a&gt; if you want a practical starting point.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Editor&amp;rsquo;s note: I&amp;rsquo;ve spent a fair amount of time getting custom Docker containers set up so that I can let Claude essentially run hog wild while I sleep. While this is a good fit for my particular use case right now, I&amp;rsquo;m looking forward to trying out more lightweight solutions.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Image input is underused.&lt;/strong&gt; Several people mentioned that feeding screenshots and photos to Claude for debugging is surprisingly effective. When you&amp;rsquo;re staring at a visual bug or a confusing terminal output, sometimes the fastest path is just to take a screenshot and ask.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;--chrome&lt;/code&gt; is worth knowing about.&lt;/strong&gt; Claude&amp;rsquo;s &lt;code&gt;--chrome&lt;/code&gt; flag enables browser control, which opens up front-end testing automation that would otherwise require a separate framework. A few people hadn&amp;rsquo;t heard of it and were immediately interested.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Editor&amp;rsquo;s note: &lt;a href="https://github.com/microsoft/playwright-mcp" target="_blank"&gt;Playwright MCP Server&lt;/a&gt; can be very handy for inspecting web content as well as the network requests involved.&lt;/em&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;Addendum
&lt;div id="addendum" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#addendum" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m not sure if this actually, came up but I&amp;rsquo;e been using &lt;a href="https://github.com/ali-nr/claude-pulse" target="_blank"&gt;claude-pulse&lt;/a&gt; status line for Claude Code that gives you some visibility into what the agent is doing right now, especially around token usage. I get a lot out of that.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Where This Is Going
&lt;div id="where-this-is-going" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#where-this-is-going" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;We&amp;rsquo;ll do this again at least one more time. If you want to join the next session, reach out.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Related posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.olafalders.com/2026/01/15/can-others-explain-my-work-without-me" &gt;Can Others Explain My Work Without Me?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://www.olafalders.com/2026/03/16/ai-shoulder-surf-v1/"&gt;Read on website&lt;/a&gt;&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.olafalders.com/2026/03/16/ai-shoulder-surf-v1/featured.jpeg"/></item></channel></rss>