跳到主要内容
知仓学习社ZHICANG

domain-creation

Guides you through creating a Honeydew domain — a governance object that scopes entity/field visibility and applies mandatory filters — ideal for se…

不碰外部(只输出文字)无严重或高危命中hashgraph-online/awesome-codex-plugins

它会碰到什么

扫了多少3 个文本文件,15 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Prerequisites

Before creating domains, ensure you are on the correct workspace and branch. Use get_session_workspace_and_branch to check the current session context. For development work, create a branch with create_workspace_branch (the session switches automatically). See the model-exploration skill for the full workspace/branch tool reference.


Overview

A Honeydew domain is a lightweight governance object that defines a scoped business context over the semantic model.

Domains control:

  • Which entities are visible (and optionally which fields within them via field selectors)
  • Semantic filters (filters) — applied to every query in the domain, for governance and access control
  • Source filters (source_filters) — applied early at the source level, for performance optimization

Domains are the primary mechanism for creating focused, governed views of the model for specific teams, use cases, or analysis contexts.

> This skill focuses on domain creation and management.

> Use entity-creation to create entities and attribute-creation / metric-creation to add fields before scoping them into a domain.

> To expose a domain for AI analysis, create an agent referencing it using create_agent (MCP agent tools) or the Honeydew Studio agent builder.


Creation Method

create_object with YAML

Domains are created using create_object with domain YAML. There is no specialized create_domain tool.

Parameters:

  • yaml_text — YAML defining the domain

Required permission: Editor or higher.

Update: update_object

  1. Use search_model (with search_mode: EXACT) to find the domain's object_key.
  2. Call update_object with the full updated YAML (yaml_text) and the object_key.

> Minimal diff rule: When updating, preserve the existing field order and formatting from the current YAML. Only change the fields you need to modify.

Delete: delete_object

  1. Use search_model (with search_mode: EXACT) to find the domain's object_key.
  2. Call delete_object with that object_key.

After Creation/Update: Display the UI Link

After a successful create_object or update_object call, the response includes a ui_url field. Always display this URL to the user so they can quickly open the object in the Honeydew application.


Decision Flow

Need to create a domain?
    │
    ├─► Which entities should be included?
    │       └─► Use list_entities / search_model (OR mode) to discover available entities
    │
    ├─► Should all fields be visible, or only a subset?
    │       ├─► All fields → omit fields for that entity
    │       └─► Subset → use field selectors (supports wildcards and exclusions)
    │
    ├─► Are governance/access filters needed (apply to ALL queries)?
    │       └─► Use filters (semantic) with name + sql
    │
    └─► Are performance/source-level filters needed (apply only when entity is queried)?
            └─► Use source_filters with name + sql

Examples

See [examples.md](examples.md) for full worked examples covering: basic entity selection, semantic filters, source filters, field selectors, deep analysis context and update/delete.


Discovery Helpers

Use these MCP tools before creating domains:

  • list_entities — List all entities in the model to decide which to include
  • get_entity — Get detailed info for a specific entity (attributes, metrics, relations)
  • list_domains — List all existing domains in the model
  • get_domain — Get detailed info for a specific domain (entities, filters, parameters)
  • search_model — Search for entities, fields, domains, or other objects by name (use search_mode: EXACT for known names, OR for broad discovery)
  • get_field — Get detailed info about a specific field (attribute or metric)

See [reference.md](reference.md) for: full YAML schema, entity selection syntax, field selectors, filter types and syntax, and parameter overrides.


Documentation Lookup

Use the honeydew-docs MCP tools to search the Honeydew documentation when:

  • You need to understand governance concepts, domain design patterns, or access control strategies
  • The user asks about the difference between semantic filters and source filters, or when to use each
  • You need guidance on advanced modeling configurations like parameter overrides or complex field selectors
  • The user asks about how domains interact with BI tools, queries, or the deep analysis API
  • The user needs advanced modeling patterns for governance or multi-tenant access control

Search for topics like: "domains", "governance", "filters", "field selectors", "access control", "source filters".


Best Practices

  • Name domains after the business context, not technical details. sales_analytics is better than filtered_orders_v2.
  • Start broad, then narrow. Include all relevant entities first, then add filters and field selectors as governance requirements emerge.
  • Always set owner to identify the responsible team or person for governance and accountability.
  • Prefer semantic filters (filters) over source filters for governance rules. Source filters apply before computation and can change calculated values.
  • Use source filters for performance — they're ideal for partition pruning on large datasets.
  • Use description to document the domain's purpose and intended audience clearly.
  • Keep domains focused. A domain for "Sales Team" should only include entities and fields relevant to sales analysis.
  • Use field selectors sparingly. Only restrict fields when there's a clear governance need (e.g. hiding PII from certain teams).
  • All filter sql references must be fully qualified. Always use entity.field notation — unqualified references fail validation.

MANDATORY: Validate After Creating

After creating ANY domain, you MUST invoke the validation skill to test and validate that it works correctly.

See validation skill for the full domain validation workflow.

Validation steps:

  1. Verify domain exists using search_model (with search_mode: EXACT) to find the new domain by name.
  1. Test with a query — use get_data_from_fields with the domain parameter:
  • metrics: ["<entity>.count"]
  • domain: "<domain_name>"

This verifies that the domain settings (e.g. filter) apply.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 1,027
本站分层T1
该仓技能数1910
原文件路径plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/domain-creation/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 1910 个技能