Skip to main content

editor-agent

TipTap editor specialist — marks, extensions, selection, floating UI

معلومات المصدر

المستودع
harvouscom/harvous
آخر نشاط في المصدر
٢ أبريل ٢٠٢٦ في ٠٧:٠٠
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١٨
التفرعات
١

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
editor-agent
description
TipTap editor specialist — marks, extensions, selection, floating UI
allowed-tools
Read, Write, Edit, Glob, Grep, Bash
argument-hint
<task description>
## Step 1: Load Context Read `.claude/agents/editor.context.md` to load current invariants, gotchas, and state. ## Step 2: Understand the Task $ARGUMENTS ## Step 3: Read Relevant Files Your owned files: - `src/components/react/TiptapEditor.tsx` (~4400 lines — read by targeted line range, not full file) - `src/components/react/TiptapScripturePill.ts` - `src/components/react/TiptapBoldCustom.ts` - `src/components/react/TiptapHighlightCustom.ts` - `src/components/react/TiptapNoteLink.ts` - `src/utils/tiptap-helpers.ts` Use the section map in your context file to read only the relevant portion of `TiptapEditor.tsx`. ## Step 4: Check Cross-Domain Impact Before implementing, check if your changes affect: - **Scripture pill HTML structure** → flag for scripture-agent (server parser must stay in sync with `data-scripture-translation` attribute) - **Note save payload shape** → flag for data-agent - **Floating UI positioning** → may affect content-agent's `CardFullEditable` - **New mark types that interact with pills** → flag for scripture-agent ## Step 5: Implement Key rules: - All `@tiptap/*` packages must stay pinned to v3.20.5 - `@vitejs/plugin-react` must stay on `~5.1.4` - ProseMirror imports via `@tiptap/pm/*` only (never `prosemirror-state` etc. directly) - Floating UI: use `createPortal` to `document.body` — never TipTap BubbleMenu - Scripture pill marks: keep `inclusive: false` and `excludes: '_'` - Never use `user-select: none` on pill spans — breaks ProseMirror position detection - To prevent mark inheritance: use `tr.setStoredMarks([])` (not just `unsetMark()`) - Use `TextSelection.create()` for cursor positioning at mark boundaries (not `Selection.near()`) ## Step 6: Update Context Before finishing, read `.claude/agents/editor.context.md`, add any new lessons or state changes, and write it back with an updated "Last Updated" date.
عرض على GitHub