Agent SkillsTangleML/tangle-ui › tangle-domain

tangle-domain

GitHub

提供Tangle平台领域术语与概念,涵盖管道、组件、任务等核心定义及UI元素规范。用于统一命名和讨论相关概念,确保前后端术语一致,避免使用旧称。

.claude/skills/tangle-domain/SKILL.md TangleML/tangle-ui

Trigger Scenarios

涉及Tangle平台管道构建或运行时概念时 需要确认组件、任务或输入输出规范时 前端UI节点命名或交互逻辑定义时

Install

npx skills add TangleML/tangle-ui --skill tangle-domain -g -y
More Options

Non-standard path

npx skills add https://github.com/TangleML/tangle-ui/tree/master/.claude/skills/tangle-domain -g -y

Use without installing

npx skills use TangleML/tangle-ui@tangle-domain

指定 Agent (Claude Code)

npx skills add TangleML/tangle-ui --skill tangle-domain -a claude-code -g -y

安装 repo 全部 skill

npx skills add TangleML/tangle-ui --all -g -y

预览 repo 内 skill

npx skills add TangleML/tangle-ui --list

SKILL.md

Frontmatter
{
    "name": "tangle-domain",
    "description": "Domain terminology and concepts for Tangle. Use whenever discussing, naming, or working with pipelines, runs, components, tasks, inputs, outputs, executions, or any Tangle domain concepts."
}

Tangle Domain Terminology

This application is called Tangle (or Tangle-UI for the frontend). Never refer to it as "Pipeline Studio" — that is a legacy name.

  • tangle-ui: This frontend repo (React + TypeScript)
  • tangle: The backend orchestration system
  • Together they form the Tangle platform for building and running ML pipelines

Core Concepts

Pipeline

A pipeline is a directed acyclic graph (DAG) of components connected to produce a workflow. Represented as a ComponentSpec with a GraphImplementation. A pipeline defines:

  • Inputs: Data entry points (graph-level inputs)
  • Outputs: Data exit points (graph-level outputs)
  • Tasks: Configured component instances
  • Connections: Edges linking outputs to inputs

Component

A component is a reusable unit of computation defined by a ComponentSpec. Every component has:

  • name, description
  • inputs: Array of InputSpec
  • outputs: Array of OutputSpec
  • implementation: Either container (Docker) or graph (subgraph)
  • metadata: Annotations, author, etc.

Component Spec (ComponentSpec)

The canonical data structure that fully describes a component's interface, implementation, and metadata. Compatible with Google Cloud Vertex AI Pipelines and Kubeflow v1 formats. Stored/shared as YAML (component.yaml). The TypeScript type definitions live in componentSpec.ts. Do not modify the ComponentSpec structure without express permission.

Task

A task is a configured instance of a component within a pipeline. A TaskSpec includes:

  • componentRef: Reference to the component definition
  • arguments: Configured input values (literals, graph input references, upstream task output references, or secrets)
  • isEnabled: Optional conditional execution predicate
  • executionOptions: Retry and caching strategies
  • annotations: Metadata

Task Node

The visual representation of a task on the canvas. Has position, handles, and interaction callbacks. Node ID format: task_{taskId}.

Flex Node

A flex node is a freeform annotation element on the canvas (like a sticky note). It has a title, content, customizable colors, and font sizes. Flex nodes are purely decorative — they do not participate in task execution or data flow. Stored in ComponentSpec metadata annotations under the "flex-nodes" key. They can be locked to prevent accidental edits.

Ghost Node

A ghost node is a temporary, semi-transparent preview node that appears while the user is dragging to create a connection (with Meta key held). It shows what Input/Output node would be created if the user drops at that position. Ghost nodes are never persisted — they exist only during the drag interaction.

Input vs Input Component

These are different things:

  • Input (InputSpec): A parameter definition on a component — has name, type, description, default value, optional flag
  • Input Component (Input Node): A visual node on the canvas representing a graph-level input. It serves as a data source that feeds into task inputs. Node ID format: input_{inputName}

Output vs Output Component

Same distinction:

  • Output (OutputSpec): A parameter definition on a component — has name, type, description
  • Output Component (Output Node): A visual node on the canvas representing a graph-level output. It collects data from upstream task outputs. Node ID format: output_{outputName}

