bjorn.now

Working with Genies

These AI tools, or genies, can help some work we do move faster, but how do we use them well? What are the pitfalls? What will really rocket you forward faster? My exploration of this.

12 posts in this series

24 August, 2025

Angry at the genie

…getting exactly what I wished for, eventually

A colleague mentioned he’d like a genie coach to practice first principles thinking, because we had talked about the cooking coach I made and have been using. So I decided to give it a try, whipped up a prompt, and gave it a spin.

I had a problem I’d been working on and wanted to see if there was another way of thinking about it. I also asked it to add behavioral economics as an angle because I’ve been interested in pulling in a more human angle to my thinking (still learning what that means).

[… more]
crumb 4 min read Singapore • #thinking-out-loud, #genie, #learning

26 August, 2025

23 October, 2025

28 October, 2025

Fixing Mastodon URL truncation in n8n

I have been working on automating my POSSE setup, and ended up trying n8n and it has been a great experience, there are so many plugins that it’s mostly just wiring things together.

But, I discovered that despite being within the character limit, one of my URLs were truncated when posting to Mastodon. This is because Mastodon does something non-obvious: it treats all URLs as 23 characters, no matter if they’re shorter or longer.

[… more]
devlog 22 min read #n8n, #genie

10 January, 2026

Write out colon subcommands explicitly for Claude Code permissions because test:* doesn’t match test:unit (prefix matching treats them as separate commands), and the fallback test* is too broad (matches testAndDestroyEnvironment).

For example:

{
  "permissions": {
    "allow": [
      "Bash(pnpm test:unit:*)", // Allows pnpm test:unit --arg etc.
      "Bash(pnpm test:e2e:*)",
      "Bash(pnpm test*)"        // ❌ <- will allow testAndDestroyEnvironment
    ]
  }
}

Note: Tested with Claude Code v2.1.3

Add commands to both permissions.allow and sandbox.excludedCommands to run them outside Claude Code’s sandbox by default, because allow grants permission to run at all and excludedCommands runs them unsandboxed.

{
  "permissions": {
    "allow": [
      "Bash(pnpm test:unit:*)",
      "Bash(pnpm test:e2e:*)"
    ]
  },
  "sandbox": {
    "excludedCommands": [
      "pnpm test:unit:*",    // Same commands, different purpose
      "pnpm test:e2e:*"
    ]
  }
}

Note: Tested with Claude Code v2.1.3

28 January, 2026

26 February, 2026

28 February, 2026

You don't know what you don't know

Why you shouldn't just 'trust' AI genies

I shared a prompt to help create “AI expert prompts” to help you learn a domain, and I’m realizing I didn’t mention the dangers. As every company that gives you a genie to talk to says “they can get things wrong.” The problem is that as a non-expert you don’t know what you don’t know, so you don’t know when the genie is so confidently wrong.

When I started a company I figured, why not do the books myself for the first couple of months and then pay someone to review it later? I created a genie armed with the standard Swedish accounting plan, verified some of the big things I did (inject some extra starting capital) and could find clear examples of how it’s done. I did some other things and just did as it said, but did get a bit complacent because the big one just worked, and didn’t research as thoroughly.

[… more]
crumb 2 min read #genie, #learning

01 March, 2026

02 March, 2026

The Scotty Test: Before proceeding past any failure, ask yourself: “Would Scotty walk past a warp core leak because it existed before his shift?”

found while perusing Gas Town’s prompts for the refinery, to steer agents to fixing things. yoinking that

20 March, 2026