@cratis/pi 7.121.0 → 7.122.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/package/corpus/harnesses/copilot/instructions/authoring-skills.instructions.md +6 -4
  2. package/package/corpus/harnesses/copilot/instructions/review-reports.instructions.md +14 -3
  3. package/package/corpus/rules/authoring-skills.md +6 -4
  4. package/package/corpus/rules/review-reports.md +14 -3
  5. package/package/corpus/skills/analyzing-dotnet-performance/SKILL.md +1 -1
  6. package/package/corpus/skills/binlog-generation/SKILL.md +1 -1
  7. package/package/corpus/skills/check-bin-obj-clash/SKILL.md +1 -1
  8. package/package/corpus/skills/coverage-analysis/SKILL.md +1 -1
  9. package/package/corpus/skills/cratis-application-react-specifications/SKILL.md +1 -1
  10. package/package/corpus/skills/cratis-application-slice-conformance/SKILL.md +1 -1
  11. package/package/corpus/skills/cratis-application-slice-specifications/SKILL.md +1 -1
  12. package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/SKILL.md +1 -1
  13. package/package/corpus/skills/cratis-arc-command/SKILL.md +1 -1
  14. package/package/corpus/skills/cratis-arc-command-execution/SKILL.md +1 -1
  15. package/package/corpus/skills/cratis-arc-command-kotlin/SKILL.md +1 -1
  16. package/package/corpus/skills/cratis-arc-command-operation/SKILL.md +1 -1
  17. package/package/corpus/skills/cratis-arc-command-typescript/SKILL.md +3 -1
  18. package/package/corpus/skills/cratis-arc-command-validation/SKILL.md +1 -1
  19. package/package/corpus/skills/cratis-arc-ef-core-migration/SKILL.md +1 -1
  20. package/package/corpus/skills/cratis-arc-go/SKILL.md +1 -1
  21. package/package/corpus/skills/cratis-arc-hosting/SKILL.md +1 -1
  22. package/package/corpus/skills/cratis-arc-identity-and-tenancy-kotlin/SKILL.md +1 -1
  23. package/package/corpus/skills/cratis-arc-observable-query-http/SKILL.md +1 -1
  24. package/package/corpus/skills/cratis-arc-query-kotlin/SKILL.md +1 -1
  25. package/package/corpus/skills/cratis-arc-query-paging/SKILL.md +1 -1
  26. package/package/corpus/skills/cratis-arc-query-typescript/SKILL.md +1 -1
  27. package/package/corpus/skills/cratis-arc-react-page/SKILL.md +1 -1
  28. package/package/corpus/skills/cratis-arc-spring-data-kotlin/SKILL.md +1 -1
  29. package/package/corpus/skills/cratis-arc-testing-kotlin/SKILL.md +1 -1
  30. package/package/corpus/skills/cratis-arc-validation-kotlin/SKILL.md +1 -1
  31. package/package/corpus/skills/cratis-arc-validation-typescript/SKILL.md +1 -1
  32. package/package/corpus/skills/cratis-chronicle-cli-operations/SKILL.md +1 -1
  33. package/package/corpus/skills/cratis-chronicle-client-dotnet/SKILL.md +1 -1
  34. package/package/corpus/skills/cratis-chronicle-client-elixir/SKILL.md +1 -1
  35. package/package/corpus/skills/cratis-chronicle-client-go/SKILL.md +1 -1
  36. package/package/corpus/skills/cratis-chronicle-client-kotlin/SKILL.md +1 -1
  37. package/package/corpus/skills/cratis-chronicle-client-typescript/SKILL.md +1 -1
  38. package/package/corpus/skills/cratis-chronicle-compliance/SKILL.md +1 -1
  39. package/package/corpus/skills/cratis-chronicle-decision-reads/SKILL.md +1 -1
  40. package/package/corpus/skills/cratis-chronicle-event-constraints/SKILL.md +1 -1
  41. package/package/corpus/skills/cratis-chronicle-event-modeling/SKILL.md +1 -1
  42. package/package/corpus/skills/cratis-chronicle-event-specifications/SKILL.md +1 -1
  43. package/package/corpus/skills/cratis-chronicle-event-type-migration/SKILL.md +1 -1
  44. package/package/corpus/skills/cratis-chronicle-hosting/SKILL.md +1 -1
  45. package/package/corpus/skills/cratis-chronicle-mcp-inspection/SKILL.md +1 -1
  46. package/package/corpus/skills/cratis-chronicle-multi-tenancy/SKILL.md +1 -1
  47. package/package/corpus/skills/cratis-chronicle-projection/SKILL.md +1 -1
  48. package/package/corpus/skills/cratis-chronicle-reactor/SKILL.md +1 -1
  49. package/package/corpus/skills/cratis-chronicle-read-model/SKILL.md +1 -1
  50. package/package/corpus/skills/cratis-chronicle-read-model-specifications/SKILL.md +1 -1
  51. package/package/corpus/skills/cratis-chronicle-reducer/SKILL.md +1 -1
  52. package/package/corpus/skills/cratis-chronicle-web-workbench/SKILL.md +1 -1
  53. package/package/corpus/skills/cratis-ci-pipeline-performance/SKILL.md +1 -1
  54. package/package/corpus/skills/cratis-cli-terminal-workbench/SKILL.md +1 -1
  55. package/package/corpus/skills/cratis-code-review/SKILL.md +1 -1
  56. package/package/corpus/skills/cratis-commits-and-pull-requests/SKILL.md +1 -1
  57. package/package/corpus/skills/cratis-components-accessibility/SKILL.md +1 -1
  58. package/package/corpus/skills/cratis-components-common-controls/SKILL.md +1 -1
  59. package/package/corpus/skills/cratis-components-data-surfaces/SKILL.md +1 -1
  60. package/package/corpus/skills/cratis-components-schema-editor/SKILL.md +1 -1
  61. package/package/corpus/skills/cratis-components-stepper-command-dialog/SKILL.md +1 -1
  62. package/package/corpus/skills/cratis-components-styling/SKILL.md +1 -1
  63. package/package/corpus/skills/cratis-components-toolbar/SKILL.md +1 -1
  64. package/package/corpus/skills/cratis-content-length/SKILL.md +1 -1
  65. package/package/corpus/skills/cratis-developer-marketing/SKILL.md +1 -1
  66. package/package/corpus/skills/cratis-discoverability/SKILL.md +1 -1
  67. package/package/corpus/skills/cratis-documentation-writing/SKILL.md +1 -1
  68. package/package/corpus/skills/cratis-engineering-ci-gates/SKILL.md +1 -1
  69. package/package/corpus/skills/cratis-engineering-consolidation-guard/SKILL.md +1 -1
  70. package/package/corpus/skills/cratis-engineering-csharp-conventions/SKILL.md +1 -1
  71. package/package/corpus/skills/cratis-engineering-decision-record/SKILL.md +1 -1
  72. package/package/corpus/skills/cratis-engineering-docs-authoring/SKILL.md +1 -1
  73. package/package/corpus/skills/cratis-engineering-effect-boundaries/SKILL.md +1 -1
  74. package/package/corpus/skills/cratis-engineering-issue-hygiene/SKILL.md +1 -1
  75. package/package/corpus/skills/cratis-engineering-local-cross-repo-verification/SKILL.md +1 -1
  76. package/package/corpus/skills/cratis-engineering-regression-cluster/SKILL.md +1 -1
  77. package/package/corpus/skills/cratis-engineering-release-trains/SKILL.md +1 -1
  78. package/package/corpus/skills/cratis-engineering-review-rounds/NOTICE +31 -0
  79. package/package/corpus/skills/cratis-engineering-review-rounds/SKILL.md +39 -6
  80. package/package/corpus/skills/cratis-event-model-diagram/SKILL.md +1 -1
  81. package/package/corpus/skills/cratis-fundamentals-concept/SKILL.md +1 -1
  82. package/package/corpus/skills/cratis-fundamentals-concept-go/SKILL.md +1 -1
  83. package/package/corpus/skills/cratis-fundamentals-telemetry/SKILL.md +1 -1
  84. package/package/corpus/skills/cratis-fundamentals-type-discovery/SKILL.md +1 -1
  85. package/package/corpus/skills/cratis-governed-release-methodology/SKILL.md +1 -1
  86. package/package/corpus/skills/cratis-lens-browser-extension/SKILL.md +1 -1
  87. package/package/corpus/skills/cratis-llm-friendly-documentation/SKILL.md +1 -1
  88. package/package/corpus/skills/cratis-multi-service-architecture/SKILL.md +1 -1
  89. package/package/corpus/skills/cratis-multi-service-local-orchestration/SKILL.md +1 -1
  90. package/package/corpus/skills/cratis-orchestration-lanes/SKILL.md +1 -1
  91. package/package/corpus/skills/cratis-orchestration-merge-gates/SKILL.md +1 -1
  92. package/package/corpus/skills/cratis-orleans-jobs/SKILL.md +1 -1
  93. package/package/corpus/skills/cratis-performance-review/SKILL.md +1 -1
  94. package/package/corpus/skills/cratis-release-notes/SKILL.md +1 -1
  95. package/package/corpus/skills/cratis-rtk/SKILL.md +1 -1
  96. package/package/corpus/skills/cratis-screenplay-automations-and-translations/SKILL.md +1 -1
  97. package/package/corpus/skills/cratis-screenplay-captures-and-reactions/SKILL.md +1 -1
  98. package/package/corpus/skills/cratis-screenplay-command-surface/SKILL.md +1 -1
  99. package/package/corpus/skills/cratis-screenplay-delivery-planning/SKILL.md +1 -1
  100. package/package/corpus/skills/cratis-screenplay-discovery/SKILL.md +1 -1
  101. package/package/corpus/skills/cratis-screenplay-event-modeling/SKILL.md +1 -1
  102. package/package/corpus/skills/cratis-screenplay-legacy-extraction/SKILL.md +1 -1
  103. package/package/corpus/skills/cratis-screenplay-model-authoring/SKILL.md +1 -1
  104. package/package/corpus/skills/cratis-screenplay-model-review/SKILL.md +3 -3
  105. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/SKILL.md +1 -1
  106. package/package/corpus/skills/cratis-screenplay-projections/SKILL.md +1 -1
  107. package/package/corpus/skills/cratis-screenplay-read-surface/SKILL.md +1 -1
  108. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/SKILL.md +1 -1
  109. package/package/corpus/skills/cratis-screenplay-scenario-coverage/SKILL.md +1 -1
  110. package/package/corpus/skills/cratis-screenplay-slice-design/SKILL.md +1 -1
  111. package/package/corpus/skills/cratis-screenplay-specifications/SKILL.md +1 -1
  112. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/SKILL.md +1 -1
  113. package/package/corpus/skills/cratis-screenplay-toolchain/SKILL.md +1 -1
  114. package/package/corpus/skills/cratis-screenplay-ui-composition/SKILL.md +6 -3
  115. package/package/corpus/skills/cratis-security-review/SKILL.md +1 -1
  116. package/package/corpus/skills/cratis-social-feed-post/SKILL.md +1 -1
  117. package/package/corpus/skills/cratis-specification-by-example/SKILL.md +1 -1
  118. package/package/corpus/skills/cratis-specifications-csharp/SKILL.md +1 -1
  119. package/package/corpus/skills/cratis-specifications-typescript/SKILL.md +1 -1
  120. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/SKILL.md +1 -1
  121. package/package/corpus/skills/cratis-studio-mcp-safety-guidance/SKILL.md +1 -1
  122. package/package/corpus/skills/cratis-technical-examples/SKILL.md +1 -1
  123. package/package/corpus/skills/cratis-writing-voice-and-cadence/SKILL.md +1 -1
  124. package/package/corpus/skills/csharp-refactoring/SKILL.md +1 -1
  125. package/package/corpus/skills/directory-build-organization/SKILL.md +1 -1
  126. package/package/corpus/skills/dotnet-aot-compat/SKILL.md +1 -1
  127. package/package/corpus/skills/dotnet-trace-collect/SKILL.md +1 -1
  128. package/package/corpus/skills/dump-collect/SKILL.md +1 -1
  129. package/package/corpus/skills/eliminate-redundant-restores/SKILL.md +1 -1
  130. package/package/corpus/skills/extension-points/SKILL.md +1 -1
  131. package/package/corpus/skills/filter-syntax/SKILL.md +1 -1
  132. package/package/corpus/skills/guiding-refactoring-with-code-health/SKILL.md +1 -1
  133. package/package/corpus/skills/including-generated-files/SKILL.md +1 -1
  134. package/package/corpus/skills/microbenchmarking/SKILL.md +1 -1
  135. package/package/corpus/skills/msbuild/SKILL.md +1 -1
  136. package/package/corpus/skills/orleans/SKILL.md +1 -1
  137. package/package/corpus/skills/platform-detection/SKILL.md +1 -1
  138. package/package/corpus/skills/profiling/SKILL.md +1 -1
  139. package/package/corpus/skills/run-tests/SKILL.md +1 -1
  140. package/package/corpus/skills/safeguarding-ai-generated-code/SKILL.md +1 -1
  141. package/package/corpus/skills/target-authoring/SKILL.md +1 -1
  142. package/package/corpus/skills/vectorization/SKILL.md +1 -1
  143. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-automations-and-translations
