Typescript Expert
cin12211/orca-q
TypeScript and JavaScript expert with deep knowledge of type-level programming, performance optimization, monorepo management, migration strategies, and modern tooling.
Review or audit CKEditor 5 plugin code in the Trilium (TriliumNext Notes) monorepo, or a PR/diff touching packages/ckeditor5 (including its in-tree plugins under src/plugins/).
$ npx skills add TriliumNext/Trilium --skill ckeditor5-reviewing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install TriliumNext/Trilium ckeditor5-reviewing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/TriliumNext/Trilium.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ckeditor5-reviewing .claude/skills/ckeditor5-reviewing && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ckeditor5-reviewing" agent skill from https://github.com/TriliumNext/Trilium/tree/main/.claude/skills/ckeditor5-reviewing into .claude/skills/ckeditor5-reviewing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ckeditor5-reviewing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/TriliumNext/Trilium/tree/main/.claude/skills/ckeditor5-reviewingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add TriliumNext/Trilium --skill ckeditor5-reviewing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install TriliumNext/Trilium ckeditor5-reviewing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TriliumNext/Trilium.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/ckeditor5-reviewing .agents/skills/ckeditor5-reviewing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ckeditor5-reviewing" agent skill from https://github.com/TriliumNext/Trilium/tree/main/.claude/skills/ckeditor5-reviewing into .agents/skills/ckeditor5-reviewing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ckeditor5-reviewing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add TriliumNext/Trilium --skill ckeditor5-reviewing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install TriliumNext/Trilium ckeditor5-reviewing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TriliumNext/Trilium.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/ckeditor5-reviewing .cursor/skills/ckeditor5-reviewing && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ckeditor5-reviewing" agent skill from https://github.com/TriliumNext/Trilium/tree/main/.claude/skills/ckeditor5-reviewing into .cursor/skills/ckeditor5-reviewing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ckeditor5-reviewing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/TriliumNext/Trilium.git --path .claude/skills/ckeditor5-reviewing--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add TriliumNext/Trilium --skill ckeditor5-reviewing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install TriliumNext/Trilium ckeditor5-reviewing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TriliumNext/Trilium.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/ckeditor5-reviewing .gemini/skills/ckeditor5-reviewing && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ckeditor5-reviewing" agent skill from https://github.com/TriliumNext/Trilium/tree/main/.claude/skills/ckeditor5-reviewing into .gemini/skills/ckeditor5-reviewing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ckeditor5-reviewing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install TriliumNext/Trilium ckeditor5-reviewingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add TriliumNext/Trilium --skill ckeditor5-reviewing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/TriliumNext/Trilium.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/ckeditor5-reviewing .github/skills/ckeditor5-reviewing && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ckeditor5-reviewing" agent skill from https://github.com/TriliumNext/Trilium/tree/main/.claude/skills/ckeditor5-reviewing into .github/skills/ckeditor5-reviewing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ckeditor5-reviewing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add TriliumNext/Trilium --skill ckeditor5-reviewing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install TriliumNext/Trilium ckeditor5-reviewing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TriliumNext/Trilium.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/ckeditor5-reviewing .opencode/skills/ckeditor5-reviewing && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ckeditor5-reviewing" agent skill from https://github.com/TriliumNext/Trilium/tree/main/.claude/skills/ckeditor5-reviewing into .opencode/skills/ckeditor5-reviewing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ckeditor5-reviewing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ckeditor5-reviewingReview or audit CKEditor 5 plugin code in the Trilium (TriliumNext Notes) monorepo, or a PR/diff touching packages/ckeditor5 (including its in-tree plugins under src/plugins/).
Ckeditor5 Reviewing is an agent skill from TriliumNext/Trilium. Review or audit CKEditor 5 plugin code in the Trilium (TriliumNext Notes) monorepo, or a PR/diff touching packages/ckeditor5 (including its in-tree plugins under src/plugins/). Use when checking a Trilium CKEditor 5 plugin for correctness and idiom: schema / conversion / command / UI / widget code, CKEditor-specific defects (asymmetric upcast/downcast, unconsumed upcast elements, missing inline-widget position mapping, command refresh/isEnabled bugs, memory leaks, t() gaps, editing/UI split violations), and…
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/defect-patterns.md`).
It sits in Development, covering Monorepo tooling, Hooks and plugins and Performance optimization. The repository describes itself as: Build your personal knowledge base with Trilium Notes. The licence is AGPL-3.0.
10 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4d9cb6d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pnpmFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comckeditor.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ckeditor5 Reviewing loads about 2.5k tokens when it runs, and up to ~7.5k if it reads all its reference files. Until then it costs about 208 tokens; SKILL.md has 1,066 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from TriliumNext/Trilium at commit 4d9cb6d, republished under its AGPL-3.0 licence (© TriliumNext). 1,066 words, ~2,458 tokens.
.claude/skills/ckeditor5-reviewing/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.A workflow and defect catalog for reviewing CKEditor 5 plugin code in the Trilium monorepo — a distinct task from writing it. This skill orchestrates the review and hunts both CKEditor-specific and Trilium-integration bugs; it delegates the per-dimension "is this idiomatic?" checklists to the companion skills rather than duplicating them:
ckeditor5-plugin-development — its references/review-checklist.md (architecture, schema,
conversion, commands, UI, a11y) and references/conventions.md (naming, imports, JSDoc, TS).ckeditor5-testing — its review checklist and patterns for the test side (Vitest, browser-mode
vs. @vitest/browser-playwright browser mode, real ClassicEditor.create).Use those for "does this follow the conventions"; use this skill for how to drive the review and what subtle things tend to be wrong.
This skill reviews CKEditor 5 plugin code in the Trilium monorepo (scope @triliumnext/). The
CKEditor 5 library itself is the external ckeditor5 dependency, 48 or later — its docs
(ckeditor.com/docs) and source
(github.com/ckeditor/ckeditor5) are external references,
not the code under review. Nearly all Trilium plugins live inside packages/ckeditor5, under
src/plugins/<name>/ — admonition, collapsible, footnotes, keyboard_marker, mermaid and the
in-tree plugins alongside them. There are no separate CKEditor plugin packages left.
The aggregate assembles them all and is wired into the editor UI from apps/client.
On versions: these skills name major versions only ("48 or later"). Trilium tracks CKEditor
5 closely, so an exact pin written here would be stale within weeks — read the current one from
packages/ckeditor5/package.json.
Reviewing a PR or diff that touches a Trilium CKEditor 5 plugin (packages/ckeditor5/src/plugins/
), the aggregate itself, or the toolbar config in apps/client;
auditing an existing
plugin; sanity-checking your own feature before opening a PR. For writing the feature, use
ckeditor5-plugin-development; for writing tests, use ckeditor5-testing.
packages/ckeditor5/src/plugins/<name>/)? Does it
also touch the aggregate's wiring (packages/ckeditor5/src/plugins.ts, src/index.ts) or the toolbar
(apps/client/src/widgets/type_widgets/text/toolbar.ts)? This tells you which checklists, defect
groups, and integration checks apply.packages/ckeditor5/src/plugins.ts
(CORE_PLUGINS / TRILIUM_PLUGINS / EXTERNAL_PLUGINS → builtinPlugins) so it actually
loads into the editor classes in packages/ckeditor5/src/index.ts (AttributeEditor[Balloon],
ClassicEditor[Decoupled], PopupEditor[Balloon]);apps/client/src/widgets/type_widgets/text/toolbar.ts,
otherwise the button never appears even though the plugin loaded.ckeditor5 aggregate (or a
relative path inside packages/ckeditor5) with explicit file extensions; augmentation uses
declare module 'ckeditor5' (never @ckeditor/ckeditor5-core), normally at the bottom of the
plugin's glue file; any license header matches the sibling files in that plugin folder and the
provenance recorded in its README.md. These are enforced by eslint-config-ckeditor5
(require-file-extensions-in-imports, allow-imports-only-from-main-package-entry-point,
no-legacy-imports) and stylelint-config-ckeditor5 — a diff that breaks them fails lint.pnpm --filter @triliumnext/ckeditor5 test (or ...-math); the two run sequentially because
each spins up headless Chromium. Both use @vitest/browser-playwright browser mode and
gate src/** at 100% coverage. Coverage ≠ correctness: confirm
the change itself is tested, not just that lines are hit. A bug fix with no new/changed test is
a red flag even when coverage stays green.editor.getData() → setData() (does content survive a save?); exercise selection
edge cases (collapsed vs. ranged, inside objects/limits, at attribute boundaries); toggle
read-only.references/defect-patterns.md — the high-value, easy-to-miss failure
modes (CKEditor-general + Trilium integration).file:line, with the concrete fix or question.getData()), crashes/console errors, undo
corruption, security (unsanitized HTML/XSS), schema corruption; plugin not registered in
plugins.ts (feature silently never loads).addKeystrokeInfos), memory leaks, command enabled where the schema disallows it; button
missing from toolbar.ts; lint-failing imports (missing file extension / wrong package /
legacy @ckeditor/*) that block the build.t(), redundant converters, non-idiomatic but
working code.Lead with blockers/majors; don't bury them under nits.
A noisy review erodes trust. Confirm a finding is real before raising it. Common false positives to not raise:
conversion.attributeToElement(...)
registers both directions) — count two-way helpers, not just for('dataDowncast').getAttribute('data-x') should be .dataset" inside a converter callback — that's a view
element, not DOM; .dataset would silently drop the value (see the plugin-dev conversion.md
view-element pitfall).false" — the idiom is to remove it (yields undefined).bind()-ed to the command (reactive, not imperative).this.listenTo() (auto-cleaned in destroy()).static get requires() rather than listed directly in plugins.ts — check the dependency chain
before flagging.@ckeditor/ckeditor5-*" — Trilium deliberately imports from the ckeditor5
aggregate (with file extensions); the deep @ckeditor/* path is the lint failure, not the fix.When unsure, phrase it as a question ("Is <mark> intended to round-trip through getData()?
I don't see a dataDowncast.") rather than a false assertion.
| File | Use it for |
|---|---|
references/defect-patterns.md | The bug catalog — CKEditor-general groups (conversion, schema, commands, UI, lifecycle, localization, undo, tests) plus a Trilium integration group. For each: the symptom, how to spot it in a diff, why it's wrong, and the fix. The core of a correctness review. |
The CKEditor-general defect patterns are distilled from the companion skills and the CKEditor 5
library at 48 or later; docs/… / packages/… paths in those patterns point into the
external CKEditor 5 repository (github.com/ckeditor/ckeditor5),
not the Trilium code under review. The Trilium-specific paths
(packages/ckeditor5/src/plugins/<name>/,
packages/ckeditor5/src/{plugins,index}.ts, apps/client/src/widgets/type_widgets/text/toolbar.ts)
point into the Trilium monorepo. To refresh, re-check those paths against the
current Trilium tree and bump the CKEditor version if the ckeditor5 pin changes.
© TriliumNext, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in .claude/skills/ckeditor5-reviewing of TriliumNext/Trilium.
Open the folder on GitHubat commit 4d9cb6d
Ckeditor5 Reviewing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ckeditor5 Reviewing this skillTriliumNext/Trilium | 38k | — | ~2.5k | Automated safety check: Pass | AGPL-3.0 | |
| Typescript Expertcin12211/orca-q | 224 | 12 repos | ~3.7k | Automated safety check: Pass | MIT | |
| Bazel Build Optimizationwshobson/agents | 40k | 9 repos | ~502 | Automated safety check: Pass | MIT | |
| Turborepo Cachingwshobson/agents | 40k | 9 repos | ~2k | Automated safety check: Notes | MIT | |
| Openiap Workflowshyodotdev/openiap | 155 | — | ~766 | Automated safety check: Pass | MIT | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 4 repos | ~1.1k | Automated safety check: Pass | MIT |
cin12211/orca-q
TypeScript and JavaScript expert with deep knowledge of type-level programming, performance optimization, monorepo management, migration strategies, and modern tooling.
wshobson/agents
Production patterns for Bazel in large monorepos: workspace layout, targets and labels, remote caching and execution, custom rules and build-time tuning.
wshobson/agents
Configures Turborepo pipelines and local or remote caching for monorepo builds, including Vercel remote cache, a self-hosted cache and cache-miss debugging.
hyodotdev/openiap
A skill your agent uses for OpenIAP monorepo work that should follow the repository's slash-command workflows when the user asks in natural language instead of typing a slash command, including…
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
nrwl/nx
Import, merge, or combine repositories into an Nx workspace using nx import.
TriliumNext/Trilium
A skill your agent uses when cutting, preparing, or debugging a Trilium release — bumping the monorepo version, tagging, or diagnosing a failed "Release" workflow run.
TriliumNext/Trilium
A skill your agent uses when working on the Trilium Electron desktop app (apps/desktop) — adding or changing an electronApi method / IPC channel, touching preload.ts, main.ts, services/window.ts or…
TriliumNext/Trilium
A skill your agent uses when adding a DB migration or a new column/field to a Becca entity in Trilium ("add a migration", "new column on notes/attributes", "ALTER TABLE", "add a field to…
TriliumNext/Trilium
A skill your agent uses when adding, moving, or wiring an internal REST endpoint in Trilium (a new /api/ route) — choosing between a core-shared handler (packages/trilium-core/src/routes/index.ts…
TriliumNext/Trilium
A skill your agent uses when adding, changing, or reviewing an LLM/MCP tool in Trilium (the defineTools definitions under packages/trilium-core/src/services/llm/tools/ —…
TriliumNext/Trilium
Write, extend, and review CKEditor 5 plugins in the Trilium (TriliumNext Notes) monorepo — the rich-text-note editor under packages/ckeditor5, whose plugins live in src/plugins/.
Categories
Review or audit CKEditor 5 plugin code in the Trilium (TriliumNext Notes) monorepo, or a PR/diff touching packages/ckeditor5 (including its in-tree plugins under src/plugins/). Ckeditor5 Reviewing is an agent skill from TriliumNext/Trilium. Review or audit CKEditor 5 plugin code in the Trilium (TriliumNext Notes) monorepo, or a PR/diff touching packages/ckeditor5 (including its in-tree plugins under src/plugins/).
Ckeditor5 Reviewing fits situations like: checking a Trilium CKEditor 5 plugin for correctness and idiom: schema / conversion / command / UI / widget code; CKEditor-specific defects (asymmetric upcast/downcast; unconsumed upcast elements; missing inline-widget position mapping.
Run `npx skills add TriliumNext/Trilium --skill ckeditor5-reviewing -a claude-code`. Or copy the skill folder (.claude/skills/ckeditor5-reviewing in TriliumNext/Trilium) into .claude/skills/ckeditor5-reviewing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add TriliumNext/Trilium --skill ckeditor5-reviewing -a codex`. Or copy the skill folder (.claude/skills/ckeditor5-reviewing in TriliumNext/Trilium) into .agents/skills/ckeditor5-reviewing in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TriliumNext/Trilium --skill ckeditor5-reviewing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ckeditor5-reviewing, .gemini/skills/ckeditor5-reviewing, .github/skills/ckeditor5-reviewing and .opencode/skills/ckeditor5-reviewing in your project.
Going by SKILL.md and its folder, Ckeditor5 Reviewing needs the command-line tools its instructions call (pnpm).
SKILL.md names 2 domains. As links in the text: github.com and ckeditor.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Ckeditor5 Reviewing is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 9.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Ckeditor5 Reviewing: Typescript Expert (cin12211/orca-q, 224 stars), Bazel Build Optimization (wshobson/agents, 40k stars), Turborepo Caching (wshobson/agents, 40k stars) and Openiap Workflows (hyodotdev/openiap, 155 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
TriliumNext (a GitHub organization) maintains it in TriliumNext/Trilium, which has 38,274 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 11, 2026.
Source: TriliumNext/Trilium on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.