ChatGPT’s New Mac App Has Work and Codex. The Best Part Is a Six-Line File.
Skills are the only part of the new system you can own, edit and keep.
ChatGPT’s New Mac App Has Work and Codex. The Best Part Is a Six-Line File.
Skills are the only part of the new system you can own, edit and keep.
On 9 July 2026, OpenAI renamed the app on your Mac.

Image created by Author
OpenAI now calls the previous desktop app ChatGPT Classic. The new app, called ChatGPT, is a different application that combines Chat, Work and Codex, and it may install beside the old one rather than replacing it. No migration is required at launch, which is partly why the change is easy to miss.
Nearly all the coverage has gone to Work, the agent that produces documents and spreadsheets and presentations while you do something else. It demos beautifully. It is also not the most useful thing that shipped, and the most useful thing has barely been written about, because a text file does not demo at all.
I checked all of this against OpenAI’s own documentation rather than the launch posts. The conclusion I came to surprised me, so I want to put it near the top rather than make you wait for it.
A skill is a folder with one file in it
my-skill/
SKILL.md Required: instructions + metadata
scripts/ Optional: executable code
references/ Optional: documentation
assets/ Optional: templates, resources
The documentation requires two things of SKILL.md: a name and a description. Nothing else is mandatory, which means a working skill fits in six lines.
---
name: skill-name
description: Explain exactly when this skill should and should not trigger.
---
Skill instructions for the agent to follow.
Skills build on the open agent skills standard, so this is not a proprietary format that traps you. For most people, the location that matters is $HOME/.agents/skills.
Why does a six-line file beat the flagship agent? Look at what OpenAI did to its own products in nine months. The Mac app got renamed without asking you. The App Directory was replaced by a Plugin Directory. Atlas, the browser OpenAI launched in October and pitched as the future of AI browsing, stops working on 9 August 2026, with its features folded into the desktop app and a Chrome extension. The voice experience is being replaced by GPT-Live, a new generation of voice models announced the same week.
Every one of those is somebody else’s software, moving on somebody else’s schedule. A skill is a text file on your machine, on an open standard, encoding your judgement about how your work gets done.
What this skill would flag in this article
The easiest way to understand the limits of this skill is to apply its checklist to the article you are reading.
Three checks come back clean. The draft contains no em dashes, no sentences beginning with And, But or So, and none of the filler openings listed in the skill.
Other checks are less straightforward.
One is a fair hit. The pricing section originally ran three clipped sentences back to back, which is exactly the pattern the skill exists to catch, and I cut it.
Three more are not faults at all. “Chat, Work and Codex” matches the three-item pattern, yet it is not rhythm, it is a list of the three surfaces in the app, and there happen to be three of them. “It demos beautifully” gets caught for being short and emphatic, though it is a complete sentence with a subject and a verb, and the brevity is deliberate. ~/.agents gets caught because a full stop sits in the middle of a file path, and a pattern cannot tell a path from the end of a sentence.
Sit with that for a moment, because it is the useful part. The checklist can find the pattern. It cannot tell whether the pattern is a mistake.
That gap is not a defect to engineer away. It is the boundary, and the boundary is the point. A version that tried to decide for me would be worse than useless, because it would quietly “fix” the deliberate choices along with the lazy ones, and I would never see which was which. What a skill like this removes is the repetitive inspection work. The judgement stays with you.
Both halves of the file earn their place, and they do different jobs. The description decides whether the thing ever loads. The instructions decide what happens once it has. Get the description wrong and your careful instructions never run. Get the instructions wrong and it loads reliably and does something you did not want.
The mechanism that explains most skill failures
The agent does not read your skills. It reads their names, their descriptions and their file paths, and it loads the full SKILL.md only after it has already decided to use one.
To stop that list crowding out your actual prompt, OpenAI caps it at 2% of the model’s context window, or 8,000 characters where the context window is unknown. With many skills installed, descriptions get shortened first. With enough of them, some skills drop off the list entirely.
Sit with the consequence for a second, because it is not intuitive. Your instructions have no influence on whether your skill gets chosen. Only the name and the description do. A magnificent two-thousand-word SKILL.md can sit there forever, never running, because the model never saw past its description.
Which is why the most common failure is a description that says what the skill does rather than when to use it. “Formats documents nicely” tells the model nothing about when to fire. “Use when converting a finished manuscript into a print-ready interior. Do not use for web content or drafts” tells it exactly. Front-load your trigger words so the skill still matches after the description gets trimmed.
The skill I would write first
Paste this into ~/.agents/skills/human-writing-check/SKILL.md.
---
name: human-writing-check
description: Use when reviewing draft prose before publishing to catch
AI-sounding patterns. Triggers on "check this draft", "does this sound
like me", "human check". Do not use for code, or for outlines.
---
Read the draft supplied by the user. Do not rewrite it.
Report every instance of the following, quoting the line:
1. Em dashes.
2. Sentences opening with And, But or So.
3. Sentence fragments used as stylistic emphasis.
4. Three-item lists used for rhythm rather than for content.
5. Filler openers: "In today's world", "It's important to note",
"Let's dive in", "At the end of the day".
6. Any sentence that could be deleted without losing meaning.
Output a numbered list. For each: the line, the category, one line
of reason.
End with a single verdict line: PASS or NEEDS WORK.
Do not suggest replacements unless explicitly asked.
Count the words that go on the task versus the words that go on prohibitions. Most of that file is rules about what the model must not do, because a model’s default is to be helpful, and helpful is often not what you need. A good skill is largely a list of the ways the default would let you down.
The last line matters more than it looks. A skill that reports and a skill that acts are different skills, and merging them is how you approve a change you never read, because the fix arrived alongside the report and the report looked fine.
For anything destructive or expensive, add an agents/openai.yaml with allow_implicit_invocation: false. The skill then only runs when you call it with $skill-name. I would leave implicit invocation disabled for anything that writes to disk.
What this costs you, which nobody mentions
Work is included with your plan rather than sold separately, so the thing worth understanding is how it gets metered.
Work draws on an agentic usage allowance, and consumption scales with the size of the task, its complexity and the model you chose. A task you describe in one sentence can run for hours and consume your allowance accordingly.
Now the sharp edge: Work, Codex, ChatGPT for Excel and Workspace Agents all draw from the same pool. Spend your morning running Codex against a folder and you have quietly reduced what is left for Work that afternoon. The shared pool is not clearly explained at the point where you start a task, though you may see a usage page or a limit banner as you approach the ceiling. OpenAI’s pricing documentation notes its consumption examples are based on coding tasks and that Work tasks may differ, which tells you how much weight those examples carry.
Scope the task before running it. “Analyse this CSV and tell me the three drivers of the drop” is cheap. “Analyse this CSV” is an open invitation.
One model note, because it catches people. GPT-5.6 is three models. Sol is the flagship, on Plus and above. Luna is the fast one. Terra is what Free and Go users get, and only inside Work and Codex. In ordinary chat, Free and Go remain on the older default. A Go subscriber following a guide that says “use GPT-5.6” in chat will not find it, because it is not there.
You will also see a figure repeated everywhere: that Sol is 54% more token-efficient on agentic coding. Sam Altman said that to CNBC, as reported by Axios. It is a company claim in an interview, specific to agentic coding, and I could not find it in OpenAI’s published release page or system card. Treat it as directional.
Two features that do not work where I am
If you are in the UK, the EEA or Switzerland, two heavily promoted features are unavailable, and I have not seen it mentioned in any launch coverage.
Record and Replay, which watches you work and drafts a skill from the demonstration, is macOS only, needs Computer Use enabled, and its initial availability excludes those regions. It is the route most guides call the fastest way to your first skill. Many of us cannot take it.
ChatGPT Sites sits in the same position: a public beta on paid plans, excluding Free and Go, and unavailable in those regions at launch.
If you are excluded,
$skill-creatorand writing the file by hand are not a workaround. They are the method.
What I would do this week
Open your Applications folder and find out which app you actually have. Seeing ChatGPT Classic means you have already been migrated.
Find your plan’s included allowance on the Codex pricing page and write the number down. Check it again in a week. Measuring your own usage will teach you more than any published estimate.
Then write one skill, under twenty lines, with a description that says when to trigger rather than what it does. Run it three times against work you know well, and add a rule each time it disappoints you.
Most of this article will be obsolete within eighteen months. The interface will move, the models will be renamed again, and Work will absorb something or be absorbed by something.
Your skill will still be there. It is a text file, on your machine, on an open standard, saying how your work should be done. Everything else in that app belongs to somebody else.
I turned this setup into a 126-page practical guide for Mac users, including twelve complete skills, region-specific availability notes and a seven-day implementation plan: ChatGPT on Your Mac.
This is an independent article. It is not affiliated with, authorised by, or endorsed by OpenAI. Everything above was verified on 15 July 2026.
메타데이터
- post_id
- 7a99b961a2bc
- slug
- chatgpts-new-mac-app-has-work-and-codex-the-best-part-is-a-six-line-file-7a99b961a2bc
- url
- https://medium.com/miles-metrics/chatgpts-new-mac-app-has-work-and-codex-the-best-part-is-a-six-line-file-7a99b961a2bc
- canonical_url
- https://medium.com/miles-metrics/chatgpts-new-mac-app-has-work-and-codex-the-best-part-is-a-six-line-file-7a99b961a2bc
- author_url
- https://medium.com/@Anilkumarbakkashetti
- status
- ok
- fetched_at
- 2026-07-18 08:45:11