Skip to main content
NEW · APP STORE Now on iOS · macOS · iPad Android & Windows soon GET IT
Prompts React Flow Node Component Generator

developer coding skill risk: low

React Flow Node Component Generator

Instructs creation of React Flow node components following provided templates, TypeScript type patterns, and store integration steps including registration in specific files.

SKILL 1 file

SKILL.md
---
name: antigravity-awesome-skills-react-flow-node-ts
description: "Create React Flow node components following established patterns with proper TypeScript types and store integration."
---
# React Flow Node

Create React Flow node components following established patterns with proper TypeScript types and store integration.

## Quick Start

Copy templates from assets/ and replace placeholders:
- `{{NodeName}}` → PascalCase component name (e.g., `VideoNode`)
- `{{nodeType}}` → kebab-case type identifier (e.g., `video-node`)
- `{{NodeData}}` → Data interface name (e.g., `VideoNodeData`)

## Templates

- assets/template.tsx - Node component
- assets/types.template.ts - TypeScript definitions

## Node Component Pattern

```tsx
export const MyNode = memo(function MyNode({
  id,
  data,
  selected,
  width,
  height,
}: MyNodeProps) {
  const updateNode = useAppStore((state) => state.updateNode);
  const canvasMode = useAppStore((state) => state.canvasMode);
  
  return (
    <>
      <NodeResizer isVisible={selected && canvasMode === 'editing'} />
      <div className="node-container">
        <Handle type="target" position={Position.Top} />
        {/* Node content */}
        <Handle type="source" position={Position.Bottom} />
      </div>
    </>
  );
});
```

## Type Definition Pattern

```typescript
export interface MyNodeData extends Record<string, unknown> {
  title: string;
  description?: string;
}

export type MyNode = Node<MyNodeData, 'my-node'>;
```

## Integration Steps

1. Add type to `src/frontend/src/types/index.ts`
2. Create component in `src/frontend/src/components/nodes/`
3. Export from `src/frontend/src/components/nodes/index.ts`
4. Add defaults in `src/frontend/src/store/app-store.ts`
5. Register in canvas `nodeTypes`
6. Add to AddBlockMenu and ConnectMenu

## When to Use
This skill is applicable to execute the workflow or actions described in the overview.

## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

INPUTS

NodeName REQUIRED

PascalCase component name

e.g. VideoNode

nodeType REQUIRED

kebab-case type identifier

e.g. video-node

NodeData REQUIRED

Data interface name

e.g. VideoNodeData

REQUIRED CONTEXT

  • node name and type identifiers

ROLES & RULES

  1. Use this skill only when the task clearly matches the scope described above.
  2. Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  3. Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

EXPECTED OUTPUT

Format
code
Constraints
  • replace placeholders {{NodeName}}, {{nodeType}}, {{NodeData}}
  • follow provided component and type patterns
  • include store integration and handles

EXAMPLES

Includes React component and TypeScript type definition code patterns, plus a list of integration steps.

CAVEATS

Missing context
  • Exact contents of the referenced template files
  • Target React Flow / store API versions
  • Full list of required imports or dependencies
Ambiguities
  • "When to Use" references a non-existent overview.
  • assets/ paths and template contents are referenced but not provided inline.

QUALITY

OVERALL
0.74
CLARITY
0.72
SPECIFICITY
0.81
REUSABILITY
0.78
COMPLETENESS
0.65

IMPROVEMENT SUGGESTIONS

  • Replace the vague "When to Use" paragraph with explicit trigger conditions.
  • Inline the template file contents instead of referencing external assets/.
  • Add a short checklist of verification steps after integration.

USAGE

Copy the prompt above and paste it into your AI of choice — Claude, ChatGPT, Gemini, or anywhere else you're working. Replace any placeholder sections with your own context, then ask for the output.

MORE FOR DEVELOPER