3
- description: "Model Screenplay Automation and Translate slices: when a reaction is warranted, todo-list work queues, produces versus invokes, the trusted actor behind caller-less invokes, termination, clock and trigger occurrences, outside facts via capture with correlation, dedup and enrich/ignore/infer, recovery ownership, and what once-only does not prove about external effects. Use when a model has or needs 'when X happens then ...', schedules, work queues, webhooks, API polls, message feeds or imported events. Not for: reaction, trigger or capture grammar (use `cratis-screenplay-captures-and-reactions`)."
3
+ description: Use when deciding Screenplay event-driven work, schedules, queues or translation of outside facts and their recovery guarantees. Not for reaction, trigger or capture grammar alone; use cratis-screenplay-captures-and-reactions.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-captures-and-reactions
3
- description: Model the reactive edges of a Cratis Screenplay `.play` model — `capture` in the Change Data Capture Language for turning external data into events, and `reaction` plus `trigger` for work that runs when something happens, on a schedule, or on an integration signal. Use when integrating an external system, translating outside data into events, or declaring automatic follow-up work in a `.play` model. Do not use for commands, projections or screens.
3
+ description: Use when writing Screenplay capture, reaction or trigger syntax for outside facts and automatic follow-up work. Not for deciding integration guarantees or declaring commands, projections and screens.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-command-surface
3
- description: Write the write side of a Cratis Screenplay `.play` model — the `command` block and its `identifier`, `reads`, `validate`, `authorize`, `produces`, `handler` and `concurrency` clauses, plus `event`, `constraint`, `policy`, `persona`, `concept`, `type` and `seed`. Use when declaring or changing a command, an event shape, a validation or authorization rule, an append-time constraint, or a strongly-typed value in Screenplay. Do not use for projections, queries, screens, captures or reactions.
3
+ description: Use when writing Screenplay command, event, constraint, authorization or strongly-typed value syntax. Not for deciding stream boundaries or declaring queries, screens, projections and reactive edges.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-delivery-planning
3
- description: "Plan and estimate the delivery of an accepted Screenplay model by slices: count slices by type (StateChange, StateView, Automation, Translate), derive the slice dependency table from the model, split work in parallel along event contracts, track slice groups as GitHub issues with a closed status vocabulary, and turn the team's own completed-slice history into ranged estimates, capacity math and retrospective metrics. Use when asked how long a modeled scope will take, how to split it across people or agents, what to build first, or how to track and re-plan delivery. Not for: deciding what to model (use `cratis-screenplay-event-modeling`), rendering or gap-filling a slice (use `cratis-screenplay-render-and-gap-fill`), or reviewing the model (use `cratis-screenplay-model-review`)."
3
+ description: Use when estimating an accepted Screenplay scope, ordering slice dependencies or dividing and tracking delivery across people or agents. Not for deciding model behavior, reviewing the model or rendering individual slices.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-discovery
3
- description: "Discover a domain and its event timeline by interview and live storming, landing results directly in `.play` as modules, personas with Does/Reads/Cannot, features and past-tense events with essential fields, in story order, with branches, way-outs and endings named. Use when starting a model, exploring a workflow, supporting a human workshop, or turning notes, tickets or documents into events. Not for: command or read-model design (use `cratis-screenplay-slice-design`), reviewing a finished model (use `cratis-screenplay-model-review`), or reverse-engineering code (use `cratis-screenplay-legacy-extraction`)."
3
+ description: Use when discovering a domain's event timeline from interviews, workshops or process documents for a .play model. Not for command and view design, finished-model review or extracting behavior from existing code.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-event-modeling
3
- description: "Entry point and router for model-first Cratis work: the short decision rule (model, or code), the nine-step workflow per behavior, the four slice types, the Cratis divergences from the generic method, the quick validation gate, file layout and what parsed-but-not-runnable means, then the phase skill to load next. Use when designing an information system, mapping a business process or information flow, deciding the event vocabulary or stream boundaries, turning a whiteboard model into `.play`, or when a request may change behavior in an application with a Screenplay model. Not for: Screenplay syntax and the compiler alone (use `cratis-screenplay-toolchain`), the lifecycle, verdicts and handoffs (use `cratis-screenplay-modeling-lifecycle`), or rendering a settled model (use `cratis-screenplay-render-and-gap-fill`)."
3
+ description: Use when starting a Screenplay modeling task, mapping a business process or deciding where a modeled behavior change enters the workflow. Not for syntax-only questions, lifecycle verdicts or rendering a settled model.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-legacy-extraction
3
- description: "Turn an existing system into an evidence-backed, intentional Screenplay `.play` model: interview and freeze agreement, provider-coverage inventory, `cratis screenplay generate`, approval-gated Prologue capture and interpret, bounded UI walks, targeted code reads, an evidence table with exact path:start-end locators that keeps unknowns, keep / change / remove decisions, re-slicing by business decision, a loss report and expert verification. Use for brownfield understanding, documentation or migration. Not for: greenfield modeling (use `cratis-screenplay-discovery`), reviewing the candidate (use `cratis-screenplay-model-review`), running Chronicle systems (use `cratis-chronicle-cli-operations`)."
3
+ description: Use when understanding an inherited system or deriving a candidate Screenplay model for brownfield documentation or migration. Not for greenfield discovery, reviewing the candidate or diagnosing a live Chronicle store.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-model-authoring
3
- description: Author, inspect, refactor and verify a Cratis Screenplay .play model through its typed AST and MCP workspace tools. Use for creating or changing model elements, navigating large split models, reviewing references/specifications, revision-checked screen/UI authoring proposals, or distinguishing source validity from executable/runtime readiness. Do not use for rendering a model into an application or hand-written Arc/Chronicle code.
3
+ description: Use when inspecting or changing Screenplay model elements through typed AST proposals, navigating split models or recovering workspace state. Not for rendering the model or writing Arc and Chronicle application code.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-model-review
3
- description: "Critic-mode review of a Cratis Screenplay .play model, candidate, proposal or edit request: verdict evidence, element sweep, entity walk, field lineage, an 89-check phased checklist, anti-pattern signals, event-sourcing correctness and a PASS / PASS WITH WARNINGS / FAIL report pinned to declarations, plus a business-question pass and a read-only walkthrough that explains a feature or a planned change slice by slice. Use to review, audit, self-check or explain a model before acceptance or rendering. Never edits the model. Not for: writing the missing specifications (use `cratis-screenplay-scenario-coverage`), changing the model (use `cratis-screenplay-model-authoring`)."
3
+ description: Use when reviewing, auditing, self-checking or explaining a Screenplay model or proposal read-only before acceptance or rendering. Not for editing the model, adding missing scenarios or reviewing rendered code.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -58,7 +58,7 @@ model's behalf.
58
58
  payload or generic verb is a signal to investigate: report it only when the name or payload
