NEWCKEditor AI on your premises: Hook your LLM and register MCP tools. Webinar coming soon!
Sign up (with export icon)

AI Review

The AI Review feature provides users with AI-powered quality assurance for their content by running checks for grammar, style, tone, and more. It also introduces an intuitive interface for reviewing and managing AI-suggested edits directly within the document, ensuring content meets professional standards with minimal manual effort.

Unlock this feature with selected CKEditor Plans

Try all premium features – no credit card needed.

Sign up for a free trial Select a Plan

Demo

Copy link

Integration

Copy link

To start using the AI Review feature, first load the AIReviewMode plugin in your editor configuration. The AI Review button Review will appear in the AI user interface. Learn more about installing and enabling AI features.

After picking one of the available commands in the AI Review tab, AI will analyze the document and propose a series of suggestions:

CKEditor AI Review sidebar with suggestions.

While in the AI Review, the editor remains read–only and allows you to browse suggestions. You can either click suggestions in the sidebar or select them in the editor content (underlined):

CKEditor AI Review suggestion in content.

You can accept or dismiss review suggestions by clicking the corresponding buttons. You can also accept all suggestions by using the “Accept all” button in the top of the user interface and preview changes similar to chat suggestions. Changes that were accepted or dismissed become greyed out in the interface. You can also abandon the review by hitting the “Exit review” button.

Once you are done reviewing your document and all changes are accepted or rejected, click “Finish review” (the button state changes automatically) to return to the normal operation of the editor, where typing is possible.

Review commands

Copy link

The feature comes with several review commands:

Command name Command description Additional information Configuration id
Custom command Enter a custom command for a specific review. You can pick one of the available AI models to execute a custom command. The default model is selected based on the model configuration. custom
Proofread Check the text for errors in grammar, spelling and punctuation. correctness
Improve clarity Improve the logical structure and precision for a clearer message. clarity
Improve readability Adjust sentence structure and word choice for an easier read. readability
Adjust length Shorten or lengthen the text as needed. Longer and Shorter options available length
Adjust tone and style Modify the text to a desired tone and style. Several tone and style options are available: Casual, Direct, Friendly, Confident, Professional tone

The list of review commands visible in the AI Review UI can be adjusted by reordering them or removing selected ones. Please refer to the Available review commands section below.

Configuration

Copy link

Available review commands

Copy link

The list of available review commands visible in the AI Review UI can be adjusted via config.ai.review.availableCommands. This configuration option accepts a list of command IDs. The order of IDs on the list defines the order of commands in the UI. You can limit the list of commands to only desired ones and reorder them at the same time:

ClassicEditor
    .create( document.querySelector( '#editor' ), {
        /* ... */

        plugins: [ AIReviewMode, AIEditorIntegration, /* ... */ ],

        ai: {
            review: {
                availableCommands: [
                    'length',
                    'tone',
                    'readability',
                ]
            }
        }
    } )
    .then( /* ... */ )
    .catch( /* ... */ );
Copy code

Please refer to the Review commands section above to see all available commands.

Available models for custom command

Copy link

The AI Review feature uses the unified model configuration from config.ai.models, which is shared across all AI features (Chat and Review). This ensures consistent model selection behavior across your AI features.

When using the Custom command, the default model is automatically selected based on the defaultModelId configuration. You can also manually select a different model from the available models list, which is filtered by the displayedModels configuration.

The model selector UI visibility is controlled by the config.ai.models.showModelSelector setting.

Adding extra commands

Copy link

The AI Review feature supports adding custom commands tailored to your specific needs. Each custom command requires a custom prompt definition. You can optionally specify a model ID to use a particular model instead of the default one.

The command definition needs to be provided via config.ai.review.extraCommands configuration option. This option registers the command in the AI Review feature.

ClassicEditor
    .create( document.querySelector( '#editor' ), {
        /* ... */

        plugins: [ AIReviewMode, AIEditorIntegration, /* ... */ ],

        ai: {
            review: {
                extraCommands: [
                    {
                        id: 'improve-captions',
                        label: 'Improve Captions',
                        description: 'Improve image captions in the document.',
                        prompt: 'Suggest improvements for the image captions in the document.',
                    },
                    {
                        id: 'expand-abbreviations',
                        label: 'Expand Abbreviations',
                        description: 'Expand abbreviations in the document.',
                        prompt: 'Suggest expansions for abbreviations in the document.',
                        model: 'gpt-5-2'
                    }
                ]
            }
        }
    } )
    .then( /* ... */ )
    .catch( /* ... */ );
Copy code

If config.ai.review.availableCommands configuration option is not set, the extra commands will be added to the end of the list of available commands and visible in the UI by default. However, once config.ai.review.availableCommands is defined, it overrides the default list. In this case, you must explicitly include all commands that should be available in the UI (both default and extra ones), as only the commands listed in this configuration will be exposed:

ClassicEditor
    .create( document.querySelector( '#editor' ), {
        /* ... */

        plugins: [ AIReviewMode, AIEditorIntegration, /* ... */ ],

        ai: {
            review: {
                availableCommands: [
                    'improve-captions',
                    'expand-abbreviations',

                    'custom',
                    'correctness',
                    'clarity',
                    'readability',
                    'length',
                    'tone',
                ],
                extraCommands: [ /* ... */ ],
            }
        }
    } )
    .then( /* ... */ )
    .catch( /* ... */ );
Copy code