Prompt Library
Skill level: Beginner
Copy a prompt, replace the parts in [BRACKETS], and send it to your assistant. Each prompt names the Upstart files involved, so it works in AI editors and, with the file 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, and src/content/sections/english/home-banner.md. Summarize in 10bullet points how this Astro theme is organized: where text lives, how a page picks its sections,how a named block becomes a section's content prop, which sections ignore enable: false, wherethe layout options live, and which collections npm run astro-check actually validates. Don'tchange any files yet.Describe your product once, then reuse it
Here is my product. Use it for every copywriting request in this conversation:- Name: [PRODUCT NAME]- What it does: [ONE SENTENCE]- Who it is for: [AUDIENCE]- Main features: [3 TO 6 FEATURES]- Tone: short, clear, confident. No hype words.Never invent customer names, testimonials, user counts, uptime figures, funding, orcertifications. If you need one, leave the sample value and list it for me.Confirm with one line, and don't change any files yet.Brand
Rename the site
Change the brand from "Upstart" to "[NAME]". In src/config/config.toml update [site] title,description, tagline, and logoText, and [seo] author. Then set common.siteTagline andcommon.siteDescription in every src/i18n/<language>.json, and search src/content and src/configfor any remaining "Upstart" in visible text and replace it. Don't rename files or codeidentifiers.Apply brand colors
My brand color is [HEX] and my accent color is [HEX]. In src/styles/theme.css update--color-primary and --color-accent, and adjust --color-secondary, --color-theme-dark, and--color-border-light to match. This is a dark theme: --color-body is near-black and--color-text-default is light, so check that body text, muted text, and borders still reach atleast 4.5:1 contrast on the new background. Don't add arbitrary color values anywhere else. Listthe values you chose.Change the fonts
Replace Satoshi with [GOOGLE FONT] for --font-primary in src/config/fonts.json. Satoshi's entryhas "provider": "local", so change the provider to "google" and set the right weights andsubsets. Keep Syne for --font-secondary, Instrument Serif for --font-tertiary, and the IBM PlexSans Arabic entry (loaded only on Arabic pages). Tell me which local font files undersrc/assets/ are now unused. Don't edit any CSS file. Remind me to restart npm run dev.Use my logo
I added my logo at src/assets/images/[FILE].svg. In src/config/config.toml set [site] logo to"/images/[FILE].svg", adjust logoWidth and logoHeight to keep its proportions, set logoText to[NAME OR ""], and tell me what logoHoverAnimation does so I can decide. Also set image under[site.favicon] to the same file, and tell me to run npm run generate-favicons.Homepage And Sections
Rewrite the homepage for my product
Rewrite the English homepage text for my product. The homepage issrc/pages/[...lang]/index.astro. Edit the section files it uses insrc/content/sections/english/ and the named blocks in src/content/homepage/english/-index.md.Keep every key, option, icon name, image path, and the number of items in each list. Only changetext values, and keep any **bold** markers the layout relies on. Then write the french and arabicversions, with identical keys.Reorder or remove homepage sections
On the homepage (src/pages/[...lang]/index.astro), move [SECTION] above [SECTION] and remove[SECTION]. Only edit the route file: don't delete any content files, and remove imports that areno longer used. Note that HomeBanner and IntegrationSection ignore enable: false, so taking themout of the route is the only way to hide them. Then run npm run astro-check.Change a section on one page only
On [PAGE ROUTE in src/pages/[...lang]/], change [WHAT] for that page only. Add a named block tothat page's content file and pass it to the section as the content prop in the route, the wayindex.astro passes faqSection and features.astro passes why-us-two.md to WhyUs. Leave the sharedsection file alone. Do the same for french and arabic.Switch the “why us” layout or the pricing table
Set layoutType to "[creative | modern]" in src/content/sections/english/why-us.md andwhy-us-two.md, and their french and arabic copies. For the pricing page, the layout prop ofPricingSection in src/pages/[...lang]/pricing.astro chooses "regular" or "comparison": set it to"[VALUE]". Then run npm run astro-check.Hide a section everywhere
Hide the [SECTION] everywhere. Set enable: false in src/content/sections/english/[FILE].md and inthe french and arabic copies. If it is HomeBanner or IntegrationSection, tell me instead whichroute to remove it from, because those ignore enable.Content
Navigation And Pages
Clean up the menus
In every src/config/menu.<language>.json: keep only links to the pages I use ([LIST]), and set"enable": false on the rest in headerPrimary, footerMenuQuickLink, footerMenuResources,footerMenuLegal, and footerMenu. Keep the JSON shape, the weight values (Navbar sorts by them),and the same items in every language. Then check the header on desktop, with the keyboard, and inthe mobile menu.Build a mega menu
Turn the "[MENU NAME]" item in headerPrimary into a mega menu in everysrc/config/menu.<language>.json. Use hasMegaMenu: true with menus as groups of{ enable, name, description, icon, url, weight }, following the shape documented in AGENTS.mdunder "Menus and Mega Menu". Each icon is an SVG path such as /images/icons/svg/focus.svg, andonly the mobile menu shows the icons. Add the cta card with [DETAILS] and the bottom bar with[TEXT, LABEL, URL]; the bar also shows the contact details from [settings.contactInfo].Add a page made of existing sections
Create a page at /[slug]/ with these sections: [WhyUs, Customers, TestimonialSection,CallToAction]. Follow the "Add a new page" skill in SKILLS.md: copy src/pages/[...lang]/features.astro, keep its getStaticPaths, and compose it from the section components, passingheadingTag="h1" to the section that opens the page. Put the page's own copy in a new content fileand pass it with the content prop where a section needs page-specific values. Add "[slug]" toheaderPrimary in every src/config/menu.<language>.json, then run npm run astro-check.Remove pages I don’t need
I don't need these pages: [LIST, for example /changelog/, /integration/, /faq/]. For each one,delete its route file or folder in src/pages/[...lang]/ and its content folder in src/content/,remove it from src/lib/utils/aiContent.ts if it is listed there, then remove every link to itfrom each src/config/menu.<language>.json and from content files (search for the URL). Runnpm run astro-check and npm run build, and fix anything they report.Languages
Use English only
I only need English. Set enable = false under [settings.multilingual] in src/config/config.toml.Don't delete any files yet. Then tell me exactly what npm run toml:watch andnpm run remove-multilingual would do, and which lines I should remove from netlify.toml.Add a language
Add [LANGUAGE] (code "[xx]", folder "[name]", locale "[xx-XX]", social locale "[xx_XX]") and keepthe other languages. Follow the "Add or remove a language" skill in SKILLS.md: runnpm run toml:watch first (the language scripts need the generated config), thennpm run generate-multilingual-content with those values, and add a /[xx]/* block tonetlify.toml. Add a font entry to src/config/fonts.json if the script needs its own font. Thentranslate the copied content folders, src/config/menu.[xx].json, and src/i18n/[xx].json, keepingevery key, icon name, URL, number, and MDX shortcode tag.Improve the Arabic or French translation
The [Arabic | French] content is machine translated. Review src/content/[FOLDER]/[arabic | french] and src/i18n/[ar | fr].json and rewrite the text so it reads naturally for a SaaSaudience. Keep every key, number, URL, icon name, and MDX shortcode tag exactly as it is, anddon't change the English files. For Arabic, keep numbers, emails, and URLs left to right.Forms, SEO, And Launch
Connect the contact form
Connect the contact form to [Formspree with form ID xxxx | formsubmit.co with [EMAIL] | NetlifyForms]. Update contactFormAction and contactFormProvider in src/config/config.toml, following thecomment next to them. Don't change the form fields.Change the contact form fields
The contact form should ask for: [LIST OF FIELDS]. Edit form.inputs insrc/content/sections/english/contact-section.md, and make the same change in the french andarabic copies. Don't write new form markup and don't edit ContactSection.astro; validation andsending stay in src/lib/utils/FormHandle.ts. Keep the existing field shape and required flags.Write SEO descriptions
For each page's -index.md in src/content/*/english/ and each file in src/content/pages/english/,write a metaDescription of 140-160 characters based on that page's real content. Only add orchange metaDescription. Then do the french and arabic versions.Pre-launch review
Review this site before launch and list what is still demo content. Check: baseUrl in [site] insrc/config/config.toml (it ships as a pages.dev URL), contactFormAction, formAction under[settings.subscription], [settings.contactInfo], the contact details insrc/content/sections/*/contact-section.md, social links in src/config/social.json, every priceand the comparison block in src/content/sections/*/pricing-section.md, the sample integrations insrc/content/integration/, the sample quotes in src/content/sections/*/testimonial.md, thechangelog entries, the legal pages in src/content/pages/, any "#" or example.com links in themenus and content, and any remaining "Upstart" in visible text. Don't change files: list the fileand the line for each item.Fix Problems
Explain and fix an error
npm run [dev | build | astro-check] fails with this error:[PASTE THE FULL ERROR]Explain the cause in one sentence, then fix it with the smallest change. Don't change unrelatedfiles.A change doesn’t show up
I changed [WHAT] in [FILE] but the page [URL] still shows the old version. Find where that pagegets this text: check the route in src/pages/[...lang]/, the named block it passes as the contentprop, and the section file in src/content/sections/english/. Remember that FaqSection.astro readssrc/content/faq/<language>/-index.md instead of a section file. Tell me which one wins and why.Don't change anything yet.Fix the Arabic layout
On [PAGE] at /ar/, [WHAT LOOKS WRONG]. Follow the RTL Rules in AGENTS.md: replace physicalclasses with logical ones, add rtl: handling for translate-x, transform origins, and gradients,and add any direction-bearing icon to the rtlFlipIcons list insrc/layouts/helpers/Icons.astro rather than at the call site. Then tell me what to check at /ar/.