Top
Best
New

Posted by simonw 12/12/2025

OpenAI are quietly adopting skills, now available in ChatGPT and Codex CLI(simonwillison.net)
587 points | 324 commentspage 3
sandspar 12/13/2025|
Totally unrelated but what’s up with the word “quietly”? Its usage seems to have gone up 5000%, essentially overnight, as if there’s a contagion. You see the word in the New York Times, in government press releases, in blogs. ChatGPT 5.1 itself used the word in almost every single response, and no amount of custom instructions could get it to stop. That “Google Maps of London restaurants” article that’s going around not only uses the word in the headline, but also twice in the closing passage alone, for example. And now Simon, who’s an excellent writer with an assertive style, has started using it in his headlines. What’s the deal? Why have so many excellent writers from a wide range of subjects suddenly all adopted the same verbal tic? Are these writers even aware that they’re doing it?
simonw 12/13/2025||
Huh! I had not noticed that trend at all.

Here's the Google Maps article: https://laurenleek.substack.com/p/how-google-maps-quietly-al... - note that the Hacker News title left that word out: https://news.ycombinator.com/item?id=46203343

It's possible I was subconsciously influenced by that article (I saw it linked from a few places yesterday I think), but in this case I really did want to emphasize that OpenAI have started doing this without making any announcements about it at all, which I think is noteworthy in its own right.

(I'm also quite enjoying that this may be the second time I've leaked the existence of skills from a major provider - I wrote about Anthropic's skills implementation a week before they formally announced it: https://simonwillison.net/2025/Oct/10/claude-skills/)

sandspar 12/13/2025||
It’s definitely a useful word! Modern tech rollouts often do happen without fanfare. And the word alerts readers to a kind of story shape. So I can see why people use it! Its usage reminds me of when competitive video games develop a new meta, a new powerful technique. There follows a short period where everyone spams the technique over and over. Eventually people figure out a counter and the meta quietly disappears. (Couldn’t help myself!)
sunaookami 12/13/2025||
Maybe you fell into https://en.wikipedia.org/wiki/Frequency_illusion ? :D
sandspar 12/13/2025||
Probably in part, yes! Since it’s a pet peeve, I must be making extra special note of it every time I see it. So it’s probable that I’m overweighting it!

That being said I’m quite sure that it’s being used more frequently recently. For example, I read a shortish 2000-word article yesterday that uses the word “quietly” four times. And ChatGPT 5.1 used it in most of its responses. Also I’d expect that the frequency illusion wears off quite quickly, whereas I’ve noticed “quietly” for some time and the feeling doesn’t seem to be wearing off. Maybe you’ll start to notice it now too!

bluedino 12/13/2025||
> It took just over eleven minutes to produce this PDF,

Incredibly dumb question, but when they say this, what actually happens?

Is it using TeX? Is it producing output using the PDF file spec? Is there some print driver it's wired into?

simonw 12/13/2025|
Visit this link and click on the "Thought for 11m38s" text: https://chatgpt.com/share/693ca54b-f770-8006-904b-9f31a58518... - that will show you exactly what it spent those 11 minutes doing, most of which was executing Python code using the reportlab library to generate PDF files, then visually inspecting those PDF files and deciding to make further tweaks to the code that generates them.
sorcercode 12/13/2025||
this makes sense and as usual great eye by Simon. progressive disclosure is such a powerful concept, that every other tool is going to start adopting it. we've personally had such great results adopting it, especially for performing high quality large migrations.

I wrote about this but I'm certain that eventually commands, MCPs etc will fade out when skills is understood and picked up by everyone

https://kau.sh/blog/claude-skills/

8cvor6j844qw_d6 12/13/2025||
Does this mean I can point to a code snippet and a link to the related documentation and the coding agent refer to it instead of writing "outdated" code?

Some frameworks/languages move really fast unfortunately.

simonw 12/13/2025|
Yes, definitely. I've had a lot of success already showing LLMs short examples of coding libraries they don't know about from their core training data.
lexoj 12/13/2025||
In these new world order, frameworks need to stop changing their APIs for minimal marginal improvements of syntax.
brainless 12/13/2025||
The skills approach is great for agents and LLMs but I feel agents have to become wider in the context they keep and more proactive in the orchestration.

I have been running Claude Code with simple prompts (eg 1) to orchestrate opencode when I do large refactors. I have also tried generating orchestration scripts instead. Like, generate a list of tasks at a high level. Have a script go task by task, create a small task level prompt (use a good model) and pass on the task to agent (with cheaper model). Keeping context low and focused has many benefits. You can use cheaper models for simple, small and well-scoped tasks.

This brings me to skills. In my product, nocodo, I am building a heavier agent which will keep track of a project, past prompts, skills needed and use the right agents for the job. Agents are basically a mix of system prompt and tools. All selected on the fly. User does not even have to generate/maintain skills docs. I can get them generated and maintained with high quality models from existing code in the project or tasks at hand.

1 Example prompt I recently used: Please read GitHub issue #9. We have phases clearly marked. Analyze the work and codebase. Use opencode, which is a coding agent installed. Check `opencode --help` about how to run a prompt in non-interactive mode. Pass each phase to opencode, one phase at a time. Add extra context you think is needed to get the work done. Wait for opencode to finish, then review the work for the phase. Do not work on the files directly, use opencode

My product, nocodo: https://github.com/brainless/nocodo

canadiantim 12/13/2025||
Can or should skills be used for managing the documentation of dependencies in a project and the expertise in them?

I’ve been playing with doing this but kind of doesn’t feel the most natural fit.

blcknight 12/13/2025||
I like Anthropic’s plugin system. I wish everyone would standardize on it instead of everyone having a billion different ways to do slash commmands, skills, etc.
cubefox 12/13/2025||
(Minor grammar note: "OpenAI are" -- it should say "OpenAI is" -- because "OpenAI" is a name and therefore singular.)
simonw 12/13/2025||
Apparently this is a British vs American English thing. I've decided to stay stubbornly British on this one.
Esophagus4 12/13/2025||
Collective nouns!

They vary between British and American English. In this case, either would acceptable depending on your dialect.

Also very noticeable with sports teams.

American: “Team Spain is going to the final.”

British: “Team Spain are going to the final.”

https://editorsmanual.com/articles/collective-nouns-singular...

cubefox 12/13/2025||
I thought this was the same in all languages (my reference was German) because names are singular terms, even in British English, but apparently there are special rules.
Esophagus4 12/13/2025||
Yeah, English is… a mess.

Blame it on a messy divorce a few hundred years ago :)