59
59
  hides the business reason or a consequence is shown (distinct facts that share a shape and
60
60
  earlier generations are not findings). A description, comment or spec name never excuses a flagged line.
61
- 4. **Entity walk** (phase 2). Per kind of event source write the first fact, the allowed and the
61
+ 4. **Entity walk** (phase 2). Perform an entity walk per kind of event source: write the first fact, the allowed and the
62
62
  refused state changes, the final states; then walk cancel, fail, correct and expire paths. Each
63
63
  refused change needs a `then error` spec; each command missing from the table is investigated.
64
64
  5. **Lineage and completeness** (phase 3). Backward: every read-model field to an event field,
@@ -167,7 +167,7 @@ P5 uses a fresh reviewer who authored nothing in scope; record reviewer/author m
167
167
  The review is complete when every phase of the checklist has a status for every check, every
168
168
  sweep `NONE` and field-copy line is a finding or has a written domain reason, all five verdict
169
169
  lines are present (result or "not run: reason"), the three final questions are answered, and the
170
- verdict follows the rules in `references/report-template.md`.
170
+ verdict follows the rules in `references/report-template.md`: PASS, PASS WITH WARNINGS or FAIL.
171
171
 
172
172
  ## Verify
173
173
  - Every finding has severity, kind, address and file:line, rule (with tier), consequence and fix;
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-modeling-lifecycle
3
- description: "Model first: load before any Cratis application work where a Screenplay `.play` model is, or should become, the source of truth. Holds the model-first decision rule, modes, independent verdicts V1-V5, the P0-P9 phases with Input / Carry-forward / Gate, stop-or-assume, identity ownership, approvals, untrusted content, session state and handoffs, then routes to ONE phase skill. Not for: Screenplay syntax or the compiler (use `cratis-screenplay-toolchain`), a single construct (use the `cratis-screenplay-*` construct skills), or Chronicle runtime diagnosis (use `cratis-chronicle-cli-operations`)."
3
+ description: Use before application work to determine model-first obligations, or when selecting a Screenplay phase, verdict, approval or handoff. Not for construct syntax alone or Chronicle runtime diagnosis.
4
4
  license: MIT
