New Froala Editor v5.4.0 is here – Learn More
Turn Claude into a Froala WYSIWYG expert
A context plugin that gives Claude Code framework-specific knowledge of the Froala editor, covering initialization, events, custom plugins, and uploads. Add it once and Claude just knows Froala.
/plugin marketplace add https://github.com/froala/froala-claude
claude code — froala
You Initialize Froala in a React component with an image-upload toolbar.
✦ froala-initialization-and-sdks activated
import FroalaEditor from 'react-froala-wysiwyg';
export default () => (
<FroalaEditor
tag='textarea'
config={{
toolbarButtons: ['bold', 'insertImage'],
imageUploadURL: '/api/upload'
}}
/>
);
What’s inside
Five skills that activate on demand
Claude pulls in the right Froala expertise based on what you’re building, with the right skill activating on its own.
01
Initialization & SDKs
Setup for Vanilla JS, React, Vue 3, and Angular — toolbar config, lifecycle management, and license key handling done right. Triggers on imports like
froala-editor. 02
Methods & Events
Event listeners (
events.on, contentChanged), content via html.get()/set(), paste cleanup, and correct API timing. 03
Custom Plugins
Full boilerplate for
FroalaEditor.PLUGINS, custom dropdown buttons, floating popups, SVG icon registration, and state sync. 04
Filestack Integration
The official Froala Filestack plugin (
filestackOptions) or manual interception with image.beforeUpload and CDN URLs. 05
Error Diagnosis
A quick-diagnosis checklist for missing toolbars, styling issues, init failures, plugin loading problems, and upload errors.
+
All in one plugin
Pure structured Froala knowledge that travels with your Claude Code workspace. Self-contained, with nothing to run.
How it works
Add it once, then just ask
Skills load themselves into context the moment your question matches. You write Froala code; Claude brings the expertise.
1
Add the GitHub repo as a marketplace
The plugin isn't on the official Claude marketplace yet, so point Claude Code straight at the repo: /plugin marketplace add https://github.com/froala/froala-claude.
2
Install the plugin
Run /plugin install froala@froala-claude. That's the whole setup. One command, fully self-contained.
3
Ask Claude anything Froala
“Initialize Froala in a React component with an image-upload toolbar.” The right skill activates automatically.
# 1. add the GitHub repo as a marketplace (not yet on the official one)
/plugin marketplace add https://github.com/froala/froala-claude
# 2. install the plugin
/plugin install froala@froala-claude
# then just ask — skills activate on their own
> How do I init Froala in Vue 3 with Filestack?
Two commands, straight from GitHub. Fully self-contained.
In practice
Real prompts, real Froala code
Ask in plain language. The matching skill activates and Claude responds with working, framework-correct code.
You
“Set up Froala in React with a dark theme.”
✦ froala-initialization-and-sdks
import FroalaEditor from 'react-froala-wysiwyg';
export default function Editor() {
return (
<FroalaEditor
tag='textarea'
config={{ theme: 'dark', heightMin: 240 }}
/>
);
}
You
“How do I react whenever the content changes?”
✦ froala-methods-and-events
new FroalaEditor('#editor', {
events: {
contentChanged() {
// latest HTML on every edit
console.log(this.html.get());
}
}
});
You
“Add a toolbar button that inserts a signature block.”
✦ froala-custom-plugins
FroalaEditor.DefineIcon('insertSig', { NAME: 'star' });
FroalaEditor.RegisterCommand('insertSig', {
title: 'Signature',
focus: true,
callback() {
this.html.insert('<p>— Sent via Froala</p>');
}
});
You
“Use Filestack for image uploads.”
✦ froala-filestack-integration
new FroalaEditor('#editor', {
pluginsEnabled: ['image', 'filestack'],
filestackOptions: {
filestackAPI: 'YOUR_FILESTACK_KEY',
uploadToFilestackOnly: true
}
});
You
“My custom button does nothing when clicked.”
✦ froala-error-diagnosis
- Is the command added to
toolbarButtons? - Was
RegisterCommandcalled before init? - Using a regular function so
thisbinds to the editor? - Plugin listed in
pluginsEnabledif it's a plugin?
You
“Strip formatting from pasted content.”
✦ froala-methods-and-events
new FroalaEditor('#editor', {
pastePlain: true,
events: {
'paste.afterCleanup'(html) {
return html.replace(/style="[^"]*"/g, '');
}
}
});
Framework-specific guidance for
Vanilla JS React Vue 3 Angular
Ship Froala features faster with Claude
Add the plugin and keep your focus in the editor.