tiptap

Builds rich text editors with Tiptap, a headless ProseMirror-based editor framework for React with Tailwind v4 support. Covers SSR-safe setup, image uploads, prose styling, collaborative editing, and markdown support. Use when adding a rich text editor, configuring Tiptap extensions, handling image uploads in editors, or setting up collaborative editing with Y.js. Use for tiptap, rich text, editor, prosemirror, react, tailwind.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "tiptap" with this command: npx skills add oakoss/agent-skills/oakoss-agent-skills-tiptap

Tiptap Rich Text Editor

Overview

Tiptap is a headless rich text editor built on ProseMirror, providing a modular extension system for React applications. It supports React 19, Tailwind v4, and SSR frameworks like Next.js. Use when building blog editors, comment systems, documentation tools, or Notion-like collaborative apps. Do NOT use with Create React App (CRA is incompatible with Tiptap v3 ESM module structure; use Vite instead).

Quick Reference

PatternAPI / Key Point
Create editoruseEditor({ extensions: [StarterKit], immediatelyRender: false })
Render editor<EditorContent editor={editor} />
Prose stylingAdd className="prose dark:prose-invert max-w-none" to container
Configure StarterKitStarterKit.configure({ heading: { levels: [1, 2, 3] } })
Disable undo/redoStarterKit.configure({ undoRedo: false }) (required for Y.js collab)
Image uploadSet allowBase64: false, use upload handler with URL replacement
Markdown supportimport { Markdown } from '@tiptap/markdown' (official, open-source)
shadcn componentnpx shadcn@latest add https://raw.githubusercontent.com/Aslam97/shadcn-minimal-tiptap/main/registry/block-registry.json
Null guarduseEditor() returns Editor | null — guard before calling methods

Core Dependencies

PackagePurpose
@tiptap/reactReact integration (React 19 supported since v2.10.0)
@tiptap/starter-kitBundled extensions: marks, nodes, and functionality
@tiptap/pmProseMirror peer dependency (required, not auto-installed)
@tailwindcss/typographyProse styling for headings, lists, links

StarterKit v3 Contents

CategoryIncluded
MarksBold, Italic, Strike, Code, Link (v3), Underline (v3)
NodesDocument, Paragraph, Text, Heading, BulletList, OrderedList, ListItem, Blockquote, CodeBlock, HorizontalRule, HardBreak
FunctionalityUndo/Redo, Dropcursor, Gapcursor, ListKeymap (v3), TrailingNode (v3)

Common Additional Extensions

ExtensionPackageUse Case
Image@tiptap/extension-imageImage support with resize
Color@tiptap/extension-colorText color (requires TextStyle)
Typography@tiptap/extension-typographySmart quotes, dashes, ellipsis
Placeholder@tiptap/extension-placeholderPlaceholder text (requires CSS)
Table@tiptap/extension-tableTable support (+ Row, Cell, Header)
TaskList@tiptap/extension-task-listCheckbox task lists
CodeBlockLowlight@tiptap/extension-code-block-lowlightSyntax-highlighted code
Collaboration@tiptap/extension-collaborationReal-time multi-user editing (Y.js)
Markdown@tiptap/markdownBidirectional markdown (open-source)

Common Mistakes

MistakeFix
Missing immediatelyRender: falseAdd to useEditor() config — required for SSR/Next.js
No prose classes on editor containerAdd className="prose prose-sm dark:prose-invert max-w-none"
Images stored as base64Set allowBase64: false, use upload handler with URL replacement
Using EditorProvider + useEditor togetherChoose one — EditorProvider wraps useEditor internally
Undo/Redo enabled with CollaborationSet undoRedo: false in StarterKit when using Y.js
ProseMirror version conflictsAdd resolutions for prosemirror-model/view/state in package.json
Using Create React AppSwitch to Vite — CRA incompatible with v3 ESM modules
Not checking editor for nulluseEditor() returns Editor | null — guard before use
Using history: false for collabConfig key renamed to undoRedo in v3
Importing @tiptap/extension-markdownCorrect package is @tiptap/markdown

Delegation

  • Tailwind styling: see tailwind skill
  • Form integration: see tanstack-form skill

References

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

playwright

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

ui-ux-polish

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

tanstack-form

No summary provided by upstream source.

Repository SourceNeeds Review