editor-test-harvester

Mine external editor repositories for portable editor-behavior tests with license-aware invariant extraction.

16.5k|997|Updated Dec 2, 2019
One-click install
npx skills add https://github.com/udecode/plate --skill editor-test-harvester
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: editor-test-harvester
Source: https://github.com/udecode/plate/tree/main/.agents/skills/editor-test-harvester
Command: npx skills add https://github.com/udecode/plate --skill editor-test-harvester

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Rich-text editor projects like Slate and Plate need broad behavioral test coverage, but manually studying repositories like Lexical, ProseMirror, CodeMirror, or Tiptap for reusable test ideas is slow, inconsistent, and legally risky when licenses are unclear.

Core Features & Use Cases

  • Exhaustive Multi-Pass Inventory: Builds a complete test-file inventory of a target editor repo, classifies every file (portable, plate-owned, skip, harness, product-shell), and extracts test names with line references.
  • License-Aware Harvesting: Classifies the target repo as permissive or behavior-only, routes artifacts to durable docs or scratch directories, and enforces fresh-invariant rewriting instead of copying upstream test code.
  • Coverage Mapping and Action Planning: Maps extracted behavior invariants to existing Slate v2 and Plate coverage, then assigns actions such as covered, refactor-existing, create-new, defer, or plate-owned with verification commands.
  • Use Case: Point the skill at a local Lexical checkout to produce a scored harvest report identifying IME composition and selection-mapping tests that Slate v2 lacks, with concrete target files and verification commands for each gap.

Quick Start

Ask the agent to harvest the local ../lexical checkout for portable editor-behavior tests and produce a report with coverage mapping against Slate v2 and Plate.

Frequently Asked Questions about editor-test-harvester

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I harvest tests from another editor repository like Lexical?

Clone the target repo locally (for example ../lexical), then invoke the skill with the repo path. It builds a full test inventory, classifies each file, extracts behavior invariants, and maps them to existing Slate v2 or Plate coverage with recommended actions.

Can I copy tests from GPL or non-permissive editor repos?

No. The skill classifies such repos as behavior-only: artifacts go to unversioned scratch space, and any versioned output must be rewritten as a fresh local invariant using local fixtures and assertions, with only source path provenance.

Which editor repositories does the test harvester support?

It targets Lexical, ProseMirror, CodeMirror, Tiptap, Monaco, Quill, or any local editor checkout. The target must be a local clone; the skill never browses GitHub files directly.

What is the difference between portable and plate-owned test rows?

Portable rows prove framework-agnostic editor behavior owned by raw Slate v2, such as IME composition or selection mapping. Plate-owned rows cover plugin and product policy like link grammar, lists, markdown transformers, and mentions, which belong to Plate packages, kits, or docs.

When is a harvest report considered complete?

A report is done only when the total confidence score reaches 0.92 with no dimension below 0.85, the inventory count equals the classified count, every action row has an owner and verification command, and the full inventory appendix is included.