Tests for existing code rarely get written because listing the cases is tedious. This skill starts there: it lists every behaviour your function promises, including the edge cases people forget — empty input, nulls, boundaries and errors. It then writes one focused, clearly named test per behaviour in your framework, mocking only network, time and randomness so the suite stays deterministic. When a behaviour looks like a bug, it says so instead of writing a test that locks the bug in. You get a file you can drop into your project and run straight away.
Unit test writer — example input and the first lines it returns. Works in ChatGPT, Claude and Gemini.
2 Paste it into a new chatChatGPT, Claude, Gemini or Copilot.
3 Send your inputSend a function.
The skill — paste this into your AI assistant
# Skill: Unit test writer
You are running the "Unit test writer" skill for me. I work as: Software engineer. What I need from you: a ready-to-run test file covering the happy path, edge cases and failures for my function.
## When I send you a function, the language and test framework I use (e.g. Jest, pytest, JUnit)
1. List the behaviours the function promises, including edge cases (empty, null, boundaries, errors).
2. Write one focused test per behaviour with a descriptive name.
3. Mock only external calls (network, time, randomness).
4. Note any behaviour that looks like a bug rather than writing a test that locks it in.
## Reply in this format
- Behaviours covered (checklist)
- Test file (one code block)
- Suspected bugs found while testing
## Rules
- Use the framework's idioms and the project's import style if shown.
- Tests must be deterministic: fix dates and seeds.
- Use only the facts I give you; mark anything you had to assume with [ASSUMPTION].
- If something essential is missing, ask me one short question, then continue.
- No preamble or filler: start with the result.
Confirm you're ready in one line, then wait for me to send a function, the language and test framework I use (e.g. Jest, pytest, JUnit).
Then sendA function, the language and test framework you use (e.g. Jest, pytest, JUnit). For example: Python: def slugify(title): return title.lower().replace(' ', '-') # pytest
ChatGPT
Fastest: paste the skill as your first message in a new chat, then send your input.
To keep it: open a Project, choose Instructions (or Settings → Personalization → Custom instructions for every chat) and paste it there.
To share it with a team: create a custom GPT and paste the skill into its Instructions.
In the Codex app: copy the skill's folder into ~/.codex/skills/ (or Customize → Skills → Add → Create skill).
Claude
Fastest: paste the skill as your first message in a new chat, then send your input.
To keep it: create a Project, open Project instructions and paste the skill.
As a Claude Skill: download the skill's ZIP, then in Claude open Settings → Skills → Add → Upload skill and choose the file.
Gemini
Fastest: paste the skill as your first message in a new chat, then send your input.
To keep it: open Gems → New Gem, paste the skill into Instructions and save.
Microsoft Copilot
Fastest: paste the skill as your first message, then send your input.
In Microsoft 365 Copilot, save it as a prompt or paste it into an agent's instructions to reuse it.
Any other assistant
Paste the skill as the system prompt or first message in any chat assistant (Perplexity, Meta AI, DeepSeek, Mistral, local models).
Coding agents that read the Agent Skills format (SKILL.md) can load the downloaded file from their skills folder.
Install it permanently
Upload it to Claude, add it to ChatGPT's Codex app, clone it into Claude Code, or download the SKILL.md for any agent. Full guide with screenshots →
Download the ZIP and upload it in Claude. Claude then uses the skill on its own whenever a request matches.
Claude Code: save it as ~/.claude/skills/unit-test-writer/SKILL.md.
Claude apps: use the Claude app tab — it has a ready-made ZIP.
Other agents: place the folder wherever your tool loads Agent Skills from.
Repositoryscienceofapps.com/skills/ai-skills.git · all 200 skills, one folder each, plain git over HTTPS
What it does
The steps it follows
List the behaviours the function promises, including edge cases (empty, null, boundaries, errors).
Write one focused test per behaviour with a descriptive name.
Mock only external calls (network, time, randomness).
Note any behaviour that looks like a bug rather than writing a test that locks it in.
What you get back
The reply format
Behaviours covered (checklist)
Test file (one code block)
Suspected bugs found while testing
Rules it never breaks
Use the framework's idioms and the project's import style if shown.
Tests must be deterministic: fix dates and seeds.
Uses only the facts you give it and marks assumptions.
FAQs
Questions about Unit test writer
What does the Unit test writer skill do?
Writing tests for existing functions is tedious, so edge cases go untested until they break in production. The skill fixes that: a ready-to-run test file covering the happy path, edge cases and failures for your function.
How do I install Unit test writer in ChatGPT, Claude or Gemini?
Copy the skill and paste it as the first message of a new chat, then send your input. To keep it, paste it into a ChatGPT Project or custom GPT, a Claude Project or a Gemini Gem, or upload the SKILL.md file as a Claude Skill.
What do I send Unit test writer after installing it?
Send a function, the language and test framework you use (e.g. Jest, pytest, JUnit). If something essential is missing, the skill asks you one short question and then continues.
Is the Unit test writer skill free?
Yes. It's free to copy, use and adapt, with no sign-up, and works in the free versions of ChatGPT, Claude, Gemini and Copilot.
60 research-backed principles in 6 categories — what each one means, why it works on the human brain and how to use it on your own screens. Written by Sushant Singh, founder of Science of Apps, who has scaled consumer apps to lacs of users and spent 10+ years leading product across startups and digital businesses in the US, EU & India.
Free. No card, no paywall — just your email.
Free PDF · 90 pages · 2 editions
100+ Subscription Paywalls, decoded
110 real paywalls from top apps, taken apart, rated out of 5 and decoded with the Laws of UX — plus the frameworks, copy and checklists to ship your own. By Sushant Singh, founder of Science of Apps.
110 paywalls rated
34 Laws of UX
12 frameworks
Which paywall scored 4.8 out of 5, and which scored 2.6? It’s all inside.