Create a Datagrok Package
SkillDev toolsScaffold, build, and publish a new Datagrok package
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Create a Datagrok Package skill
What this skill tells your AI
The instructions your AI receives, as published by datagrok-ai/public in .claude/skills/create-package/SKILL.md and read by ahel’s review.
Help the user scaffold a new Datagrok package, add functions to it, build, and publish.
Usage
/create-package [package-name] [--test] [--js]
Instructions
1. Scaffold the package
Run from the directory where the package folder should be created:
grok create <PackageName> --test
- Package name must be PascalCase (e.g.,
TextStats,MyAnalysis). - The
--testflag adds a test scaffold. Use--jsfor plain JavaScript instead of TypeScript. - After creation, install dependencies:
cd <PackageName>
npm install
2. Understand the package structure
The created package contains:
src/package.ts-- main entry point for functions, viewers, panels, appsdetectors.js-- semantic type detectors (loaded separately from the bundle)webpack.config.js-- webpack configuration (do not modify the externals)package.json-- metadata and dependencies
3. Add functions to the package
Functions are defined with annotation comments above the export. Common types:
Panel function (appears in context panel for matching data):
//name: MyPanel
//tags: panel, widgets
//input: string str {semType: text}
//output: widget result
export function myPanel(str: string) {
return new DG.Widget(ui.divV([
ui.divText('Result: ' + str.length)
]));
}
Add more function types via CLI:
grok add app <name> # Application entry point
grok add viewer <name> # Custom viewer
grok add detector <name> # Semantic type detector
4. Build the package
npm run build
This runs grok api (auto-generates wrappers), grok check --soft (validates), and webpack (bundles). Do not modify the build script in package.json.
5. Publish the package
Publish to a configured server:
grok publish dev # Debug mode (only visible to you)
grok publish dev --release # Release mode (visible to shared groups)
Return code 0 means success. After publishing in debug mode, find the package under Manage | Packages prefixed with v..
6. Share and release
- Share the package to user groups via right-click menu on the package in
Manage | Packages. - For public release:
grok publish public --release.
Behavior
- Always ask for the package name if not provided.
- Use PascalCase for the package name.
- Default to TypeScript unless the user requests JavaScript.
- Include the
--testflag unless the user says otherwise. - After scaffolding, remind the user to run
npm install. - Follow Datagrok coding conventions: no excessive comments, no curly brackets for one-line if/for, catch/else-if on new line.
- When adding functions, use the annotation comment format (
//name:,//tags:,//input:,//output:). - Warn if webpack externals are modified (datagrok-api, rxjs, cash-dom, dayjs, wu, openchemlib/full are provided by the platform).
Signals
- GitHub stars
- 72
- Forks
- 32
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
create-package- Source
- github.com/datagrok-ai/public