Skip to content
cccskills
FreePublished on GitHub

write-demo-script

Create a DemoScript with steps and registration for the Datagrok demo application

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md3.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Write Demo Script

Help the user create a demo script that demonstrates step-by-step functionality in the Datagrok demo application.

Usage

/write-demo-script [script-name] [--package <package-name>]

Instructions

1. Install the tutorials library

The package must depend on @datagrok-libraries/tutorials:

npm install @datagrok-libraries/tutorials

2. Create the DemoScript class

Create a TypeScript file (e.g., src/demo-app/demo-script.ts) with a function that initializes and runs the demo:

import {DemoScript} from '@datagrok-libraries/tutorials';

export function demo() {
  const demoScript = new DemoScript(
    'Script Name',        // name (required)
    'Script description', // description (required)
    true,                 // isAutomatic: true = auto-advance, false = manual
    {
      autoStartFirstStep: true,  // optional: auto-start first step in manual mode
      path: 'Category/Demo'      // optional: breadcrumb path in the view
    }
  );

  demoScript
    .step('Step 1', async () => {
      grok.shell.addTableView(grok.data.demo.demog());
    }, {description: 'Opens the demographics dataset.', delay: 2000})
    .step('Step 2', async () => {
      grok.shell.addTableView(grok.data.testData('biosensor'));
    }, {description: 'Opens the biosensor dataset.', delay: 2000})
    .step('Final step', async () => console.log('Finished'));

  return demoScript.start();
}

Step parameters

Each .step() call takes:

  • name (string, required): step display name
  • func (async function, required): the action to perform
  • Options object (optional):
    • description (string): text shown to the user during this step
    • delay (number): milliseconds to wait before advancing (for automatic scripts)

3. Register the demo script in package.ts

Add a function with the required metadata annotations to package.ts:

import {demo} from './demo-app/demo-script';

//name: Demo script
//description: Illustrates the work of the demo script
//meta.demoPath: Category | Subcategory | Script Name
//meta.isDemoScript: True
export function demoScript() {
  return new demo();
}

Required annotations

AnnotationDescription
meta.demoPathPath in the demo app, separated by |. Without this, the script will NOT appear in the demo application.
meta.isDemoScriptMust be True. Without this, the script won't render as a demo script with a dedicated view.

Optional annotations

AnnotationDescription
descriptionTooltip text shown in the demo application UI

4. Build and publish

webpack
grok publish dev

Behavior

  • Ask the user for the demo script name, description, and which package it belongs to.
  • Ask what steps the demo should include and whether it should be automatic or manual.
  • Generate the DemoScript file with properly structured steps.
  • Add the registration function to package.ts with the correct meta.demoPath and meta.isDemoScript annotations.
  • Use the pipe separator | in meta.demoPath (e.g., Viewers | Charts | My Demo).
  • Ensure the @datagrok-libraries/tutorials dependency is present in package.json.
  • Follow project coding conventions: no excessive comments, no curly brackets for one-line if/for, catch/else if on new lines.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Add support for a new curve data format in the Curves package converter system

The English summary is being prepared. Showing the original description.

datagrok-ai/public74Updated Oct 22, 2026

Create info panels that appear in the context panel based on semantic types

The English summary is being prepared. Showing the original description.

datagrok-ai/public74Updated Oct 22, 2026

Add a new single-objective optimization algorithm to the sci-comp library. Use when the user asks to implement a new optimizer (e.g. gradient descent, BFGS, simulated annealing, differential evolution).

The English summary is being prepared. Showing the original description.

datagrok-ai/public74Updated Oct 22, 2026

Add unit tests to a Datagrok package

The English summary is being prepared. Showing the original description.

datagrok-ai/public74Updated Oct 22, 2026

Answer a "how do I …" question about the platform with a Gherkin scenario on @datagrok-libraries/bdd that is filmed into a how-to video (grok-bdd guide), so the answer is demonstrated, sent as a video plus numbered steps, and kept as a regression test; the same scenarios, filmed in help mode, are the GIFs of the help pages

The English summary is being prepared. Showing the original description.

datagrok-ai/public74Updated Oct 22, 2026

Translate hand-written Playwright specs (or any existing UI tests) into Gherkin features on @datagrok-libraries/bdd, then prove the features test what they claim by backward-matching them against the originals with independent reviewers, and fix the gaps in the core, the library and the features

The English summary is being prepared. Showing the original description.

datagrok-ai/public74Updated Oct 22, 2026

See all skills by datagrok-ai

Report a problem with this skill