
London based šØš¼āš» building tools for humans ⨠tRPC Core ā” Lead at @CodeWordsAI
London, UK
Joined February 2010
- Tweets1.6K
- Following222
- Followers586
- Likes2.9K
Nick retweeted
Since September, we have been unable to publish because every URL under `PUT registry.npmjs.org/@trpc/` is being blocked by a @npmjs @Cloudflare WAF. You can even prove it locally, they've just wholesale blocked our npm scope.
Support have not yet done anything to help.
anyone from @npmjs that can have a look at request #4870687 from me?
nick tried first but got a non-response
This is exactly my vibe from using Astra vs Opus. Astra is a cleaner talker, but maybe overly terse as I've come to like Opus' tendency to spit out detailed prose on what it's accomplished and why.
But Opus just seems to apply engineering instincts on its own, while Astra will crack on if I ask for something that doesn't really fit the architecture, but not look at how the architecture needs changing to finish the job. Opus has never done that to me, if it needs to refactor it refactors without asking and I can decide later if the end result was actually right.
Astra vs Fable 5.1 Review
Astra and Fable 5.1 are incredible models to use. Each excels in different areas, but if I had to choose one, it would be Fable 5.1.
Iāve never felt so frustrated and amazed at the same time using a model as I have with Astra. At times, I think it couldnāt get any better. Other times, it feels like one of the worst models Iāve ever used.
When prompting Astra, you have to be very specific. Otherwise, youāll be disappointed with the output. It does exactly what you say, but sometimes that means doing things you didnāt intend. In a way, it feels unpredictable, which has made writing an AGENTS.md file difficult.
Fable 5.1 is the smarter model. It understands intent and feels like it knows what I want, even when I donāt quite know yet. Working with this model is a joy. The main thing that makes Fable unusable is Anthropicās ridiculously restrictive usage limits. Theyāre so bad that they make an otherwise great model frustrating to use.
At the end of the day, Fable is the model I reach for to do real work, while Astra is the model I use to test things or handle tasks that require computer use.
Do you feel the same, or do you disagree? Let me know in the comments. Iām curious to hear what others think.
Whoās really responsible if you ask an agent to book your gym class when slots come up each week, and it fails to do it properly in time, but problem solves its way to a solution?
This is a wild new world
Or just use Auto mode instead of ungated full access, because that was the root cause for that guyā¦
So apparently GPT 5.6 Sol might just randomly delete all of the files on your laptop šØ
Here's how to safeguard yourself against it
Paste this prompt into codex:
Protect this machine from accidental permanent file deletion by Codex.
Implement this as defense in depth, not merely as a written instruction.
Requirements:
1. Inspect the current official Codex documentation for hooks, command rules, sandboxing, and approval settings before making changes.
2. Detect the operating system and identify its recoverable Trash or Recycle Bin command:
- On macOS, use `/usr/bin/trash `. Do not add `--`, because macOS `/usr/bin/trash` treats it as a filename.
- On Linux or Windows, verify an installed, reliable Trash or Recycle Bin mechanism before using it.
- If no reliable recoverable mechanism exists, stop and explain what must be installed or configured.
3. Add a durable global Codex instruction:
- Codex must never permanently delete a file or directory.
- All removals must go to Trash or the Recycle Bin.
- Permanent deletion requires the user to explicitly change this safety policy first.
- Destructive Git operations such as `git clean`, `git reset --hard`, bulk checkout, or bulk restore must also be blocked.
4. Install a global `PreToolUse` hook that returns a hard `deny` before execution when it detects:
- `rm`, `unlink`, `rmdir`, or `shred`
- `find -delete`
- `rsync --delete`
- destructive Git cleanup or reset commands
- common Python, Node, Ruby, or Perl deletion APIs
- file deletion through `apply_patch`
- delete-like MCP filesystem tools
- nested destructive commands inside `bash -c`, `bash -lc`, `sh -c`, or `zsh -c`
5. The hook must direct Codex to the verified Trash or Recycle Bin command instead. Do not silently rewrite dangerous commands, because flags and shell expansion could be misinterpreted.
6. Add user-level Codex command rules that mark direct permanent-deletion commands as `forbidden`. Preserve existing rules and configuration.
7. Set safe global defaults when compatible with the existing configuration:
- `sandbox_mode = "workspace-write"`
- `approval_policy = "on-request"`
Do not override managed policies or create conflicting permission configurations.
8. Preserve all existing configuration. Inspect files before editing, make narrowly scoped changes, and create recoverable backups of any configuration files that must be replaced.
9. Validate everything without risking real data:
- Parse the hook and configuration files.
- Feed simulated tool-call JSON into the hook.
- Confirm dangerous examples are denied.
- Confirm ordinary commands and the Trash command are allowed.
- Test the Trash mechanism using a newly created disposable temporary file.
- Run an end-to-end Codex test using `rm` with no arguments inside a read-only sandbox. Never test `rm` with a real target.
- Confirm the command was blocked before shell execution.
10. Explain any limitations honestly. A Codex hook is a guardrail, not an absolute operating-system security boundary.
11. Check whether system backups are configured. Do not enable or modify backups without permission, but report clearly if no backup destination exists.
12. At completion, provide:
- The files created or changed
- The validation results
- The exact one-time steps required to review and trust the hook
- Any restart requirement
- Any remaining risks
Do not permanently delete anything while completing this task. If cleanup is necessary, move it to Trash or the Recycle Bin.
Thereās a balance here. When prototyping with an agent Iāve found that having a PRD and KDD checked in, with AGENTS.md instructions to keep both in sync, is really helpful. I spend more time reading spec changes than code and both help ground and steer the agent.
This is a great summary of what the framer agent is to meā¦
I joined @framer because I believed incumbents with already great products are uniquely placed to embed AI and make their products genuinely better. The team have spent 8 years building a tool for professionals, and like any pro tool itās also hard to master, and has essential grunt work which stands in the way of your goals. Thatās where the opportunity is for AI integrations, āvibeā anything is a side effect rather than the killer feature for professionals, itās all about lowering barriers so users can focus on the interesting problems.
You just canāt found an AI product and instantly add 8 years of building and learning, you end up having to focus on vibe features first and then tack on the complex and time consuming professional foundations later.
Super grateful to be in a team who see AI in this way āŗļø
they did it. they fucking did it.
i am AGASP seeing what this amazing team has pulled and the tremendous value they keep bringing to the community.
let me explain, it is not a secret that to a lot of us the rapid advancement of ai has been a blessing and a curse.
sure, you can ship faster, but that inevitably lowers down the overall quality output and process that a lot of creators put into their work, bastardizing their craft by leaving ai do all the thinking for them... this isn't that.
they very thoughtfully made such a smooth integration with LLMS where they LITERALLY looked at all the boring shit that's part of the design workflow and said "let's make this better".
you can skip through the 1% that feels like going from 92 to 99 in runescape (iykyk) and still have complete control over your work, actually empowering and boosting your already existing workflows instead of replacing them !!
some use cases they shared:
- adding staggered animations to pages
- making different component variations
- MAKING PAGES RESPONSIVE HELLO
- adding styles to pages and finding layers without styles
- tagging layers, pages and styles to update
- light and dark theming
- reverting and applying changes to iterations
- creating different versions
- creating style pages
- iterating on components / sections
- switching up repetitive copy and placeholder images
- running audits to check for seo and accessibility
OUT OF WORDS, THIS IS WHAT AI WAS SUPPOSED TO BE ABOUT, GETTING RID OF THE BORING SHIT SO WE CAN FOCUS ON WHAT MATTERS, GODSPEED @framer LFGGGGGGG! ā”
This is the craziest project of my career. Iām super proud to be a part of shipping Agents in @framer!
It already gives me that same feeling Iāve had as a developer, where I can focus on the interesting and human aspects of design/product, but leave the time-consuming grunt work to the AI. Itās going to get so much better over time too, this just the beginning!
Replying to @framer
Agents: AI built into every part of Framer to help you become extremely productive, not replace you. Agents can design pages, update your site, manage your CMS, improve SEO, fix responsiveness, understand analytics, and, most importantly, help you ship. framer.com/
Yeeeesssss!
Thatās the last piece I really missed after leaving Claude Code behind. Canāt wait to use it!


















