packtpublishing/advanced-data-engineering-with-snowflake/object-ownership

Claude Code and agent skill by packtpublishing/advanced-data-engineering-with-snowflake

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Enforce Chapter 10's one-object-one-owner rule (Table 10.1) before generating any Snowflake object as code. Classify the owner first, generate only in the owning tool, verify with check_ownership.sh.

Install

npx vskill@latest install packtpublishing/advanced-data-engineering-with-snowflake/object-ownership

SKILL.md

object-ownership

A CoCo skill that enforces Chapter 10's one rule: one object, one owner. It encodes Table 10.1 so CoCo classifies every requested Snowflake object BEFORE generating any code, writes it only in the owning tool's folder, and verifies the result with a deterministic check instead of a memory.

When to use

Use this skill whenever a prompt asks to create, manage, or move any Snowflake object as code in this repository, in any tool. Consult it BEFORE the dcm or terraform-snowflake-author skills produce output, and run its check again as the final step before committing.

The ownership table (authoritative)

Object categoryOwnerWhere it lives
Warehouses and resource monitorsTerraforminfra/
Functional roles and account-level grantsTerraforminfra/
Network policies, integrations, service usersTerraforminfra/
The operations database and its schemasBootstrap + Terraformnative/bootstrap.sql, infra/
Data databases, schemas, tables, viewsDCMtechflow_pipeline/sources/definitions/
Dynamic Tables and tasksDCMtechflow_pipeline/sources/definitions/
Shared stream and objects kept outside DCMNative versioned SQLnative/

Procedure

  1. Classify first. Map the requested object to its row in the table.

If a request spans rows (a warehouse and the Dynamic Table that uses it), split the output across the owning tools; never co-locate for convenience.

  1. Reference, never redefine. When code in one tool needs an object

owned by another, reference it by name. In DCM, Terraform-owned names come in through manifest templating variables ({{ wh_name }}), not hardcoded and never as a DEFINE.

  1. Refuse two-owner requests. If asked to define a Terraform-owned object

in DCM (or the reverse), do not generate it. Explain the rule and offer the owner-tool version instead.

  1. Verify deterministically. After generating, run:

``bash bash .cortex/skills/object-ownership/check_ownership.sh ``

Exit 0 means no name is managed by both Terraform and DCM. A violation prints the colliding names; fix by removing the object from the non-owner, never by renaming to dodge the check.

Why this exists

Two declarative tools that both claim one object will each faithfully undo the other on every run: the warehouse flips its size on every deploy and the plans never converge. The check is scoped to Terraform vs DCM because those two reconcile state; native/ scripts are one-time steps, the shared stream, and scripts for unsupported types, and do not fight another tool.

Limitations

The check also rejects DEFINE STREAM in this chapter, where native SQL retains the shared stream. It compares identifier names, not full configurations, and it can surface a false positive if an unrelated schema-level object shares a name with an account-level one. Treat its output as a review list: every hit needs a human decision, and passing does not replace terraform plan and snow dcm plan before deploying.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/packtpublishing/advanced-data-engineering-with-snowflake/object-ownership/badge)](https://verified-skill.com/skills/packtpublishing/advanced-data-engineering-with-snowflake/object-ownership)

Something wrong with this skill or its page? Tell us.