Static reading edition · s03-01
Choose the right job for a skill
Decide when a reusable workflow belongs in a skill and define an outcome that can be checked.
Understand the approach
A skill packages a repeatable way to handle a recognizable task. Its value comes from making a good process available when needed, rather than repeatedly pasting the same instructions into every conversation. Start with the job you want done: review a README for missing setup information, turn release notes into a user announcement, or reconcile a small data export. A skill does not supply missing credentials, create a service integration, or establish that the process itself is sound.
Separate three responsibilities before authoring. The task prompt identifies today's input and result. AGENTS.md describes stable working agreements for a project. A skill describes a reusable procedure with its own trigger, required inputs and output. A rule such as preserve existing changes usually belongs in project instructions; a procedure for comparing a README against the repository's actual run commands is a plausible skill. Keep facts that change, such as the latest command names, in their canonical project files and instruct the skill to read them.
The practice workflow is readme-evidence-review. It should examine a specified README and produce a table of missing information with evidence and suggested additions. It must distinguish an absent instruction from an instruction that exists but has not been tested. That difference matters: a confident guide can still contain a broken command. Start with instruction-only behavior. The complete practice package then adds a limited deterministic script because comparing declared command names benefits from exact repeatable checks. It still does not execute the application, install anything, or prove host invocation.
Start with an observable before/after rather than another proposed prompt. The supplied preparer builds a new scratch project containing the complete skill plus a broken README and package.json. Running its helper produces UNKNOWN_SCRIPT at line 4 and missing verification guidance. Correct the copied README to document the real dev/test scripts, then the same helper should return no findings. This gives you a reusable evidence contract and a contrasting negative input before investigating actual Codex selection. The preparer refuses existing destinations and writes no personal settings.
Choose a skill only when the task benefits from reuse
A one-off request may need only a clear brief. A recurring task with a stable procedure and useful boundary is a candidate for a skill. Evaluate the skill against both relevant and irrelevant requests.
Practice and acceptance
A reusable procedure earns its place by producing the same evidence contract across contrasting inputs.
About your environment
Checked 21 October 2026. The preparer writes only a new chosen scratch project; it changes no personal settings and starts no native client.
Try it step by step
- Read native-client.md, cases.json and the rubric; predict which findings the supplied broken and complete inputs should produce.
- Choose a task you have performed repeatedly. Write its inputs, intended reader and one concrete output; exclude adjacent work such as publishing the result.
- Create a small practice README with a project purpose and run instructions but no verification instructions. Keep a second version with all three sections.
- Write two requests that should use readme-evidence-review and two unrelated requests that should not. This defines a useful activation boundary before implementation.
- Ask Codex to evaluate your proposed skill using the example. Compare its recommendation with the actual repeated task, then record the agreed scope in a scratch note.
A useful starting example
Illustration · adapt before use.
node labs/skill-workflow/prepare-scratch.cjs ../readme-skill-practice
# The receipt supplies the real new project path. In that folder:
node .agents/skills/readme-evidence-review/scripts/review.cjs .A reviewable finding
The broken fixture documents npm run start while its package declares dev and test.
node labs/skill-workflow/skill/scripts/review.cjs labs/skill-workflow/fixtures/brokenUNKNOWN_SCRIPT: npm run start, README.md:4
MISSING_TEST_GUIDANCE
executed: falseThe first finding is a configuration mismatch. The second is missing README guidance. Neither is a failed application test.
Your turn
Run the broken and complete fixtures through the helper, reconcile the findings with both files, then adapt the packaged skill to one recurring review you actually need. Keep the original fixture results as a regression reference. Deliver the two observed outputs and a short explanation of why reusable procedure, project rule and one-off request have different homes.
Try the exercise before opening its reference answer. Use a disposable practice folder.
Run a reusable README review
Extract into a new practice folder and keep the included labs folder. Run these commands from that extraction root, or from the course folder, using an existing Node.js installation.
- Command 1 text
node labs/skill-workflow/skill/scripts/review.cjs labs/skill-workflow/fixtures/brokenCheck: UNKNOWN_SCRIPT at README line 4 and MISSING_TEST_GUIDANCE; commands remain unexecuted.
- Command 2 text
node --test labs/skill-workflow/native-setup.test.cjsCheck: Five real preparation/repair checks pass; no Codex client is started.
A reusable procedure earns its place by producing the same evidence contract across contrasting inputs.
Check your result
- The proposed skill has one recognizable user goal and a reviewable output.
- You can give a relevant request and an unrelated request without an ambiguous overlap.
- The workflow names the evidence it needs and does not imply access to tools that are unavailable.
- Helper results, actual host activation and unexecuted application commands remain distinguishable.
Reference answer & rubric Try the exercise before opening
The recurring task is comparing documented commands with declared scripts; its reusable output is an evidence table, not a generic quality opinion.
- Read the skill's trigger, input boundary and output contract before the implementation.
- Inspect broken/README.md:4 and its scripts object: start is absent while dev and test exist.
- Run the helper on broken and complete; retain the actual outputs and label them deterministic inspection.
- Use the rubric to explain the correct finding and the unknown: declared dev/test commands were not run.
Check your understanding
Which is the strongest reason to create a skill?
- One response needs a shorter opening.
- A recurring task has stable inputs, an output format and checks.
- A service is inaccessible and needs credentials.
Reveal the answer and explanation
Answer 2: A recurring task has stable inputs, an output format and checks.
A skill can reuse a proven procedure. It does not solve authentication or justify packaging every one-off edit.
Take this quiz in the interactive lesson to save your answer in the browser.
When it does not work
Every review reports the same defects.
Likely cause: Reference findings were copied as facts instead of checking the current input.
What to try: Run complete and require an empty findings list; trace each remaining claim to a current file.
The helper passes, but Codex selects the skill for UI work.
Likely cause: Local helper behavior and host skill selection are different layers.
What to try: Use the unrelated request in cases.json in the actual client; narrow the description if its observed selection is wrong.
Common mistakes
- Turning every personal preference into a skill with a broad, overlapping description.
- Treating an installed skill as proof that a workflow is accurate, authorized or connected to live data.
Source mapping & differences · equivalent
Codex supports reusable Agent Skills, but the package extends instructions rather than automatically granting capabilities.
Source topic: Overview ↗Go to the source
Official documentation, checked 21 October 2026. Product names, controls and availability may vary with your version, platform or account.
Completion and quiz progress are saved
only in the interactive course.