skills/az-briefing-builder/SKILL.md
Transform incomplete or immature product input into a comprehensive AstraZeneca HCP website briefing for AEM Edge Delivery Services. Use when "build briefing", "create briefing", "write briefing", "briefing from scratch", "new site briefing", "turn this into a briefing", or "expand this into a full briefing". The output briefing is designed to be consumed directly by the eds-site-builder skill to generate the website.
npx skillsauth add paolomoz/skills az-briefing-builderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Transform a simple, incomplete product description into a comprehensive, brand-compliant website briefing that the eds-site-builder skill can consume to generate a complete AEM Edge Delivery Services HCP website.
eds-site-builder[PLACEHOLDER — requires medical input]Before starting, read these files to understand the block library, brand voice, and briefing conventions:
CLAUDE.md — project architecture, block list, design context, multi-site nav templatesblocks/BLOCK-REFERENCE.md — HTML markup for every available blockbrand/az-brand-voice.md — AZ UK brand voice rules and copy patternsThese inform every decision in the briefing: which blocks to use, how to write copy, and what structure to follow.
Read whatever the user provides. It could be anything from a single paragraph to a detailed clinical dossier. Classify each aspect:
| Aspect | Has it? | Quality | |--------|---------|---------| | Drug name (brand + generic) | Yes/No | Complete / Partial | | Drug class / MoA | Yes/No | Detailed / Summary / Missing | | Indication | Yes/No | Precise / Vague | | Formulation & dosing | Yes/No | Complete / Partial / Missing | | Clinical trial data | Yes/No | Full results / Headlines only / Missing | | Safety profile | Yes/No | Detailed AE table / Summary / Missing | | Prescribing information | Yes/No | Full PI text / Abbreviated / Missing | | AE reporting text | Yes/No | Present / Missing | | References | Yes/No | Complete / Partial / Missing | | Brand colours | Yes/No | Specified / Missing | | Approval code & DOP | Yes/No | Specified / Missing | | Desired pages / navigation | Yes/No | Explicit / Implied / Missing | | Tagline | Yes/No | Specified / Missing | | Image assets / CDN | Yes/No | URLs provided / Descriptions only / Missing |
Report this assessment to the user. For missing critical items, explain what's needed and whether you can generate reasonable defaults or must leave placeholders.
Ask the user one question:
Is any of this copy MLR-approved and must be used verbatim, or should I write/expand the copy freely?
This determines the fidelity instruction at the top of the briefing:
If the user doesn't answer or says "just make it work", default to flexible.
Generate the drug profile table. Use the input verbatim where provided; fill gaps with reasonable defaults or placeholders:
## 1. Drug Profile
| Field | Detail |
|-------|--------|
| Brand name | {BRAND} |
| Generic name | {generic} |
| Drug class | {class} |
| Indication | {indication} |
| Formulation | {formulation} |
| Dosing | {dosing} |
| Approval | MHRA — {date} |
| Brand colour | {hex} |
| Accent colour | {hex} |
| Approval code | {code} |
Brand colour selection — if not specified, choose a colour that:
Approval code — if not provided, use [GB-XXXXX — assign before MLR submission]
Add a brand rule paragraph:
{BRAND} brand rule: {BRAND} always appears in capitals, with ® on first mention per page. Generic name ({generic}) appears in lowercase parentheses on first mention. {If tagline provided: The approved tagline "{tagline}" may only be used verbatim — no variations permitted.}
Write or expand the MoA section. Follow the AZ brand voice:
If the user provided detailed MoA text, use it. If only a summary, expand it using the drug class and indication as context. If missing, write [PLACEHOLDER — requires medical/scientific input].
Always include superscript reference numbers (¹ ² ³) pointing to the references section.
For each clinical trial provided:
### {TRIAL-NAME} (Phase {X}, {descriptor})
- Design: {design}
- Population: {population}
- Duration: {duration}
- Primary endpoint: {endpoint}
- Key secondary endpoints: {endpoints}
- Publication: {authors} {journal} {year}; {volume}: {pages}
Key results:
| Endpoint | {BRAND} (n=X) | Placebo/Comparator (n=X) | Treatment effect |
|----------|--------------|--------------------------|------------------|
| {primary} | X% | Y% | Δ Z%; P<0.001 |
Rules:
[Note: full results table requires medical review][PLACEHOLDER — clinical programme data required]Structure safety data into these subsections:
If the user provided raw AE data, format it. If only a summary, expand it into the structure. If missing, placeholder the entire section.
Generate an abbreviated PI from the drug profile and safety data. This appears as an accordion on every page. Structure:
## 5. Prescribing Information (abbreviated — for every page footer)
{BRAND} ({generic}) {formulations}. Please refer to the Summary of Product Characteristics (SmPC) before prescribing. Indication: {indication}. Dosage and administration: {dosing}. Contraindications: {contraindications}. Warnings and precautions: {warnings}. Interactions: {interactions}. Side effects: Very common (≥1/10): {AEs}. Common (≥1/100 to <1/10): {AEs}. Legal category: POM. Pack and price: {if available, else [to be confirmed]}. Marketing authorisation holder: AstraZeneca UK Ltd. MA number: {if available, else [PLGB XXXXX/XXXX]}. Full prescribing information available from: AstraZeneca UK Ltd, 2 Pancras Square, London N1C 4AG. {approval code} | DOP: {date}.
If insufficient data to write a complete PI, flag it: [PLACEHOLDER — full PI text requires regulatory/medical input]
AE Reporting — standard text unless the user specifies different:
## 6. Adverse Event Reporting (for every page footer)
Adverse events should be reported. Reporting forms and information can be found at www.mhra.gov.uk/yellowcard or search for MHRA Yellow Card in the Google Play or Apple App Store. Adverse events should also be reported to AstraZeneca by visiting contactazmedical.astrazeneca.com or by calling 0800 783 0033.
References — compile from all superscript references used in the briefing:
## 7. References (for every page footer)
1. {First author} et al. {Journal} {Year}; {Volume}: {Pages}.
2. ...
Based on the available content, define the site pages. Use this decision framework:
| Content available | Recommended pages | |-------------------|-------------------| | Drug profile + MoA + trials + safety + dosing | Home, Disease Context, Clinical Data, How {Drug} Works, Safety/Dosing/Monitoring, HCP Resources | | Drug profile + trials + safety (no detailed MoA) | Home, Clinical Data, Safety & Dosing, HCP Resources | | Drug profile only (minimal data) | Home, About {Drug}, HCP Resources | | Combination therapy with complex data | Home, Disease Context, Monotherapy Data, Combination Data, Safety/Dosing, Resources |
Navigation rules:
## 8. Site Navigation
- Top bar links: Contact Us (https://www.astrazeneca.co.uk/contact-us.html) | AZ Employee Login (https://login.astrazeneca.com)
- Main navigation pages: {Page 1} | {Page 2} | {Page 3} | ...
- Utility: Search | Login
This is the largest section. For each page, write the full content specification.
Start with the fidelity instruction:
## 9. Page Content
{If strict: IMPORTANT: All copy below is final and MLR-approved. It must be used exactly as written — do not modify, rephrase, or abbreviate any text.}
{If flexible: Copy below is indicative and may be adapted for web presentation while preserving all clinical claims and data points verbatim.}
Each page must end with expandable sections for Prescribing Information, Adverse Event Reporting, and References (see sections 5, 6, and 7 above).
{BRAND} brand rule: {brand rule from Step 3}
For each page, follow this template:
### PAGE {N}: {Page Name}
URL path: /{sitename}/{slug}
#### Section {N} — {Description} ({visual hint})
Block: {block-name}
{Section metadata: Style: highlight/light — if applicable}
{If image needed: Image: {CDN URL or description for image generation}}
- Heading: {heading text}
- Body text: {body text with superscript references}
- Call to action: {CTA text} → /{sitename}/{target-slug}
#### Page metadata
- Title: {SEO title | Drug Name | AstraZeneca UK}
- Description: {Meta description, 150-160 chars}
Block selection rules — choose blocks based on content intent:
| Content pattern | Block | When to use |
|----------------|-------|-------------|
| Full-width image with text overlay | hero-teaser | Page hero, first section of key pages |
| Page header, text only | title | Data pages, resource pages that don't need a hero |
| Centred lead-in text | introduction | Section openers, key stat callouts |
| Image + text side-by-side | columns-teaser | MoA explanations, dosing details, 2-column content |
| 3 equal cards with images | cards-teaser | Benefit cards, resource cards, feature highlights |
| Tabbed content panels | tabs-large | Multiple trials, treatment arms, before/after comparisons |
| Data table | table-data | Monitoring schedules, AE tables, trial results |
| Sliding content panels | carousel-teaser | Headline statistics, key data points (4+ items) |
| Expandable FAQ/details | accordion | PI footer, disease pathways, detailed clinical content |
Section background alternation — use section-metadata Style to create visual rhythm:
light (#f8f8f8) → default → highlight (#f4eef2 with magenta border)Copy writing rules (for flexible mode — when generating copy):
Home page structure (standard pattern):
Clinical data page structure:
Safety/dosing page structure:
Disease context page structure:
Resources page structure:
## 10. Footer Content
The footer must appear on every page and contain the following elements:
- Logo: AstraZeneca logo (linked to /{sitename}/)
- Approval code: {code} | DOP: {date}
- Copyright: © {year} AstraZeneca. All rights reserved. {BRAND} is a registered trademark of the AstraZeneca group of companies.
- Page links: {list of nav pages}
- Regulatory links: Report Adverse Event (https://yellowcard.mhra.gov.uk/) | Medical Information (https://contactazmedical.astrazeneca.com/) | Privacy Policy (https://www.astrazeneca.co.uk/our-company/privacy-notice.html) | Terms of Use (https://www.astrazeneca.co.uk/our-company/terms-of-use.html) | Accessibility (https://www.astrazeneca.co.uk/accessibility.html)
- Date of preparation: Date of Preparation: {month year}
IMPORTANT: Reuse existing images first. The project has a library of AI-generated images already deployed to CDN across multiple sites. These are high-quality, brand-aligned images that can be reused across sites. Always check the catalogue below before generating new images.
Do NOT reuse images from the velox site — those are reserved for a specific product.
Scan the images/ directory for all available sites and their images:
for site in images/*/; do
sitename=$(basename "$site")
[ "$sitename" = "velox" ] && continue
[ "$sitename" = "demo" ] && continue
echo "=== $sitename ==="
ls "$site"*.jpeg 2>/dev/null | sed "s|images/$sitename/|https://${sitename}-images.pages.dev/|"
echo ""
done
Heroes (landscape, tier 1/2 style — suitable for any therapy area):
hero-home.jpeg — available from: eluvion, lumivex, novapril, revantha, treluxia, vitessa, zenturishero-efficacy.jpeg — available from: eluvion, lumivex, novapril, revantha, treluxia, vitessa, zenturishero-moa.jpeg — available from: eluvion, lumivex, novapril, revantha, vitessahero-dosing.jpeg — available from: eluvion, novapril, revantha, treluxia, vitessahero-safety.jpeg — available from: novapril, revanthahero-resources.jpeg — available from: novapril, revanthaCards (square/4:3, tier 2 style):
card-efficacy.jpeg — eluvion, lumivex, novapril, revantha, vitessa, zenturiscard-safety.jpeg — eluvion, lumivex, novapril, revantha, vitessa, zenturiscard-dosing.jpeg — eluvion, lumivex, novapril, revantha, vitessa, zenturiscard-clinical-data.jpeg — lumivex, treluxia, zenturiscard-prescribing.jpeg — lumivex, zenturiscard-patient-guide.jpeg — lumivex, zenturiscard-hepatic.jpeg (zenturis), card-gi.jpeg (zenturis), card-infections.jpeg (lumivex, treluxia), card-anaphylaxis.jpeg (treluxia), card-isr.jpeg (treluxia)Columns (4:3, tier 2/3 style — image+text layouts):
columns-moa.jpeg — lumivex, zenturiscolumns-admin.jpeg — lumivex, treluxia, zenturiscolumns-dosing.jpeg — treluxiacolumns-monitoring.jpeg — lumivexcolumns-special-pops.jpeg — lumivex, treluxia, zenturismoa-preview.jpeg — eluvion, novapril, revantha, vitessaTabs (trial results imagery):
tab-zenith1.jpeg, tab-zenith2.jpeg — zenturistab-luminance1.jpeg, tab-luminance2.jpeg — lumivextab-luminos1.jpeg, tab-luminos-ocs.jpeg — treluxiaResources & contact:
contact-support.jpeg — lumivex, novapril, revantha, vitessacontact-medical.jpeg — eluvionresource-prescribing.jpeg — eluvion, novapril, vitessaresource-clinical.jpeg — eluvion, vitessaresource-patient.jpeg — eluvion, novapril, revantharesource-education.jpeg — novapril, revantharesource-training.jpeg — vitessaMoA / pathway diagrams:
pathway-cascade.jpeg, pathway-disease.jpeg — eluviondual-inhibition.jpeg, baff-pathway.jpeg, april-pathway.jpeg — novaprilbispecific-advantage.jpeg, pdl1-pathway.jpeg, tigit-pathway.jpeg — revanthatyk2-il23-cascade.jpeg, lumivex-blockade.jpeg — lumivexvitessa-blockade.jpeg, cascade-amplification.jpeg, epithelial-damage.jpeg — vitessacolumns-tslp-pathway.jpeg, columns-mechanism.jpeg — treluxiaSafety-specific:
safety-hepatic.jpeg, safety-hypertension.jpeg, safety-proteinuria.jpeg — eluvionsafety-helminth.jpeg, safety-injection.jpeg, safety-zoster.jpeg — vitessaimmune-monitoring.jpeg — revanthahero-home.jpeg from any site works as a homepage hero for a new site — the imagery is abstract/lifestyle, not product-specificcard-efficacy.jpeg images show warm lifestyle/scientific imagery suitable for any efficacy cardhttps://{source-sitename}-images.pages.dev/{filename} — no need to copy or redeployFor each image referenced in the page content, create an entry:
## 11. Image Assets
Images reused from existing site CDNs. New images to be generated are marked with [GENERATE].
| Filename | Usage | Source |
|----------|-------|--------|
| hero-home.jpeg | Home — hero | https://eluvion-images.pages.dev/hero-home.jpeg |
| card-efficacy.jpeg | Home — efficacy card | https://novapril-images.pages.dev/card-efficacy.jpeg |
| new-image.jpeg | Home — unique section | [GENERATE] Tier 2: description for AI generation |
Image description rules (for images marked [GENERATE]):
tier1 (double-exposure artistic) for homepage heroes, therapy area cardstier2 (warm lifestyle) for product heroes, patient benefit sectionstier3 (product/device photography) for dosing pagestier4 (dramatic/abstract) for oncology, severe diseaseWrite the completed briefing to sites/{sitename}/briefing.md.
Before finishing, run these validation checks:
→ /{sitename}/{slug}) points to a page defined in Section 9Block: value matches a block in the AZ block library: accordion, action-bar, cards-teaser, carousel-teaser, columns-teaser, embed, footer, fragment, header, hero-teaser, image, introduction, table-data, tabs-large, title[PLACEHOLDER] markers remainReport the validation results and any remaining gaps to the user.
Tell the user:
Briefing written to sites/{sitename}/briefing.md
To generate the website from this briefing, run:
/eds-site-builder
Remaining gaps that need input before MLR submission:
- {list any [PLACEHOLDER] sections}
- {list any missing data}
User provides:
"Velustra is a new SGLT2 inhibitor for heart failure. Approved January 2026. 20mg once daily. Main trial showed 24% reduction in CV death or HF hospitalisation."
Skill generates: A complete 11-section briefing with:
[PLACEHOLDER] for secondary endpoints[PLACEHOLDER] for trial-specific AE dataUser provides: A detailed clinical dossier with full trial results, complete AE tables, SmPC-level safety data, and a brand colour palette.
Skill generates: A complete briefing with all data structured, copy written in AZ brand voice, appropriate blocks selected, and zero placeholders. Ready for MLR review and site generation.
development
Generate artistic infographics from any topic. Runs the Sumi pipeline (analyze → structure → craft prompt → generate image) entirely within Claude Code. Use when "generate infographic", "create infographic", "sumi", "make an infographic about", or "visualize topic".
tools
Implement Server-Sent Events streaming from Cloudflare Workers to browser clients with reconnection, state persistence, and progress tracking. Use when building "SSE streaming", "real-time updates", "server push", or "event streaming".
development
Audit websites by cross-referencing query indexes, sitemaps, and navigation to identify content gaps, stale pages, missing metadata, and quality issues. Use when "auditing a website", "finding content gaps", "site quality audit", or "content inventory analysis".
data-ai
Track user session context across multi-turn interactions using browser sessionStorage and server-side KV caching with TTL. Use when implementing "session tracking", "conversation context", "multi-turn sessions", or "user journey tracking".