Agent skill

Orchardcore Display Management

by OrchardCMS in OrchardCMS/OrchardCore

Controls how OrchardCore renders content — placement.json rules, display drivers, shapes, zones, alternates, and editor groupings (tabs/cards/columns).

BSD-3-ClauseAuto-check passed

Install Orchardcore Display Management

skills CLI
$ npx skills add OrchardCMS/OrchardCore --skill orchardcore-display-management -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install OrchardCMS/OrchardCore orchardcore-display-management --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/OrchardCMS/OrchardCore.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/orchardcore-display-management .claude/skills/orchardcore-display-management && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
orchardcore-display-management
GitHub stars
8.2k
Token cost
~1.8k tokens
SKILL.md length
599 words
Files
3 (incl. references)
Skills in repo
17
Repo updated
First seen
Licence
BSD-3-Clause

At a glance

Controls how OrchardCore renders content — placement.json rules, display drivers, shapes, zones, alternates, and editor groupings (tabs/cards/columns).

  • Works in 6 steps: Find the shape type and differentiator → Add a rule to placement.json → Verify → …
  • The user needs to position
  • SKILL.md covers Mental model, Decide: driver vs placement, Workflow A: place a shape and Workflow B: write a display…, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Orchardcore Display Management is an agent skill from OrchardCMS/OrchardCore. Controls how OrchardCore renders content — placement.json rules, display drivers, shapes, zones, alternates, and editor groupings (tabs/cards/columns). Use when the user needs to position or hide a part/field, move a shape to another zone, add alternates or wrappers, build admin editor layouts, or write a display driver.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/drivers.md` and `references/placement.md`).

The repository describes itself as: Orchard Core is an open-source modular and multi-tenant application framework built with ASP.NET Core, and a content management system (CMS) built on top of that framework. The licence is BSD-3-Clause.

When your agent uses it

  • The user needs to position
  • Hide a part/field
  • Move a shape to another zone
  • Build admin editor layouts

Example prompts

  • “Use the orchardcore-display-management skill to control how OrchardCore renders content — placement.json rules, display drivers, shapes, zones…”
  • “/orchardcore-display-management”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Find the shape type and differentiator
  2. Add a rule to placement.json
  3. Verify
  4. Inherit the right base
  5. Implement Display / Edit / Update
  6. Register the driver

What it can do on your machine

Read from SKILL.md and the folder at commit bfbe92f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are csharp and json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Orchardcore Display Management loads about 1.8k tokens when it runs, and up to ~4.5k if it reads all its reference files. Until then it costs about 88 tokens; SKILL.md has 599 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~88
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from OrchardCMS/OrchardCore at commit bfbe92f, republished under its BSD-3-Clause licence (© OrchardCMS). 599 words, ~1,846 tokens.

Download SKILL.mdSave it as .claude/skills/orchardcore-display-management/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
orchardcore-display-management
description
Controls how OrchardCore renders content — placement.json rules, display drivers, shapes, zones, alternates, and editor groupings (tabs/cards/columns). Use when the user needs to position or hide a part/field, move a shape to another zone, add alternates or wrappers, build admin editor layouts, or write a display driver.

OrchardCore Display Management

This skill guides you through OrchardCore's display system following project conventions.

OrchardCore renders content by building shapes (dynamic view models) from drivers, then placing each shape into a zone of the layout. Drivers decide what shapes exist and their default location; placement.json overrides where they go, whether they show, and which template renders them.

Mental model

ContentItem ──drivers──▶ shapes ──placement.json──▶ zones ──templates──▶ HTML
  • Shape — a dynamic object with a ShapeType and Metadata. The shape type (e.g. TextField, Parts_Contents_Publish, ContentPart) selects the template and the placement rule.
  • Driver — DisplayDriver / ContentPartDisplayDriver / ContentFieldDisplayDriver. Returns IDisplayResults from Display, Edit, UpdateAsync, each with a default .Location(...).
  • Placement — placement.json at the root of a module or theme. Filters shapes and rewrites their location/visibility/template.
  • Zone — named region of the layout (Content, Header, Footer, Actions, …) or an editor group (tab/card/column).

Decide: driver vs placement

Want to…Use
Reposition / hide a shape someone else builtplacement.json
Move a shape to a layout zoneplacement.json (place starts with /)
Swap the template or add alternatesplacement.json (shape / alternates)
Lay out the admin editor (tabs/cards/columns)placement.json groupings
Produce a new shape from your part/fielddisplay driver
Read/write the editor modeldisplay driver (Edit / UpdateAsync)

Prefer placement.json for layout — no rebuild needed, theme can override.

Workflow A: place a shape

Step 1: Find the shape type and differentiator

The placement property name is the shape type, not the part name. A part without its own driver renders as ContentPart (differentiator = part name). A field renders as its field type (TextField) with differentiator {PartName}-{FieldName}.

See references/placement.md for the full differentiator table.

Step 2: Add a rule to placement.json
json
{
  "TextField": [
    {
      "differentiator": "Article-Subtitle",
      "displayType": "Detail",
      "place": "Content:2"
    }
  ]
}
Step 3: Verify

Run the site, view the content item. Use ?display debug shapes or the template's shape tracing to confirm the shape type. Wrong type → no rule matches.

Workflow B: write a display driver

Step 1: Inherit the right base
Base classFor
ContentPartDisplayDriver<TPart>a content part
ContentFieldDisplayDriver<TField>a content field
SectionDisplayDriver<TModel, TSection>settings sections
DisplayDriver<TModel>anything else
Step 2: Implement Display / Edit / Update
csharp
public sealed class TextFieldDisplayDriver : ContentFieldDisplayDriver<TextField>
{
    public override IDisplayResult Display(TextField field, BuildFieldDisplayContext context)
    {
        return Initialize<DisplayTextFieldViewModel>(GetDisplayShapeType(context), model =>
        {
            model.Field = field;
            model.Part = context.ContentPart;
            model.PartFieldDefinition = context.PartFieldDefinition;
        })
        .Location(OrchardCoreConstants.DisplayType.Detail, "Content")
        .Location(OrchardCoreConstants.DisplayType.Summary, "Content");
    }

    public override IDisplayResult Edit(TextField field, BuildFieldEditorContext context)
    {
        return Initialize<EditTextFieldViewModel>(GetEditorShapeType(context), model =>
        {
            model.Field = field;
            model.Part = context.ContentPart;
            model.PartFieldDefinition = context.PartFieldDefinition;
        });
    }

    public override async Task<IDisplayResult> UpdateAsync(TextField field, UpdateFieldEditorContext context)
    {
        await context.Updater.TryUpdateModelAsync(field, Prefix, f => f.Text);
        return Edit(field, context);
    }
}
Step 3: Register the driver

In Startup.cs:

csharp
services.AddContentPartDisplayDriver<MyPart, MyPartDisplayDriver>();
// or for a field:
services.AddContentFieldDisplayDriver<TextField, TextFieldDisplayDriver>();

See references/drivers.md for shape-type helpers, the fluent .Location API, and registration variants.

Quick Reference

Show full SKILL.md (253 more words)Show less
Placement rule keys
KeyPurpose
placeZone:Position. - hides, /Zone targets a layout zone
displayTypeMatch Detail, Summary, SummaryAdmin, DetailAdmin, Edit
differentiatorDistinguish reused shapes (field/part name)
contentTypeMatch content type / stereotype (Art* wildcard, or array)
contentPartMatch content items containing a part
pathMatch request path
alternatesAdd alternate shape types
wrappersWrap the shape in other shapes
shapeSubstitute a different shape type
Position values

before < 0/empty < 1 < 1.1 < 2 < 10 < after. Numeric, not alphabetic. Dot notation inserts between (5.1 is between 5 and 6).

Editor grouping modifiers
ModifierGroupExample
#TabParts:0#Media;1
%CardParts:0%Details;2
|ColumnParts:0|Left_9;1 (_9 = width, ;1 = order)

;N after a group name = group order. _N after a column name = Bootstrap grid width (12-col).

Common zones
ZonePurpose
ContentMain content shapes
Header / FooterLayout regions
ActionsAdmin list row buttons
PartsEditor parts container
MetaMetadata block

Gotchas

  • Hiding a whole editor row → target ContentPart_Edit with differentiator {ContentType}-{PartName}, not the inner XxxPart_Edit.
  • Shape type ≠ part type. No driver → shape is ContentPart. Summary display of a dynamic part → ContentPart_Summary.
  • Field display modes are stricter: shape type needs _Display, differentiator is {Part}-{Field}-{FieldType}_Display__{Mode}.
  • Placement precedence: startup project → active theme → modules (by dependency). A theme can override any module's placement.
  • Same position value → registration order decides; use distinct positions when order matters.

References

  • references/placement.md — placement.json filters, differentiators, layout zones, editor groupings
  • references/drivers.md — driver base classes, shape helpers, fluent Location API, registration
  • src/docs/reference/modules/Placement/README.md (repo) — official placement reference
  • src/docs/reference/modules/DisplayManagement/README.md (repo) — display management reference
  • src/docs/reference/modules/Templates/README.md (repo) — shape differentiators and alternates
  • AGENTS.md (repo root) — build commands

© OrchardCMS, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in .agents/skills/orchardcore-display-management of OrchardCMS/OrchardCore.

  • SKILL.md
  • references/drivers.md
  • references/placement.md

Open the folder on GitHubat commit bfbe92f

Compare with similar skills

Orchardcore Display Management next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Orchardcore Display Management compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Orchardcore Display Management this skillOrchardCMS/OrchardCore8.2k—~1.8kAutomated safety check: PassBSD-3-Clause
Control UIopenclaw/openclaw392k—~1.8kAutomated safety check: PassMIT
Render Blockingthedaviddias/Front-End-Checklist74k—~430Automated safety check: PassMIT
Control UI E2Eopenclaw/openclaw392k—~2.9kAutomated safety check: PassMIT
RenderLeoYeAI/openclaw-master-skills2.2k—~4.8kAutomated safety check: PassMIT
Retina Displaythedaviddias/Front-End-Checklist74k—~388Automated safety check: PassMIT

Similar skills

  • Control UI

    openclaw/openclaw

    Operate and troubleshoot the OpenClaw Control UI: navigate connected clients, organize sessions, build session dashboards, and handle direct or Tailscale-hosted Gateways.

    392k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Render Blocking

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing slow page loads, heavy assets, or rendering delays related to Eliminate render-blocking resources.

    74k GitHub stars~430 tokensUpdated 4 days ago
    Frontend & DesignAuto-check passed
  • Control UI E2E

    openclaw/openclaw

    A skill your agent uses when designing, testing, fixing, or extending the OpenClaw Control UI GUI, including UI stress-test galleries with feedback inputs, Vitest + Playwright end-to-end checks…

    392k GitHub stars~2.9k tokensUpdated today
    Testing & QAAuto-check passed
  • Render

    LeoYeAI/openclaw-master-skills

    Deploy and operate apps on Render (Blueprint + one-click Dashboard deeplink, same flow as Codex render-deploy).

    2.2k GitHub stars~4.8k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Retina Display

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing image assets, markup, and CDN or build transforms related to Support high-DPI retina displays.

    74k GitHub stars~388 tokensUpdated 4 days ago
    Auto-check passed
  • Markdown Rendering

    sickn33/agentic-awesome-skills

    Open Markdown reliably in cmux panes and recover from blank rendered surfaces.

    47k GitHub starsUsed in 1 repo~751 tokens
    Documents & OfficeAuto-check passed

More from OrchardCMS/OrchardCore

All 17 skills in this repo
  • Orchardcore Video Producer

    OrchardCMS/OrchardCore

    Produces narrated Orchard Core videos (feature walkthroughs, module overviews, pull request demos) with one unified look and specification - 1080p, Orchard Core logo, colors and fonts, the same…

    8.2k GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Orchardcore Admin Edit Views

    OrchardCMS/OrchardCore

    Creates and updates OrchardCore admin edit views using the ocat- CSS class conventions.

    8.2k GitHub stars~3.7k tokensUpdated yesterday
    Auto-check passed
  • Orchardcore Asset Manager

    OrchardCMS/OrchardCore

    Builds, watches, and manages frontend assets in OrchardCore.

    8.2k GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Orchardcore Data Migration

    OrchardCMS/OrchardCore

    Creates and updates OrchardCore data migrations (DataMigration classes with CreateAsync/UpdateFromX).

    8.2k GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Orchardcore Docs Writer

    OrchardCMS/OrchardCore

    Authors OrchardCore documentation — MkDocs Material pages, module README docs, nav entries, admonitions, tabbed content, and redirects.

    8.2k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Orchardcore Localization

    OrchardCMS/OrchardCore

    Localizes OrchardCore apps — UI strings (IStringLocalizer/IViewLocalizer S, T, H), PO files and pluralization, content translation (LocalizationPart, culture picker), and supported-culture…

    8.2k GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed

Questions about Orchardcore Display Management

What does Orchardcore Display Management do?

Controls how OrchardCore renders content — placement.json rules, display drivers, shapes, zones, alternates, and editor groupings (tabs/cards/columns). Orchardcore Display Management is an agent skill from OrchardCMS/OrchardCore.json rules, display drivers, shapes, zones, alternates, and editor groupings (tabs/cards/columns).

When should I use Orchardcore Display Management?

Orchardcore Display Management fits situations like: the user needs to position; hide a part/field; move a shape to another zone; build admin editor layouts.

How do I install Orchardcore Display Management in Claude Code?

Run `npx skills add OrchardCMS/OrchardCore --skill orchardcore-display-management -a claude-code`. Or copy the skill folder (.agents/skills/orchardcore-display-management in OrchardCMS/OrchardCore) into .claude/skills/orchardcore-display-management in your project. Claude Code loads it when a task matches its description.

How do I install Orchardcore Display Management in Codex?

Run `npx skills add OrchardCMS/OrchardCore --skill orchardcore-display-management -a codex`. Or copy the skill folder (.agents/skills/orchardcore-display-management in OrchardCMS/OrchardCore) into .agents/skills/orchardcore-display-management in your project. Codex loads it when a task matches its description.

Can I use Orchardcore Display Management in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OrchardCMS/OrchardCore --skill orchardcore-display-management -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/orchardcore-display-management, .gemini/skills/orchardcore-display-management, .github/skills/orchardcore-display-management and .opencode/skills/orchardcore-display-management in your project.

What does Orchardcore Display Management need to run?

SKILL.md names no scripts, command-line tools or credentials: Orchardcore Display Management is instructions for the agent only.

Does Orchardcore Display Management access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Orchardcore Display Management safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Orchardcore Display Management use?

Orchardcore Display Management is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Orchardcore Display Management use?

About 1.8k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.6k tokens, read only when the agent opens those files.

What are the alternatives to Orchardcore Display Management?

Skills that share tags, products or a category with Orchardcore Display Management: Control UI (openclaw/openclaw, 392k stars), Render Blocking (thedaviddias/Front-End-Checklist, 74k stars), Control UI E2E (openclaw/openclaw, 392k stars) and Render (LeoYeAI/openclaw-master-skills, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Orchardcore Display Management?

OrchardCMS (a GitHub organization) maintains it in OrchardCMS/OrchardCore, which has 8,193 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 10, 2026.

Source: OrchardCMS/OrchardCore on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.