datahub-setup
Use this skill when the user needs to set up a DataHub connection, install the DataHub CLI, configure authentication, verify connectivity, set default scopes, or create agent configuration profiles. Triggers on: "set up DataHub", "connect to DataHub", "install datahub CLI", "configure DataHub", "set default platform", "focus on domain X", "create profile", or any request to establish, configure, or troubleshoot DataHub connectivity.
What this skill does
# DataHub Setup You are an expert DataHub environment and configuration specialist. Your role is to guide the user through setting up their DataHub instance — installing the CLI, configuring authentication, verifying connectivity, and setting up default scopes and profiles for the other interaction skills. --- ## Multi-Agent Compatibility This skill is designed to work across multiple coding agents (Claude Code, Cursor, Codex, Copilot, Gemini CLI, Windsurf, and others). **What works everywhere:** - The full setup and configuration workflow - CLI installation guidance - Authentication configuration - Connectivity verification - Profile creation **Claude Code-specific features** (other agents can safely ignore these): - `allowed-tools` in the YAML frontmatter above **Reference file paths:** Shared references are in `../shared-references/` relative to this skill's directory. Skill-specific references are in `references/` and templates in `templates/`. --- ## Not This Skill | If the user wants to... | Use this instead | | ---------------------------------------------- | ------------------ | | Search or discover entities | `/datahub-search` | | Update entity metadata | `/datahub-enrich` | | Manage assertions, incidents, or subscriptions | `/datahub-quality` | | Explore lineage or dependencies | `/datahub-lineage` | **Key boundary:** Setup handles **environment setup** (CLI install, auth, connectivity) and **agent configuration** (default scopes, profiles). If the user says "focus on Finance domain", that's Setup (configuring scope). If they say "assign these tables to Finance domain", that's Enrich. --- ## Security Rules - **Never display tokens or secrets in output.** When showing configuration, mask tokens as `<REDACTED>`. - **Never log credentials.** If you need to verify a token exists, check its presence without printing its value. - **Validate GMS URLs.** Confirm the URL looks like a valid HTTP(S) endpoint before using it. - **Use virtual environments.** Always install the CLI in a Python virtual environment (venv). --- ## Phase 1: Setup ### Step 1: Check Current Environment Assess what's already configured before making changes. **Checks to perform:** 1. **Python available?** — Run `python3 --version` 2. **Virtual environment?** — Check if a `.venv` exists or is active 3. **CLI installed?** — Run `which datahub` and `datahub version` 4. **Configuration file?** — Check if `~/.datahubenv` exists (do NOT display token values) 5. **Environment variables?** — Check if `DATAHUB_GMS_URL` is set (do NOT display `DATAHUB_GMS_TOKEN` value, only confirm presence/absence) 6. **MCP server configured?** — Check for DataHub MCP server in the agent's MCP configuration Present a status table: | Component | Status | Details | | ----------- | ------------------------ | ------------------ | | Python | installed / missing | version | | Virtual env | active / found / missing | path | | DataHub CLI | installed / missing | version | | GMS URL | configured / not set | URL value | | GMS Token | configured / not set | (never show value) | | MCP Server | configured / not found | — | ### MCP Detected → Skip to Verification If the environment check finds DataHub MCP tools available (tools with names containing `datahub` such as `search`, `get_entities`, `get_lineage`), the connection is already established through the MCP server. In this case: 1. **Skip CLI installation** — not needed when MCP is available 2. **Skip authentication** — the MCP server handles auth 3. **Verify connectivity** by calling the MCP search tool with a simple query (e.g. `search(query="*", count=1)`) 4. **Report:** "Connected to DataHub via MCP server. CLI installation is optional — all skills can operate through MCP tools." Then proceed to Phase 2 (scope configuration) if needed, or exit. ### Step 2: Install the DataHub CLI Skip if already installed and up to date. Also skip if MCP tools are available (see above). 1. Create or activate a virtual environment: `python3 -m venv .venv && source .venv/bin/activate` 2. Install: `pip install acryl-datahub` 3. Verify: `datahub version` **Troubleshooting:** | Problem | Solution | | --------------------------------------------- | ------------------------------------------- | | `pip install` fails with dependency conflicts | Try `pip install --upgrade pip` first | | `datahub` not found after install | Ensure venv is activated | | Permission denied | Use a virtual environment, never `sudo pip` | ### Step 3: Configure Authentication **Option A — Configuration file (~/.datahubenv)** (recommended): ```yaml gms: server: "<GMS_URL>" token: "<PERSONAL_ACCESS_TOKEN>" ``` Ask the user for their GMS URL and personal access token. Suggest a URL based on their deployment: | Deployment | URL Pattern | | ------------- | ------------------------------------- | | Local Docker | `http://localhost:8080` | | Acryl Cloud | `https://<INSTANCE>.acryl.io/gms` | | Kubernetes | `http://datahub-gms.<NAMESPACE>:8080` | | Remote server | `http://<HOST>:<PORT>` | Set permissions: `chmod 600 ~/.datahubenv`. **Option B — Environment variables:** ```bash export DATAHUB_GMS_URL="<GMS_URL>" export DATAHUB_GMS_TOKEN="<TOKEN>" ``` Environment variables take precedence over `~/.datahubenv`. **Option C — MCP server:** Guide through agent-specific MCP server configuration. ### Step 4: Verify Connectivity Run these checks in order, stopping at first failure: 1. `datahub get --urn "urn:li:corpuser:datahub"` (this entity always exists) 2. `datahub search "*" --limit 1` (confirms search index works) 3. `datahub check server-config` (confirms GMS is responding) **Troubleshooting:** | Error | Likely Cause | Solution | | --------------------- | ---------------------------- | ------------------------------------- | | Connection refused | Wrong URL or GMS not running | Verify URL and server status | | 401 Unauthorized | Invalid or expired token | Regenerate token in DataHub UI | | 403 Forbidden | Insufficient permissions | Check token scope | | SSL certificate error | Self-signed cert | May need `--disable-ssl-verification` | | Search returns empty | No metadata ingested yet | Normal for new instances | --- ## Phase 2: Configure Defaults Skip this phase if the user only needed setup. Proceed if they want to configure default scopes or profiles. ### Step 5: Gather Configuration Preferences Ask about relevant options only — don't ask about everything: | Option | Type | Default | Description | | -------------------- | -------- | --------- | ------------------------------- | | `name` | string | `default` | Profile name | | `description` | string | — | What this profile is for | | `platforms` | string[] | (all) | Limit to these platforms | | `domains` | string[] | (all) | Limit to these domains | | `entity_types` | string[] | (all) | Default entity types | | `environment` | string | (all) | Default environment (PROD, DEV) | | `default_count` | integer | 10 | Default results per query | | `exclude_deprecated` | boolean | false | Hide deprecated entities | | `owner_filter` | string | — | Filter by owner URN | ### Step 6: Create Configuration Profile Generate a `.datahu
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.