Practical AI advice for teams and leaders

Beginner Steps. Advanced AI.

Published guideUpdated

Chapter 20 of 20Publish & maintain

Chapter menu20 chapters

Keep your site working

The website needs occasional care. Keep the accounts, backups and checks in order, and repeat this process for each change.

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

Let's leave clear notes for your future self.

Follow the pictures

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

  1. Write down who owns what

    Copy the maintenance-note prompt. Name the person responsible for the site and each account.

    Illustration: a maintenance note connects the website and its accounts to a named owner.
    Illustrated example
    In Codex
    Copy maintenance prompt → List accounts → Name owners

    Look for: A note showing who owns the site, repository, hosting, domain and contact inbox.

    More help with this action

    A short maintenance note helps you find the right account when something changes.

    Make the ownership note
    1. Copy the maintenance-note prompt below. Fill in who owns the website, repository, hosting account, domain and contact inbox.
    2. Record where to find settings and support. Keep passwords and account recovery information in your protected password manager, separate from public website files.
    3. Include release records and recovery instructions. Record unknown details as questions for the responsible person.

    You should now see: A maintenance note with named owners and enough information to find the important settings.

  2. Choose a review date

    Choose a regular review date and repeat the live-site checks. Include renewals and account alerts.

    Illustration: choose a calendar date, open the website, and check the Contact action.
    Illustrated example
    Routine
    Choose a review date → Open the site → Check key pages and Contact
    Also
    Review renewals, usage and account alerts.

    Look for: A manageable routine, with extra checks after a release or reported problem.

    More help with this action

    Choose a routine you can actually keep.

    Set a practical review schedule
    1. Choose how often you will check the key pages, phone navigation and Contact action. Add checks after every release and whenever someone reports a problem.
    2. Record domain and service renewal dates, hosting usage and important account alerts. Review content and dependencies regularly.
    3. Keep the latest release record and actual live-check results with the maintenance note. Adjust the schedule if the site becomes more complex.

    You should now see: A realistic review schedule, rather than a task list nobody maintains.

  3. Turn on dependency alerts

    Enable Dependabot alerts on GitHub. Review each alert before updating software.

    Illustration: open GitHub settings, enable Dependabot alerts, and assess warnings before making an update.
    Illustrated example
    On GitHub
    Repository → Settings → Advanced Security → Dependabot alerts → Enable
    For each alert
    Assess → Update on a branch → Test → Review

    Look for: Relevant alerts are enabled and someone is responsible for reviewing them.

    More help with this action

    A dependency is supporting software used by your website.

    Enable alerts and handle an update
    1. On GitHub, open the repository’s Settings tab. In the Security and quality section, select Advanced Security, then Enable beside Dependabot alerts.
    2. If alerts are already enabled, leave them enabled. Check who receives the notifications and is responsible for reviewing them.
    3. For a new alert, have Codex assess whether the affected dependency is used. Make a scoped update on a branch and run the existing checks. Review before accepting or releasing the update.

    You should now see: Relevant alerts are enabled; updates are assessed and tested before release.

  4. Test your backup

    Make an independent repository backup. Test restoring and opening the website from it.

    Illustration: keep an independent backup, restore it in a new folder, and open the recovered website.
    Illustrated example
    Restore exercise
    Independent backup → New project folder → Rebuild → Open preview

    Look for: A working preview restored from your independent backup.

    More help with this action

    A backup matters only if you can recover from it.

    Keep and test an independent copy
    1. Follow GitHub’s repository-backup guidance to preserve the project and its history independently. Ask Codex to explain the backup and restore steps before using them.
    2. Also preserve original text and images, configuration records and a known working build. Include separately stored form or backend data if you added it.
    3. Restore into a new folder so the working project stays intact. Rebuild and open the preview, then check the important pages and Contact action.

    You should now see: The restore exercise recovers a working preview, including anything important outside the repository.

  5. Repeat the working process

    For each change, repeat the staged working process. Test and review before publishing, then check the live result.

    Illustration: plan a change, build and test it, then review before publishing and checking the live site.
    Illustrated example
    For every change
    Brief → Plan → Branch → Build → Test → Review → Approved publish → Live check

    Look for: A reviewed release record and live checks for the new version.

    More help with this action

    Small changes still deserve the same clear working cycle.

    Make the next change
    1. Write the brief and success checks, then make a new branch. Build and test the change before asking for a fresh review.
    2. Resolve serious findings and approve the finished version before publishing. Record its commit and deploy identifier.
    3. Repeat the checks on the live website and keep a documented route back to a known working version.

    You should now see: A reviewed change, a current release record and new live-check results.

  6. Review costs and instructions

    Review OpenAI costs and Netlify usage. Remove unused services and update the working agreements when your process changes.

    Illustration: compare OpenAI and Netlify usage, keep only needed services, and update the project instructions.
    Illustrated example
    Review
    OpenAI usage → Netlify usage → Remove what you no longer need
    Then
    Update AGENTS.md and skills when the process changes.

    Look for: Accounts, costs and working instructions match the website’s actual needs.

    More help with this action

    Check whether each account and instruction still serves a purpose.

    Review usage and tidy the process
    1. Review the OpenAI access route you chose and any API usage, plus current Netlify plans and usage. Your website’s needs may change over time.
    2. Remove credentials or services you no longer use after confirming the site does not depend on them. Assess new features before adding accounts or collecting more data.
    3. Update AGENTS.md or your skills when the working process changes. Keep the instructions consistent with the actual checks and release steps.

    You should now see: Current accounts, costs and instructions fit the site’s needs without unused access.

Why this step matters

GitHub keeps your saved code history. Other things, such as domain settings, original images and optional form submissions, may need separate records or backups.

Alerts help you find problems, but you still need to assess the warning and test the repair. Keep a working version you can restore.

Basics, explained

Dependabot alert

A GitHub notification that a dependency in your repository is affected by a known advisory. It helps you find issues that need assessment.

Backup

An independent copy that can restore important files or data if the original is lost. A backup is useful only if you can recover from it.

Release record

A short note connecting a published website version to its commit, deployment, date, check results, and recovery instructions.

Ask your agent

PromptPrepare a manageable maintenance routine

Copy into Codex, then adapt it to your project.

Create a maintenance note for the actual Fieldnotes Studio project. List account and domain ownership, key visitor checks, dependency alerts, usage reviews, renewal dates, independent backups, and recovery instructions. Distinguish repository files from separately stored configuration or data. For the next change, follow brief > plan > branch > build > test > review > publish > live check. Identify unknown details for me to fill in. Prepare the note without scheduling jobs, changing accounts, or publishing the site.
Check your work

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

If something goes wrong
An update breaks the local site.
Keep the failed change on its branch, record the error, and ask Codex to repair or revise it. Continue using the previously checked release while the problem is investigated.
An older hosted deploy is no longer available.
Recover the known working commit and configuration from your own backup, recreate and test its build, then use the documented release process. Do not depend entirely on hosting history.
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