5
5
  metadata:
6
6
  cratis-hint-paths: "**/*.play"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-projections
3
- description: Build a Cratis Screenplay read model with the Projection Declaration Language (PDL) — keys, `from`/`every`/`all`, property mapping and AutoMap, joins, children and nested objects, removal, arithmetic counters, and the reducer escape hatch. Use when declaring or changing how events become read-model state in a `.play` model, or when a projection does not populate what was expected. Use `cratis-chronicle-projection` instead for hand-written C# Chronicle projections.
3
+ description: Use when declaring Screenplay event-to-state mappings or diagnosing a .play projection's keys, joins, children or lifecycle variants. Not for hand-written C# Chronicle projections or read-model query contracts.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-read-surface
3
- description: Declare the read side of a Cratis Screenplay `.play` model — the `readmodel` shape, `query` with `by`/`filter`/`scoped to`/`observable`/`performer`, and `screen` at its three levels of detail, including the data/action contract that later component bindings, templates, forms, toolbars, routes and outlets consume. Use when adding or changing a query, a read-model shape, or a screen in a `.play` model, or when deciding what a caller may narrow a result by. Do not use for how events fill the read model, and do not use for layouts, templates or forms.
3
+ description: Use when writing Screenplay read-model shapes, query filtering or screen data and action contracts. Not for event-to-state mappings or component layouts, templates and forms.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-render-and-gap-fill
3
- description: "Deliver an accepted Screenplay `.play` model as code: probe whether `cratis render` admits the whole model, publish, then report admission, publication, Debug build and Debug tests as separate results mapped to the generated specification classes; triage model fix versus capability gap; bounded `Customizations/` adapters; drift by manifest revision; and hand non-renderable scope to `slice-implementer` with the model as the contract. Use when an accepted model must become running code, when asking whether a model renders, or after a model change. Not for: changing the model (use `cratis-screenplay-slice-design`), Stage internals (use `cratis-stage-rendering-and-sandbox`), or checking hand-written code against its slice (use `cratis-application-slice-conformance`)."
3
+ description: Use when probing whether an accepted Screenplay model renders, delivering admitted scope or triaging a renderer gap. Not for changing the model, Stage internals or auditing hand-written slice conformance.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-scenario-coverage
3
- description: "Decide and write Screenplay specifications for slices: a coverage matrix before drafting, every applicable scenario type per command (rules, denial, duplicates and retries, competing claims, ordering, external failure, compensation, evolution), view lifecycle specs per read model, shared example data, spec forms per mode, and a workshop guide for scenario sessions. Use when writing or auditing given/when/then in a `.play` model. Not for: spec grammar and comparison semantics (use `cratis-screenplay-specifications`), C# specs (use `cratis-specifications-csharp`)."
3
+ description: Use when deciding which Screenplay scenarios a slice needs or auditing its refusal, retry, race and view-lifecycle coverage. Not for specification grammar, comparison semantics or C# tests.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-slice-design
3
- description: "Shape Screenplay slices from a discovered timeline: commands with reachable, authorized origins and traced inputs, rules placed by layer, a per-command refusal inventory, events-vs-views decisions, read models per screen component with queries that follow the business view, Level-1 screens, field lineage, state-transition tables, slice dependencies and the next slice. Use when designing slices after discovery, adding a capability or deciding command inputs, rule placement, read-model shape or screen data. Not for: stream boundaries or invariants across streams (use `cratis-screenplay-streams-and-consistency`), reactions and captures (use `cratis-screenplay-automations-and-translations`), which scenarios to write (use `cratis-screenplay-scenario-coverage`), or auditing a finished model (use `cratis-screenplay-model-review`)."
3
+ description: Use when turning a discovered Screenplay timeline into commands, views and screens, or deciding inputs, refusal rules and field lineage. Not for stream identity, automation guarantees, scenario coverage or a finished-model audit.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-specifications
3
- description: Pin behavior in a Cratis Screenplay `.play` model with given/when/then `specification` blocks — prior events and read-model state, the caller, the command or appended event under test, expected events, read-model state, query results, rejections and denials, plus what the reference execution actually runs. Use when writing acceptance criteria for a slice, specifying a rejection or an authorization denial, or deciding whether a rule belongs in a specification or in the type system. Do not use for C# or TypeScript test code.
3
+ description: Use when writing Screenplay specification syntax or checking fixture, outcome-comparison, rejection and denial semantics. Not for choosing scenario coverage or writing C# and TypeScript tests.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-streams-and-consistency
3
- description: "Decide Screenplay stream identity and consistency: one business identity per event source, where each invariant is enforced atomically, constraints versus recorded state-dependent rules, races, retries and dedup scope, event granularity, evolution (generations, id pins, new events) and module or team boundaries. Use for identifier/for, constraints, splitting streams or modules, ownership of interfaces, or changing persisted events. Not for: projection or query syntax (use `cratis-screenplay-projections`), reactions and captures (use `cratis-screenplay-automations-and-translations`)."
3
+ description: Use when deciding Screenplay stream identities, invariant boundaries, races, retry scope or persisted-event evolution. Not for projection syntax or choosing automation and capture behavior.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-toolchain
3
- description: "How to run and check Cratis Screenplay `.play` models: locating the model, choosing the standalone `screenplay` tool or the `cratis` CLI, the exact command behind each verdict V1 to V5 and what a pass looks like, the executable and renderable subsets, reading PLAY, STAGE and CLI-RENDER diagnostics, traps, and a compiled cheat-sheet. Use when choosing a compiler, running or reading a verdict, fixing a diagnostic, or deciding whether syntax binds or renders. Not for: what to model or the phase workflow (use `cratis-screenplay-modeling-lifecycle`), the MCP editing loop (use `cratis-screenplay-model-authoring`), rendering workflow (use `cratis-screenplay-render-and-gap-fill`)."
3
+ description: Use when selecting a Screenplay compiler, running verdict checks or interpreting PLAY, STAGE and CLI diagnostics. Not for modeling phase decisions, AST editing proposals or the end-to-end rendering workflow.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-screenplay-ui-composition
3
- description: Compose the user interface of a Cratis Screenplay `.play` model — `layout` and responsive `arrangement`, screen/dialog templates, component data-context bindings, exposed template configuration, command forms and columns, navigation contributions, application navigation regions (topbar/sidebar, module inherit/extend/override), toolbar slice buttons, blueprint template references, sample data packs, hierarchical outlets/routes, toolbar dialogs, package/icon selection, interaction `behavior`/`on`/`uses` wiring, `ui profile` (root template, shell options, appearance, new screens default), `theme`, localized `$strings`, and `file` references. Use when declaring the application shell, reusable screen shapes, component/package configuration, command forms, navigation/toolbars, click or submit behavior, or theming. Do not use for a screen's own data and actions.
3
+ description: Use when declaring Screenplay shells, reusable templates, forms, navigation, interaction wiring or themes. Not for a screen's own query data and action contract; use cratis-screenplay-read-surface.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -40,8 +40,8 @@ Every construct on this page is deferred from the executable model with
40
40
  information `PLAY0269`: it never blocks binding, and it is not evidence that a
