---
name: create-immersion-programme
description: Create or redesign Langues Vivantes V3 immersion programmes, centred on private classes with the participant's homestay teacher. Explain scheduled tuition and informal practice through shared household life, make teaching formulas, accommodation, placement and support clear, preserve booking data, and save one real CMS pilot before scaling. Adapt to other immersion arrangements only when the actual LV offer supports them.
---

# Create an immersion programme

Use this skill primarily for stays where the participant lives with a teacher who
also hosts them: private scheduled classes and informal practice through shared
household life. Teacher-home tuition belongs here, even though it includes classes.
For a separate language-school course with optional homestay, use
[create-language-programme](../create-language-programme/SKILL.md). For a school
placement, use [create-high-school-programme](../create-high-school-programme/SKILL.md).
Other family or activity immersion variants remain in scope when the actual LV
offer establishes them; never assume that an immersion stay has no classes.

Deliver a real authored CMS page with its actual draft or publication outcome.
Give each offer its own reading journey; a dedicated template is a starting shape,
not a reason to give every family, teacher and activity programme identical copy.

## Establish the live offer and scope

1. When a checkout is available, read `AGENTS.md`. Follow the repository's fresh-main
   branch/PR workflow for source changes. The user handles tests and browser
   interaction unless explicitly requested; do not expand authoring into a test run.
2. Use the companion [LV-V3 MCP skill](../lv-v3-mcp/SKILL.md) for connection,
   discovery, revision handling and publication. Install it beside this skill or
   fetch it from the same catalogue. Use a configured connector or its shared
   [client](../lv-v3-mcp/scripts/mcp.py); keep editorial tokens in the credential
   environment, never in public copy, source, commands or printed output.
3. Find an existing offer through `content_list`. Read its current draft and
   published view, identity, locale and capability fields. Use the draft as the
   editing baseline and preserve unrelated pending staff edits.
4. Discover `content_templates`, `lv://schemas/programme` and supported programme
   blocks. Select `immersion` only when the live tools and schemas advertise it.
   A newer repository template is not proof that the deployed MCP accepts it.
5. For an existing offer, redesign its current document without recreating the
   content or forcing a template change. For new content when `immersion` is not
   deployed, use the nearest live supported template and replace irrelevant
   starter content. Do not invent a template identifier or placeholder booking data.
6. With remote access only, work from live schemas, presets and public material.
   A CMS edit does not require a clone. With a checkout, read the relevant renderers
   before relying on layout behaviour or proposing source changes.

For a one-programme experiment, choose one existing published immersion offer
with enough reliable evidence and useful approved imagery. If the user asks for a
random offer, select from that eligible set and name the choice briefly. Author
and save that one page; do not silently roll out the pattern across the catalogue.

## Define what immersion means here

Write a one-sentence promise that identifies the actual learning arrangement. For
teacher-home offers, lead with the participant living with their teacher, receiving
private classes and practising through everyday interaction. Establish teaching
terms from the LV package; living with a native-language host alone is not private
tuition. Scheduled teaching and informal shared life have separate expectations.

| Arrangement | Explain first | Distinguish visibly |
| --- | --- | --- |
| Teacher-home tuition | Private scheduled classes with the teacher who also hosts the participant | Contracted hours, lesson length, objectives, format and what happens outside lessons |
| Confirmed family immersion without classes | Everyday interaction and participation in household life | Absence of scheduled classes only when confirmed; host availability and participant initiative |
| Activity or cultural immersion | The language used during the contracted activity experience | Included versus optional activities, organised versus independent time |
| A genuine combination | The specific components bought together | Their respective hours, inclusions, eligibility and limits |

Junior and adult support are different arrangements even when they share a host
model. An adult stay admitting a 16–17-year-old does not automatically provide
the supervision of a junior programme. Do not turn uncertain eligibility into a
guaranteed placement. Mention shared lessons or a two-person formula only when
supported by the supplier's contracted LV offer, with its actual eligibility.

## Gather the evidence that changes the choice

Keep a private source record with the supported fact, URL or supplied document,
provider, edition and review dates, and unresolved discrepancies. Read the actual
LV offer first, then current official supplier material. A supplier's broader
direct offer is not automatically part of the contracted LV package.

| Topic | Establish before authoring |
| --- | --- |
| Audience | Ages for each formula, language level, minimum duration and entry requirements |
| Learning | Teacher who also hosts; private-class hours, lesson length, objectives, levels, actual teaching terms and any supported shared-lesson option |
| Household | Room, bathroom and meals; household composition; language used; dietary or placement restrictions |
| Matching | Available regions, placement process, preference versus confirmed choice, restrictions and timing |
| Shared life | What the teacher/household undertakes to share, their availability, personal time and which social activities are contracted |
| Independence | Unaccompanied time, participant initiative, transport and junior/adult boundaries |
| Support | Named contact arrangements, escalation route and explicitly contracted supervision |
| Travel | Arrival/departure requirements, meeting point, transfers and inclusions |
| Budget | Existing LV billing basis, dates, options, supplements and package exclusions |

Same-age children, a particular household type, native-language hosts, a private
bathroom, a particular town and daily outings are not guarantees unless the LV
offer explicitly contracts them. A host's occupation or household photograph does
not establish these facts. Explain requested preferences as preferences, with any
confirmed limitations beside them. Do not invent restriction policies either.

