Skip to main content

create-react-component

Use when: creating a new Relay-connected React component, defining a GraphQL fragment, or wiring a component to a query

Source facts

Repository
OpenCTI-Platform/opencti
Last source activity
May 12, 2026 at 12:56
Detected SKILL.md language
English
Stars
10,152
Forks
1,480

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
create-react-component
description
Use when: creating a new Relay-connected React component, defining a GraphQL fragment, or wiring a component to a query
# Create React Component (Relay) ## Prerequisites - **Parent Component**: Knowing where this will be used. - **Fragment**: The data requirements from GraphQL. ## Procedure ### Step 0 — Find an Existing Example Use the **Codebase Pattern Finder** agent to locate a similar existing component in `opencti-platform/opencti-front/src/private/components/` that uses `useFragment`. Model the new component after the existing one to stay idiomatic. ### Step 1 — Create Component File Location: `opencti-platform/opencti-front/src/private/components/...`. ### Step 2 — Define Fragment & Props Use `graphql` tag and `useFragment`. ```tsx import React from 'react'; import { graphql, useFragment } from 'react-relay'; import { MyComponent_data$key } from './__generated__/MyComponent_data.graphql'; const myComponentFragment = graphql` fragment MyComponent_data on EntityType { id name description } `; interface MyComponentProps { data: MyComponent_data$key; } const MyComponent: React.FC<MyComponentProps> = ({ data }) => { const node = useFragment(myComponentFragment, data); return ( <div> <h1>{node.name}</h1> <p>{node.description}</p> </div> ); }; export default MyComponent; ``` ### Step 3 — Run Relay Compiler Run `yarn relay` to generate the TypeScript types.
View on GitHub