News for hackers. Stuff that matters.
Re:OpenAI are quietly adopting skills, now available in Chat... by simonw on Friday December 12, 2025 @07:48PM (#46250850)
It'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/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.
Re:OpenAI are quietly adopting skills, now available in Chat... by throwaway314155 on Friday December 12, 2025 @08:15PM (#46251022)
Do skills get access to the current context or are they a blank slate?
Re:OpenAI are quietly adopting skills, now available in Chat... by simonw on Friday December 12, 2025 @08:18PM (#46251034)
They execute within the current context - it's more that the content of the skill gets added to that context when it is needed.
Re:OpenAI are quietly adopting skills, now available in Chat... by behnamoh on Friday December 12, 2025 @07:55PM (#46250894)
why did this simple idea take so long to become available? I remember even in llama 2 days I was doing this stuff, and that model didn't even function call.
Re:OpenAI are quietly adopting skills, now available in Chat... by simonw on Friday December 12, 2025 @08:01PM (#46250935)
Skills only work if you have a full blown code execution environment with a model that can run ls and cat and execute scripts and suchlike.

The models are really good at driving those environments now which makes skills the right idea at the right time.

Re:OpenAI are quietly adopting skills, now available in Chat... by jstummbillig on Saturday December 13, 2025 @03:23AM (#46253036)
Why do you need code execution envs? Could the skill not just be a function over a business process, do a then b then c?
Re:OpenAI are quietly adopting skills, now available in Chat... by steilpass on Saturday December 13, 2025 @05:40AM (#46253614)
Turns out that basic shell commands are a really powerful for context management. And you get tools which run in shells for free.

But yes. Other agent platforms will adopt this pattern.

Re:OpenAI are quietly adopting skills, now available in Chat... by true2octave on Saturday December 13, 2025 @07:30AM (#46254091)
I prefer to provide CLIs to my agent

I find it powerful how it can leverage and self-discover the best way to use a CLI and its parameters to achieve its goals

It feels more powerful than providing pre-defined set functions as MCP that will have less flexibility as a CLI

Re:OpenAI are quietly adopting skills, now available in Chat... by Jimmc414 on Saturday December 13, 2025 @04:02AM (#46253183)
I was fairly certain this was incorrect, but I decided to look it up before I responded. I'm glad I did. Simon is correct.

"Skills require the Code Execution Tool beta, which provides the secure environment they need to run."

https://claude.com/blog/skills

Re:OpenAI are quietly adopting skills, now available in Chat... by NiloCK on Saturday December 13, 2025 @02:19AM (#46252743)
I still don't really understand `skills` as ... anything? You said yourself that you've been doing this since llama 2 days - what do you mean by "become available"?

It is useful in a user-education sense to communicate that it's good to actively document useful procedures like this, and it is likely a performance / utilization boost that the models are tuned or prompt-steered toward discovering this stuff in a conventional location.

But honestly reading about skills mostly feels like reading:

> # LLM provider has adopted a new paradigm: prompts

> What's a prompt?

> You tell the LLM what you'd like to do, and it tries to do it. OR, you could ask the LLM a question and it will answer to the best of its ability.

Obviously I'm missing something.

Re:OpenAI are quietly adopting skills, now available in Chat... by baq on Saturday December 13, 2025 @04:05AM (#46253196)
It’s so simple there isn’t really more to understand. There’s a markdown doc with a summary/abstract section and a full manual section. Summary is always added to the context so the model is aware that there’s something potentially useful stored here and can look up details when it decides there moment is right. IOW it’s a context length management tool which every advanced LLM user had a version of (mine was prompt pieces for special occasions in Apple notes.)
Re:OpenAI are quietly adopting skills, now available in Chat... by leetrout on Friday December 12, 2025 @07:56PM (#46250906)
Have you used AWS bedrock? I assume these get pretty affordable with prompt caching...
Re:OpenAI are quietly adopting skills, now available in Chat... by kswzzl on Friday December 12, 2025 @09:30PM (#46251451)
> 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.

Maybe I still don't understand the mechanics - this happens "on startup", every time a new conversation starts? Models go through the trouble of doing ls/cat/extraction of descriptions to bring into context? If so it's happening lightning fast and I somehow don't notice.

Why not just include those descriptions within some level of system prompt?

Re:OpenAI are quietly adopting skills, now available in Chat... by simonw on Friday December 12, 2025 @09:36PM (#46251485)
Yes, it happens on startup of a fresh Claude Code / Codex CLI session. They effectively get pasted into the system prompt.

Reading a few dozen files takes on the order of a few ms. They add enough tokens per skill to fit the metadata description, so probably less than 100 for each skill.

Re:OpenAI are quietly adopting skills, now available in Chat... by raybb on Friday December 12, 2025 @11:21PM (#46251954)
So when it says:

> The body can contain any Markdown; it is not injected into context.

It just means it's not injected into the context until the skill is used or it's never injected into the context?

https://github.com/openai/codex/blob/main/docs/skills.md

Re:OpenAI are quietly adopting skills, now available in Chat... by simonw on Friday December 12, 2025 @11:24PM (#46251972)
Yeah, that means that the body of that file will not be injected into the context on startup.

I had thought that once the skill is selected the whole file would be read, but it looks like that's not the case: https://github.com/openai/codex/blob/ad7b9d63c326d5c92049abd...

  1) After deciding to use a skill, open its `SKILL.md`. Read only enough to follow the workflow.
So you could have a skill file that's thousands of lines long but if the first part of the file provides an outline Codex may stop reading at that point. Maybe you could have a skill that says "see migrations section further down if you need to alter the database table schema" or similar.
Re:OpenAI are quietly adopting skills, now available in Chat... by wahnfrieden on Saturday December 13, 2025 @12:20AM (#46252225)
Knowing Codex, I wonder if it might just search for text in the skill file and read around matches, instead of always reading a bit from the top first.
Re:OpenAI are quietly adopting skills, now available in Chat... by debugnik on Saturday December 13, 2025 @04:13AM (#46253230)
[delayed]
Re:OpenAI are quietly adopting skills, now available in Chat... by true2octave on Saturday December 13, 2025 @07:31AM (#46254100)
Depends the agent, they can read in chunks (i.e.: 500 lines at a time)
Re:OpenAI are quietly adopting skills, now available in Chat... by kridsdale1 on Saturday December 13, 2025 @12:01AM (#46252138)
So it’s a header file. In English.
Re:OpenAI are quietly adopting skills, now available in Chat... by spike021 on Saturday December 13, 2025 @12:27AM (#46252260)
Apologies for not reading all of your blogs on this, but a follow-up question. Are models still prone to reading these and disregarding them even if they should be used for a task?

Reason I ask is because a while back I had similar sections in my CLAUDE.md and it would either acknowledge and not use or just ignore them sometimes. I'm assuming that's more of an issue of too much context and now skill-level files like this will reduce that effect?

Re:OpenAI are quietly adopting skills, now available in Chat... by jrecyclebin on Saturday December 13, 2025 @12:48AM (#46252355)
Skill descriptions get dumped in your system prompt - just like MCP tool definitions and agent descriptions before them. The more you have, the more the LLM will be unable to focus on any one piece of it. You don't want a bunch of irrelevant junk in there every time you prompt it.

Skills are nice because they offload all the detailed prompts to files that the LLM can ask for. It's getting even better with Anthropic's recent switchboard operator (tool search tool) that doesn't clutter the system prompt but tries to cut the tool list down to those the LLM will need.

Re:OpenAI are quietly adopting skills, now available in Chat... by ithkuil on Saturday December 13, 2025 @05:32AM (#46253581)
Can I organize skills hierarchically? If when many skills are defined, Claude Code loads all definitions into the prompt, potentially diluting its ability to identify relevant skills, I'd like a system where only broad skill group summaries load initially, with detailed descriptions loaded on-demand when Claude detects a matching skill group might be useful.
Re:OpenAI are quietly adopting skills, now available in Chat... by simonw on Saturday December 13, 2025 @08:06AM (#46254264)
There's a mechanism for that built into skills already: a skill folder can also include additional reference markdown files, and the skill can tell the coding agent to selectively read those extra files only when that information is needed on top of the skill.

There's an instruction about that in the Codex CLI skills prompt: https://simonwillison.net/2025/Dec/13/openai-codex-cli/

  If SKILL.md points to extra folders such as references/, load only the specific files needed for the request; don't bulk-load everything.
Re:OpenAI are quietly adopting skills, now available in Chat... by ithkuil on Monday December 15, 2025 @06:23AM (#46273042)
yes but those are not quite new skills right?

can those markdown in the references also in turn tell the model to lazily load more references only if the model deems they are useful?

Re:OpenAI are quietly adopting skills, now available in Chat... by simonw on Monday December 15, 2025 @08:31AM (#46274285)
Yes, using regular English prompting:

  If you need to write tests that mock
  an HTTP endpoint, also go ahead and
  read the pytest-mock-httpx.md file
Re:OpenAI are quietly adopting skills, now available in Chat... by greymalik on Saturday December 13, 2025 @08:43AM (#46254456)
> Anthropic's recent switchboard operator

I don’t know what this is and Google isn’t finding anything. Can you clarify?

Re:OpenAI are quietly adopting skills, now available in Chat... by Maxious on Saturday December 13, 2025 @08:55AM (#46254516)