Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Coding with AI: How to trust the storyteller (A...
Search
Slobodan Stojanović
October 22, 2026
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
Slobodan Stojanović
October 22, 2026
Transcript
99 slides
Do you still know how to write a "Hello World"
in JavaScript or Python? Ok, Ok, that was a bit too much.
When was the last time you manually wrote a significant
amount of code?
Do you read code generated by AI agents?
I still do*. But why?
How do you read that amount of code?
Custom software is cheap! So, I built a custom code
review tool.
https://hawkshaw.dev
Ok, but a code review phase is too late. It's
catching problems, not preventing them.
How do you make Claude Code, Codex or any other
coding agent do what you actually want it to do?
The first obvious pick is to add instructions to Claude.md
or Agents.md. That should work, right?
I found this in the Claude.md file of our marketing
website
Should we give Claude Code a Twilio API key so
it can call Dejan?
A year ago Also, back in the day, Claude Code
sometimes lost context from Claude.md.
A friend added an instruction that tells Claude Code to
start each reply with "Izvolte!" ("Here you go!" in Serbian)
So, Claude Code decided to start replying in… Russian?!
Coding with AI How to trust the storyteller
But who am I to talk about that?
Slobodan Stojanovic cofounder/CTO @ Vacation Tracker @slobodan_
None
let's get back to AI agents
Can you simply use AI agents to check the output
of your AI agents?
Let's talk about deterministic vs non-deterministic checks
deterministic: same input = same output
deterministic: same input = same output
deterministic: same input = same output
deterministic: same input = same output
non-deterministic: same input = maybe different output
non-deterministic: same input = maybe different output
non-deterministic: same input = maybe different output
non-deterministic: same input = maybe different output
LLMs are storytellers. And they are very good ones.
But they tell a different story every time.
“Never trust the storyteller. Only trust the story.” Neil Gaiman
What's the alternative?
Custom linter rules?
btw, check OXlint Custom linter rules are so hard to
write manually. But that's Claude's problem now, not mine.
Good Custom linter rules are even harder to write manually.
Again, Claude's problem, not mine.
E.g., instead of an error: x is forbidden linter can
say: avoid using X because of something use Y instead
E.g., instead of an error: unquoted-paren-in-label linter can say: an
unquoted '(' in a bracket label starts a shape token, so the parse fails mid-label; restructure with a comma or colon, or quote the whole label.
We can run linter rules in a pre-commit hook. But
it's still catching problems, not preventing them.
It would be great if Claude Code could run a
"pre-commit" hook after each change...
And, of course it can.
None
None
None
Like automated code review We could tell Claude Code to
run our linter on modified files and fix problems before we ever see them.
But this "PreToolUse" hook is especially interesting. Can we use
it to run an automated check to determine whether a specific edit or action should be allowed?
None
What's a regulator?
Claude: Can I do "ls -la" in a workspace folder?
Regulator: YES
Claude: Can I run this looong Python script? Regulator: No,
simplify it.
None
This simplifies the review process. But we still need testing,
right? Yes! More than ever. But can we automate part of it?
Can an agent do auto-verification? And maybe also record a
demo video?
Yes, but it needs a test environment. And we definitely
don't want it to access our production.
What should we trust an agent with?
NOTHING
Because of vulnerabilities in dependencies, prompt injections, Anthropic/OpenAI, storytelling, and
many, many other things.
Check OrbStack on Mac I always run my agents in
(Docker) containers. It's not perfectly safe, but it's better than nothing.
But what do you do if your laptop can't run
all these local containers? I never said they have to be local.
An EC2 instance can be your "agent sandbox." Anything you
can connect to remotely and run Claude Code in works.
But how to connect to your container? I use ghostty
+ tmux
But how to connect to your container? I use ghostty
+ tmux
But what do you do to access data in an
AWS account or deploy an application for testing?
aws sso login --profile readonly
Or give your agents access to AWS sub-account (s). But
be very careful with permissions and deployment flow, e.g., no direct access, but via some CICD process
Once agents have an environment, they can record a demo
(provide proof) for you!
This gives you automation that reduces your time. But it's
still not ideal.
This gives you automation that reduces your time. But it's
still not ideal. 2 prompts = 100% of 5-hour limit 50% of weekly fable limit and 25% of weekly limit
It can be expensive and waste many, many tokens.
Unless we adjust our planning for human review and agent
implementation. How do we do that?
1. Define what we want. 2. Prepare an exact plan
for Claude Code.
1. Define what we want. Commander's Intent
Commander's Intent: - Purpose: Why personnel must complete the assignment.
- Task: What the objective or goal entails. - End state: How the result should look.
Better version "Considerations in Communicating intent" Sources of Power: How
People Make Decisions Book by Gary Klein
"There are seven types of information that a person could
present to help the people receiving the request to understand what to do" Sources of Power Book by Gary Klein
1. The purpose of the task (the higher level goals)
2.The objective of the task (an image of desired outcome) 3.The sequence of steps in the plan 4.The rationale for the plan 5.The key decisions that may have to be made 6.Antigoals 7.Constrains and other considerations
Prepare feature skill: Ask an agent to interview you until
you have all 7, or enough to build a feature plan.
None
UX skill: Build a prototype to test it out (and
apply Kathy Sierra's Badass principles)
None
Agent planning skill: Convert these two into a proper agent
plan. What's a proper agent plan?
A parsable markdown file. + A workflow file
Claude Code defines agent workflows on the fly in state-function-like
JavaScript code. And Claude Code knows how to write it.
None
So, our agent plan should prepare that and define the
effort and model.
Remember this?
3 hours of planning. 4 hours and 9 minutes of
Claude Code work. 2 days of reviewing. It would take me at least 3-4 weeks to write it manually.
Custom software is cheap! So, I built a custom agent
workflow review tool.
None
None
None
None
None
I lied, it was 290 agents instead of 207
SUMMARY
1. There are no right or wrong things to do.
Build a workflow that works for you. 2. Never trust the storyteller. Only trust the story. 3.
Questions? https://slobodan.me @slobodan_
Questions? https://slobodan.me @slobodan_
More Decks by Slobodan Stojanović
See All by Slobodan Stojanović
AI Agents: How Do They Work and How to Build Them @ Shift 2025
slobodan
0
250
Prompt Engineering for Developers @ AWS Community Day Timișoara
slobodan
0
190
AI Agents with JavaScript
slobodan
0
510
Prompt Engineering for Developers @ AWS Community Day Adria 2024
slobodan
0
360
From 1 to 250 Lambda Functions in Production: Evolving a Startup Serverless Architecture @ Serverless Days Milan
slobodan
0
250
Building Production-Ready Apps with AI
slobodan
0
390
Advanced GraphQL Architectures: Serverless Event Sourcing and CQRS @ ReactSummit
slobodan
0
340
CofounderGPT - Can an AI be a better co-founder than a human?
slobodan
0
260
From 1 to 201 Lambda functions in production: Evolving a serverless startup architecture
slobodan
0
400
Other Decks in Programming
See All in Programming
Crash Auto Pipelines
veronikapj
1
410
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
260
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
340
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
240
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
310
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
750
LLM 101
dalinaum
0
480
Railsバージョンを4倍にした話
optim
0
1k
AWS CDKを理解するために公式の定義を深掘って解説してみる / Understanding AWS CDK by Digging into Its Official Definition
akihisaikeda
3
300
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.7k
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
170
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
890
The Language of Interfaces
destraynor
162
27k
New Earth Scene 8
popppiees
5
2.8k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Navigating Weather and Climate Data
rabernat
0
590
Building Applications with DynamoDB
mza
96
7.3k
It's Worth the Effort
3n
188
29k
Discover your Explorer Soul
emna__ayadi
2
1.3k
KATA
mclloyd
PRO
35
16k
The Curious Case for Waylosing
cassininazir
1
610
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
610
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k