caldova-demo

$npx mdskill add microsoft/aitour27-BRK390-building-ai-applications-with-microsoft-databases-and-fabric/caldova-demo

Read [the Act 3 architecture](../../../docs/act3.md) and [deployment instructions](../../../instructions/act3.md). Work from the repo root.

SKILL.md

.github/skills/caldova-demoView on GitHub ↗
---
name: caldova-demo
description: "Use when: configuring, deploying, rehearsing, debugging or changing the Caldova staffing demo, Azure Function or demo preflight."
---

# Caldova Demo

Read [the Act 3 architecture](../../../docs/act3.md) and
[deployment instructions](../../../instructions/act3.md). Work from the repo root.

1. Use the December staffing workflow and keep its case and evidence boundaries
   separate from the earlier production-review experience.
2. Keep `data/scenario.json` frozen. Derive staffing from its separate extension;
   run `npm run demo:scenario:check` after any relevant change.
3. Diagnose with the owning handler, a nearby regression test and sanitized telemetry.
   A static HTTP 200 is not dependency readiness. Do not weaken authentication.
4. Require explicit subscription, tenant, Function, SQL, Cosmos and embedding settings.
   Prefer managed identity. Never copy values from private `.azure/` records into code.
5. Run `npm test` before packaging. The package is built with
   `npm run demo:package` using `npm ci` and a dependency audit.
6. Cloud deployment, provisioning, role assignments, seed and SQL verification are
   mutations requiring owner authorization. Transaction rollback is still a mutation.
   Do not run them merely to prove local tests pass.
7. The protected preflight verifies actual SQL and Cosmos reads plus quota headroom.
   It does not certify interactive speaker login, embeddings or paused-database resume.
8. Never replay uncertain writes. Preserve request IDs, compare receipts and context
   hashes, and use separate case IDs for rehearsals instead of resetting approvals.
9. Before sharing, use [demo-security-review](../demo-security-review/SKILL.md).

Describe fictional data, authored assumptions, calculated forecasts and observed
execution accurately. A fixture is not a live run and an approval is not a hiring action.

More from microsoft/aitour27-BRK390-building-ai-applications-with-microsoft-databases-and-fabric

SkillDescription
app-design>
app-validation>
caldova-campaign-planningEvaluate Hydration Sunscreen marketing investment at Caldova, compare regional campaign options, explain additional demand and supply requirements, approve a reviewed forecast, and prepare Karin's production capacity review. Use when asked where to invest campaign budget, which regions to prioritise, or whether production can support a proposed campaign.
dax-authoring>
demo-security-reviewUse when: reviewing demo security, publishing code, integrating demo artifacts, scanning for PII or secrets, or checking authentication and write safety.
fabric-cli>
fabric-sdk>
query-design>
rayfinUse when doing ANY task involving Rayfin — scaffolding, data models, decorators, auth, deployment, CLI commands, or client setup. Triggers: rayfin, rayfin init, rayfin up, rayfin login, RayfinClient, @entity, @role, @anonymous, @authenticated, @text, @uuid, @int, @decimal, @boolean, @date, @email, @set, @one, @many, DAB, Data API Builder, rayfin.yml, publishableKey, signUp, signIn, signOut, sendMagicLink, handleMagicLinkCallback, ensureSignedInWithFabric, Fabric SSO, Entra ID, rayfin up db apply, rayfin up staticapp deploy, schema.ts, OpaqueSession, onSessionChange, GraphQL select, GraphQL create, GraphQL update, GraphQL delete, findById, executePaginated, RLS policy, row-level security, claims.sub, claims.email, TC39 decorators, config generation, dialect, mssql, postgresql
rayfin-functionsUse when writing Rayfin user-defined functions (UDFs), invoking functions from frontend code, or using functions CLI commands. Triggers: rayfin functions, udf.func, UserDataFunctions, RayfinContext, FabricContext, AppFunctionsSchema, functions init, dev functions apply, client.functions, invoke, func start, function_app.ts, types.ts, rayfin/functions/, FunctionClient, FunctionsSchema, fabric-user-data-functions, functionsBaseUrl, VITE_RAYFIN_FUNCTIONS_URL, bootstrap.ts, rayfinClient.ts