sitecore-pipelines

Implements C# processors wired into Sitecore's XML-configured CorePipeline engine.

Updated Jul 24, 2026
One-click install
npx skills add https://github.com/gweone/agent-plugins --skill sitecore-pipelines-gweone
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sitecore-pipelines
Source: https://github.com/gweone/agent-plugins/tree/main/plugin/sharpps-sitecore/skills/sitecore-pipelines
Command: npx skills add https://github.com/gweone/agent-plugins --skill sitecore-pipelines-gweone

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Extending Sitecore's native pipeline engine requires knowing how to patch processors into built-in pipelines, define custom named pipelines, and bind config values to processor properties — patterns that are easy to get wrong without verified reference implementations. ## Core Features & Use Cases - Extend Built-in Pipelines: Patch C# processors into existing Sitecore pipelines (initialize, owin.initialize, httpRequestProcessed, mvc.*) using patch:before/patch:after XML positioning. - Define Custom Pipelines: Create brand-new named pipelines invoked via CorePipeline.Run, either as flat dotted names or domain-scoped groups for per-feature isolation. - Supporting Conventions: Covers config-binding rules (hint="list", hint="raw:AddPropertyMap"), an ambient DI/logging args base pattern, a scoped-logging leading processor, and the standard App_Config/Include/{Feature|Foundation}/{SolutionName}/ config location. - Use Case: When adding a SAML2 authentication flow to a Sitecore solution, use this Skill to define a domain-scoped pipeline group with command and session sub-pipelines, chained processors, and an example config shipped inert until environment values are filled in. ## Quick Start Use the sitecore-pipelines skill to add a new processor to the httpRequestProcessed pipeline with the correct config patch and file location.

Frequently Asked Questions about sitecore-pipelines

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a processor to a Sitecore pipeline?

Subclass the matching Sitecore base processor (e.g. HttpRequestProcessor) and patch it into the pipeline via XML config using patch:before or patch:after positioning. No DI registration is needed — the config patch itself is the registration.

How to create a custom pipeline in Sitecore with CorePipeline.Run?

Register any name under <sitecore><pipelines> in config, then invoke it with CorePipeline.Run(name, args). For per-feature isolation, wrap sub-pipelines in a <group groupName="X"> element and pass the group name as the third domain argument.

How does Sitecore bind XML config values to processor properties?

Sitecore's reflection-based binder sets every public settable property from a same-named XML child element before Process runs. Collection properties need hint="list" with repeated elements; dictionary properties need hint="raw:AddPropertyMap" with a custom Add method.

Where should a Sitecore pipeline config file be placed?

Place new module configs at App_Config/Include/{Feature|Foundation}/{SolutionName}/<ModuleName>.config, matching the module's Helix layer. Ship as .config.example when environment-specific values like certificates or paths must be filled in before activation.

Does a Sitecore pipeline processor require a base class or interface?

No — CorePipeline.Run only requires a class with a Process(TArgs) method reachable by reflection. A processor with no base class works, which leaves args classes free to carry ambient DI scope and logger references via a custom shared base.