cubefox 12/14/2025||
That would make sense if before that divorce, the British didn't use singular terms in plural constructions. Otherwise it must have to do with something else. It doesn't make much sense to me. For example, consider:

The traffic jam are expanding.

The forest are growing.

That's just like the OpenAI case.

j45 12/13/2025||
Something important to keep in mind is the way skills work shouldn't be assumed to be the same and work in the same way.
Pooge 12/13/2025|
Does anybody have examples of life-changing skills? I can't quite understand how they're useful, yet...
hadlock 12/13/2025||
Giving the llm access to Ghidra so it can directly read and iterate through the Sudoku puzzle that is decompile binaries seems like a good one. Ghidra has a cli mode and various bindings so you can automate decompiling various binaries. For example right now if you want to isolate the physics step of Microsoft flight simulator 3.0 codex will hold your hand and walk you through (over the course of 3-4 hours, using the gui) finding the main loop and making educated guesses about which decompiled c functions in there are likely physics related, but it would be a lot easier to just give it the "Ghidra" skill and say, "isolate the physics engine and export it as a portable cargo package in rust". If you're an NSA analyst you can probably use it to disassemble and isolate interesting behavior of various binaries from state actors a lot faster.
noname120 12/13/2025||
Do you have experience using Ghidra in such a way? I’m curious how well it actually performs on that use case.
hadlock 12/14/2025||
Yes I extracted the physics engine from Ms flight simulator 3.0 (C) and ported it into my own project (rust) in Ghidra as a complete novice from having never opened the app to working code in rust in just over three hours. It helped a lot that I have previous experience with writing my own similar software so I knew what to start looking for, and also Ms fs 3.0 is only about 9500 loc, much of it is graphics.

But yeah codex will totally hold your hand and teach you Ghidra if you have a few hours to spare and the barest grasp of assembly

Adrig 12/13/2025|||
I don't know about life-changing but to me there are two major benefits that get me really interested:

- Augmenting CLI with specific knowledge and processes: I love the ability to work on my files, but I can only call a smart generalist to do the work. With skills if I want, say, a design review, I can write the process, what I'm looking for, and design principles I want to highlight rather than the average of every blog post about UX. I created custom gems/projects before (with PDFs of all my notes), but I couldn't replicate that on CLIs.

- Great way to build your library of prompts and build on it: In my org everyone is experimenting with AI but it's hard to document and share good processes and tools. With this, the copywriters can work on a "tone of voice" skill, the UX writers can extend it with an "Interface microcopy" skill, and I can add both to my "design review" agent.

Veen 12/13/2025|||
Small use case but I’m using skills for analysing and scoring content then producing charts. LLM does the scoring then calls a Python script bundled in the skill that makes a variety of PNG charts based on metrics passed in via command line arguments. Claude presents the generated files for download. The skill.md file explains how to run the analysis and how to call the script and with what options. That way, you can get very consistent charts because they’re generated programmatically, but you can use the LLM for what it’s good at.
simonw 12/13/2025|||
The best examples I've seen are still the ones built into ChatGPT and Claude to improve their abilities to edit documents.

The Claude frontend-design skill seems pretty good too for getting better HTML+CSS: https://github.com/anthropics/skills/blob/main/skills/fronte...

sunaookami 12/13/2025||
I have made a skill that uses Playwright to control Chrome together with functionality to extract HTML, execute JS, click things and most importantly log full network requests. It's a blessing for reverse-engineering and making userscripts.
More comments...