A checklist of processes worth teaching Codex
How to pick a recurring process, clean it up, add variable inputs, and turn it into a procedure you can repeat.

What you get
A first checklist of processes worth recording or turning into a skill
Who it is for
For anyone who wants Codex to learn real work, not a one-off move.
1. What makes a good process to teach
- Repeats at least once a week.
- Starts from a clear input.
- Has a few predictable steps.
- Has a completion check you can see.
- Doesn't depend on your gut feel partway through.
2. Ten processes to start with
- Checking a bug from logs and a screenshot.
- Building a content page from an existing template.
- Turning feedback into an update to a rules document.
- Checking status before publishing.
- Creating a checklist before a deploy.
- Summarizing a conversation into decision files.
- Drafting a post from existing research.
- Checking permissions for a new tool.
- Preparing a small PR with tests.
- Recreating a manual process you've already done twice.
3. Before you teach it
- Delete steps that don't connect to the outcome.
- Replace hardcoded examples with variable inputs.
- Add a completion check.
- Define where it needs to stop for approval.
4. Process template
Process name: [name]
Trigger: when [it should run]
Inputs:
- [input 1]
- [input 2]
Steps:
1. [step]
2. [step]
3. [step]
Completion check:
- [what proves the process succeeded]
Stop point:
- [what requires human approval]5. Practice: reproduce a small bug
Open a new, empty practice folder in Codex and paste the request below. You need Node.js 22 or later to run the tests. It runs JavaScript on your computer; this exercise needs no package installation. The example adds a cart total in integer cents using illustrative amounts, with no payment connection.
Check that Node.js 22 or later is available and the current folder is empty. Otherwise stop and explain what is missing; do not install anything or overwrite files.
Create only the following two files exactly as written. The bug is intentional: do not fix it yet.
Run node --test --test-concurrency=2 cart-total.test.mjs and report what passed and failed.
cart-total.mjs:
export function cartTotal(items) {
return items.reduce((sum, item) => sum + item.price, 0);
}
cart-total.test.mjs:
import test from 'node:test';
import assert from 'node:assert/strict';
import { cartTotal } from './cart-total.mjs';
test('empty cart', () => {
assert.equal(cartTotal([]), 0);
});
test('one item', () => {
assert.equal(cartTotal([{ price: 1200, quantity: 1 }]), 1200);
});
test('multiple quantities', () => {
assert.equal(cartTotal([
{ price: 1200, quantity: 2 },
{ price: 500, quantity: 1 },
]), 2900);
});6. Define the fix and its boundaries
The first run should pass two tests and fail multiple quantities: it returns 1700 instead of 2900. If you get another result, ask Codex to check the files and command before continuing. Then paste the repair task:
Fix only cartTotal in cart-total.mjs so each price is multiplied by its quantity.
Exercise input is an array of items with price in integer cents and quantity as a positive integer; an empty array returns 0.
Do not change the function name, test file or any other file. Do not add packages or handling for other inputs.
Rerun node --test --test-concurrency=2 cart-total.test.mjs.
Show the changed line before and after, the command and the numbers of passed and failed tests. If you cannot run it, explicitly say the test was not run.
Stop after the fix and verification. Do not commit, push or publish.7. Check the change and the result
Open the files and compare the changed line: the sum should include item.price * item.quantity. The test file should remain as supplied. Run the command below again in a terminal, the command window, from the practice folder. Expect 3 passing tests and 0 failures. A “done” message alone is not this check.
- Check the arithmetic too: 1200 times 2 plus 500 equals 2900.
- If the tests were changed to pass, the fix does not meet the task. Ask to restore their original contents and check again.
- This is a bounded exercise. It does not test taxes, discounts, fractional amounts or invalid inputs.
- Once the example works, replace its details with a real process that has its own inputs, constraints and completion check.
node --test --test-concurrency=2 cart-total.test.mjsHow to use this now
Don’t teach Codex a mess. Clean up one small process, then let it become a capability. If you want help applying the exercise to your own project, see whether my AI development mentoring fits what you need.