# Prompt Library

## Prompt Library

**Skill level:** Beginner

Copy a prompt, replace the parts in `[BRACKETS]`, and send it to your assistant. Each prompt names the Ecozen files involved, so it works in AI editors and, with the file pasted in, in chat assistants too.

<Aside type="tip">
  Start a new conversation with the first prompt below. It gives the assistant
  the map of the theme, and every later request gets better.
</Aside>

### Get Started
**Explain the project to the assistant**

```text
Read AGENTS.md, then look at src/config/config.toml, src/pages/[...lang]/index.astro,
src/pages/[...lang]/home-two.astro, and src/content/sections/english/hero-section.md. Summarize in
10 bullet points how this Astro theme is organized: where text lives, 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 your business once, then reuse it**

```text
Here is my business. Use it for every copywriting request in this conversation:
- Name: [BUSINESS NAME]
- What we install: [SOLAR, BATTERIES, EV CHARGERS, ...]
- Where we work: [TOWNS OR REGION]
- Who we serve: [HOMEOWNERS, BUSINESSES, FARMS, ...]
- Facts you may use: [YEARS IN BUSINESS, WARRANTIES, CERTIFICATIONS]
- Tone: short, plain, trustworthy. No hype words.
Never invent reviews, ratings, statistics, or prices. Confirm with one line, and don't change any files yet.
```

### Brand
**Rename the site**

```text
Change the brand from "Ecozen" to "[NAME]". In src/config/config.toml update [site] title, tagline,
and description, and [seo] author. Update footer.copyright in every file in src/i18n/.
Then search src/content and src/i18n for any remaining "Ecozen" in visible text and replace it.
Don't rename files or code identifiers.
```

**Apply brand colors**

```text
My brand colors are: accent [HEX], dark green [HEX]. In src/styles/theme.css update --color-primary,
--color-primary-deep (a darker version of the accent that reads as text on white), and
--color-secondary. Keep at least 4.5:1 contrast for --color-primary-deep on white, and check that
dark text stays readable on --color-primary buttons. List the values you chose.
```

**Change the fonts**

```text
Replace Inter Tight with [GOOGLE FONT] for body text and [GOOGLE FONT] for headings. Edit
src/config/fonts.json: keep the cssVariable values "--font-primary" and "--font-secondary", the
weights, and the fallback. Don't edit CSS files.
```

**Use my logo**

```text
I added my logos at src/assets/images/[DARK FILE].svg (for light backgrounds) and
src/assets/images/[LIGHT FILE].svg (for dark backgrounds). In src/config/config.toml set [site]
logo and logoAlternate to "/images/[FILE]", and set logoWidth and logoHeight to keep their
proportions at about 32px tall. Also set [site.favicon] image to "/images/[SQUARE FILE]" and
tell me to run npm run generate-favicons.
```

### Homepage
**Rewrite the homepage for my business**

```text
Rewrite the English text of the main homepage for my business. The homepage is
src/pages/[...lang]/index.astro and it reads the section files in src/content/sections/english/
directly (it has no named blocks). Edit those section files. Keep every key, option, icon name,
image path, and the number of items in each list. Only change text values. Don't invent
ratings or statistics: keep the sample values and list them for me. Then write the same text in
the other language folders of src/content/sections/ (french/, arabic/).
```

**Reorder or remove homepage sections**

```text
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. Remove imports that are
no longer used.
```

**Use another homepage as the main one**

```text
I want the /home-[two | three | four]/ design as my main homepage. Copy the sections of
src/pages/[...lang]/home-[two | three | four].astro into src/pages/[...lang]/index.astro, with
the data and source lines and their content={data.xxx} props. Move the named blocks,
headerLayout, footerLayout, and headerAnnouncement from home-[two | three | four].md into
-index.md (same for every language folder). Then delete the other homepage
routes and content files, remove their links from the Home group of the Pages menu in
every src/config/menu.*.json file, and run npm run astro-check.
```

### Content
**Write my packages and prices**

```text
Update the packages in src/content/sections/english/pricing-section.md to: [NAME, UPFRONT PRICE,
MONTHLY PRICE, MONTHLY TERM, 4-6 FEATURES for each package]. Mark [PACKAGE] as featured with the
label "Most popular". Use "[SYMBOL]" in prependValue. Update the note under the cards to match my
monthly terms. Keep every key and the button structure, and keep enable: true on each package.
Then do the same in the other language folders.
```

**Set the calculator for my region**

```text
Set the savings calculator for [REGION]. In src/content/sections/english/calculator-section.md,
under calculator.assumptions, set rate to [PRICE PER KWH], sunHours to [PEAK SUN HOURS],
costPerKwp to [INSTALLED PRICE PER KWP], co2Factor to [KG CO2 PER KWH], and maxSystemKwp to
[TYPICAL ROOF LIMIT]. Set currency to "[SYMBOL]" and min, max, and default to sensible monthly
bills. Copy the same values to calculator-section.md in the other language folders. Don't change
the labels or the formula.
```

**Write the FAQ**

```text
Replace the questions in src/content/sections/english/faq-section.md with 6 questions my
customers ask, with short, direct answers. Then rewrite the grouped FAQ in the faqSection block
of src/content/faq/english/-index.md: keep the topic groups and write 3-5 questions per group.
Keep the file structure and keys, and keep enable: true on every question. Then translate both
into the other language folders (french/, arabic/).
```

**Replace the services**

```text
We offer these services: [LIST]. The service pages are the entries in src/content/services/english/.
Rewrite service-01 to service-06 for my first six services (title, customSlug, description, icon
as a Lucide icon name in PascalCase, image, weight, and the Markdown body). Mark extra entries I
don't need as draft: true. Then update the Services mega menu links in src/config/menu.en.json
to the new customSlug URLs, in every menu file. Do the other language folders too, with the same customSlug values.
```

**Add a project case study**

```text
Add a project to src/content/projects/english/ for: [CLIENT TYPE, LOCATION, SYSTEM SIZE, YEARLY
OUTPUT, PAYBACK, WHAT WE INSTALLED, CUSTOMER QUOTE IF I HAVE ONE]. Copy the frontmatter of
project-1.mdx (title, customSlug, description, date, weight, categories, information, image,
headerImageAlt, quote) and its body headings. Use only the facts I gave you. Add a version in each
other language folder, with the same customSlug.
```

**Add a job opening**

```text
Add a job opening to src/content/careers/english/ for: [TITLE, DEPARTMENT, LOCATION, TYPE
(full-time | part-time | contract), SALARY, CLOSING DATE, RESPONSIBILITIES, REQUIREMENTS,
BENEFITS]. Copy the frontmatter keys of electrician.md and use a file name that makes a good URL.
Add a version in each other language folder, with the same file name.
```

**Write a blog post**

```text
Write a blog post titled "[TITLE]" about [TOPIC], around 800 words, for homeowners in [REGION].
Create src/content/blog/english/[slug].mdx with the same frontmatter fields as post-1.mdx (title,
customSlug, metaDescription, image, date [YYYY-MM-DD], author, categories, tags, draft: false).
Use ## headings and one <Notice type="info"> where useful. Don't quote figures I haven't given you.
```

**Add team members or testimonials**

```text
Add [a team member | a testimonial] for: [DETAILS]. Team members are items in the list of
src/content/team/english/-index.md; testimonials are items in the list of
src/content/testimonial/english/-index.md. Copy the structure of an existing item, keep the same
keys, and fill in my details only. Add it in the other language folders too.
```

### Navigation And Pages
**Clean up the menus**

```text
In every src/config/menu.*.json file: disable the "Pages" menu (set "enable": false;
it holds the demo homepages and the Components page), and make the header point only to pages I keep: [LIST OF PAGES]. Update the
Services mega menu to my services. In footerSecondary and footerPrivacy, set "enable": false on links
to pages I removed. Keep the JSON structure.
```

**Add a simple text page**

```text
Add a page at /[slug]/ titled "[TITLE]" with this content: [TEXT]. Create
src/content/pages/english/[slug].md like src/content/pages/english/terms-conditions.md, and a
version in each other language folder of src/content/pages/. Add it to footerSecondary in every
src/config/menu.*.json file.
```

**Add a page made of existing sections**

```text
Create a landing page at /[slug]/ with these sections: [HeroSection with the split layout,
BenefitsSection, ImpactSection, FaqSection, CTASection]. Copy src/pages/[...lang]/home-two.astro
to src/pages/[...lang]/[slug].astro and make it read getEntryCTM("homepage", "[slug]",
Astro.currentLocale). Create src/content/homepage/english/[slug].md with a title,
metaDescription, and one named block per section (enable: true in each), and a file in each other
language folder of src/content/homepage/. Pass each section its block with content={data.xxxSection}.
Add the page to the menus and run npm run astro-check.
```

**Remove pages I don't need**

```text
I don't need these pages: [LIST, for example /home-two/, /components/, /calculator/]. For each
one, delete its route file in src/pages/[...lang]/ and its content file or folder in
src/content/ (every language), then remove every link to it from each src/config/menu.*.json file
and from content files (search for the URL). Run npm run astro-check and
npm run build and fix anything they report.
```

### Languages
**Use English only**

```text
I only need English. Set [settings.multilingual] enable = false in src/config/config.toml. Don't
delete any files. Tell me what will happen if I later run npm run remove-multilingual.
```

**Add a language**

```text
Add [LANGUAGE] with npm run generate-multilingual-content, using the flags in the "Add A Language"
part of the docs, or README.md: --lang [CODE] --name [NAME] --dir-name [FOLDER NAME] --locale
[DATE LOCALE], and the Open Graph flag this edition's README shows. Add --dir rtl for a
right-to-left language. Then translate the new folders, menu file, and i18n file from English. Keep
all keys. On Netlify, add a "/[CODE]/*" block to netlify.toml, like the other languages have.
```

**Replace French with another language**

```text
Replace French with [LANGUAGE] ([CODE]). In src/config/language.json change the French entry's
languageName, languageCode, contentDir, ogLocale, and dateLocale. Rename every
src/content/**/french/ folder to [folder name], rename src/i18n/fr.json and
src/config/menu.fr.json to [code].json and menu.[code].json, then translate their text values
from English. Update the "/fr/*" redirect in netlify.toml. Keep all keys.
```

### Forms, SEO, And Launch
**Connect the quote form**

```text
Connect the quote form on /contact/ to [formsubmit.co with [EMAIL] | Formspree with form ID [ID] | Netlify Forms]. Update
contactFormAction and contactFormProvider in src/config/config.toml following the comments
above them. Don't change the form fields.
```

**Change the quote form questions**

```text
Change the quote form in src/content/sections/english/contact-section-two.md to ask: step 1
[QUESTIONS], step 2 [QUESTIONS], step 3 [CONTACT FIELDS]. Keep form.steps with one title per
step, give every input the right step number, keep the radio groups' group and groupLabel
pattern, keep the privacy checkbox and the two message items at the end. Then do the other language folders.
```

**Write SEO descriptions**

```text
For every page file in src/content/*/english/-index.md, src/content/homepage/english/, and
src/content/pages/english/, write a metaDescription of 140-160 characters for my business, based
on the page content. Only add or change metaDescription. Then do the other language folders.
```

**Pre-launch review**

```text
Review this site before launch and give me a checklist of what is still demo content. Check:
[site] baseUrl in src/config/config.toml (it ships as https://example.com), contactFormAction,
[settings.newsletter] action, [settings.contactInfo], [settings.footer.contact] postcodes,
footer.cta.projects and footer.contactPanel.badges in the i18n files, footerLayout in the homepage files I keep, [seo.localBusiness] areaServed and openingHours, the "Pages" menu,
the demo homepages /home-two/, /home-three/, and /home-four/, social links in src/config/social.json, footer.copyright and ai.siteSummary in
src/i18n/en.json, the calculator assumptions, the pricing packages, the sample job roles, team
members, testimonials, logo strip names, the legal pages in src/content/pages/ (look for
"[Company name]"), and the demo photos in src/assets/images/photos/. Don't change files: list the
file and line for each item.
```

### Fix Problems
**Explain and fix an error**

```text
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 unrelated files.
```

**A change doesn't show up**

```text
I changed [WHAT] in [FILE] but the page [URL] still shows the old version. Find where that page
gets this text: check its route in src/pages/[...lang]/, the named blocks in its content file,
and the section file in src/content/sections/english/. Tell me which file wins and why.
```