Practical AI advice for teams and leaders

Beginner Steps. Advanced AI.

Published guideUpdated

Chapter 9 of 20Plan

Chapter menu20 chapters

Plan your pages and content

Give every page a clear job. Gather the real words, images, and contact details Codex should use.

Kooka, the friendly kookaburra teacher wearing round glasses and a terracotta waistcoat.

A good page answers one question, then shows the next step.

Follow the pictures

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

  1. Make a page map

    Send the content-planning prompt. Ask Codex to save the four page addresses in docs/sitemap.md.

    Kooka illustrates make a page map: Copy prompt → Send → docs/sitemap.md.
    Illustrated example
    Codex
    Copy prompt → Send → docs/sitemap.md

    Look for: Home /, About /about/, Services /services/, and Contact /contact/.

    More help with this action

    Use the content-planning prompt to create docs/sitemap.md with /, /about/, /services/, and /contact/. Compare it with the practice sitemap.

    Step by step

    1. Copy the linked prompt into your project chat.
    2. Ask Codex to read the brief and create docs/sitemap.md.
    3. Compare the addresses with the practice sitemap: /, /about/, /services/, and /contact/.

    You should now see: Home /, About /about/, Services /services/, and Contact /contact/.

  2. Give each page one job

    Write the visitor question, heading, sections, and next action for each page. Use clear page headings.

    Kooka illustrates give each page one job: Visitor question → Heading → Sections → Next action.
    Illustrated example
    Plan
    Visitor question → Heading → Sections → Next action

    Look for: Each page answers a different question and offers a sensible next action.

    More help with this action

    For each page, record its visitor question, heading, sections, and next action. Follow clear headings and page structure guidance so Home makes the business offer understandable.

    Step by step

    1. For each page, name the question a visitor wants answered.
    2. Write its main heading and section headings in familiar language.
    3. Choose the next useful action, such as viewing Services or opening Contact.

    You should now see: Each page answers a different question and offers a sensible next action.

  3. Add your real content

    Use the content-plan prompt to save approved text and your real inbox in docs/content.md. Mark anything unfinished.

    Kooka illustrates add your real content: Approved text → Real inbox → docs/content.md → Mark gaps.
    Illustrated example
    Codex
    Approved text → Real inbox → docs/content.md → Mark gaps

    Look for: Your real information, with missing passages clearly marked.

    More help with this action

    Use the content-plan prompt to organise your approved description, services, biography, and real inbox in docs/content.md. Mark unfinished passages as editorial tasks.

    Step by step

    1. Gather your business description, services, biography, and real contact address.
    2. Ask Codex to organise them in docs/content.md, using your supplied facts.
    3. Mark unfinished sections as editorial tasks rather than accepting plausible-sounding invented details.

    You should now see: Your real information, with missing passages clearly marked.

  4. Choose permitted images

    Collect images you may publish. Record sources and useful image descriptions in docs/content.md.

    Kooka illustrates choose permitted images: Permitted image → Source → What it conveys.
    Illustrated example
    Collect
    Permitted image → Source → What it conveys

    Look for: A known source and useful description for every meaningful image.

    More help with this action

    Collect permitted images and record their source and purpose in docs/content.md. Use the W3C image-alternative decision tree to describe what meaningful images convey.

    Step by step

    1. Check that you own each image or have permission to use it.
    2. Record its source, permission notes, and the reason it belongs on the page.
    3. Use the linked decision tree to choose meaningful alternative text; purely decorative images usually have empty alt text.

    You should now see: A known source and useful description for every meaningful image.

  5. Choose the navigation

    Use consistent navigation for the header and footer. Add privacy information to the plan if your data practices need it.

    Kooka illustrates choose the navigation: Header links → Footer links → Privacy information if needed.
    Illustrated example
    Choose
    Header links → Footer links → Privacy information if needed

    Look for: The same page names in your plan and navigation.

    More help with this action

    Choose main navigation and footer links using consistent navigation guidance. Review your actual data practices and add a privacy information page to the plan if needed before launch.

    Step by step

    1. Use the same short page names in the sitemap, header, and footer.
    2. Check the actual site features and services for data collection.
    3. Add clear privacy information to the plan where needed; review the content before launch.

    You should now see: The same page names in your plan and navigation.

  6. Try the page journey

    Ask someone unfamiliar with your business to review the page sequence. Fix unclear words and missing answers.

    Kooka illustrates try the page journey: Home → Services → About → Contact → Note unclear points.
    Illustrated example
    Try
    Home → Services → About → Contact → Note unclear points

    Look for: A reader can find the offer and contact route without your explanation.

    More help with this action

    Follow the idea of involving visitors early: walk through the page sequence with someone unfamiliar with the business. Note unclear terms and missing answers, then update the content and sitemap.

    Step by step

    1. Walk through the planned pages with someone who does not already know your business.
    2. Ask what remains unclear and how they would contact you.
    3. Update docs/sitemap.md and docs/content.md with their questions and your corrections.

    You should now see: A reader can find the offer and contact route without your explanation.

Why this step matters

A useful visitor journey connects a question to an answer and then to an action. A Fieldnotes Studio visitor might arrive on Home, review Services, read About for context, and use Contact. Each page should work when reached directly from a shared link, too.

Real text changes a layout. A short sample heading may fit while your real service description does not. Prepare content early, and clearly mark anything still missing. The AI can improve wording, but you must verify business facts and approve what appears under your name.

Basics, explained

Sitemap

Here, a planning list or diagram showing the pages and how they connect. A machine-readable XML sitemap comes later for search engines.

Navigation

The links and menus visitors use to move around a website.

User journey

The sequence of questions and actions a visitor follows to accomplish something.

Alternative text

A text description conveying the purpose of a meaningful image for people who cannot see it. Purely decorative images usually use empty alternative text.

Ask your agent

PromptMake the content plan

Copy into Codex, then adapt it to your project.

Read docs/website-brief.md. Create docs/sitemap.md for Home, About, Services, and Contact, using /, /about/, /services/, and /contact/. For each page, list its visitor question, heading, sections, required content, and next action. Create docs/content.md with provided text, image sources, and clearly marked gaps. Recommend simple navigation. Do not invent testimonials or business facts, and do not build pages yet.

Files & commands

textPractice sitemap

Read this step before using the example.

Home       /           What does the studio do?
About      /about/     Who will I work with?
Services   /services/  What help can I request?
Contact    /contact/   How do I get in touch?

Main action: Discuss your project → Contact
Contact method: Email link to your verified inbox
Check your work

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

If something goes wrong
Two pages repeat the same information.
Give each a clear job: Home introduces the offer, Services explains it, About provides context, and Contact enables the enquiry. Keep necessary short summaries and remove duplicated long passages.
The agent inserts plausible-sounding customer quotes.
Remove them unless they come from approved real source material. Ask Codex to flag missing proof rather than fabricate it.
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