<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/simonwillison/best-of/2025" -->

---
title: Best Simon Willison posts of 2025 | daily.dev
description: The most upvoted Simon Willison posts of 2025, curated by the daily.dev community.
canonical: https://daily.dev/sources/simonwillison/best-of/2025
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/simonwillison/best-of/2025
og:type: website
og:site_name: daily.dev
og:title: Best Simon Willison posts of 2025 | daily.dev
og:description: The most upvoted Simon Willison posts of 2025, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of Simon Willison — 2025

1. 1  
[](/posts/claude-skills-are-awesome-maybe-a-bigger-deal-than-mcp-prc7gax24 "Claude Skills are awesome, maybe a bigger deal than MCP")  
Article  
![Avatar of simonwillison](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cf12b897300740218b35f49a6309ec5b)Simon Willison · 1y  
Claude Skills are awesome, maybe a bigger deal than MCP  
Anthropic introduced Claude Skills, a new pattern for extending LLM capabilities using Markdown files with instructions, scripts, and resources. Skills are token-efficient (loading only when needed), depend on code execution environments, and are simpler to create than MCP implementations. The system enables general computer automation beyond just coding tasks, with skills shareable as single files or folders. Skills work with other models too, potentially sparking wider adoption than the Model Context Protocol.  
138  
6
2. 2  
[](/posts/justhtml-is-a-fascinating-example-of-vibe-engineering-in-action-wdbcf2qcq "JustHTML is a fascinating example of vibe engineering in action")  
Article  
![Avatar of simonwillison](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cf12b897300740218b35f49a6309ec5b)Simon Willison · 45w  
JustHTML is a fascinating example of vibe engineering in action  
JustHTML is a pure Python HTML5 parser that passes all 9,200+ browser vendor tests and achieves 100% test coverage. The library was built over several months using AI coding agents (Claude Sonnet, Gemini Pro, Claude Opus) in VS Code, but with extensive human engineering oversight. The developer established the API design, integrated comprehensive test suites, built custom profilers and fuzzers, and made all architectural decisions while letting the AI handle code implementation. This represents "vibe engineering"—using AI agents professionally with proper code review, testing, and engineering practices—rather than "vibe coding" which produces unvetted prototypes. The project demonstrates how experienced engineers can leverage AI as a typing assistant while maintaining responsibility for design, quality, and architectural decisions.  
121  
9
3. 3  
[](/posts/your-job-is-to-deliver-code-you-have-proven-to-work-xeabx8mtw "Your job is to deliver code you have proven to work")  
Article  
![Avatar of simonwillison](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cf12b897300740218b35f49a6309ec5b)Simon Willison · 44w  
Your job is to deliver code you have proven to work  
Software engineers must deliver proven, working code rather than untested contributions. This requires both manual testing (seeing the code work yourself, documenting steps, testing edge cases) and automated testing (bundling tests with changes). With AI coding agents like Claude Code, developers should train these tools to prove their changes work through testing before submission. The human developer remains accountable for ensuring code quality and providing evidence that changes function correctly.  
112  
12
4. 4  
[](/posts/olmo-3-is-a-fully-open-llm-ub992gxhs "Olmo 3 is a fully open LLM")  
Article  
![Avatar of simonwillison](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cf12b897300740218b35f49a6309ec5b)Simon Willison · 48w  
Olmo 3 is a fully open LLM  
Ai2 released Olmo 3, a fully open LLM series that includes complete training data, process, and checkpoints. The flagship 32B Think model emphasizes interpretability with visible reasoning traces through OlmoTrace. Trained on 5.9 trillion tokens from the Dolma 3 Mix dataset (6x fewer tokens than competitors), it offers four 7B variants and two 32B models. The release enables auditing training data to detect potential backdoors, addressing security concerns in open-weight models. Performance testing shows improved SVG generation compared to Olmo 2, though OlmoTrace's training data attribution needs refinement.  
84
5. 5  
[](/posts/highlights-from-the-claude-4-system-prompt-zrt7xpdjt "Highlights from the Claude 4 system prompt")  
Article  
![Avatar of simonwillison](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cf12b897300740218b35f49a6309ec5b)Simon Willison · 1y  
Highlights from the Claude 4 system prompt  
Anthropic has released the system prompts for their Claude 4 models, providing insights into prompt engineering and model personalities. The prompts offer guidance on effective use, limiting hallucinations, and maintaining model safety while they detail Claude's capabilities, including its preferences for conversation styles and ensuring copyright compliance.  
62  
2
6. 6  
[](/posts/design-patterns-for-securing-llm-agents-against-prompt-injections-hqwcwfeqv "Design Patterns for Securing LLM Agents against Prompt Injections")  
Article  
![Avatar of simonwillison](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cf12b897300740218b35f49a6309ec5b)Simon Willison · 1y  
Design Patterns for Securing LLM Agents against Prompt Injections  
A comprehensive research paper by 11 authors from IBM, Google, Microsoft and other organizations presents six design patterns to mitigate prompt injection attacks in LLM agents. The patterns include Action-Selector, Plan-Then-Execute, LLM Map-Reduce, Dual LLM, Code-Then-Execute, and Context-Minimization approaches. Each pattern trades some agent flexibility for security by constraining actions and preventing untrusted input from triggering arbitrary tasks. The paper includes ten detailed case studies covering practical applications like SQL agents, email assistants, and customer service chatbots, providing threat models and mitigation strategies for each scenario.  
35
7. 7  
[](/posts/openai-are-quietly-adopting-skills-now-available-in-chatgpt-and-codex-cli-v4gaxyg7q "OpenAI are quietly adopting skills, now available in ChatGPT and Codex CLI")  
Article  
![Avatar of simonwillison](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cf12b897300740218b35f49a6309ec5b)Simon Willison · 45w  
OpenAI are quietly adopting skills, now available in ChatGPT and Codex CLI  
OpenAI has quietly implemented support for skills in ChatGPT and their Codex CLI tool, following Anthropic's approach from October. Skills are simple folders containing Markdown files and optional resources that LLM tools can read and execute. ChatGPT's Code Interpreter now includes a /home/oai/skills folder with skills for handling spreadsheets, docx, and PDFs. The Codex CLI added experimental skills support two weeks ago, allowing users to place custom skills in \~/.codex/skills. The author successfully tested both implementations, creating a PDF with ChatGPT and building a Datasette plugin with Codex CLI using a custom skill. The rapid adoption by OpenAI suggests skills may become a standard pattern for extending LLM capabilities.  
19
8. 8  
[](/posts/vibe-engineering-cbdf9199d "Vibe engineering")  
Article  
![Avatar of simonwillison](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cf12b897300740218b35f49a6309ec5b)Simon Willison · 1y  
Vibe engineering  
Introduces 'vibe engineering' as a term for experienced developers who use LLMs and coding agents productively while maintaining accountability for their code. Unlike 'vibe coding' (fast, irresponsible AI-driven development), vibe engineering requires senior-level skills: comprehensive testing, planning, documentation, version control, code review, QA, and research abilities. Coding agents like Claude Code, OpenAI's Codex CLI, and Gemini CLI enable parallel development workflows but demand top-tier engineering practices. AI tools amplify existing expertise rather than replace it, making traditional software engineering disciplines more important than ever.  
10  
3

