13 ms·
OpenAI are quietly adopting skills, now available in ChatGPT and Codex CLI
- simonw 11mo agoI had a bunch of fun writing about this one, mainly because it was a great excuse to highlight the excellent news about Kākāpō breeding season this year. (I'm not just about pelicans.)
- KK7NIL 11mo agoTIL about a large moss green flightless parrot :)
- joshtbradley 11mo agoWill Kākāpō be riding bicycles soon?
- OrsonSmelles 11mo agoThey already ride British nature photographers—what do they need bikes for?
- throwup238 11mo agohttps://youtube.com/watch?v=Jlk9u8MIv7o https://youtube.com/watch?v=Jlk9u8MIv7o The foreplay starts around the 1 minute mark.
- pineaux 11mo agoas an svg you mean? cause nano banana rides circles around the pelicans
- bilekas 11mo ago> Skills are a keeper # Good thinking, I agree actually, however.. > Skills are based on a very light specification, if you could even call it that, but I still think it would be good for these to be formally documented somewhere. Like a lot of posts around AI, and I hope OP can speak to it, surely you can agree that while when used for a good cool idea, it can also be used for the inverse and probably to more detrimental reason. Why would they document an unmanageable feature that may be consumed. Shareholder value might not go up if they learnt that the major product is learning bad things. Have you or would you try this on a local LLM instead ?
- simonw 11mo agoThese work well with local LLMs that are powerful enough to run a coding agent environment with a decent amount of context over longer loops. The OpenAI GPT OSS models can drive Codex CLI, so they should be able to do this. I have high hopes for Mistral's Devstral 2 but I've not run that locally yet.
- bilekas 11mo ago> These work well with local LLMs that are powerful enough to run a coding agent environment with a decent amount of context over longer loops. That's actually super interesting, maybe something I'll try investigate and find the minimum requirements because as cool as they seem, personalized 'skills' might be a more useful use of AI overall. Nice article, and thanks for answering. Edit: My thinking is consumer grade could be good enough to run this soon.
- ipaddr 11mo agoSomething that powerful requires some rewriting of the house. Local LLMs are better for long batch jobs not things you want immediately or your flow gets killed.
- ajcp 11mo agoAnd so the Kākāpō Benchmark was born
- swyx 11mo agoand this is my excuse to talk about the :partyparrot: emoji being from an actual real life documentary https://www.youtube.com/watch?v=9T1vfsHYiKY&pp=ygUSa2FrYXBvIG1hdGluZyBoZWFk https://www.youtube.com/watch?v=9T1vfsHYiKY&pp=ygUSa2FrYXBvI...
- quinncom 11mo agoAwww. If there weren’t only 237 of them, I would want to bring one of them home. > Kākāpō can be up to 64 cm (25 in) long. They have a combination of unique traits among parrots: finely blotched yellow-green plumage, a distinct facial disc, owl-style forward-facing eyes with surrounding discs of specially-textured feathers, a large grey beak, short legs, large blue feet, relatively short wings and a short tail. It is the world's only flightless parrot, the world's heaviest parrot, and also is nocturnal, herbivorous, visibly sexually dimorphic in body size, has a low basal metabolic rate, and does not have male parental care. It is the only parrot to have a polygynous lek breeding system. It is also possibly one of the world's longest-living birds, with a reported lifespan of up to 100 years. https://en.wikipedia.org/wiki/K%C4%81k%C4%81p%C5%8D https://en.wikipedia.org/wiki/K%C4%81k%C4%81p%C5%8D
- jumploops 11mo agoI think the future is likely one that mixes the kitchen-sink style MCP resources with custom skills. Services can provide an MCP-like layer that provides semantic definitions of everything you can do with said service (API + docs). Skills can then be built that combine some subset of the 3rd party interfaces, some bespoke code, etc. and then surface these more context-focused skills to the LLM/agent. Couldn’t we just use APIs? Yes, but not every API is documented in the same way. An “MCP-like” registry might be the right abstraction for 3rd parties to expose their services in a semantic-first way.
- dkdcio 11mo agoCLIs are really good when you can use them. self-documenting, agents already have shell tools, they tend to solve fine-grained auth, etc. feels like the right layer of abstraction for remote APIs
- esafak 11mo agoIf only there was a way to progressively disclose the API in MCP instead of presenting the full laundry list up front.
- simonw 11mo agoThat is effectively what this proposal is about: https://www.anthropic.com/engineering/code-execution-with-mcp https://www.anthropic.com/engineering/code-execution-with-mc...
- prescriptivist 11mo agoAgree. I'd add that a aha moment to skills is AI agents are pretty good at writing skills. Let's say you have developed an involved prompt that explains how to hit an API (possibly with the complexity of reading credentials from an env var or config file) or run a tool locally to get some output you want the agent to analyze (example, downloading two versions of python packages and diffing them to analyze changes). Usually the agent reading the prompt it's going to leverage local tools to do it (curl, shell + stdout, git, whatever) every single time. Every time you execute that prompt there is a lot thinking spent on deciding to run these commands and you are burning tokens (and time!). As an eng you know that this is a relatively consistent and deterministic process to fetch the data. And if you were consuming it yourself, you'd write a script to automate it. So you read about skills (prompt + scripts) to make this more repeatable and reduce time spent thinking. At that point there are two paths you can go down -- write the skill and prompt yourself for the agent to execute -- or better -- just tell the agent to write the skill and prompt and then you lightly edit it and commit it. This may seem obvious to some, but I've seen engineers create skills from scratch because they have a mental model around skills being something that people must build for the agent, whereas IMO skills are you just bridging a productivity gap that the agent can't figure out itself (for now), which is instructing it to write tools to automate its own day to day tedium.
- koakuma-chan 11mo agoDoes Cursor support skills?
- smcleod 11mo agoNo I don't believe so. Cursor is usually pretty behind other agentic coding tools in my experience.
- hurturue 11mo agoGithub Copilot too
- simonw 11mo agoVS Code Copilot just announced experimental skill support in their November release: https://code.visualstudio.com/updates/v1_107#_reuse-your-claude-skills-experimental https://code.visualstudio.com/updates/v1_107#_reuse-your-cla...
- bzmrgonz 11mo agoIt is interesting that they are relying on visual reading for document ingestion instead of OCT. Recently I read an article which says Handwriting recognition has matured, and I'm beginning to think this is the approach they are takingwirh HAndwiting recognition.
- jaco6 11mo ago[dead]
- esperent 11mo agoIt seems to me that skills are: 1. A top level agent/custom prompt 2. Subagents that the main agent knows about via short descriptions 3. Subagents have reference files 4. Subagents have scripts Anthropic specific implementation: 1. Skills are defined in a filesystem in a /skills folder with a specific subfolder structure of /references and /scripts. 2. Mostly designed to be run via their CLI tool, although there's a clunky way of uploading them to the web interface via zip files. I don't think the folder structure is a necessary part of skills. I predict that if we stop looking at that, we'll see a lot of "skills-like" implementations. The scripting part is only useful for people who need to run scripts, which, aside from the now built in document manipulating scripts, isn't most people. For example, I've been testing out Gemini Enterprise for use by staff in various (non-technical) positions at my business. It's got the best implementation of a "skills-like" agent tool I've seen. Basically a visual tree builder, currently only one level deep. So I've set up the "<my company name> agent" and then it has subagents/skills for thing like marketing/supply chain research/sysadmin/translation etc., each with a separate description, prompt, and knowledge base, although no custom scripts. Unfortunately, everything else about Gemini Enterprise screams "early alpha, why the hell are you selling this as an actual finished product?". For example, after I put half a day into setting up an agent and subagents, then went to share this with the other people helping me to test it, I found that... I can't. Literally no way to share agents in a tool that is supposedly for teams to use. I found one of the devs saying that sharing agents would be released in "about two weeks". That was two months ago. Mini rant over... But my point is that skills are just "agents + auto-selecting sub-agents via a short description" and we'll see this pattern everywhere soon. Claude Skills have some additional sandboxing but that's mostly only interesting for coders.
- ohghiZai 11mo agoLooking for a way to do this with ADK as well, looks like skills can be a sweet spot between giant instruction and sprawling tools/subagents.
- mhalle 11mo agoI have found that scripts, and the environment that runs them, are the skills' superpower. Computability (scripts) means being able build documents, access remote data, retrieve data from packaged databases and a bunch of other fundamentally useful things, not just "code things". Computability makes up for many of the LLM's weaknesses and gives it autonomy to perform tasks independently. On top of that, we can provide the documentation and examples in the skill that help the LLM execute computability effectively. And if the LLM gets hung up on something while executing the skill, we can ask it why and then have it write better documentation or examples for a new skill version. So skills can self-improve. It's still so early. We need better packaging, distribution, version control, sharing, composability. But there's definitely something simple, elegant, and effective here.
- mbesto 11mo agoFrom a purely technical view, skills are just an automated way to introduce user and system prompt stuffing into the context right? Not to belittle this, but rather that seems like a way of reducing the need for AI wrapper apps since most AI wrappers just do systematic user and system prompt stuffing + potentially RAG + potentially MCP.
- simonw 11mo agoYeah, there are a whole lot of AI wrapper applications that could be a folder with a markdown file in at this point!
- petetnt 11mo agoIt’s impressive how every iteration tries to get further from pretending actual AGI would be anywhere close when we are basically writing library functions with the worst DSL known to man, markdown-with-english.
- cyanydeez 11mo agoYes. Prompt engineering is like a shittier verson of writing a VBA app inside Excel or Access. Bloat has a new name and its AI integration. You thought Chrome using GB per tab was bad, wait until you need a whole datacenter to use your coding environment.
- Alex3917 11mo ago> Prompt engineering is like a shittier verson of writing a VBA app inside Excel or Access. Sure, if you could use VBA to read a patient's current complaint, vitals, and medical history, look up all the relevant research on Google Scholar, and then output a recommended course of treatment.
- noitpmeder 11mo agoThat instantly kills the patient -- "But you asked me to remove his pain"
- duskdozer 11mo agoYou're absolutely right! I did--in fact--fail to consider the obvious negative consequences of killing the patient to remove his pain. I am truly horrified about this mistake. Let's try again, and this time I will make sure to avoid intentionally causing the patient's death. Oops--you're absolutely right! I did--in fact--fail to remember not to kill the patient after you expressly told me not to.
- tony_cannistra 11mo agoDon’t do this.
- 8cvor6j844qw_d6 11mo agoDoes 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.
- lacker 11mo agoI'm not sure if I have the right mental model for a "skill". It's basically a context-management tool? Like a skill is a brief description of something, and if the model decides it wants the skill based on that description, then it pulls in the rest of whatever amorphous stuff the skill has, scripts, documents, what have you. Is this the right way to think about it?
- canadiantim 11mo agoI think it’s also important to think of skills in the context of tasks, so when you want an agent to perform a specialized task, then this is the context, the resources and scripts it needs to perform the task.
- hadlock 11mo agoI'm excited to use this with the Ghidra cli mode to rapidly decompile physics engines from various games. Do I want my flight simulator to behave like the Cessna like in flight simulator 3.0 in the air? Codex can already do that. Do I want the plane to handle like Yoshi from Mario Kart 64 when taxiing? It hasn't been done yet but Claude code is apparently pretty good at pulling apart n64 roms so that seems within the realm of possibility.
- simonw 11mo agoIt's a folder with a markdown file in it plus optional additional reference files and executable scripts. The clever part is that the markdown file has a section in it like this: https://github.com/datasette/skill/blob/a63d8a2ddac9db8225ee3b2b62724932f6ca49c6/SKILL.md?plain=1#L1-L4 https://github.com/datasette/skill/blob/a63d8a2ddac9db8225ee... --- name: datasette-plugins description: "Writing Datasette plugins using Python and the pluggy plugin system. Use when Claude needs to: (1) Create a new Datasette plugin, (2) Implement plugin hooks like prepare_connection, register_routes, render_cell, etc., (3) Add custom SQL functions, (4) Create custom output renderers, (5) Add authentication or permissions logic, (6) Extend Datasette's UI with menus, actions, or templates, (7) Package a plugin for distribution on PyPI" --- On startup Claude Code / Codex CLI etc scan all available skills folders and extract just those descriptions into the context. Then, if you ask them to do something that's covered by a skill, they read the rest of that markdown file on demand before going ahead with the task.
- ohghiZai 11mo agoIs there a way to implement skills with Gemini?
- simonw 11mo agoLooks like they added it to the Gemini CLI public roadmap last week: https://github.com/google-gemini/gemini-cli/issues/11506#event-21312392791 https://github.com/google-gemini/gemini-cli/issues/11506#eve...
- badlogic 11mo agoCreate a markdown file, for each SKILL.md of the skills you want to use, put the frontmatter in that single markdown file along with the fulk path to the SKILL.md file. On session start, tell Gemini to read that file. If you put it in your AGENTS.md, you don't have to instruct Gemini. And if you have your skills in a known folder, let Gemini write a small scripts that generates that markdown file for you.
- canadiantim 11mo agoCan 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.
- heliumtera 11mo agoSo chatgpt can read markdown files? I am very confused
- simonw 11mo agoChatGPT has had a full Linux container system available to it for nearly three years now. OpenAI keep changing their mind on what to call it. I like the original name, "ChatGPT Code Interpreter", but they've also called it "advanced data analysis" at various points. Claude added the same feature in September this year: https://simonwillison.net/2025/Sep/9/claude-code-interpreter/ https://simonwillison.net/2025/Sep/9/claude-code-interpreter... In both ChatGPT and Claude you can say things like "use your Python tool to calculate total mortgage payments over a 30 year period for X and Y" and it will write and execute code to do so - but you can also upload files (including CSVs or even SQLite database files) into that container file system and have them write and execute python code to process those in different ways. Skills are just folders full of markdown files that are saved in that container when it first boots up.
- heliumtera 11mo agoOooooo, okay. So in fact it has technical capabilities of utilizing and taking advantage of this information provided as skills. That is much clearer now, I appreciate very much your response.
- j45 11mo agoSomething important to keep in mind is the way skills work shouldn't be assumed to be the same and work in the same way.
- swyx 11mo agowe just released Anthropic's Skills talk for those who want to find more info on the design thinking / capabilities: https://www.youtube.com/watch?v=CEvIs9y1uog&t=2s https://www.youtube.com/watch?v=CEvIs9y1uog&t=2s
- mehdibl 11mo agoThis is killing me with complexity. We had agents.md and were supposed to augment the context there. Now back to cursor rules and another md file to ingest.
- delaminator 11mo agoI tell Claude to make its own skills. “Which part of this task is worth making a skill for, use your skill making skill to do it”
- baq 11mo agoIf we aren’t in the take off phase, I don’t know where we are
- simonw 11mo agoMCPs feel complicated. Skills seem to me like the simplest possible design for a mechanism for adding extra capabilities to an existing coding agent.
- febed 11mo agoCan skills completely replace MCPs? For example, can a skill be configured to launch my local Python program in its own venv. I don’t want Claude to spend time spinning up a runtime
- simonw 11mo agoSkills only work if you have a code environment up and running and available for a coding agent to execute commands in. You can absolutely have a skill that tells the coding agent how to use Python with your preferred virtual environment mechanism. I ended up solving that in a slightly different way - I have a Claude hook that spits attempts to run "python" or "python3" and returns an error saying "use uv run instead".
- rafaquintanilha 11mo agoSkills are just pointers to context so you don't need to load all of them upfront, it is as simple as that. By the way cursor rules is effectively the same as agents.md.
- nwgo 11mo ago[dead]
- ctoth 11mo ago@simonw Thank you for always setting alt text in your images. I really appreciate it.
- GaggiX 11mo agoWhen there is no alt text do you have like a solution for that? Like VLMs are really powerful, I imagine they can be used to parse through the unlabeled images automatically if needed.
- taw1285 11mo agoCurious if anyone has applied this "Skills" mindset to how you build your tool calls for your LLM agents applications? Say I have a CMS (I use a thin layer of Vercel AI SDK) and I want to let users interact with it via chat: tag a blog, add an entry, etc, should they be organized into discrete skill units like that? And how do we go about adding progressive discovery?
- robkop 11mo agoHasn’t ChatGPT been supporting skills with a different name for several months now through “agent”? They gave it back then folders with instructions and executable files iirc
- simonw 11mo agoNot quite the same thing. Implementing skills specifically means that you have code which, on session start, scans the skills/*/skill.md files and reads in their description: metadata and loads that into the system prompt, along with an instruction that says "if the user asks about any of these particular things go and read the skills.md file for further instructions". Here's the prompt within Codex CLI that does that: https://github.com/openai/codex/blob/ad7b9d63c326d5c92049abd16f9f5fb64a573a69/codex-rs/core/src/skills/render.rs#L20-L38 https://github.com/openai/codex/blob/ad7b9d63c326d5c92049abd... I extracted that into a Gist to make it easier to read: https://gist.github.com/simonw/25f2c3a9e350274bc2b76a79bc8ae8b2 https://gist.github.com/simonw/25f2c3a9e350274bc2b76a79bc8ae...
- robkop 11mo agoI remember you did some reverse engineering when they released agent, does it not feel quite similar to you? I know they didn’t dynamically scan for new skill folders but they did have mentions of the existing folders (slides, docs, …) in the system prompt
- simonw 11mo agoThe main similarity is that both of them take full advantage of the bash tool + file system combination.
- deleted 11mo ago[deleted]
- zx8080 11mo agoWelcome to the world of imitation of value and semantics.
- extr 11mo agoIt’s crazy how Anthropic keeps coming up with sticky “so simple it seems obvious” product innovations and OpenAI plays catch up. MCP is barely a protocol. Skills are just md files. But they seem to have a knack for framing things in a way that just makes sense.
- nrhrjrjrjtntbt 11mo agoThe RSS of AI
- uoaei 11mo agoI like this line of analogy. The next obvious step would be IRC (or microservices?) of AI (for co-reasoning) which could offer the space for specialized LLMs rather than the current approach of monoliths.
- jbgt 11mo agoOh wow conreasoning through an IRC like chat. That's a great idea. Would be cool (sci fi) for LLMs of different users to chat and discuss approaches to what the humans are talking about etc.
- exe34 11mo agoomg that's how crystal society starts and then it goes downhill! highly recommended series in this space.
- robrenaud 11mo agoThey are the LLM whisperers. In the same way Nagel knew what it was like to be a bat, Anthropic has the highest fraction of people who approximately know what it's like to be a frontier ai model.
- uoaei 11mo agoIt's surprising to me that Anthropic's CEO is the only one getting real recognition for their advances. The people around him seem to be as or more crucial for their mission.
- bluedino 11mo ago> 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 11mo agoVisit this link and click on the "Thought for 11m38s" text: https://chatgpt.com/share/693ca54b-f770-8006-904b-9f31a585180a 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.
- nrhrjrjrjtntbt 11mo agoQuietly? That is a clickbaity adjective.
- simonw 11mo agoYes, but it's also true: OpenAI have said almost nothing in public about their support for skills (there's one tweet about the Codex CLI implementation https://x.com/thsottiaux/status/1995988758886580349 https://x.com/thsottiaux/status/1995988758886580349 and that's it) while rolling out a pretty major feature - invented by their competitor - to their core 800m+ user product in the past 24 hours. I think "quietly" is fair.
- nrhrjrjrjtntbt 11mo agoFair point. Other boys cried wolf and made me scepitical.
- mkagenius 11mo agoIf anyone wants to use skills with any other model or tool like Gemini CLI etc. I had created open-skills, which lets you use skills for any other llm. Caveat: needs mac to run Bonus: it runs it locally in a container, not on cloud nor directly on mac 1. Open-Skills: https://GitHub.com/BandarLabs/open-skills https://GitHub.com/BandarLabs/open-skills
- sandspar 11mo agoTotally 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 11mo agoHuh! I had not noticed that trend at all. Here's the Google Maps article: https://laurenleek.substack.com/p/how-google-maps-quietly-allocates 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 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/ https://simonwillison.net/2025/Oct/10/claude-skills/)
- sandspar 11mo agoIt’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!)
- 11mo ago
- simonwhining 11mo ago[dead]
- Fannon 11mo agoThis is nice, but that it goes into its vendor specific .codex/ folder is a bit of a drag. I hope such things will be standardized across vendors. Now that they founded the Agentic AI Foundation (AAIF) and also contributed AGENTS.md, I would hope that skills become a logical extension of that. https://www.linuxfoundation.org/press/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation https://www.linuxfoundation.org/press/linux-foundation-annou... https://aaif.io/ https://aaif.io/
- brainless 11mo agoThe 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 https://github.com/brainless/nocodo
- cubefox 11mo ago(Minor grammar note: "OpenAI are" -- it should say "OpenAI is" -- because "OpenAI" is a name and therefore singular.)
- simonw 11mo agoApparently this is a British vs American English thing. I've decided to stay stubbornly British on this one.
- Esophagus4 11mo agoCollective 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-or-plural/ https://editorsmanual.com/articles/collective-nouns-singular...
- cubefox 11mo agoI 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 11mo agoYeah, English is… a mess. Blame it on a messy divorce a few hundred years ago :)
- cubefox 11mo agoThat 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.
- Pooge 11mo agoDoes anybody have examples of life-changing skills? I can't quite understand how they're useful, yet...
- hadlock 11mo agoGiving 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 11mo agoDo you have experience using Ghidra in such a way? I’m curious how well it actually performs on that use case.
- hadlock 11mo agoYes 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
- Veen 11mo agoSmall 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.
- jstummbillig 11mo agoIs there a fundamental difference between a skill and a tool or could I just make a terse skill and have that be used in the same way as a tool?
- Imanari 11mo agoI think a tool call can be thought of as special type of reply where it’s contents are parsed and an actual function is called. A skill is more of a dynamic context-enrichment.
- energy123 11mo agoA public warning about OpenAI's Plus chat subscription as of today. They advertise 196k tokens context length[1], but you can't submit more than ~50k tokens in one prompt. If you do, the prompt goes through, but they chop off the right-hand-side of your prompt (something like _tokens[:50000]) before calling the model. This is the same "bug" that existed 4 months ago with GPT-5.0 which they "fixed" only after some high-profile Twitter influencers made noise about it. I haven't been a subscriber for a while, but I re-subscribed recently and discovered that the "bug" is back. Anyone with a Plus sub can replicate this by generating > 50k tokens of noise then asking it "what is 1+1?". It won't answer. [1] https://help.openai.com/en/articles/11909943-gpt-52-in-chatgpt https://help.openai.com/en/articles/11909943-gpt-52-in-chatg...
- scrollop 11mo agoAnd the Xhigh version is only available via API, not chatgpt.
- wrcwill 11mo agough this is so amateurish. i swear since the release of o3 this has been happening on and off.
- hu3 11mo agoWell this explains the weird behaviour of GPT-5 often ignoring a large part of my prompt when I attatched many code/csv files despite keeping total token count under control. That is with Github Copilot inside VSCode. The fix was to just switch to Claude 3.5 and now to 4.5 in VSCode.
- Western0 11mo agoIs possible using skills in ofline models?
- simonw 11mo agoYes, provided they are good enough at long chain tool calling to run a coding agent environment and have a decent context length.
- YJfcboaDaJRDw 11mo ago[dead]
- bobse 11mo ago[dead]
- _pdp_ 11mo agoLLMs need prompts. Prompts can get very big very quickly. The so called "skills", which exist in other forms in other platforms outside of Anthropic and OpenAI, are simply a mechanism to extend the prompt dynamically. The tool (scripts) that are part of the skill are no different then simply having the tools already installed in the OS where the agent operates. The idea behind skills is sound because context management matters. However, skills are different from MCP. Skills has nothing to do with tool calling at all! You can implement your own version of skills easily and there is absolutely zero need for any kind of standard or a framework of sorts. They way to do is to register a tool / function to load and extend the base prompt and presto - you have implemented your own version of skills. In ChatBotKit AI Widget we even have our own version of that for both the server and when building client-side applications. With client-side applications the whole thing is implemented with a simple react hook that adds the necessary tools to extend the prompt dynamically. You can easily come up with your own implementation of that with 20-30 lines of code. It is not complicated. Very often people latch on some idea thinking this is the next big thing hoping that it will explode. It is not new and it wont explode! It is just part of a suite of tools that already exist in various forms. The mechanic is so simple at its core that practically makes no sense to call it a standard and there is absolutely zero need to have it for most types of applications. It does make sense for coding assistant though as they work with quite a bit of data so there it matters. But skills are not fundamentally different from *.instruction.md prompt in Copilot or AGENT.md and its variations.
- lxgr 11mo agoMany useful inventions seem blindingly obvious in hindsight. Yes, in the end skills are just another way to manage prompts and avoid cluttering the context of a model, but they happen to be one that works really well.
- _pdp_ 11mo agoIt is not an invention if it is common sense and there is plenty of previous art. How would you otherwise dynamically extend the prompt? You will have some kind of function that based on the selected preferences add more prompt to the base prompt. That is basically what this is except that Anthropic added it as a built in tool.
- lynx97 11mo ago@simonw: Any particular reason you stopped releasing "llm" regularily? I believe the last release was done in summer. Neither gpt-5.1 nor gpt-5.2 have been added. Are you about to give up on that project? Is it time to search for another one? I also have an open issue since months, which someone wrote a PR for (thanks") a few weeks ago. Are you still comitted to that project?
- simonw 11mo agoI shipped a new release yesterday - https://llm.datasette.io/en/stable/changelog.html#v0-28 https://llm.datasette.io/en/stable/changelog.html#v0-28 but yeah, the last core release before that was in August. I've been pushing out plugin releases for it though, for new models from Gemini and Anthropic and others. Honestly the main problem has been that LLM's unique selling point back in 2024 was that it was the only tool taking CLI access to LLMs seriously. In 2025 Claude Code and Codex CLI etc all came along and suddenly there's not much unique about having a CLI tool for LLMs any more! There's also a major redesign needed to the database storage and model abstraction layer in order to handle reasoning traces and more complex tool call patterns. I opened an issue about that here - it's something I'm stewing on but will take quite some work to get right: https://github.com/simonw/llm/issues/1314 https://github.com/simonw/llm/issues/1314 I've been spending more of my time focusing on other projects which make use of LLM, in particular Datasette plugins that use the asyncio Python library: https://llm.datasette.io/en/stable/python-api.html#async-models https://llm.datasette.io/en/stable/python-api.html#async-mod... I expect those to drive some core improvements pretty soon.
- rokoss21 11mo agoThis is a clever abstraction. Reminds me of how tool_use worked in earlier Claude versions - defining a schema upfront and letting the model decide when to call it. Has anyone tested how well this works with code generation in Codex CLI specifically? The latency on skill registration could matter in a typical dev workflow.
- dsiegel2275 11mo agoThis is great that Codex CLI is adding skills - but it would be far more useful if the CLI looked first in the project (the directory where I've launched codex) `.codex/skills` directory and THEN the home directory .codex dir. The same issue exists for prompts.
- retinaros 11mo agothis is really bothering me that we are building abstractions in our language to hide the fact that most of the features are prompts hardcoded in a text file.
- structuredPizza 11mo agotbh everything about the current implementation of "AI" is starting to look like hot porridge when it comes to real world products. Is the prompting workflow so convenient that it’s worth having to spend twice or thrice as much time double checking the accuracy of the inference and fixing bugs? How long until we collectively decide that to reduce the probability of errors we’re better off going back to writing our own functions, methods, classes etc. because it gives us granular control? Last but not least, we’re devolving to mainframe and terminals…
- stbenjam 11mo agoI 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.
- sorcercode 11mo agothis 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/ https://kau.sh/blog/claude-skills/
- deleted 11mo ago[deleted]
- reeeli 11mo ago[flagged]
- wskish 11mo agoSkills are basically (on-demand) man pages for other libraries or cli tools, or SOPs for other more complex processes. A beautiful, minimal abstraction.
- diwank 11mo agoGitHub Copilot now supports Agent Skills https://github.blog/changelog/2025-12-18-github-copilot-now-supports-agent-skills/ https://github.blog/changelog/2025-12-18-github-copilot-now-...