Table of Contents
Choose an activity.
Getting Started With Codex
Check access, choose a fallback if needed, then open one activity folder at a time.
Making sure you have Codex
Fall back - Google Antigravity + free account
Codex Basics
Codex is an agent that can read files in a workspace, suggest changes, edit files, run commands, and explain what it did.
Important Habits
- Open Codex in the right folder.
- Ask it to inspect before changing things.
- Ask it to show a plan before bulk edits.
- Check generated files yourself.
- Keep secrets and private data out of practice folders.
For this self-study pack, each activity is a small workspace. Open one activity folder at a time.
Working With Files
Codex works best when the folder is local on your computer.
Good Practice Folder
Use a folder you can safely change, such as:
~/codex-work
Avoid using an important work folder for your first experiments.
OneDrive And SharePoint
OneDrive and SharePoint can be useful for ordinary files, but sync tools can cause confusion when files change quickly.
For first practice:
- copy sample files into a local practice folder
- avoid real student or participant data
- keep tokens and private screenshots elsewhere
- ask Codex to explain before moving or renaming many files
Git
Git records changes over time. It is useful later, but not required for the first activities.
If Codex mentions git, ask it to explain what it is doing before it runs commands.
Activity 1: First Codex Action
Task
Ask Codex to make a simple HTML file and view it in the preview.
Instructions
- Open the folder.
- Switch the model and thinking level as instructed in the session.
- Type or copy the prompt.
Suggested Prompt
Make a simple HTML page that says "Hello world" in big sparkly letters.
Reflection
- Reflect on the design choices Codex made.
- Notice what Codex added or left out.
- Try a different model or instruction and compare the result.
Activity 2: Organise a Folder
Task
Organise a folder of messy files.
Instructions
- Open messy-research-archive/.
- Ask Codex what is in the folder.
- Ask Codex to suggest an organisation.
- Ask Codex to make a visualisation.
Activity 3: Catalog a Folder of Images
Task
Create a catalog of a folder with image files.
Instructions
- Open the folder as a Codex project.
- Ask what is in the folder.
- Ask Codex to rename the images in order.
- Ask Codex to build a single HTML catalog with images.
Activity 4: Explore AGENTS.md
Task
Explore a fuller, generic AGENTS.md sample.
Sample AGENTS.md
# Agent Instructions: Local Project Workspace
## Operating Mode
- Folder type: local project workspace.
- Audience: project owner and collaborators.
- Agent role: inspect, plan, edit, explain.
- Default action: inspect first; ask before broad changes.
## First Moves
- Read `README.md`, `AGENTS.md`, and visible task files.
- List relevant files before editing.
- Confirm target files and intended changes.
## Behaviour
- Change size: small, reversible.
- Preserve user work.
- Rename/delete/move many files: ask first.
- Destructive or bulk commands: explain first.
- Secrets: never write into Markdown, logs, screenshots, or project files.
## Logging
- If `_TASK_LOG/actions.jsonl` exists: append after meaningful changes.
- If no log exists: ask before creating one.
- Format: JSONL, one event per line.
- Keep entries short.
Example:
```json
{"timestamp":"2026-06-29T09:00:00+01:00","action":"Updated project notes","files_changed":["notes/project-summary.md"],"checks":["reviewed generated HTML"]}
```
## Checks
- Run relevant local checks when available.
- State what was checked.
- State what was not checked.
## Handoff
- Summarise changes.
- List open questions.
- Suggest next steps only when useful.
## Public-Safe Boundary
- No private paths.
- No real participant data.
- No access tokens.
- No internal screenshots.
- No personal notes unless user confirms private use.
Instructions
- Open sample-project/.
- Read AGENTS.md.
- Notice the operating mode, behaviour rules, logging format, reflection rule, and public-safe boundary.
- Ask Codex what it would do differently because of this file.
Activity 5: Explore Skills
Task
Explore how skills extend what an agent can do.
Links
- AgentSkills.io
- Anthropic public skills
- Matt Pocock's skills
- Dominik's agent skills
- Matt Pocock's TEACH skill
Local Skill Copies
- Skills folder README
- teach/SKILL.md
- grill-with-docs/SKILL.md
- handoff/SKILL.md
- to-prd/SKILL.md
- dominiks-agent-skills/academic-pdf-to-mkd/SKILL.md
- dominiks-agent-skills/agents-md-streamline/SKILL.md
- dominiks-agent-skills/claim-fact-checker/SKILL.md
- dominiks-agent-skills/codex-images-workflow/SKILL.md
- dominiks-agent-skills/cognitive-walkthrough/SKILL.md
- dominiks-agent-skills/paper-reviewer-skill/SKILL.md
- dominiks-agent-skills/project-changelog/SKILL.md
- dominiks-agent-skills/project-setup/SKILL.md
- dominiks-agent-skills/single-html/single-html-document/SKILL.md
What To Notice
- AGENTS.md is placed in a project folder.
- SKILL.md is placed in its own folder.
- Agents load AGENTS.md automatically when working in the folder.
- Agents load SKILL.md on request or when they think they need it.
Sample SKILL.md
--- name: teach description: Teach the user a new skill or concept, within this workspace. disable-model-invocation: true argument-hint: "What would you like to learn about?" --- The user has asked you to teach them something. This is a stateful request - they intend to learn the topic over multiple sessions. ## Teaching Workspace Treat the current directory as a teaching workspace. The state of their learning is captured in this directory in several files: - `MISSION.md`: A document capturing the _reason_ the user is interested in the topic. This should be used to ground all teaching. - `./reference/*.html`: A directory of reference materials. These are the compressed learnings from the lessons. - `RESOURCES.md`: A list of resources which can be explored to ground your teaching in contextual knowledge. - `./learning-records/*.md`: A directory of learning records, which capture what the user has learned. - `./lessons/*.html`: A directory of lessons. A lesson is a single, self-contained HTML output that teaches one tightly-scoped thing tied to the mission. - `NOTES.md`: A scratchpad for user preferences or working notes. ## Philosophy To learn at a deep level, the user needs three things: - Knowledge, captured from high-quality, high-trust resources - Skills, acquired through highly relevant interactive lessons - Wisdom, which comes from interacting with other learners and practitioners Before `RESOURCES.md` is well-populated, find high-quality resources which will help the user acquire knowledge. Never trust your parametric knowledge. ## Lessons A lesson is the main thing you produce. Each lesson is one self-contained HTML file, saved to `./lessons/` and titled `0001-dash-case-name.html` where the number increments each time. The lesson should be short, useful, and tied to the mission. Each lesson should give the user a single tangible win that they can build on. ## The Mission Every lesson should be tied into the mission: the reason that the user is interested in learning about the topic. If the user is unclear about the mission, or `MISSION.md` is not populated, first ask why they want to learn this. ## Zone Of Proximal Development Each lesson should challenge the user just enough. If the user does not specify exactly what they want to learn, read their learning records and choose the next useful lesson based on their mission. ## Knowledge Lessons should be designed around a skill the user is going to learn. The knowledge in the lesson should be only what is required to acquire that skill. Knowledge should first be gathered from trusted resources. Use `RESOURCES.md` to keep track of them. ## Skills Skills should be taught through interactive lessons. Use retrieval practice, light in-browser tasks, or guided real-world steps. Each lesson should use a feedback loop where the user receives feedback on their performance. ## Reference Documents While creating lessons, also create reference documents. Lessons can reference these documents, and the user can return to them later. ## NOTES.md Record user preferences in `NOTES.md` so they can shape future lessons.
Activity 6: Biodiversity Data Feasibility
Task
Assess whether AI can help improve biodiversity in a local area based on data. Use Stonesfield in Oxfordshire as the feasibility test.
Project Description
- Aim: Assess whether AI can help improve biodiversity in a local area based on a dataset.
- Test area: Stonesfield, Oxfordshire.
- Question: What public data can be used now, what first result can it produce, and what would still be needed before suggesting practical improvements?
- Desired output: A first evidence-based view of what has already been observed, where the gaps are, and what further work could help.
Workflow
- Find useful data.
- Download a sample.
- Visualise the sample.
- Decide what else is possible.
- Explain the process.
- Set up project memory.
Learning Log
Open `_LEARNING_LOG` as a separate project in Codex. Start a new chat and use voice or typing to record reflections and questions for later.