[See all Simon Willison archives](/sources/simonwillison/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/sources/simonwillison/best-of/2025#page","url":"https://daily.dev/sources/simonwillison/best-of/2025","name":"Best Simon Willison Posts of 2025","description":"The most upvoted Simon Willison posts of 2025, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/simonwillison/best-of/2025#items","numberOfItems":8,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/claude-skills-are-awesome-maybe-a-bigger-deal-than-mcp-prc7gax24","name":"Claude Skills are awesome, maybe a bigger deal than MCP"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/justhtml-is-a-fascinating-example-of-vibe-engineering-in-action-wdbcf2qcq","name":"JustHTML is a fascinating example of vibe engineering in action"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/your-job-is-to-deliver-code-you-have-proven-to-work-xeabx8mtw","name":"Your job is to deliver code you have proven to work"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/olmo-3-is-a-fully-open-llm-ub992gxhs","name":"Olmo 3 is a fully open LLM"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/highlights-from-the-claude-4-system-prompt-zrt7xpdjt","name":"Highlights from the Claude 4 system prompt"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/design-patterns-for-securing-llm-agents-against-prompt-injections-hqwcwfeqv","name":"Design Patterns for Securing LLM Agents against Prompt Injections"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/openai-are-quietly-adopting-skills-now-available-in-chatgpt-and-codex-cli-v4gaxyg7q","name":"OpenAI are quietly adopting skills, now available in ChatGPT and Codex CLI"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/vibe-engineering-cbdf9199d","name":"Vibe engineering"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"Simon Willison","item":"https://daily.dev/sources/simonwillison"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/simonwillison/best-of"},{"@type":"ListItem","position":5,"name":"2025"}]}]}
```

