Skip to main content

editor-agent

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

소스 정보

저장소
harvouscom/harvous
최근 소스 활동
2026년 4월 2일 07:00
감지된 SKILL.md 언어
영어
스타
18
포크
1

설치 방법

기본적으로 소스를 먼저 확인하는 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에서 보기