Claudeception is a skill whose whole job is to write skill files for you. You finish a piece of work, ask it to save what you learned, and it hands you back a clean, reusable file: the problem, when to use it, and the steps you actually took.
It is open source, and the download is a little further down. If you would rather not download anything, there is a paste-in version further on that does the same job.
To turn a Claude session into a reusable skill, download blader's open-source Claudeception skill, upload it into Claude, then at the end of a session say "save this as a skill". It reviews the session and, if the work was worth keeping, writes a SKILL.md you save and reuse. No terminal needed; you do the final save by hand.
What it does, and what it does not
The name sounds grander than the job. Claudeception does one narrow, genuinely useful thing: at the end of a session, it looks back over what you and Claude worked out, decides whether any of it is worth keeping, and if so writes it up as a structured skill file.
Then it stops there, in that one session. Claude is smarter next time only because you load the skill it wrote. Think of it as Claude taking notes on the thing you just solved.
Get the skill
This is blader's real file, not a copy I have written. Download it, and you have the whole thing.
The skill that reviews a finished session and writes the method up as a reusable SKILL.md. Download it, then follow the steps below to use it.
Claudeception is by blader and released under the MIT licence. Copyright (c) 2024 Claude Code. Source, full licence and the terminal install: github.com/blader/Claudeception. Full credit to blader, whose work this guide is built on.
How to use it, no terminal needed
The whole thing works by uploading the file into Claude and then just talking to it. Here is the path a beginner can follow start to finish.
- Upload the skill into Claude. In Cowork, go to Customize, Skills and upload the
claudeception.mdfile you downloaded. If you are in a normal chat instead, attach the file at the start. That is the only setup. - Do a real job with Claude. This only pays off after you have actually worked something out together: a bug that took a few tries, a format you kept correcting, a way of doing a task that finally clicked. A skill is a record of a win, so you need the win first.
- At the end, ask it to save what you learned. Say "save this as a skill", or "what did we learn?". It reviews the session and, if the work clears its bar, writes a full SKILL.md: a name, when to use it, the steps, and the traps. If nothing is worth keeping, it says so and saves nothing.
- Save the file it gives you, and reuse it. Copy the skill file it wrote into wherever you keep your skills, then upload it the next time the same kind of job comes up, or trigger it by name. From then on Claude starts from your method, not from a blank page.
Or paste this and skip the file
If you would rather not download anything, this does the same job in one paste. It is our own, so it is shorter than blader's full tool, but it needs nothing installed.
Drop it in at the end of a session and it reads the whole conversation back, works out what actually worked and what you rejected, checks the work is worth keeping, asks you a couple of questions, then writes you a real skill file and tests it before handing it over.
You are turning what we just did into a reusable skill. Do not write the skill yet. Run the four phases below in order. Do not skip a phase, do not summarise instead of doing it, do the actual work. PHASE 1, READ THE WHOLE SESSION BACK. Before you judge anything, re-read this conversation from the top and work out, for yourself: what was I actually trying to do (the core job); which steps or prompts WORKED, the ones I kept, praised or built on; which ones I REJECTED or corrected, so they stay out of the skill; the final version we settled on; which of my answers along the way made the output better; and any "watch out for" moment we hit and got past. Keep this as a short private note, do not show it to me yet. A skill built from the whole session beats one built from the last message. PHASE 2, CHECK IT IS WORTH SAVING, THEN ASK ME. First, using that note, decide honestly whether this clears the bar. A skill is worth keeping only if it is reusable (it will come up again), non-trivial (it took some working out), specific (one clear job, not a vague theme), and verified (the method actually worked in this session). If it fails any of the four, tell me which one and stop. Do not save a skill just because I asked. If it clears the bar, ask me up to three short questions and wait for my answers. Ask only what you could not settle from the session yourself, the implicit rules in my head that I did not say out loud: 1. What job should this skill do, in one line? 2. What would I actually type when I want it? Give me the real phrases. 3. What is the one thing that should never happen when this skill runs? And did any step only work because of something specific to today, that should be left out? PHASE 3, WRITE THE SKILL as a real SKILL.md, in this exact shape: --- name: [Short kebab-case name that says what the whole skill does, the way a file is named. If today's win was getting a home-cooking newsletter's images to export at the right size every time, resize-newsletter-images beats a vague name like images. Lowercase, hyphens between words, one clear job.] description: [One line naming what it does, then the exact phrases from my answer above that I would type to reach for it. This line is the only thing that makes a skill fire in Claude, there is no separate trigger field, so put my real words in. For the newsletter example: "Export newsletter images at the sizes the platform wants. Use when I say the images look wrong, resize these for the newsletter, or fix the image sizes." Use the phrases I actually say, not tidier ones I never would.] --- ## When to use this [The situation in plain words, the moment this comes up again. For the newsletter example: an image looks stretched or gets rejected on upload, and it needs sizing before it will sit right in the email. Name the trigger moment, not a general theme.] ## What it needs from me [What you have to have in hand before the steps can run, and where it comes from. For the newsletter example: the raw image file, and the platform whose sizes we are matching. If one of these is missing when the skill runs, say which and ask for it rather than guessing.] ## Steps [The method we actually used today, in order, one step per line, and only the steps that worked. For the newsletter example: 1. Crop to the platform's ratio before anything else. 2. Export at the width the template expects. 3. Preview one email on mobile to confirm it is not blurry. If a step needs a decision from me, such as which ratio, say so and stop for it rather than picking one.] ## What you hand back [Exactly what the finished job looks like, so the shape is fixed. For the newsletter example: the resized files at the named width, plus one line confirming the mobile preview was clean. Be specific about the format, do not leave it to chance.] ## Examples Give two, so the skill has something to copy. The first is a normal run: a realistic thing I would say, and what the skill should produce for it. The second is an edge case, the awkward version that broke or nearly broke today: what I would say, and how the skill handles it instead of falling over. If we did not hit an edge case, use the closest tricky one the job will meet. ## Watch out for [The traps we actually hit and how we got past them, plus the never and always rules from my Phase 2 answers, so future-me does not fall in again. For the newsletter example: exporting before cropping bakes in the wrong ratio and the whole run has to be redone, so crop first every time. Only list traps that really came up in this session, invent none.] PHASE 4, TEST IT ON A FAKE INPUT BEFORE HANDING IT OVER. Make up one realistic request a person would send, matching the job we just did. Show whether the description would catch it, then run the steps against it and produce the output. Check three things: does it match the quality of what we built together; does it handle the edge case we surfaced; does it obey the never and always rules. If it would not fire, or a step breaks, or it misses a rule, fix the skill before you show me. Tell me in one line what you tested. HARD RULES, keep these no matter what: - Never hand me a skill shorter than the full shape above. A one-line skill is a sticky note, not a skill. - Never skip the Examples. Two minimum, and one of them is the edge case. - Never skip Phase 4. A skill you have not tested is a guess. - Never invent a step, a rule or an example we did not actually do or hit. If the session did not give you something a section needs, say so and leave it out, do not fill it with a plausible guess. - If I push back on the skill, treat that as new Phase 1 information and rewrite it. Do not argue for the version I rejected. FINALLY, give me the finished SKILL.md in a code block so I can copy it cleanly, and tell me to save it wherever I keep my skills and load it next time the job comes up.
What you get back, an example
Say you and Claude spent a session getting a messy CSV of sales rows to import cleanly, and the fix was reordering the date column and stripping the blank rows first. Ask it to save that, and it hands you back something like this. It is only an example, there to show the full shape before you make your own.
--- name: clean-csv-before-import description: Fix a CSV that will not import. Use when I say "this CSV will not import", "clean this spreadsheet", or "sort the columns before upload". --- ## When to use this An import keeps failing or drops rows, and the file needs sorting out before it will load. ## What it needs from me The CSV file, and the tool it has to import into (so we know the date format that tool expects). ## Steps 1. Move the date column into the format the target expects (YYYY-MM-DD). 2. Strip the fully blank rows. 3. Re-run the import and confirm the row count matches. ## What you hand back The cleaned CSV, plus one line confirming the row count going in matches the count that landed. ## Examples ### Normal run Input: "this sales CSV keeps failing on upload, sort it out." Output: date column rewritten to YYYY-MM-DD, blank rows removed, import re-run, "412 rows in, 412 rows landed." ### Edge case Input: a file with blank rows in the middle, not just at the end. Output: flag that mid-file blanks read as end-of-file and cut the import short, remove those first, then run. Confirm the full count. ## Watch out for Blank rows in the middle read as end-of-file and cut the import short. Remove them before anything else. Never guess the date format, ask which tool the file is going into if I have not said.
Notice the phrases you would actually type live in the description. That line is what makes Claude reach for the skill later, so it is the one worth getting right. For more on building skills, see how to build a multi-step skill.
The honest bits
- The upload version does the thinking, and leaves you the housekeeping. Uploaded into Claude, the skill will review a session and draft a clean skill file. What it will not do is the automatic tidying: scanning your existing skills so you do not save a duplicate, filing the new skill into the right folder itself, and nudging you every session.
- The housekeeping needs Claude Code in a terminal. If you want the full automatic version, blader's repo has a one-command install. Without it, you save the file by hand, which takes seconds.
- Most sessions should not become a skill. The skill's own bar is four words: reusable, non-trivial, specific, verified. If it was a one-off, or obvious from the start, saving it grows a list you stop trusting. A short list of skills you run beats a long one you scroll past. It is built to refuse, and that is a feature.
- Read the skill before you rely on it. It writes the file from what happened in the session, so a wrong turn can end up in there. Skim the steps once. It is a note to your future self, and it is worth the thirty seconds to make sure it is a good one.
If a saved skill does not fire next time
The most common snag is a skill that just sits there. You start a similar job and Claude solves it from scratch instead of reaching for the file. Almost always that is the description line: Claude matches your words against it, so if you phrased the request differently this time, nothing matches.
Open the skill file, add the words you actually just typed to the description, and it will catch next time. You can always trigger it by name meanwhile, which never depends on the wording.
One step further, when you are ready
Saving a method is the first habit. The next, for later, is having Claude update a skill each time you correct it, so the same note never gets made twice.
An independent take worth knowing about is claude-reflect-system, built around "correct once, never again": it watches for the moments you fix Claude's work and folds that fix back into the skill. You do not need it to start. It is the direction this goes once a skill or two is earning its keep.
claude-reflect-system is an open-source (MIT) project: github.com/haddock-development/claude-reflect-system.
Do it on your very next win
It comes down to one habit. Download blader's skill above, upload it once, and the next time you and Claude finally crack something, do not just close the tab. Say "save this as a skill", let it write the file, and save it.
Then try triggering it on the next similar job and watch it pick up where you left off. A tool you keep sharpening beats one you keep re-explaining.
Questions people ask
How to turn a chat into a skill in Claude?
At the end of a session, with blader's Claudeception skill uploaded, say "save this as a skill", or paste the prompt on this page instead. It reviews what worked, checks the work is worth keeping, and writes a SKILL.md you save and reuse.
Can Claude Chat create skills?
Yes. In a normal chat, attach the Claudeception file or paste the prompt on this page at the end of a session, and Claude writes the skill file for you to save. Only the automatic housekeeping, such as duplicate checks, needs Claude Code in a terminal.
Does it make Claude work on its own or get smarter?
No. It is not an autopilot and does not keep running. At the end of a session it writes up what you worked out as a reusable skill file, then stops. Claude only reuses it if you load that skill again later.
Should every session become a skill?
No. Only when the work was reusable, non-trivial, specific, and verified. Most sessions do not clear that bar, and the skill will save nothing rather than clutter your list.