본문으로 건너뛰기
cccskills
무료GitHub에 공개

create-interactive-scientific-application-spec

Create a specification for an interactive scientific Datagrok application (simulation, ODE/PDE solver, computational tool)

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(4)

  • SKILL.md7.7 KB
  • references/examples/lotka-volterra-spec/lotka-volterra-spec.md35.8 KB
  • references/guide-for-spec.md15.7 KB
  • references/spec-template.md17.4 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Create Specification for Datagrok Scientific Application

This skill produces a complete, implementation-ready specification for an interactive scientific application on the Datagrok platform.

Output: spec.md saved to the application directory. Next step: Implementation via the implement-interactive-scientific-application-from-spec skill (separate conversation).

Base path: .claude/skills/create-interactive-scientific-application-spec/ (relative to repo root). All file paths below use {SKILL}/ as shorthand.


Step 1: Understand the request

Analyze the user's request and identify:

  • The scientific domain and problem being solved.
  • Core computational model (formulas, equations, algorithms).
  • What the user wants to see and interact with.
  • Complexity level: simple (single reactive task, no workers) vs. complex (multiple tasks, workers, secondary pipelines).

Determine the target package:

  • If the user specifies a package name — use it.
  • If the current working directory is inside an existing package (has package.json with datagrok-api dependency) — add the application to that package.
  • Otherwise — ask the user whether to create a new package or add to an existing one.

If the request is vague (e.g., "build a Lotka-Volterra app"), ask clarifying questions before proceeding — but keep it to 2–3 focused questions, not an interrogation.


Step 2: Read reference materials

Read these files once, in this order:

  1. Spec template (mandatory): {SKILL}/references/spec-template.md — read in full.

  2. Architectural guide (mandatory): {SKILL}/references/guide-for-spec.md — read in full. This is a condensed version of the implementation guide, containing only what is needed to write a correct specification: architecture concepts, port/adapter/coordinator roles, naming conventions, section expectations.

  3. Completed examples (if available): {SKILL}/references/examples/ — list subdirectories, then read the example spec(s) that are closest to the user's request.

Do NOT read the full implementation guide, worker guides, API references, or coding conventions — those belong to the implementation skill.


Step 3: Fill in the specification

Fill in every section of the template. Follow these rules:

Critical sections — fill with maximum detail

  • 1.0 General Information — application name, package, entry function, description.
  • 1.1 Core — task list, computation formulas (Level 1 is MANDATORY before approval), input/output parameters, implementation approach.
  • 3. Controls — every control must have: ID, label, type, data type, default value, min, max, format, tooltip. No placeholders.
  • 4. Display Elements — every viewer/element with ID, type, associated data.
  • 7. Validation — concrete rules with conditions and error messages.
  • 15. Testing — test categories, reference examples, expected coverage.

Sections that may be N/A for simple apps

For applications with a single reactive task, no workers, and no secondary pipelines, the following sections can be marked N/A with a one-line explanation:

  • 1.2 Ports (application-level: Progress, Cancellation)
  • 8.2 Secondary Pipelines
  • 8.4 Computation Blocking
  • 12.2 Worker Termination

Never mark a section N/A without explanation. If unsure whether a section applies — include it.

Computation formulas (Section 1.1) — special attention

This is the most important section. Level 1 must contain:

  • All variables with meaning, units, and valid domains.
  • All equations/relationships connecting inputs to outputs — unambiguously, so that another developer could implement from this description alone.
  • Output properties (invariants): bounds, monotonicity, conservation laws, limiting cases.
  • At least one reference example per computational path: concrete inputs → expected output with source (manual calculation / literature).

Level 2 (full formalization) can be marked as "to be developed incrementally" for the first iteration, but note what it will eventually contain.

Control IDs — naming convention

Use a consistent prefix: ctrl_ for inputs (e.g., ctrl_alpha, ctrl_x0), btn_ for buttons (e.g., btn_optimize, btn_reset), view_ for viewers (e.g., view_line_chart, view_phase_plot).


Step 4: Present for approval

Present the specification to the user in stages:

  1. First: Sections 1.0–1.5 (architecture, computation model, ports, adapters, coordinator, independence principle). Ask for feedback before continuing — this is the foundation.
  2. Then: Sections 2–5 (main view, controls, display, layout).
  3. Then: Sections 6–15 (feedback, validation, pipeline, reactivity, data lifecycle, errors, resources, closure, UX, testing).

At each stage, ask: "Does this look correct? Anything to change?"


Step 5: Save and hand off

When the user approves the full specification:

  1. Save the specification as spec.md in the application source directory (e.g., src/<app-name>/spec.md).

  2. Confirm explicitly:

    Specification approved and saved to src/<app-name>/spec.md.

    To implement, start a new conversation and use the implement-interactive-scientific-application-from-spec skill, or run:

    /implement-interactive-scientific-application-from-spec

Do NOT proceed to implementation in this conversation.


Iteration rules

  • If the user requests changes — update the spec and re-present the changed sections.
  • If you discover ambiguities or inconsistencies while filling in later sections — go back and fix earlier sections, noting the changes.
  • The specification is the single source of truth for implementation.

Reference files summary

FilePurposeRequired
references/spec-template.mdSection structure and expectationsYes
references/guide-for-spec.mdArchitecture concepts for correct spec writingYes
references/examples/Completed spec examplesIf available

What guide-for-spec.md should contain

This file is a trimmed version of the full implementation guide. Keep:

  • Hexagonal architecture overview (Core ↔ Ports ↔ Adapters ↔ Coordinator)
  • Independence principle explanation
  • Task taxonomy (reactive vs. on-demand, simple vs. complex)
  • Port types and their roles (Input, Output, Progress, Cancellation)
  • Adapter responsibilities (what UI adapters do, what worker adapters do)
  • Coordinator responsibilities (high-level, not implementation details)
  • Naming conventions (control IDs, CSS prefixes, file structure)
  • Section-by-section expectations for the spec template
  • Computation blocking concept (what it is, when to specify it)
  • Resource lifecycle concept (subscriptions, workers — what to plan for)

Remove:

  • Code examples and implementation patterns
  • Webpack configuration details
  • CSS implementation rules (selectors, specificity)
  • Worker message protocol and lifecycle management code
  • TypeScript interface definitions
  • Subscription management code (subs[] array patterns)
  • addValidators() implementation
  • onViewRemoved implementation patterns
  • Testing framework setup and test runner details
  • Any section that answers "how to code this" rather than "what to specify"

Target size: ~30–40% of the full guide.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 20일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 20일 업데이트

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).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 20일 업데이트

Add unit tests to a Datagrok package

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 20일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 20일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

datagrok-ai/public742026년 10월 20일 업데이트

datagrok-ai의 스킬 모두 보기

이 스킬의 문제 신고