Skill: auto-port custom columns to plugin packages
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
先查看 docs/plugins/example.md 和 tests_e2e/.../plugins/column_generator/,将其作为脚手架模板,然后检查 .agents/skills/ 的结构。为一个自定义列定义 /port-to-plugin skill,涵盖两种生成策略、参数扁平化以及 models 重写。当生成的 package 可以安装、其 data_designer.plugins entry point 能被发现,并且测试 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
- 派生
- 241
- 平均合并
- 1 天 19 分钟
- 30 天内合并 PR
- 84
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
NVIDIA-NeMo/DataDesigner 的其他 Issue
-
Local seed path containing a single quote breaks the DuckDB query可能重新可做 关联的 PR 已关闭且未合并。 未关闭
难度 2/5 1-3 小时 新手友好度 67/100
NVIDIA-NeMo/DataDesigner#1102 · 2 条评论 ·
维护者通常 1 天内回复
-
Code validation repeats the first result for subsequent target columns可能已有人在做 @edjson 于 1 天前认领。 未关闭bug triaged
难度 2/5 1-3 小时 新手友好度 77/100
NVIDIA-NeMo/DataDesigner#1092 · 2 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
enforce \from future import annotations` via ruff FA102 rule`可能已有人在做 @chethanuk 于 48 天前认领。 未关闭task
难度 2/5 1-3 小时 新手友好度 82/100
NVIDIA-NeMo/DataDesigner#760 ·
维护者通常 1 天内回复
-
Complete Slurm proxy health integration, draining, telemetry, and overload validation可能已有人在做 @nabinchha 于 1 天前认领。 未关闭task
NVIDIA-NeMo/DataDesigner#1103 · 已指派 1 人 ·
维护者通常 1 天内回复
-
task
难度 5/5 一周以上 新手友好度 38/100
NVIDIA-NeMo/DataDesigner#1094 ·
维护者通常 1 天内回复
查看 NVIDIA-NeMo/DataDesigner 的全部 Issue
相似的 Issue
-
Context/namespace resources fail in-cluster: "Invalid kube-config file. No configuration found."未关闭
难度 2/5 1-3 小时 新手友好度 76/100
-
bug documentation
难度 1/5 1 小时以内 新手友好度 88/100
awslabs/visual-asset-management-system#880 ·
维护者通常 1 天内回复
-
netbox status: needs owner type: documentation
难度 2/5 1-3 小时 新手友好度 74/100
netbox-community/netbox#23533 ·
维护者通常 1 天内回复
-
app: scripts status: backlog type: documentation
难度 2/5 1-3 小时 新手友好度 86/100
netbox-community/netbox-scripts#68 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 91/100
marin-community/marin#10765 ·
维护者通常 1 天内回复