Prompt Library
Skill level: Beginner
Copy a prompt, replace the parts in [BRACKETS], and send it to your assistant. Each prompt names the Margo files involved, so it works in AI editors and, with the files pasted in, in chat assistants too.
Get Started
Explain the project to the assistant
Read AGENTS.md and SKILLS.md, then look at src/config/config.toml, src/pages/[...lang]/index.astro,src/content/homepage/english/-index.md, and src/content/sections/english/hero-section.md.Summarize in 10 bullet points how this Astro theme is organized: where text lives, where theprojects and services live, how pages pick their sections, how a page overrides a section(named blocks), and how options.layout works. Don't change any files yet.Describe yourself once, then reuse it
Here is my practice. Use it for every copywriting request in this conversation:- Name: [YOUR NAME OR STUDIO NAME]- What I make: [BRAND IDENTITY, PACKAGING, WEB DESIGN, PHOTOGRAPHY, ...]- For whom: [SMALL MAKERS, RESTAURANTS, PUBLISHERS, ...]- Where: [CITY, OR "REMOTE"]- Facts you may use: [YEARS OF WORK, CLIENTS I MAY NAME, AWARDS, NUMBER OF PEOPLE]- Tone: short, plain, first person [I / WE]. No hype words.Never invent testimonials, client names, ratings, review counts, metrics, or prices. Confirmwith one line, and don't change any files yet.Identity And Brand
Rename the site
My name (or studio name) is "[NAME]". In [site] of src/config/config.toml, set title andlogoText to it, and rewrite tagline (under about 55 characters) and description for my work.In [seo], set author to "[NAME]" and rewrite keywords. In [seo.identity], set type to"[Person | Organization]", and jobTitle to "[JOB TITLE]" if it is a Person. In each file insrc/i18n/ that has a site.tagline value, translate my new tagline. Then search src/content(every language folder) for the sample names in visible text and list them for me. Don'trename files, ids, or code identifiers.Apply my brand colors
My brand colors are: text and buttons [HEX], background [HEX]. In src/styles/theme.css, set--color-ink to my text color and --color-paper to my background, and adjust --color-stone,--color-ash, and --color-charcoal so small grey text keeps at least 4.5:1 contrast on thebackground. In the :root.dark block, set versions that read on a dark background. Keep everyvariable name. Tell me the values you chose and their contrast ratios.Change the fonts
Replace Hanken Grotesk (--font-primary, headings and text) with [GOOGLE FONT] and Newsreader(--font-accent, the italic accent words) with [GOOGLE FONT]. Edit src/config/fonts.json only:keep the cssVariable values, choose weights the new fonts have that match the current ones, andkeep the fallback. Leave IBM Plex Sans Arabic (--font-arabic, Arabic pages) as it is. Then tellme to restart npm run dev.Use my logo
I put my logo at src/assets/images/[FILE].svg. In [site] of src/config/config.toml setlogo = "/images/[FILE].svg" and logoWidth / logoHeight to match its proportions. If the filealready contains my name, set logoText = "". Then set [site.favicon] image to"/images/[SQUARE MARK FILE]" and tell me to run npm run generate-favicons andnpm run generate-og-image.Projects And Photo Series
Add a case study
Add a project for [CLIENT]: [WHAT I DID, YEAR, MY ROLE, SERVICES, DURATION, RESULTS I CANSHARE, CLIENT QUOTE IF I HAVE PERMISSION]. Copy src/content/projects/english/ceramic-forms.md to[slug].md and fill in title, description, client, year, role, services, categories, tags,result, duration, metrics, quote, and information from my facts only. Remove metrics or quoteif I gave you none. I put the photos in src/assets/images/projects/[slug]/: set image andimageAlt to cover.jpg, and build the images list from the other files, with type, src, alt,caption, and size (full | half | third). Use only categories that the other projects use, ortell me if I need a new one. Add the same file to the french/ and arabic/ folders, translated.Add a photo series
Add a photo series "[TITLE]", taken in [PLACE] in [YEAR]. Copysrc/content/projects/english/north-atlantic.md to [slug].md. My photos are insrc/assets/images/series/[slug]/ (cover.jpg and gallery-1.jpg to gallery-[N].jpg). Set image,imageAlt, location, year, result, categories: ["Photography"], and list every photo in images.Keep options: layout: "gallery". Write a short alt text for each photo from what I tell you:[WHAT EACH PHOTO SHOWS]. Add the same file to the french/ and arabic/ folders, translated.Change the template of a project page
Show the project src/content/projects/english/[slug].md with the [default | gallery | split]template: set options: layout to that value. Do the same in the french/ and arabic/ files ofthat project. Tell me what changes on the page.Choose the projects on the homepage
On the main homepage, the hero shows four project cards from heroSection cards insrc/content/homepage/english/-index.md. Replace them with these project ids, in this order:[ID, ID, ID, ID]. Use only ids of files in src/content/projects/english/. Make the same changein the french/ and arabic/ -index.md files.Homepage And Layouts
Change a section’s layout
On [PAGE URL], switch the [SECTION] to the [LAYOUT] layout. Find the page's content file andits named block for that section (or the section file in src/content/sections/english/ if thepage has no block), and set options.layout. Use only a value listed in the comment next tolayout:. Do the same in the french/ and arabic/ files.Switch the hero to the panel layout
On the main homepage, change heroSection options.layout from "masthead" to "panel" insrc/content/homepage/english/-index.md, and in the french/ and arabic/ -index.md files. Keepevery other key. Then tell me what to check on / at 375 px and 1280 px.Reorder or remove homepage sections
In src/pages/[...lang]/index.astro, move the <LayoutVariants section="[SECTION]" ... /> lineabove the [SECTION] line and remove the [SECTION] line. Keep the <LayoutVariants> wrapper onevery section. Only edit the route file; don't delete content files.Use another homepage as the main one
I want the /home-[studio | photo]/ design as my main homepage. Replace the contents ofsrc/pages/[...lang]/index.astro with those of home-[NAME].astro, reading the "-index" entryinstead of "home-[NAME]". Copy all frontmatter of src/content/homepage/english/home-[NAME].mdinto -index.md, and do the same in the french/ and arabic/ folders. Then delete the two otherhomepage routes and their content files, and remove their links from the menu files insrc/config/. Run npm run astro-check.Change the header and footer layout
Set the site header to [pill | bar | overlay] and the footer to [wordmark | columns | email] in[settings.layout] of src/config/config.toml. Then list every content file that sets its ownheaderLayout or footerLayout in frontmatter, so I can decide whether to keep them.Content
Menus, Languages, And Launch
Clean up the menus
In each src/config/menu.<language>.json: set "enable": false on the "Pages" item inheaderPrimary (it lists every demo page), and make the footer columns link only to pages Ikeep: [LIST]. Keep the Legal column last. Point the Work dropdown and the Services mega menu atmy own projects and services, and set cta.project in Services to one of my project file names.If I hide Pages, move its Search quick link ("action": "search" in bar.links) to the Servicesbar. Keep the same structure in every file.Turn off one language
I don't need [LANGUAGE] yet. Add its code to disableLanguages in [settings.multilingual] ofsrc/config/config.toml, and tell me to restart npm run dev. Keep its files.Keep only English
I only need English. In [settings.multilingual] of src/config/config.toml set enable = false.Tell me to run npm run dev once, then npm run remove-multilingual, which deletes the contentfolders, menu files, and i18n files of every language except the default one, French andArabic included. Before that, list any translated text I might want to keep, and save a gitcommit.Check the site before launch
Prepare my site for launch. In src/config/config.toml: set [site] baseUrl to "[URL]", checkthat contactFormAction and the Mailchimp formAction in [settings.subscription] are no longerplaceholders, check the email and booking values in [settings.contactInfo], and keep[settings.layoutSwitcher] enable = false. Then search src/content, src/config, and src/i18nfor "PLACEHOLDER", "example.com", and "555" and list every value I still have to replace,grouped by file. Don't change them. Finally run npm run build and report the warnings.Fix an error
npm run [dev | build | astro-check] shows this error: [PASTE THE WHOLE ERROR]. Find the cause,explain it in one sentence, and fix it in the content or config file, not in a component.