create-creation-form

star 9.6k

Use when: scaffolding a creation form drawer with Formik validation and a Relay mutation for a new entity

OpenCTI-Platform By OpenCTI-Platform schedule Updated 5/12/2026

name: create-creation-form description: "Use when: scaffolding a creation form drawer with Formik validation and a Relay mutation for a new entity"

Create Creation Form (Drawer)

Prerequisites

  • Mutation: GraphQL mutation for creating the entity.
  • Fields: List of fields to display.

Procedure

Step 0 — Find an Existing Example

Use the Codebase Pattern Finder agent to locate a similar existing creation form in opencti-platform/opencti-front/src/private/components/ (look for files ending in Creation.tsx). Model the new form after the existing one to stay idiomatic.

Step 1 — Define Mutation & Validation

Use Yup for validation schema.

const creationMutation = graphql`
  mutation MyEntityCreationMutation($input: MyEntityAddInput!) {
    myEntityAdd(input: $input) {
      ...MyEntityLine_node
    }
  }
`;

const validationSchema = Yup.object().shape({
  name: Yup.string().required(t('This field is required')),
});

Step 2 — Create Component Structure

Return a Drawer containing a Formik form.

export const MyEntityCreation: React.FC<Props> = ({ paginationOptions }) => {
  const [commit] = useApiMutation(creationMutation);
  
  const onSubmit = (values, { setSubmitting, resetForm }) => {
    commit({
      variables: {
        input: values,
      },
      updater: (store) => {
        // Use utils/store helper
        insertNode(store, 'Pagination_myEntities', paginationOptions, 'myEntityAdd');
      },
      onCompleted: () => {
        setSubmitting(false);
        resetForm();
      },
    });
  };

  return (
    <Drawer title={t_i18n('Create entity')}>
      <Formik initialValues={{ name: '' }} validationSchema={validationSchema} onSubmit={onSubmit}>
         <Form>
            <Field component={TextField} name="name" label={t_i18n('Name')} />
             <Button type="submit">{t_i18n('Create')}</Button>
         </Form>
      </Formik>
    </Drawer>
  );
};
Install via CLI
npx skills add https://github.com/OpenCTI-Platform/opencti --skill create-creation-form
Repository Details
star Stars 9,554
call_split Forks 1,377
navigation Branch main
article Path SKILL.md
Occupations
More from Creator
OpenCTI-Platform
OpenCTI-Platform Explore all skills →