Practical AI advice for teams and leaders

Beginner Steps. Advanced AI.

Published guideUpdated

Chapter 7 of 20Set up

Chapter menu20 chapters

Add four useful skills

Give Codex four clear workflows for design, readable code, testing and security.

Kooka, a friendly kookaburra teacher wearing glasses and holding a blue notebook.

These four skills help Codex follow clear design and quality routines.

Follow the pictures

Illustrated examples. Your app may look different. Tap an image to enlarge it.

  1. Download the four skills

    Download and read the four skills: design, clean code, testing, and security.

    Illustration: download and read the four starter skills for design, code, testing and security.
    Illustrated example
    Download
    website-design · clean-code · website-testing · website-security

    Look for: You have read all four starter files before using them.

    More help with this action

    A skill folder contains SKILL.md with a name, description, and instructions. Codex discovers project skills under .agents/skills and reads full guidance when using them. website-design covers visual direction; clean-code covers understandable implementation; website-testing checks visitor journeys; website-security reviews security boundaries. These workshop instructions cannot certify a site as secure or defect-free.

    Show the steps
    1. Download the four starter skills: website-design, clean-code, website-testing, and website-security. Read each before use; review referenced scripts in third-party skills.
    2. Each is a focused set of instructions. Read what you are asking Codex to follow.
    3. If a third-party skill includes scripts, inspect those before running them.
    4. The longer download names keep the files distinct; the final filename inside each folder is SKILL.md.

    You should now see: You have read all four starter files before using them.

  2. Put each file in its folder

    Ask Codex to prepare the skill folders. Move each download into its matching folder and rename it SKILL.md.

    Illustration: each skill has its own folder and a separate file named SKILL.md.
    Illustrated example
    Folder path
    fieldnotes-studio → .agents → skills → One folder per skill
    Each file
    Matching skill folder → SKILL.md

    Look for: All four skills exist at the exact paths shown in the folder structure.

    More help with this action

    Follow these steps if you want more help.

    Show the steps
    1. Follow the project skill placement instructions: inside fieldnotes-studio, create .agents/skills, then website-design, clean-code, website-testing, and website-security folders.
    2. Use the required folder structure. Move each download to its matching folder and rename it SKILL.md, so every folder holds its own separate SKILL.md file.
    3. Ask Codex to create only the four directories shown in Required skill structure, without building the website.
    4. Move website-design-SKILL.md into .agents/skills/website-design, then rename it SKILL.md. Repeat in matching folders for the other three.
    5. If .agents is hidden, use Finder Command + Shift + period or Windows View → Show → Hidden items. Ask Codex to compare the exact final paths.

    You should now see: All four skills exist at the exact paths shown in the folder structure.

  3. Check each skill’s label

    Check each SKILL.md starts with name and description. Keep its name matched to its folder and save as plain text.

    Illustration: check each skill's name and description and match the name to its folder.
    Illustrated example
    Check
    SKILL.md → name + description → Folder name matches

    Look for: Each skill has valid name and description metadata and is saved as plain text.

    More help with this action

    Follow these steps if you want more help.

    Show the steps
    1. Check the skill metadata specification. Retain name and description at the top, make each name match its folder, and save as plain text.
    2. At the top, the metadata block has name and description between opening and closing --- lines.
    3. Match the four names to their folders: website-design, clean-code, website-testing, website-security.
    4. Keep the starter metadata unless you have a clear reason to change it; avoid long or conflicting instructions.

    You should now see: Each skill has valid name and description metadata and is saved as plain text.

  4. Check Codex can read them

    Start a new project chat and send the four-skills check prompt. Ask Codex to read each file and report missing ones.

    Illustration: ask a fresh Codex chat to inspect all four skill files.
    Illustrated example
    In Codex
    New chat → Copy four-skills prompt → Send

    Look for: Codex reads all four files and explains when it will apply each workflow.

    More help with this action

    Follow these steps if you want more help.

    Show the steps
    1. Use the skill discovery prompt in a fresh project chat. Codex detects changes automatically; restart if the files do not appear.
    2. Compare the reported paths with the actual files. Ask for invalid or missing files rather than assuming they are correct.
    3. Codex detects skill changes automatically; restart it if the files do not appear.
    4. Check that fieldnotes-studio is the project's primary folder. Discovery does not prove every workflow has been applied.

    You should now see: Codex reads all four files and explains when it will apply each workflow.

  5. Try the design skill

    Send the design-skill prompt. Name website-design directly and ask for a plan before implementation.

    Illustration: explicitly invoke website-design and review its plan before implementation.
    Illustrated example
    In Codex
    Copy design-skill prompt → Use website-design → Review plan

    Look for: Explicit invocation produces a design-planning workflow you can review.

    More help with this action

    Follow these steps if you want more help.

    Show the steps
    1. Try the explicit design-skill prompt. Name the skill or file path directly; official invocation guidance also covers optional CLI and IDE syntax.
    2. The prompt gives .agents/skills/website-design/SKILL.md as its exact path.
    3. Ask Codex to read it and explain the workflow's outputs and review checks.
    4. Review the plan before implementation. You can name the skill directly without using CLI or IDE selectors.

    You should now see: Explicit invocation produces a design-planning workflow you can review.

  6. Save the skills in Git

    Review the four files, then ask Codex to commit the skill folders. Save only the intended changes.

    Illustration: review and commit the four intended skill files in Git.
    Illustrated example
    Save
    Review .agents/skills → Stage the four files → Commit

    Look for: Git records the four reviewed skills so collaborators can inspect the same instructions.

    More help with this action

    Follow these steps if you want more help.

    Show the steps
    1. Review all four files, then save them as a Git commit so future collaborators can inspect the same instructions.
    2. Show and inspect the four final paths before saving them.
    3. Stage only the intended SKILL.md files, then review the staged diff.
    4. Use a message such as Add website workflow skills. Keep unrelated pending changes separate; a commit does not prove website checks pass.

    You should now see: Git records the four reviewed skills so collaborators can inspect the same instructions.

