AS Toolkit · Codex skill

Client Package

Turns a finished set of ads into a clean review website. The client opens one link on their phone, taps Approve or Reject on each ad, and adds a short reason for any rejection. You get an email when they finish.

Type $client-package in Codex~15 min per clientMac or Windows
Runs inCodex
You give itFinished ads + the Creative Package
You getA review site + ZIP
Goes liveOnly when you say so

For you

  • No more screenshot decks or long email threads for creative approval.
  • Every decision comes back in one email: each ad marked Approved or Rejected, with the client's reason.
  • The approved list goes straight into the Marketing Milk Package.
  • Your production files are never touched. The site uses review copies only.

For the client

  • One link that works on a phone. There's nothing to download and no login.
  • Ads are grouped by service, each group with a short, plain-English note on the strategy.
  • Feed, Square and Story sizes sit under tabs on a single card, so they approve each concept once.
  • Their choices save on their device until they press Finalize.

⚙ What it needs

You can build and preview everything locally with just Python. Netlify is needed only to put the site online and collect responses.

Python 3 with Pillow (WebP support)Required

Builds the site and makes the lightweight review previews. No image-generation API is used.

Show the prompt
Check that this computer has Python 3 with Pillow installed and that Pillow can save WebP images. If anything is missing, install it in a sensible user-level or project environment and confirm WebP works. Don't change system Python settings without asking me.
NetlifyNeeded to go live

Hosts the review site, collects the client's responses (Netlify Forms), and emails you when they finalize. Uses your own Netlify account. The free tier is usually enough.

Show the prompt
Help me connect Netlify to Codex so skills can deploy static sites to my Netlify account. Add Netlify's official MCP server (npx -y @netlify/mcp) to my Codex MCP configuration, sign me in (Netlify CLI login or a personal access token stored outside any project folder), then confirm by listing my Netlify team and sites. Don't create or deploy anything yet.
A web browserAlready have it

To preview the site on your computer before anything is uploaded. Your default browser is fine.

⇩ Install once, ~3 minutes

⬇ client-package-skill.zip

Open a new Codex chat, attach the zip, and paste:

Attached is client-package-skill.zip, which contains a Codex skill called client-package. Please: 1. Back up my current client-package skill if I have one. 2. Install the attached version into my Codex skills folder (client-package/ with its SKILL.md, agents/, assets/, references/ and scripts/ exactly as in the zip). 3. Confirm it's installed and show me the name and description from its SKILL.md. 4. Check that Python 3 with Pillow (WebP support) is available and tell me if anything is missing. Do not rewrite or summarize the skill files. Install them as-is.

Then type $ in a new chat and client-package should be listed.

▶ How to run it

  1. First time only: your contact card. It asks for your name, work email, phone, and the email that should get review notifications, then asks whether to save them on this computer. Say yes and it won't ask again. These details go in the site header so the client knows who to call.
  2. Open a Codex chat for the client (the one where the ads were made is ideal). Type $client-package and point it at the finished ads and the <Client>-Creative-Package.md.
  3. It builds a local preview: a folder with index.html. Open it and check it on desktop and at phone width. Nothing is uploaded at this step. Ask for changes and it rebuilds locally.
    Make every change here, before you publish. Each push to Netlify uses deploy credits and API calls, so needless re-publishes add up. Once the preview is final, tell Codex to publish it via Netlify.
  4. Go live, when you say so. Tell it "publish this to Netlify." It creates or updates the client's site, turns on the response form, and sets up the email you get when the client finalizes. It gives you back a public link for the client and a private responses link for you.
  5. Send the public link to the client. They review on their phone and press Finalize.
  6. You get an email titled "[Client] has finalized their creative package!" It lists each ad as Approved or Rejected, with the reasons. Next step: Marketing Milk Package.

i Good to know

MCP connections guide·Change log·Questions? Slack Jeremy