Orchard Core Theming
Use this skill for Orchard Core theming and content-definition/recipe work.
How to use
- Path A (task match): scan the Tasks list; if the request matches, open
references/TASK-MAP.md and go directly to the leaf files.
- Path B (exploration): use the section cues to pick a reference section, open that section's
INDEX.md, then choose the leaf file it points to.
- Determine Razor vs Liquid early using the workflow in
references/TASK-MAP.md. If it cannot be decided, fall back to Liquid and confirm with the user.
- Open only the necessary leaf files; use a section
INDEX.md only for orientation and discovery.
- Prefer examples and ready-to-copy patterns.
Evidence rules
- Prefer repo evidence over assumptions: active theme, base theme,
placement.json, and existing templates.
- Trace the shape model first when it is unclear; use
references/TASK-MAP.md to find shape tracing guidance and ask the user if needed.
- Confirm unknown part/field properties in
ContentDefinition.json (or OrchardCore.db) and the relevant field references.
- Ask for missing identifiers (content type, part name, field name, display type) instead of inventing them.
- Do not invent recipe steps or feature IDs; use
references/TASK-MAP.md to find the right recipe references.
Scripts
Use these scripts instead of hand-building extracts.
scripts/extract-content-definitions.py to extract content types/parts/fields from ContentDefinition.json or OrchardCore.db, with optional related-type expansion and Markdown/JSON output. See references/50-content-model/CONTENT-DEFINITIONS-EXTRACTOR.md.
scripts/extract-content-items.py to get content items from OrchardCore.db, filter by type/IDs/text, and optionally emit a recipe content step or a Markdown/JSON extract. See references/50-content-model/CONTENT-ITEMS-EXTRACTOR.md.
scripts/generate-orchard-ids.py to generate Orchard Core IDs that match the DefaultIdGenerator alphabet for stable ContentItemId values in recipes. See references/70-recipes/ID-GENERATION.md.
scripts/sync-skill.py to refresh the entire skill folder from the Lombiq/Orchard-Core-Agent-Skills repo (references, scripts, SKILL.md, assets). The running script is not overwritten until the next sync.
Sync example:
python skills/orchard-core-theming/scripts/sync-skill.py
Reference section cues
Use these cues to decide which reference section to open.
- Use
references/10-understand-structure/ to confirm solution and theme structure (manifests, base theme), create themes, and locate layouts/zones.
- Use
references/20-shapes-placement/ to find shape names, alternates, placement rules, and override workflow steps.
- Use
references/30-razor/ to implement Razor theme changes with tag helpers, shape rendering, and IOrchardHelper.
- Use
references/40-liquid/ to implement Liquid theme changes with tags, filters, and shape helpers.
- Use
references/50-content-model/ to inspect content definitions/items, parts/fields, settings/containers, and the extractors.
- Use
references/60-assets-resources/ to include scripts/styles and manage resources and static files.
- Use
references/70-recipes/ to author, validate, and reuse recipes for setup, definitions, and content import.
- Use
references/80-debugging-discovery/ to trace shapes, inspect logs, and find evidence in source.
- Use
references/90-glossary/ to resolve terms and acronyms in Orchard Core theming docs.
Tasks
Use this list to decide whether to open references/TASK-MAP.md for the exact leaf files.
- Determine template language (Razor vs Liquid).
- Add or update a content type/part/field in ContentDefinition.json.
- Extract a focused content definition slice (large JSON).
- Create a setup recipe.
- Add content types and sample content to a recipe.
- Create or update workflows in a recipe.
- Create or override a content item shape template.
- Implement or override OrchardCore.Forms widgets and Form content.
- Inspect real content items (SQLite).
- Update a shape after adding fields.
- Render BagPart/FlowPart/ListPart items.
- Add scripts/styles and include them in the layout.
- Find shape alternates and placement rules.
- Find evidence in Orchard Core source.
- Work on theme structure or layout.
- Understand solution structure.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: orchard-core-theming3description: Evidence-first Orchard Core theming skill for shapes, alternates, placement, Razor/Liquid templates, content model access, assets/resources, and recipes. Use for theme adjustments, shape overrides, template discovery, content item/field access, placement.json rules, and recipe authoring in Orchard Core projects. Use when this capability is needed.4---56# Orchard Core Theming78Use this skill for Orchard Core theming and content-definition/recipe work.910## How to use11- Path A (task match): scan the Tasks list; if the request matches, open `references/TASK-MAP.md` and go directly to the leaf files.12- Path B (exploration): use the section cues to pick a reference section, open that section's `INDEX.md`, then choose the leaf file it points to.13- Determine Razor vs Liquid early using the workflow in `references/TASK-MAP.md`. If it cannot be decided, fall back to Liquid and confirm with the user.14- Open only the necessary leaf files; use a section `INDEX.md` only for orientation and discovery.15- Prefer examples and ready-to-copy patterns.1617## Evidence rules18- Prefer repo evidence over assumptions: active theme, base theme, `placement.json`, and existing templates.19- Trace the shape model first when it is unclear; use `references/TASK-MAP.md` to find shape tracing guidance and ask the user if needed.20- Confirm unknown part/field properties in `ContentDefinition.json` (or `OrchardCore.db`) and the relevant field references.21- Ask for missing identifiers (content type, part name, field name, display type) instead of inventing them.22- Do not invent recipe steps or feature IDs; use `references/TASK-MAP.md` to find the right recipe references.2324## Scripts25Use these scripts instead of hand-building extracts.26- `scripts/extract-content-definitions.py` to extract content types/parts/fields from `ContentDefinition.json` or `OrchardCore.db`, with optional related-type expansion and Markdown/JSON output. See `references/50-content-model/CONTENT-DEFINITIONS-EXTRACTOR.md`.27- `scripts/extract-content-items.py` to get content items from `OrchardCore.db`, filter by type/IDs/text, and optionally emit a recipe `content` step or a Markdown/JSON extract. See `references/50-content-model/CONTENT-ITEMS-EXTRACTOR.md`.28- `scripts/generate-orchard-ids.py` to generate Orchard Core IDs that match the `DefaultIdGenerator` alphabet for stable `ContentItemId` values in recipes. See `references/70-recipes/ID-GENERATION.md`.29- `scripts/sync-skill.py` to refresh the entire skill folder from the Lombiq/Orchard-Core-Agent-Skills repo (references, scripts, SKILL.md, assets). The running script is not overwritten until the next sync.3031Sync example:32```bash33python skills/orchard-core-theming/scripts/sync-skill.py34```3536## Reference section cues37Use these cues to decide which reference section to open.38- Use `references/10-understand-structure/` to confirm solution and theme structure (manifests, base theme), create themes, and locate layouts/zones.39- Use `references/20-shapes-placement/` to find shape names, alternates, placement rules, and override workflow steps.40- Use `references/30-razor/` to implement Razor theme changes with tag helpers, shape rendering, and IOrchardHelper.41- Use `references/40-liquid/` to implement Liquid theme changes with tags, filters, and shape helpers.42- Use `references/50-content-model/` to inspect content definitions/items, parts/fields, settings/containers, and the extractors.43- Use `references/60-assets-resources/` to include scripts/styles and manage resources and static files.44- Use `references/70-recipes/` to author, validate, and reuse recipes for setup, definitions, and content import.45- Use `references/80-debugging-discovery/` to trace shapes, inspect logs, and find evidence in source.46- Use `references/90-glossary/` to resolve terms and acronyms in Orchard Core theming docs.4748## Tasks49Use this list to decide whether to open `references/TASK-MAP.md` for the exact leaf files.50- Determine template language (Razor vs Liquid).51- Add or update a content type/part/field in ContentDefinition.json.52- Extract a focused content definition slice (large JSON).53- Create a setup recipe.54- Add content types and sample content to a recipe.55- Create or update workflows in a recipe.56- Create or override a content item shape template.57- Implement or override OrchardCore.Forms widgets and Form content.58- Inspect real content items (SQLite).59- Update a shape after adding fields.60- Render BagPart/FlowPart/ListPart items.61- Add scripts/styles and include them in the layout.62- Find shape alternates and placement rules.63- Find evidence in Orchard Core source.64- Work on theme structure or layout.65- Understand solution structure.6667---68> Converted and distributed by [TomeVault](https://tomevault.io/claim/lombiq) — claim your Tome and manage your conversions.69<!-- tomevault:4.0:skill_md:2026-04-13 -->