Why this step matters

A skill is a reusable workflow in a SKILL.md file. Project skills live inside .agents/skills so Codex can discover them.

These four workflows guide design, clean code, testing and security review. They cannot certify that a website is secure or free of bugs.

Basics, explained

Skill

A reusable set of task-specific instructions and optional resources that helps an agent follow a particular workflow.

Metadata

Short descriptive information at the start of a skill file, including its name and when it should be used.

Explicit invocation

Directly asking the agent to use a named skill, instead of waiting for it to choose the skill automatically.

Hidden folder

A folder file browsers may hide by default. Names beginning with a dot, such as .agents, are commonly hidden on macOS and Linux.

Ask your agent

PromptCheck all four skills

Copy into Codex, then adapt it to your project.

Inspect .agents/skills. Read the four SKILL.md files and confirm their names and paths. Explain when you will apply each workflow. Report invalid or missing files. Do not build or install tools yet.
PromptInvoke the design skill

Copy into Codex, then adapt it to your project.

Use website-design at .agents/skills/website-design/SKILL.md. Read it and apply its planning workflow to Fieldnotes Studio. Explain the concrete outputs and review checks before implementation.

Files & commands

textRequired skill structure

Read this step before using the example.

fieldnotes-studio/
  AGENTS.md
  .agents/
    skills/
      website-design/SKILL.md
      clean-code/SKILL.md
      website-testing/SKILL.md
      website-security/SKILL.md
Check your work

Tick each item after you confirm it yourself. You can untick it at any time.

If something goes wrong
.agents is hidden.
In macOS Finder use Command + Shift + period. In Windows use View > Show > Hidden items where needed.
Codex ignores the skill after naming it.
Give its exact path. Ask Codex to read the file, list relevant requirements, and explain how the output meets them.
Personal notes

Add questions, decisions or ideas for your website. Saved in this browser when available; export your notes to keep a copy. Never enter secrets.

Downloads & saved progressGuide, notes and personal checks

Download the complete guide or export your notes from every chapter. Instructions last reviewed: .

Download guide .md Go to starter files

Checks and notes stay in this browser, separately for each language. Export your notes to preserve them. Never enter API keys or other secrets here.

Starter filesWorking instructions and four skills

These templates give your agent a starting set of working instructions. Review them, adapt them to your website, and save each file at the exact path shown, relative to your project folder.

A downloaded skill is an instruction file. It does not install a test runner, run a security scan, or prove your site is safe. The guide shows how to set up and check that work.

Download the instruction files in the language of this guide. Keep the technical filenames and paths as shown.

Download all starter files .md bundle
FileAGENTS.md

Save at the path above.

Download file
# Website working agreements

This project follows the website brief and acceptance criteria we have agreed with its owner. Use the existing technology choices unless a concrete requirement calls for a change.

## How to work

- For a substantial feature, explain the proposed changes and verification plan before implementing it. Complete authorized local work in small, reviewable stages.
- Read the files relevant to the task. Keep unrelated pages and configuration intact.
- Explain new technical terms in plain language when reporting to the owner.
- Use the repository's website-design, clean-code, website-testing and website-security skills when their workflows apply.
- Record important decisions and unresolved content in the project's notes. Do not invent business facts, endorsements or publishing rights.

## Verification

- Inspect package.json to find the actual build, type-check and test commands. Do not invent a successful check or create a meaningless test just to make a command pass.
- Run checks appropriate to the change. Local tests use disposable fixtures and have no production access; run them and repair failures caused by the requested change without asking at every step.
- Verify visitor interactions in a browser when browser tools are available. Report checks that remain unavailable or incomplete.
- Show the owner a working local preview and summarise changed behaviour, evidence and remaining limitations.

## Credentials and publication

- Keep API keys and other secrets out of browser code, prompts, logs and Git. Store local secrets in ignored files or the chosen secret store.
- Local build and test work is authorized. Publishing the site, sending a real message, processing a payment or changing production data requires the owner's authorization for that action.
- Preserve a recoverable working version before release. Describe how to restore it.