41
41
  target renders it.
42
42
 
43
- The screens-release surface adds component data-context bindings, exposed template
44
- configuration, package/icon catalogs, manual form columns, hierarchical outlets,
43
+ The screens-release surface adds component data-context bindings,
44
+ exposed template configuration, package/icon catalogs, manual form columns, hierarchical outlets,
45
45
  routes, toolbars and dialog destinations, each with a separate support level
46
46
  (authoring accepted, executable admitted, runtime implemented). Discover the
47
47
  installed shape through MCP `syntax-schema`; details:
@@ -202,6 +202,9 @@ capability gap, never a flat-list fallback; Studio production proof is separate.
202
202
 
203
203
  ## The application shell: regions, slice buttons, blueprint references, sample data
204
204
 
205
+ This covers application navigation regions (topbar/sidebar, module inherit/extend/override)
206
+ and toolbar slice buttons alongside blueprint references and sample data.
207
+
205
208
  The shell's navigation is declared in the `layout` (`navigation topbar` / `navigation sidebar`, with `logo` and nested
206
209
  `item` lines) and each `module` states how it relates to a region: **inherit** (the default), **extend** (the
207
210
  application's items plus its own) or **override** (its own only). Toolbars gain `button <id> title "<text>" slice
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-security-review
3
- description: Perform a focused security review of changed code in a Cratis application — injection, authentication and authorization, data exposure, secrets, event-sourcing-specific exposure, and the frontend — and report findings by risk. Use when asked for a security review or audit. Do not use to implement authentication and do not report a policy preference as a framework contract.
3
+ description: Use when auditing a Cratis application change for security, especially permissions, untrusted input, secrets or permanent event-log exposure. Not for implementing authentication or general style review.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-social-feed-post
3
- description: Write or review a short post for a social feed such as LinkedIn, where only the opening shows before "see more", the body is plain text with no markup, posts lead with media that carries the Cratis mark, and formatting tricks cost accessibility. Use when drafting, adapting or reviewing a feed post, choosing its media, or adapting it for another channel. Do not use for documentation pages, release notes, long-form articles, or anything rendered as Markdown, and hand length, voice and distribution questions to their own skills.
3
+ description: Use when drafting, adapting or reviewing a short social-feed post or choosing its media. Not for documentation, release notes, long-form articles or Markdown content; length, voice and distribution have separate skills.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-specification-by-example
3
- description: Structure and name executable specifications the Cratis way — one behavior per specification, a for_/when_/and_ path that reads as an English sentence, layered given/ contexts, and an explicit decision about what is not worth specifying. Use when deciding how to organize, name, or scope specifications in any language. Do not use for language mechanics; route to the C# or TypeScript specification skill for those.
3
+ description: Use when deciding how to name, organize or scope Cratis executable specifications in any language. Not for C# or TypeScript fixture and assertion mechanics; use the language-specific sibling.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-specifications-csharp
3
- description: Write C# specifications with Cratis.Specifications using the Establish/Because/should_ pattern and the for_/when_/and_ folder hierarchy. Use when adding or restructuring C# specs in any Cratis repository, choosing between an isolated unit spec and an in-process scenario spec, or building reusable given/ contexts. Do not use for TypeScript or React specs, and do not use it to decide what a command, projection, or reactor should do.
3
+ description: Use when adding or restructuring C# specifications, choosing their fixture surface or extracting reusable contexts in a Cratis repository. Not for TypeScript tests or deciding production behavior.
4
4
  license: MIT
5
5
  metadata:
6
6
  cratis-hint-paths: "**/for_*/**/*.cs"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-specifications-typescript
3
- description: Write TypeScript specifications in the Cratis BDD style using the given() helper, reusable context classes, Sinon stubbing, and the Chai .should fluent interface. Use when adding or restructuring TypeScript specifications, building a given/ context class, or laying out a for_/when_ specification folder. Do not use for C# specifications, and do not use it to decide what the code under specification should do.
3
+ description: Use when adding or restructuring Cratis framework TypeScript specifications, given contexts or BDD folders. Not for C# tests, application React scenario selection or deciding production behavior.
4
4
  license: MIT
5
5
  metadata:
6
6
  cratis-hint-paths: "**/for_*/**/*.ts **/for_*/**/*.tsx"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-stage-rendering-and-sandbox
3
- description: "What Cratis Stage and `cratis render` do with a Screenplay `.play` model: the model shape Stage admits and refuses (`STAGE-ESM-*`, `PLAY0268` render refusals), what it emits (C# Arc/Chronicle backend, React/Vite scaffold with Arc `CommandForm` shell emission over Scene typed bindings, Debug specifications), managed publication, `--force`, recovery, scoped renders (`--scope`) and `--check`, authored-UI omission/parity checks, the unmanaged `Customizations/` seam, and the `cratis/stage` sandbox and `cratis/stage-specrunner` job. Use when deciding whether Stage can render a model, reading a blocked render, re-rendering safely, checking generated/runtime screen parity, or running the sandbox. Not for: authoring the model (use `cratis-screenplay-model-authoring`) or the render and gap-fill workflow (use `cratis-screenplay-render-and-gap-fill`)."
3
+ description: Use when diagnosing Stage admission or blocked renders, checking screen parity, re-rendering safely or running its sandbox. Not for model authoring or the accepted-model delivery workflow.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-studio-mcp-safety-guidance
3
- description: Classify Studio MCP requests and interpret already-redacted output without discovering or invoking operations. Use whenever a user asks an agent to inspect, query, change, navigate, or automate Studio through MCP, or asks whether a Studio MCP operation is safe. No Studio MCP implementation authority is admitted, so every operation remains evidence-blocked.
3
+ description: Use when classifying a Studio MCP request, interpreting already-redacted output or asking whether an operation is safe. Not for discovering, configuring or invoking Studio operations; their effects remain evidence-blocked.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-technical-examples
3
- description: Design and verify developer-facing code samples, tutorial projects, and documentation snippets against real Cratis APIs. Use when adding or reviewing a runnable example, multi-client snippet, sample app, command/output pair, or migration before/after code. Do not invent API shapes or treat rendering as a compilation check.
3
+ description: Use when adding or reviewing runnable Cratis examples, tutorial projects, multi-client snippets or command/output pairs. Not for page placement, release notes or treating rendering as compilation proof.
4
4
  license: MIT
5
5
  metadata:
6
6
  cratis-hint-paths: "**/Samples/**/*.{cs,ts,tsx}"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cratis-writing-voice-and-cadence
3
- description: Review and revise existing prose so it reads as written by a person, by finding overused constructions and stock phrasing in one piece and structural sameness across a batch, then fixing both with specifics instead of injected variety, without changing any technical claim. Flags are editing prompts and never a verdict on who wrote something. Use when reviewing or rewriting documentation, release notes, pull request descriptions, posts or reviews for voice. Do not use for technical accuracy review, original drafting, authorship detection, or as a reason to touch approved copy without authorization.
3
+ description: Use when revising existing prose for stock phrasing, voice or structural sameness across a batch. Not for original drafting, technical accuracy review, authorship detection or unauthorized edits to approved copy.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: csharp-refactoring
3
- description: 'Safely refactors C#/.NET code without changing behavior: rename, move, extract, inline, merge, consolidate, deduplicate, split, or modernize, including partial or generated declarations, public APIs, serialization and reflection names, friend assemblies, conditional compilation, and multi-targeted projects. Use when a request asks for a refactor, or calls a feature, bug fix, upgrade, or public nullability change a refactor and the behavior-changing part must be separated or declined. Not for ordinary feature or bug fixes, standalone framework or package upgrades, adding tests, or formatting-only work.'
3
+ description: Use when restructuring C# code without changing behavior or separating a requested refactor from behavioral changes. Not for ordinary features, bug fixes, dependency upgrades, test additions or formatting alone.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: directory-build-organization
3
- description: 'Organizes shared MSBuild policy across Directory.Build.props, Directory.Build.targets, Directory.Build.rsp, and Directory.Packages.props: centralizing repeated properties, targets, and package versions, hierarchy and import structure, props-versus-targets placement, and folder or project exceptions. Use when two or more projects repeat MSBuild policy, or an existing Directory.Build hierarchy has an import, placement, or layering defect, even if only one project is affected. Not for a one-project repo without a Directory.Build file, property value or condition semantics, legacy-to-SDK migration, or non-MSBuild systems.'
3
+ description: Use when projects repeat MSBuild policy or an existing Directory.Build hierarchy has import, placement or layering defects. Not for isolated property semantics, legacy migration or a lone project without shared build files.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: dotnet-aot-compat
3
- description: 'Makes .NET projects compatible with Native AOT and trimming by resolving IL trim and AOT analyzer warnings. Use when making a project AOT-compatible, fixing trimming warnings, resolving IL2026, IL2067, IL2070, IL2072, or IL3050, adding DynamicallyAccessedMembers annotations, or enabling IsAotCompatible. Not for publishing native AOT binaries, optimizing binary size, replacing reflection-heavy libraries, or .NET Framework projects.'
3
+ description: Use when resolving .NET trim or AOT analyzer warnings, annotating reflection or enabling IsAotCompatible. Not for native binary publication, size optimization, library replacement or .NET Framework.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: dotnet-trace-collect
3
- description: 'Guides capturing diagnostic artifacts to diagnose production .NET performance problems: choosing tools, collecting performance data, and understanding trade-offs across Windows and Linux, .NET Framework and modern .NET, and container and non-container environments. Use when the user needs help choosing a diagnostic tool or collecting performance data for a .NET process. Not for crash dumps (use dump-collect), repository-level profiling workflows (use profiling), or analyzing collected traces.'
3
+ description: Use when choosing a diagnostic tool or collecting .NET performance data for a particular runtime, OS or container environment. Not for trace analysis, crash dumps or a repository-wide profiling workflow.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: dump-collect
3
- description: 'Configures and collects crash dumps for modern .NET applications: enabling automatic crash dumps for CoreCLR or NativeAOT, capturing dumps from running processes, setting up collection in Docker or Kubernetes, and using dotnet-dump collect or createdump. Use when a crash dump must be enabled or captured. Not for analyzing or debugging dumps (lldb, windbg, dotnet-dump analyze), profiling or tracing (use dotnet-trace-collect), or .NET Framework processes.'
3
+ description: Use when enabling or capturing crash dumps for CoreCLR or NativeAOT, including container deployments. Not for opening or analyzing dumps, performance tracing or .NET Framework processes.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: eliminate-redundant-restores
3
- description: 'Removes repeated NuGet restores from multi-step .NET builds safely, including Directory.Build.rsp with -restore and safe restore suppression. Use when separate build, test, or publish steps each restore, or when NETSDK1004 or NETSDK1047 appears after --no-restore. Not for a slow first restore, a build with only one restore, version or lock-file errors, or general build slowness without a measured baseline (use the msbuild skill).'
3
+ description: Use when multiple .NET build steps repeat NuGet restore or suppressing restore causes NETSDK1004 or NETSDK1047. Not for a slow first restore, version conflicts, lock-file errors or general build slowness.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: extension-points
3
- description: 'Owns MSBuild import and hook discovery: CustomBefore and CustomAfter hooks, ordered wildcard and NuGet auto-imports, control properties, build and buildTransitive packed layout, package ID and file-name matching, per-TFM forwarders, and tracing why assets or hooks are missing, broken, or replaced. Use when imports or hooks do not run, run in the wrong order, or are overwritten. Not for a verdict on whether one Import needs an Exists guard (use the msbuild skill''s antipatterns reference), target Inputs/Outputs or incremental skipping (use target-authoring), or props-versus-targets placement (use directory-build-organization).'
3
+ description: Use when MSBuild imports or hooks are missing, ordered incorrectly or overwritten, including NuGet build assets. Not for a single Import guard, target incrementality or props-versus-targets placement.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: filter-syntax
3
- description: 'Reference-only filter syntax for VSTest and Microsoft Testing Platform (MTP) with MSTest, NUnit, xUnit v3, and TUnit. Use when run-tests needs to create or translate a test filter after the platform and framework are known. Not for unfiltered runs or platform detection (use platform-detection); loaded by run-tests, never invoked directly.'
3
+ description: Use when run-tests needs a filter translated after the .NET test platform and framework are known. Not for direct invocation, unfiltered runs or platform detection.
4
4
  license: MIT
5
5
  metadata:
6
6
  user-invocable: 'false'
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: guiding-refactoring-with-code-health
3
- description: Improve unhealthy code incrementally using measured Code Health feedback. Use when planning structural refactoring steps for complexity, size, cohesion or nesting and comparing each step with a baseline. Requires an opted-in cratis/codescene profile and available CodeScene MCP tools; otherwise skip. Do not use for a pre-commit change gate (use safeguarding-ai-generated-code) or portfolio debt ranking (use prioritizing-technical-debt).
3
+ description: Use when planning measured structural refactoring for complexity, size, cohesion or nesting in a CodeScene-enabled, opted-in repository. Not for pre-commit safeguards or portfolio debt ranking.
4
4
  license: Apache-2.0
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: including-generated-files
3
- description: 'Owns MSBuild generated-artifact integration: a target that creates source, Content, None, or another physical file that is missing from compilation or output, target timing, evaluation-time glob misses, IntermediateOutputPath placement, and FileWrites clean tracking. Use when a generated file is missing from the build even if the prompt does not name the producing task. Not for general Include/Remove/Update semantics, item metadata or batching, duplicate declarations, Roslyn source-generator internals, or non-MSBuild systems.'
3
+ description: Use when a file generated during MSBuild is missing from compilation or output because of target timing, globs or item registration. Not for general item semantics, duplicate declarations or Roslyn generator internals.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: microbenchmarking
3
- description: 'Designs, configures, runs, and reviews BenchmarkDotNet (BDN) benchmarks, including project setup, efficient runs, and side-by-side performance comparisons. Use when BenchmarkDotNet is involved, or a .NET performance question needs measurement and BenchmarkDotNet is the likely tool. Not for profiling or tracing (use profiling or dotnet-trace-collect), production telemetry, or load and stress testing.'
3
+ description: Use when authoring or reviewing BenchmarkDotNet benchmarks or comparing .NET code paths with controlled microbenchmarks. Not for runtime profiling, production telemetry or load and stress tests.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: msbuild
3
- description: 'Investigates MSBuild build failures, diagnoses build performance, and reviews build XML and extension contracts using binary logs. Use for failing dotnet build, restore, pack, or publish; .binlog capture and replay; project, props, and targets conditions; custom-target inputs/outputs; Import/Exists hooks and packed NuGet imports; slow evaluation, compilation, copying, or no-change builds; and controlled timing comparisons. Not for legacy or non-SDK project migration, framework or package upgrades, SDK installation, C# refactoring, runtime profiling, assertions after a successful build, or non-MSBuild builds.'
3
+ description: Use when troubleshooting MSBuild failures, slow builds or build-authoring contracts from project files and binary logs. Not for SDK installation, package upgrades, legacy migration, C# refactoring or runtime profiling.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: orleans
3
- description: 'Designs Microsoft Orleans systems from each primitive''s purpose and failure model: grains, digital twins, state versus databases, transactions, messaging, streams, timers, reminders, Durable Jobs, stateless workers, grain services, startup, and hosting. Use when a task needs an Orleans design decision: inspect version and topology, choose the primitive, implement, and validate. Not for other actor stacks, batch processing, relational-only CRUD, or advice without an Orleans decision.'
3
+ description: Use when an Orleans task requires choosing state ownership, communication, scheduling or hosting guarantees against failure. Not for other actor stacks, relational-only CRUD or Cratis.Orleans job implementation.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: platform-detection
3
- description: 'Identifies a .NET project''s test platform, framework, command mode, and SDK-style versus classic project system, resolving global.json, project, packages.config, Directory.Build.props, and Directory.Packages.props precedence for MSTest, xUnit, NUnit, and TUnit. Use when asking "which test platform or framework?", "VSTest or MTP?", or "what runner does this project use?", including bridge settings, UseVSTest opt-outs, and conflicting VSTest/MTP configuration. Not for running or filtering tests, commands, flags, TRX, dumps, or test-command errors (use run-tests), or for hot-reload or migration requests.'
3
+ description: Use when identifying a .NET test framework, VSTest versus MTP or conflicting runner configuration. Not for executing or filtering tests, command errors, dumps or migration; use run-tests for execution.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: profiling
3
- description: 'Uses the free official .NET diagnostics CLI tools for profiling and runtime investigation in a repository: CPU, GC pressure, allocation growth, exception storms, lock contention, and slow code. Use when a .NET application needs performance or runtime profiling. Not for replacing realistic performance or load tests with ad-hoc tracing, production heap collection without a pause-risk plan, crash dumps (use dump-collect), or benchmark design (use microbenchmarking).'
3
+ description: Use when investigating a .NET application's CPU, GC, allocation, exception or contention behavior through runtime profiling. Not for crash dumps, benchmark design or replacing realistic load tests with ad-hoc traces.
4
4
  compatibility: Requires a .NET app or process to inspect; respects the repo's `AGENTS.md` commands first.
5
5
  license: MIT
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: run-tests
3
- description: 'Chooses and runs the repository-compatible .NET test command: classic, VSTest, bridged MTP, or native MTP syntax for MSTest, xUnit, NUnit, and TUnit. Use before running .NET tests or answering with a test command or flags: run the tests, one test, class, category, trait or target framework, combined filters, --filter-query, --no-build, --diag, TRX, coverage collection, crash or hang dumps, filter errors, or unrecognized options. Not for platform identification alone (use platform-detection), writing or debugging test code, interpreting a coverage report (use coverage-analysis), CI investigation, migration, or a persistent hot-reload loop.'
3
+ description: Use before running .NET tests or choosing test commands, flags and filters, including command failures and dump collection. Not for platform identification alone, test authoring or interpreting coverage reports.
4
4
  license: MIT
5
5
  metadata:
6
6
  portability: portable
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: safeguarding-ai-generated-code
3
- description: Gate AI-touched changes against Code Health regressions. Use when reviewing a staged diff or branch before commit, handoff or pull request with pre_commit_code_health_safeguard or analyze_change_set. Requires an opted-in cratis/codescene profile and available CodeScene MCP tools; otherwise skip. Do not use for a structural refactoring workflow (use guiding-refactoring-with-code-health) or risk-based test selection (use risk-based-testing-with-code-health).
3
+ description: Use before committing or handing off an AI-touched diff in a CodeScene-enabled, opted-in repository. Not for structural refactoring steps, portfolio debt ranking or risk-based test selection.
4
4
  license: Apache-2.0
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: target-authoring
3
- description: 'Canonical patterns for writing custom MSBuild targets: DependsOnTargets versus BeforeTargets and AfterTargets, the Build-to-CoreBuild three-level pattern, and the XxxDependsOn chain-extension pattern. Use when diagnosing or fixing custom-target anti-patterns: Directory.Build.targets redefining SDK targets, targets that replace CompileDependsOn instead of extending it, Outputs versus Returns misuse that returns stale results, missing Inputs/Outputs causing needless rebuilds, or missing FileWrites registration. Not for incremental build tuning or general anti-pattern review (use the msbuild skill), or non-MSBuild build systems.'
3
+ description: Use when writing or fixing custom MSBuild target chains, dependency extension, returns or cleanup contracts. Not for general build-performance tuning, import discovery or non-MSBuild systems.
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: vectorization
3
- description: 'Designs, implements, optimizes, and reviews SIMD code in .NET: vectorizing scalar loops with TensorPrimitives, Vector64, Vector128, Vector256, Vector512, or hardware intrinsics, and reviewing existing SIMD code, including the generic Vector type, for contract equivalence, tail handling, memory safety, portability, fallbacks, and measured performance. Use when a .NET loop or SIMD routine is being written or reviewed. Not for performance work unrelated to SIMD.'
3
+ description: Use when vectorizing a .NET scalar loop or reviewing SIMD behavior, memory safety, tails and fallbacks. Not for performance work unrelated to SIMD.
4
4
  license: MIT
5
5
  ---
6
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cratis/pi",
3
- "version": "7.121.0",
3
+ "version": "7.122.1",
4
4
  "description": "Configuration-aware Cratis AI integration for Pi",
5
5
  "type": "module",
6
6
  "files": [