Individual skill

orchardcore-contents-admin-list-filters

Skill for adding custom filters to the Orchard Core content items admin list. Covers IContentsAdminListFilterProvider search terms, ContentsAdminListFilterOptions default terms per content type or stereotype and exact match, scoping the list to several content types or stereotypes with the contentTypeId and stereotype query string values, and documenting filters in the redesigned Available Filters dialog with a DisplayDriver<ContentOptionsViewModel> Thumbnail card. Use this skill when requests mention custom content admin list filters, IContentsAdminListFilterProvider, QueryEngineBuilder<ContentItem>, WithNamedTerm, WithDefaultTerm, ContentsAdminListFilterOptions, DefaultTermNames, UseExactMatch, the Filter syntax dialog, ContentOptionsViewModel filter cards, ContentsAdminFilters Thumbnail views, upgrading filter cards to Orchard Core 4.0, or closely related content admin list search work. Strong matches include OrchardCore.Contents, ContentsAdminList, and ContentsAdminFilters-*.Thumbnail.cshtml.

src/CrestApps.AgentSkills/orchardcore/orchardcore-contents-admin-list-filters/SKILL.md

Read pinned source

Source commit d86d04f234b1b2bd8145368a2544490f9d557596

What was checked

Matches the observed repository HEAD
Yes
Scanner rules are current
Yes
Repository scan complete
No
Skill scan complete
Yes
Observed behavior
Instructions only
Last checked
Nov 6, 2026

These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.

Install this skill

Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.

An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.

Repository context

Repository stars (not skill ratings)
13
Repository last updated
Oct 21, 2026
License
MIT

Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.

Files and excerpt

File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.

Browse files
Read excerpt

# Orchard Core Content Items Admin List Filters

## Add a custom filter to the content items admin list

You are an Orchard Core expert. The content items admin list (**Content → Content Items**) has a search box that parses tokens such as `text:`, `type:`, `status:`, and `sort:`. Add your own token by implementing a filter provider, then document it for end users by adding a card to the **Available Filters** dialog. These are two independent extension points: the filter **logic** and the filter **card**. A filter still works without a card, but users will not discover it; a card without a matching provider documents a filter that does nothing.

### Guidelines

- Enable `OrchardCore.Contents`. The content items admin list ships with this feature.
- Implement `IContentsAdminListFilterProvider` to add searchable terms; register it with `services.AddScoped<IContentsAdminListFilterProvider, T>()`.
- Build terms against `QueryEngineBuilder<ContentItem>`. Filter against a YesSql index (`ContentItemIndex` or a custom index), not against materialized content items.
[Credential-related source omitted]
- Use `OneCondition` for a term that accepts a single value (the `fa-minus`/**Single** icon). Use `ManyCondition` for a term that supports the `AND`, `OR`, and `NOT` operators and groups (the `fa-bars`/**Multiple** icon), and supply both the matching and the negated predicate.
- Bare text is routed to the default term, `text` (`ContentsAdminListFilterOptions.DefaultTermName`). To route bare text to another term when the list is scoped to a content type or stereotype, map it in `ContentsAdminListFilterOptions.DefaultTermNames` (a dictionary keyed by content type or stereotype name, valued by term name). Mark that term's card with the `fa-check`/**Default** icon.