Source conflict belongs in the private record. Put the affected visitor decision
in clear language, with its actual condition to confirm; avoid generic warnings
and repeated “the provider says” prose. Never publish supplier contracts,
commissions, applications, staff notes or private CMS snapshots as skill examples.

## Give the stay a distinctive reading journey

Use [the composition guide](references/composition.md) to pick the relevant
sequence. Aim for four to six main narrative headings, combining roles where the
offer is simple. The page must make its own promise, choices and limits readable.

1. **Recognise the experience.** Write a precise title, brief subtitle and roughly
   50–90-word opening. Lead with the audience, place and actual form of immersion.
   Three distinct highlights can establish learning, shared life and support;
   avoid generic fluency or personal-transformation promises.
2. **Picture this particular stay.** Use a strong text/image `section` to explain
   real household or destination context. Show approved imagery with accurate alt
   text and provenance. A place photograph is not evidence of the assigned home;
   an illustrative activity is not an included excursion.
3. **Understand the classes and everyday practice.** Lead with the private tuition:
   contracted hours, lesson length, goals and actual teaching format. Then explain
   informal interaction outside classes, the participant's initiative and the
   teacher's personal time. Shared meals and social time are not additional teaching
   hours. Do not fabricate a daily timetable, lesson plan or weekend itinerary.
4. **Choose the meaningful arrangement.** Use `columns` for two or three genuine
   formulas or a compact `table` for a precise comparison. Compare the same
   dimensions: tuition intensity, goals, age, accommodation, meals and inclusions.
   Do not invent alternatives to fill cards; one formula can use a concise section.
5. **Understand home life and placement.** Make room, bathroom, meals, matching and
   location conditions easy to find. Explain the real distinction between a
   requested preference and a confirmed arrangement. Distinguish included shared
   activities from optional excursions and independent time. Keep support and
   supervision conditions beside the relevant age group or formula.
6. **Prepare for the stay.** Let the dedicated dates/fees and budget modules carry
   commercial choices. After fees, use `steps` for the actual placement/travel
   sequence, a `callout` for a decisive condition, and `faq` for remaining practical
   questions. Reuse the site's existing adviser and booking controls.

Use short headings and two brief paragraphs where sufficient. Give detailed facts
one main home. A short essential cue may recur in the hero or comparison, but
repeating accommodation details, inclusions and matching explanations adds noise.
No invented testimonials, decorative statistics, ratings or empty host promises.

## Make the layout serve the explanation

Use supported programme `contentBlocks`, primarily `section`, `columns`, `table`,
`callout`, `steps` and `faq`, with live schema shapes and presets. No custom HTML,
inline CSS, new dependencies or invented block types are needed for a strong page.
Only add other supported components when there is real evidence and a clear job.

Place the main story in `placement: "narrative"` before dates/fees and preparation
in `"practical"` after fees/budget. Within each placement, legacy `sections` render
before `contentBlocks`; the arrays do not interleave. Migrate deliberately,
retaining facts, unrelated blocks and stable editorial IDs where possible.
Remove duplicate visible versions and account for changed anchors.

Keep a decisive age, supervision or placement condition visible without opening
an accordion or browsing a carousel. Use a table only when parallel comparison
helps; keep it short and avoid duplicating bookable prices. Use images to add
context, not to decorate every heading or imply an unavailable household.

## Preserve commercial meaning and locale scope

For a presentation pilot, preserve booking amounts, currencies, dates, periods,
row and option IDs, availability, promotions, units, registration rules and
applicability. Do not reinterpret teaching hours as billing units or treat a
placement request as confirmed availability. A sourced commercial correction is
a separate scoped change, not a side effect of attractive copy.

When live contracts support `displayCategory`, group existing supplements using
the advertised category IDs and localized labels. Use stable-ID category-only
`supplementEdits`. Preserve every other option field: `group` controls mutually
exclusive selections and `costType` describes budget roles; neither is a heading.
Keep prices in dedicated booking fields and visitor conversion in site controls.

Align the title, hero, catalogue description, filters and SEO with the actual
experience. Describe private teacher-home classes accurately; do not label them
as a group language-school course. Do not tag tuition for a confirmed no-class
variant or junior supervision when it is not contracted. For translations, preserve
factual and structural parity while writing naturally. A one-locale pilot does
not authorize rewriting every existing translation.

## Save the real pilot and report its outcome

Keep a private before-document and concise change record. Reread the latest draft
before saving, reconcile staff changes, then use a minimal guarded
`content_patch_draft` or `programme_update` with both fresh `revision` and
`translationRevision`. Supplied arrays replace stored arrays; preserve everything
outside the redesign. Serialize dependent writes and reread after a conflict or
interrupted response before deciding whether a retry is necessary.

Inspect the returned stored document and save receipt as part of completing the
write. Save a draft unless this programme and these changes are already authorized
for publication. An earlier publication request for other pages does not publish
a new experiment. When authorized, establish that the whole latest draft is the
intended result and finish `content_publish` with current revisions without asking
again. Publication includes concurrent draft edits, not only your last patch.

Provide the real editor/preview or public URL, locale, new reading journey and
actual draft/published outcome. State a material source limitation where one
remains. Distinguish a saved page from a deployed template; a PR cannot prove the
live MCP has its new schema. The user reviews visual presentation in the browser.
Do not claim testing, browser review or improved conversions without evidence.

See [the immersion pilot](references/pilot.md) for the saved example and its
public editorial lessons. Keep private evidence and CMS snapshots outside it.
