技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
entropy-data-teams【数据与研究】List the teams configured in Entropy Data so the user can pick one as the owner (`team.name` in ODPS) of a data product. Useful when bootstrapping a new data product, integrating an existing dbt project, or just exploring who owns what. Trigger when the user asks "what teams are there", "who can own this data product", "list teams in Entropy Data", o…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
team.name in ODPS) of a data product. Useful when bootstrapping a new data product, integrating an existing dbt project, or just exploring who owns what. Trigger when the user asks "what teams are there", "who can own this data product", "list teams in Entropy Data", or when another skill needs to fill in TEAM_NAME and the user does not already know it.Print the teams configured in Entropy Data and — if invoked from another skill — return the chosen team so the caller can fill in TEAM_NAME (for ODPS) without re-prompting the user.
${PLUGIN_ROOT}below refers to the root of this plugin — the directory that containsskills/. On Claude Code it is set automatically as${CLAUDE_PLUGIN_ROOT}— use that. On any other agent (Codex, Copilot CLI, etc.) it is unset; resolve it as../..relative to thisSKILL.mdfile's directory (i.e. the grandparent ofskills/<this-skill>/).
Before running Step 0, print this plan to the user verbatim:
Running entropy-data-teams. I'll:
- Pre-checks: verify the
entropy-dataCLI is installed and a connection is configured.- Fetch all teams from Entropy Data (paginated).
- Apply any filter you mentioned (substring on id/name/description, or type/tag match).
- Show the team list as a Markdown table.
- If invoked as a sub-step by another skill, ask you to pick one and return both
team.idandteam.nameto the caller.
Then proceed.
uv run --quiet entropy-data --version succeeds from the project root. If it fails, run uv sync and retry; if still missing, stop and surface the install line from the README. Use uv run entropy-data … for every CLI invocation in this skill.uv run entropy-data connection list is empty, tell the user to run uv run entropy-data connection add ... first; do not try to authenticate on their behalf.Run:
entropy-data teams list -o json
The response is a JSON array. Each team has at least: id, name, type, description, members[], tags[], links{}, custom{}.
Pagination: teams list accepts --page <n> (0-indexed). If the response has the same length as the configured page size, fetch the next page and merge until you get a short or empty page. Keep the merged list as TEAMS.
If the call fails with auth errors, surface the CLI error and stop — do not retry silently.
If the user gave a hint ("show me platform teams", "find a team for finance"), filter TEAMS by:
id, name, or description, ortype, ortags[].If the filter eliminates everything, show the full list and tell the user the filter matched nothing.
Print a Markdown table with one row per team. Columns:
| Column | Source |
|---|---|
id | id |
| Name | name |
| Type | type |
| Members | members.length |
| Description | first 80 chars of description |
Sort by id for stable output. If the list is longer than ~30 rows, page it — show 30 and ask whether to continue.
If the user asks about a specific team, run:
entropy-data teams get <id> -o json
and pretty-print the full record (members with roles, links, custom fields). Do not store this anywhere — the source of truth is the platform.
If this skill was called by another skill that needs a team for TEAM_NAME:
id from the table above."TEAMS — if it does not match, list the closest 3 by string similarity and ask again.team.id and team.name to the caller. The caller decides which one to write into the ODPS file.If invoked directly by the user (not as a sub-step), stop after Step 3/4 — do not modify any local file.
dataproduct-bootstrap Step 2: when batching parameters, if the user does not provide TEAM_NAME, offer to invoke entropy-data-teams instead of asking for a free-text string.entropy-data-sync Step 3: same — if the project doesn't already have a team.name in <id>.odps.yaml and the user can't recall the team id, offer entropy-data-teams.A free-text team name is still acceptable (the ODPS schema doesn't enforce that the name matches a registered team), but a value picked from this list is preferred because it stays consistent with the Entropy Data UI and team-scoped views.
entropy-data teams put and stop.custom fields may contain emails or channel identifiers; show them as-is (the data is already in the platform), but do not log them to a separate file.