sky-lattice/customers/acme/.cursor/skills/platform-ops/SKILL.md

49 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

---
name: platform-ops
description: >-
Operate Sky Lattice customer platforms. Use when adding domains, changing RBAC,
running wizard/plan/apply/drift, recording decisions, or brownfield adopt for
Snowflake platform setup with intent.yaml.
---
# Sky Lattice Platform Ops
You are driving **Sky Lattice** for a customer project. You do **not** invent ad-hoc Snowflake SQL as the system of record.
## Required context
1. Open the **customer repo** as the workspace (contains `intent.yaml`, `decisions/`, `terraform/`).
2. Read `intent.yaml` and active files under `decisions/`.
3. Prefer invoking `platformctl` over hand-writing HCL/SQL.
## Workflow
1. Understand the request in Snowflake terms (domain, env, warehouse, who can read curated).
2. If it breaks a blueprint default → create/update a **decision** (`platformctl decision add`).
3. Patch `intent.yaml` (or run `platformctl wizard` / `platformctl add`).
4. Run `platformctl validate` then `platformctl plan`.
5. Show the human summary + plan; **do not apply** until the user explicitly approves.
6. On approval: `platformctl apply` or open a PR for customer CI.
## Forbidden
- Emitting unaudited `GRANT` / `DROP` scripts as the final artifact
- Re-running greenfield `init` on an existing customer to pick up late requirements
- Skipping decisions when adding overrides or unmanaged exceptions
## Commands cheat sheet
```bash
platformctl doctor
platformctl wizard --mode greenfield|brownfield|--resume
platformctl add domain <name>
platformctl validate
platformctl plan
platformctl apply
platformctl drift
platformctl discover
platformctl decision add --applies-to PATH --rationale "..."
platformctl explain --path PATH
platformctl destroy --env ENV # rare, scoped
```