## Table of Contents

Choose an activity.

Back to contents

## Getting Started With Codex

Check access, choose a fallback if needed, then open one activity folder at a time.

### Making sure you have Codex

Get Access to Codex | AI Competency Centre

bit.ly/ox-codex-access

### Fall back - Google Antigravity + free account

antigravity.google

### 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.

Back to contents

## Activity 1: First Codex Action

Activity 1 - First Codex Action/ Open Folder

### Task

Ask Codex to make a simple HTML file and view it in the preview.

### Instructions

1. Open the folder.
2. Switch the model and thinking level as instructed in the session.
3. 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.

Back to contents

## Activity 2: Organise a Folder

Activity 2 - Organise A Messy Folder/ Open Folder

### Task

Organise a folder of messy files.

### Instructions

1. Open messy-research-archive/.
2. Ask Codex what is in the folder.
3. Ask Codex to suggest an organisation.
4. Ask Codex to make a visualisation.

Back to contents

## Activity 3: Catalog a Folder of Images

Activity 3 - Catalog Images/ Open Folder

### Task

Create a catalog of a folder with image files.

### Instructions

1. Open the folder as a Codex project.
2. Ask what is in the folder.
3. Ask Codex to rename the images in order.
4. Ask Codex to build a single HTML catalog with images.

Back to contents

## Activity 4: Explore AGENTS.md

Activity 4 - Explore AGENTS.md/ Open Folder

### 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

1. Open sample-project/.
2. Read AGENTS.md.
3. Notice the operating mode, behaviour rules, logging format, reflection rule, and public-safe boundary.
4. Ask Codex what it would do differently because of this file.

Back to contents

## Activity 5: Explore Skills

Activity 5 - Explore Skills/ Open Folder Open Skills Folder

### 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.

Back to contents

## Activity 6: Biodiversity Data Feasibility

Activity 6 - Biodiversity Data Feasibility/ Open Folder Open Workflow

### 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

1. Find useful data.
2. Download a sample.
3. Visualise the sample.
4. Decide what else is possible.
5. Explain the process.
6. Set up project memory.

Back to contents

## Learning Log

_LEARNING_LOG/ Open Folder

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.