These are starter agreements for a new tutorial project. Adapt them to the owner's actual requirements and existing authorization.
File.agents/skills/website-design/SKILL.md

Save at the path above.

Download file
---
name: website-design
description: Develop or refine a website's visual direction and responsive interface from its brief, content and existing design. Use for page design or visual implementation.
---

Read the website brief and any existing design notes relevant to the requested page. Work within the user's brand, content and technology choices.

When establishing a new direction, propose typography, a small colour palette, a spacing rhythm and a sample page. Explain how these choices support the audience and main visitor action. Use real content to judge hierarchy and line lengths.

Implement reusable elements for navigation, headings, buttons and repeated content. Give primary actions a clear visual hierarchy. Preserve visible keyboard focus, readable contrast and usable labels. Design narrow screens alongside desktop screens; check long headings, navigation and tap targets in a browser.

Use semantic HTML before adding custom interaction. Keep motion optional and respect reduced-motion preferences. Use assets with known permission to publish; record their sources. Do not invent client testimonials, achievements or business facts.

Before expanding a design across all pages, show the first complete page at desktop and mobile widths. Describe the main design decisions and any unresolved content. When a browser tool is unavailable, report that visual verification is still pending.
File.agents/skills/clean-code/SKILL.md

Save at the path above.

Download file
---
name: clean-code
description: Implement or refactor website code into understandable components using the project's existing stack and conventions. Use for website implementation or maintainability work.
---

Read the relevant files and package scripts before choosing an implementation. Preserve working behaviour outside the requested change. Prefer the existing stack and dependencies when they meet the need.

Keep page content separate from repeated layout where that makes editing easier. Name components, variables and functions for their purpose. Use shared components for repeated navigation and page elements; avoid abstraction for a single trivial use.

Handle empty, invalid, loading and error states for interactions that need them. Use native browser controls and semantic HTML when they serve the interaction. Avoid fake form submission, simulated success messages and dead links.

Use type checking and the project's formatting or lint rules where configured. When adding a package, explain its purpose and any new maintenance or runtime requirements. Keep generated build output, dependencies and local environment files out of version control.

Run the existing checks relevant to the change, including a production build when output can change. Summarise changed behaviour, verification results and remaining limits. Explain the main files in plain language so a beginner can find and edit their content.
File.agents/skills/website-testing/SKILL.md

Save at the path above.

Download file
---
name: website-testing
description: Verify website changes through visitor journeys, appropriate automated tests and browser checks. Use when testing a website, investigating a failure or preparing a release.
---

Start from the brief and observable acceptance criteria. Inspect existing test and build commands; do not assume that a script exists. Choose checks based on the changed behaviour and the cost of failure.

Exercise the main visitor journey and affected links, navigation and forms. Include invalid input and relevant error states. For a contact form, verify actual delivery in the agreed test destination before reporting that it works. For an email link, explain that it opens the visitor's configured email app and does not send a message automatically.

Check narrow and wide screens in a browser. Include keyboard navigation, visible focus, accessible names, zoom and horizontal overflow. Automated accessibility results complement these manual checks and do not establish complete accessibility conformance.

Add automated tests for important behaviour or demonstrated regressions. Test observable outcomes and meaningful failure cases; avoid tests that merely repeat the implementation or match incidental wording. Use disposable test data and local fixtures. Never send real messages, charge payments or alter production data without the user's authorization.

Reproduce a failure, fix its cause and rerun affected checks. Report commands run, results, browser checks performed and anything not checked. A successful build shows that the site can be generated; verify visitor behaviour separately. Never report a check as passed when it was skipped or unavailable.
File.agents/skills/website-security/SKILL.md

Save at the path above.

Download file
---
name: website-security
description: Review a website's secrets, dependencies, inputs, permissions and deployment configuration, and repair scoped security findings. Use for requested security review or release preparation.
---

Identify the site's relevant surfaces: static pages, forms, backend routes, authentication, third-party scripts and stored data. Scope review to the actual architecture and authorized environment.

Keep credentials out of browser code, logs, prompts and Git. Distinguish build-time public configuration from server secrets. If a key was committed or exposed, stop using it, explain that deleting the file does not revoke the key, and have the owner revoke or rotate it before further use. Do not print the credential in your report.

Inspect applicable dependency advisories and assess whether the affected package and vulnerable behaviour are used. Repair within the project's compatible versions and rerun affected checks. Avoid automatic forced upgrades that may break the website.

For backend interactions, validate inputs on the server, encode output appropriately, and check authentication and authorization separately. Consider abuse controls for public forms or AI endpoints. An OpenAI API key belongs on the server; publishing a static site does not provide a secret server environment.

Check HTTPS and applicable security headers at the actual hosting layer. Collect only the data the feature needs, and explain its destination and retention. Do not claim legal compliance from a code scan.

Report each finding with its location, plausible impact, fix and verification. State review scope, tools used, unresolved findings and inaccessible surfaces. A clean scan is evidence about that scan's scope, not a guarantee that the website has no vulnerabilities. Do not scan third-party systems or deploy changes outside the authorized task.
Back to the chapter start