Task Type

The TaskType union: "task" | "input" | "output" — used to distinguish node types on the canvas.

Subgraph

A task whose component has a GraphImplementation instead of a ContainerImplementation. This enables nested pipelines. When viewing a subgraph, you navigate into its internal graph structure. Check with isSubgraph() from src/utils/subgraphUtils.ts.

Run / Pipeline Run

A run is a submitted instance of a pipeline for execution. Each run has:

  • id: Unique identifier
  • root_execution_id: The root execution
  • pipeline_name, pipeline_digest
  • status, statusCounts
  • created_at, created_by

Execution

An execution is a lower-level entity — the execution of a single task within a run. Executions form a tree:

  • A run has one root execution
  • The root execution branches into child executions for each task
  • Subgraph tasks have their own child execution trees

Run vs Execution: A run is the top-level container users interact with. Executions are the internal task-level tracking.

run_id vs execution_id: Use run_id (the id field on PipelineRunResponse) for run-level operations — listing, canceling, fetching metadata, and URL routes (/runs/$id). Use execution_id for task-level operations — fetching execution details, artifacts, logs, and container state (/api/executions/{id}/...). A run's root_execution_id bridges the two: it points to the root of the execution tree. Child execution IDs are found via details.child_task_execution_ids[taskId].

Execution Status

ContainerExecutionStatus: PENDING, RUNNING, SUCCEEDED, FAILED, etc. Runs aggregate these via TaskStatusCounts.

Edge / Connection

A directed connection in the graph. Three types:

  • Task Output → Task Input: Data flows between tasks (TaskOutputArgument)
  • Graph Input → Task Input: Pipeline inputs feed into tasks (GraphInputArgument)
  • Task Output → Graph Output: Task outputs become pipeline outputs

Edge IDs are generated from source/target handle and input/output names.

Handle

A connection point on a node where edges attach:

  • Input handles (target): Left side of task nodes, one per task input. ID: input_{inputName}
  • Output handles (source): Right side of task nodes, one per task output. ID: output_{outputName}
  • IO node handles: Input nodes have a source handle; output nodes have a target handle

Component Library

A hierarchical collection of components organized in folders. Types:

  • Preloaded: Built-in components
  • User Libraries: Custom user components
  • Remote Libraries: Fetched from external sources
  • GitHub Libraries: Components from GitHub repos

Annotations

Arbitrary key-value metadata (Record<string, unknown>) on components, tasks, inputs, outputs, and graph nodes. Used for canvas position/layout, z-index, visual styling, and custom metadata.

Secrets

Sensitive values (API keys, credentials) stored securely in the backend and referenced by name in task arguments via SecretArgument. Resolved at runtime — never embedded in pipeline definitions or exports.

{
  secret: {
    name: "my-api-key";
  }
}

Version History

  • d7768e8 Current 2026-09-02 20:59

Same Skill Collection

.claude/skills/accessibility/SKILL.md
.claude/skills/address-pr-comments/SKILL.md
.claude/skills/analytics-tracking/SKILL.md
.claude/skills/audit-tickets/SKILL.md
.claude/skills/docs-update/SKILL.md
.claude/skills/e2e-testing/SKILL.md
.claude/skills/list-skills/SKILL.md
.claude/skills/open-source/SKILL.md
.claude/skills/project-conventions/SKILL.md
.claude/skills/react-patterns/SKILL.md
.claude/skills/review/SKILL.md
.claude/skills/tanstack-query/SKILL.md
.claude/skills/tanstack-router/SKILL.md
.claude/skills/typescript-standards/SKILL.md
.claude/skills/ui-primitives/SKILL.md
.claude/skills/validate/SKILL.md
.claude/skills/vitest-testing/SKILL.md
.cursor/skills/playwright-testing/SKILL.md
public/agent-skills/componentYamlFormat/SKILL.md
public/agent-skills/tangleBestPractices/SKILL.md
.claude/skills/gardening/SKILL.md

Metadata

Files
0
Version
d7768e8
Hash
8203a8e7
Indexed
2026-09-02 20:59

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-03 03:44
浙ICP备14020137号-1 $bản đồ khách truy cập$