Skill: auto-port custom columns to plugin packages
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
まず docs/plugins/example.md と tests_e2e/.../plugins/column_generator/ を足場用テンプレートとして確認し、その後 .agents/skills/ の構造を調べます。1 つのカスタム列を対象とする /port-to-plugin skill を定義し、2 つの生成戦略、パラメータのフラット化、models の書き換えを扱います。生成されたパッケージをインストールでき、その data_designer.plugins エントリーポイントが検出され、テスト scaffold が変換をカバーすれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Problem
Custom columns (@custom_column_generator) are convenient for local/notebook use but hit a hard wall when users need serialization - the generator function serializes to just its __name__, so configs can't round-trip through YAML/JSON. The recommended path is to rewrite as a plugin, but the transformation is mechanical and the boilerplate is easy to get wrong.
Proposal
Add a /port-to-plugin Claude Code skill (.agents/skills/) that takes a Python file containing one or more @custom_column_generator functions and scaffolds a complete, installable plugin package.
Transformation mapping
| Custom column | Plugin |
|---|---|
@custom_column_generator(required_columns=..., side_effect_columns=...) |
required_columns / side_effect_columns properties on config class |
generator_params: BaseModel fields |
Promoted to config class fields |
model_aliases decorator arg |
Config field + resource_provider.model_registry access in impl |
Function body with row param |
ColumnGeneratorCellByCell.generate() |
Function body with df param |
ColumnGeneratorFullColumn.generate() |
GenerationStrategy choice |
Base class selection |
Output structure
Given /port-to-plugin path/to/my_workflow.py:
data-designer-<name>-plugin/
src/<package_name>/
__init__.py
config.py # SingleColumnConfig subclass with Literal discriminator
impl.py # ColumnGenerator{CellByCell,FullColumn} subclass
plugin.py # Plugin() registration object
pyproject.toml # Entry point under data_designer.plugins
Scope
- Single custom column per invocation (v1), multi-column bundling as a follow-up
- Rewrites
modelsparameter access toself.resource_provider.model_registry - Flattens
generator_paramsinto config fields - Uses
docs/plugins/example.mdandtests_e2e/.../plugins/column_generator/as scaffolding templates
Why a skill and not a CLI command
The transformation requires understanding intent (naming the discriminator, choosing config field types, handling edge cases in function bodies). An LLM-backed skill can make judgment calls that a rigid code generator can't, while the plugin structure is constrained enough that the output is verifiable.
Acceptance criteria
- Skill file at
.agents/skills/port-to-plugin/ - Handles cell-by-cell and full-column strategies
- Handles
generator_paramsflattening - Handles
modelsparameter rewriting - Generated plugin installs and passes
data_designer.pluginsentry point discovery - Includes a test scaffold
- 主要言語
- Python
- スター
- 2.4k
- フォーク
- 234
- 平均マージ
- 23時間
- マージ済み PR(30日)
- 75
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
NVIDIA-NeMo/DataDesigner のほかの issue
-
`ValidationColumnConfig` misaligns rows and discards the whole batch after an upstream row is dropped対応中かも @suryapilla が 1 日前に担当しました。 オープンtriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
NVIDIA-NeMo/DataDesigner#1073 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
docs: required_columns description is incomplete for LLM and multimodal columns対応中かも @rksharma-owg が 7 日前に担当しました。 オープンbug triaged
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
NVIDIA-NeMo/DataDesigner#1002 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
enforce \from future import annotations` via ruff FA102 rule`対応中かも @chethanuk が 43 日前に担当しました。 オープンtask
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
NVIDIA-NeMo/DataDesigner#760 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 58/100
NVIDIA-NeMo/DataDesigner#1085 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 78/100
NVIDIA-NeMo/DataDesigner#1082 ·
メンテナーはふだん 1 日以内に返信
NVIDIA-NeMo/DataDesigner の issue をすべて見る
似ている issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
fossasia/visdom-dev#77 ·
メンテナーはふだん 4 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
aws-cloudformation/cfn-lint#4890 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
volcengine/OpenViking#6521 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
AstrBotDevs/AstrBot#10720 ·
メンテナーはふだん 1 日以内に返信