Test Writing Workflow
iOfficeAI/AionUi
Sets the test-writing workflow for the repository: risk-first scenario lists, behavior-focused Vitest tests, a full run before each commit and a coverage target.
A skill your agent uses when reviewing Vitest unit-test diffs in ComfyUIfrontend, especially new mocks, store tests, component tests, or bugfix regression tests.
$ npx skills add Comfy-Org/ComfyUI_frontend --skill reviewing-unit-tests -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Comfy-Org/ComfyUI_frontend reviewing-unit-tests --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/Comfy-Org/ComfyUI_frontend.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/reviewing-unit-tests .claude/skills/reviewing-unit-tests && 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 "reviewing-unit-tests" agent skill from https://github.com/Comfy-Org/ComfyUI_frontend/tree/main/.claude/skills/reviewing-unit-tests into .claude/skills/reviewing-unit-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reviewing-unit-tests", 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/Comfy-Org/ComfyUI_frontend/tree/main/.claude/skills/reviewing-unit-testsType 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 Comfy-Org/ComfyUI_frontend --skill reviewing-unit-tests -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Comfy-Org/ComfyUI_frontend reviewing-unit-tests --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Comfy-Org/ComfyUI_frontend.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/reviewing-unit-tests .agents/skills/reviewing-unit-tests && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "reviewing-unit-tests" agent skill from https://github.com/Comfy-Org/ComfyUI_frontend/tree/main/.claude/skills/reviewing-unit-tests into .agents/skills/reviewing-unit-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reviewing-unit-tests", 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 Comfy-Org/ComfyUI_frontend --skill reviewing-unit-tests -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Comfy-Org/ComfyUI_frontend reviewing-unit-tests --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Comfy-Org/ComfyUI_frontend.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/reviewing-unit-tests .cursor/skills/reviewing-unit-tests && 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 "reviewing-unit-tests" agent skill from https://github.com/Comfy-Org/ComfyUI_frontend/tree/main/.claude/skills/reviewing-unit-tests into .cursor/skills/reviewing-unit-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reviewing-unit-tests", 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/Comfy-Org/ComfyUI_frontend.git --path .claude/skills/reviewing-unit-tests--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 Comfy-Org/ComfyUI_frontend --skill reviewing-unit-tests -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Comfy-Org/ComfyUI_frontend reviewing-unit-tests --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Comfy-Org/ComfyUI_frontend.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/reviewing-unit-tests .gemini/skills/reviewing-unit-tests && 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 "reviewing-unit-tests" agent skill from https://github.com/Comfy-Org/ComfyUI_frontend/tree/main/.claude/skills/reviewing-unit-tests into .gemini/skills/reviewing-unit-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reviewing-unit-tests", 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 Comfy-Org/ComfyUI_frontend reviewing-unit-testsInstalls 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 Comfy-Org/ComfyUI_frontend --skill reviewing-unit-tests -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Comfy-Org/ComfyUI_frontend.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/reviewing-unit-tests .github/skills/reviewing-unit-tests && 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 "reviewing-unit-tests" agent skill from https://github.com/Comfy-Org/ComfyUI_frontend/tree/main/.claude/skills/reviewing-unit-tests into .github/skills/reviewing-unit-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reviewing-unit-tests", 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 Comfy-Org/ComfyUI_frontend --skill reviewing-unit-tests -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Comfy-Org/ComfyUI_frontend reviewing-unit-tests --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Comfy-Org/ComfyUI_frontend.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/reviewing-unit-tests .opencode/skills/reviewing-unit-tests && 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 "reviewing-unit-tests" agent skill from https://github.com/Comfy-Org/ComfyUI_frontend/tree/main/.claude/skills/reviewing-unit-tests into .opencode/skills/reviewing-unit-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reviewing-unit-tests", 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.
reviewing-unit-testsA skill your agent uses when reviewing Vitest unit-test diffs in ComfyUIfrontend, especially new mocks, store tests, component tests, or bugfix regression tests.
Reviewing Unit Tests is an agent skill from Comfy-Org/ComfyUI_frontend. Use when reviewing Vitest unit-test diffs in ComfyUIfrontend, especially new mocks, store tests, component tests, or bugfix regression tests.
Its SKILL.md is about 5.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering Unit testing and Diffusion and image models. It works with ComfyUI and Vitest. The repository describes itself as: Official front-end implementation of ComfyUI. The licence is GPL-3.0.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f9be289. 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:
rgFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Reviewing Unit Tests loads about 5.1k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 1,461 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 Comfy-Org/ComfyUI_frontend at commit f9be289, republished under its GPL-3.0 licence (© Comfy-Org). 1,461 words, ~5,138 tokens.
.claude/skills/reviewing-unit-tests/SKILL.md (or your agent's skills folder).Review for behavior and current repo rules, not motion. Compare to authoritative rules, not prior diffs or legacy snippets.
List the shared factories, shared automocks, global stubs, and reuse rules before judging any setup in the diff:
rg --files src | rg -i 'testutils\.ts$'
rg --files src __mocks__ | rg '__mocks__/'
rg -n -i '\breuse|instead of hand-rolling' docs/testing/*.mdAlso read vitest.setup.ts for global stubs and polyfills.
A stub for a missing global (Path2D, ResizeObserver, canvas getContext) repeated in two or more test files is a finding. It belongs in the shared setup or a shared util, not per file.
When docs and examples conflict, use this order:
docs/guidance/testing-principles.md for design rules that apply at every test level.docs/testing/vitest-patterns.mddocs/testing/unit-testing.md, docs/testing/store-testing.md, and docs/testing/component-testing.mdApply these repo-specific clarifications:
docs/testing/component-testing.md starts with the authoritative rule: new component tests use @testing-library/vue with @testing-library/user-event. The @vue/test-utils snippets below it are legacy examples.docs/testing/store-testing.md still contains as any examples. Treat them as legacy snippets, not approval for new or edited test code.| If you see... | Failure mode | Default action |
|---|---|---|
New @vue/test-utils import in a new component test | legacy test API | Request changes |
vi.mock('vue-i18n', ...) | mocked i18n | Request changes |
as any, @ts-expect-error, as Mock, as ReturnType<typeof vi.fn>, as unknown as X | unnecessary cast or type escape | Request changes unless the author proves no safer type exists |
getXMock(), renamed wrapper, or helper that only returns a mocked value | alias-by-renaming | Request changes |
beforeEach recreates the return object for a module-mocked composable or service | shared mock setup drift | Request changes |
| Assertions only check defaults, mock plumbing, or CSS hooks | non-behavioral test | Request changes |
| Bugfix test has no proof it fails on pre-fix code | unproven regression | Request changes |
Hand-rolled canvas/graph/node/subgraph/workflow fixture or mock when litegraphTestUtils.ts or another shared *testUtils.ts already provides it | duplicated fixture | Request changes, point at the shared factory |
More than three mocks in one file (vi.mock, vi.fn, vi.spyOn, hand-built fakes), excluding shared automocks | possible over-mocking | Ask what owned behavior still runs. Request changes only if none does or a double replaces owned code |
| Test rebuilds production logic (scheduler loop, rAF queue, state machine) or computes the expected value with the logic under test | replicated logic | Request changes, exercise the real code |
Hand-rolled runner primitive: Object.defineProperty write counters, global save/restore in try/finally, if (arg === ...) mock ladders that only return fixed values | hand-rolled runner primitive | Request changes: vi.spyOn(obj, 'prop', 'set'), vi.stubGlobal, vi.when. Keep mockImplementation for calculations and side effects |
| Excuse | Reality |
|---|---|
| "I restructured the mocks" | If the indirection stayed, nothing improved. Flag alias-by-renaming. |
| "The docs do it" | Rule, note, and lint beat legacy snippet. Compare to the current rule, not the nearest example. |
| "TypeScript required the cast" | vi.mocked() usually narrows mock methods. Assertion-only references need no cast. |
"Putting it in beforeEach is DRY" | Recreating module mock state in hooks hides singleton behavior and drifts from the documented pattern. |
| "The real collaborator is hard to set up" | Use the real collaborator or a shared factory. A local double is fine at an awkward boundary (network, clock, dialogs). Flag a missing factory only when the same setup repeats. |
| "Mocks keep the test isolated" | Desiderata isolation means tests do not affect each other. Faking owned code gives up predictive and structure-insensitive for nothing. |
| "It is only a nit" | Explicit repo-rule violations are never nits. |
| "No behavior changed, just cleanup" | Motion != fix. Ask what behavior got stronger. |
| "Mental revert is enough" | For bugfix tests, establish red on pre-fix code or ask the author to show it. |
vi.mock() factory. Access it per test via the composable itself. See docs/testing/unit-testing.md "Mocking Composables with Reactive State".vi.spyOn(...).docs/guidance/testing-principles.md "Doubles: real collaborators first". For store tests, use real stores on the testing Pinia that vitest.setup.ts activates before each test. Flag any test that creates its own Pinia or mocks pinia. Audited concurrent store tests use the per-test pinia fixture. See docs/testing/store-testing.md and docs/testing/vitest-patterns.md.vi.mock, vi.fn, vi.spyOn, and hand-built fakes per file. Above three, ask what the test still proves about owned code. The count is a signal, not a verdict. Boundary doubles around exercised owned code are fine. Request changes when no owned behavior runs or a double replaces owned code.vi.mock(import('…')) that activates a __mocks__/ file, plus vi.mocked(...) configuration of it, per docs/guidance/vitest.md "Shared manual mocks". The exemption covers the count only. Automocking the module under test is still a finding.vi.mock factory for a module that already has a __mocks__/ file is a duplicated fixture.reportError).docs/guidance/testing-principles.md "Judge every test by Beck's Test Desiderata".// Before
const mockAdd = vi.hoisted(() => vi.fn())
// After: same indirection, new name
function getToastAddMock() {
return useToast().add
}If the wrapper only renames or relays a mocked value, fail it. Inline the lookup at the call site or fetch the singleton mock via the documented pattern.
vi.mocked() Scope| Use case | vi.mocked() required? |
|---|---|
.mockReturnValue, .mockResolvedValue, .mockImplementation | Yes |
.mock.calls, .mock.results | Yes |
expect(fn).toHaveBeenCalled() | No |
expect(fn).toHaveBeenCalledWith(...) | No |
vi.mocked() would narrow correctly.vi.mocked() around assertion-only references just for style.vite.config.mts sets mockReset, restoreMocks, unstubEnvs, and unstubGlobals. Flag manual resets, restores, and global save/restore that duplicate them.mockClear() or mockReset() when vi.clearAllMocks() or vi.resetAllMocks() already runs in the relevant hook chain.clearAllMocks vs resetAllMocks unless behavior depends on it.@vueuse/core's useClipboard is usually acceptable.vue-i18nvue-i18n in component tests.createI18n per docs/testing/vitest-patterns.md and the shared testI18n setup.| Smell | Review bar |
|---|---|
| Change-detector test | Reject. Default values alone prove nothing. |
| Mock-only assertion | Accept collaborator-call assertions only when the call is the meaningful external effect and the test also exercises the triggering behavior. |
| Non-behavioral assertion | Reject tests that only check classes, utility hooks, or styling internals. |
New component test using @vue/test-utils | Request changes. Use @testing-library/vue plus @testing-library/user-event. |
any, as any, or @ts-expect-error in new or edited test code | Request changes unless the author proves no safer type exists. Legacy doc snippets do not authorize it. |
For fix: PRs or bugfix diffs:
A regression test that never proves red does not pin the bug.
LGTM, just one nit or approve and move on?.alias-by-renaming, unnecessary cast, mocked i18n, mock-only assertion, unproven regression, duplicated fixture, over-mocking, replicated logic, hand-rolled runner primitive.| When you see... | Read this |
|---|---|
New vi.mock(...) for a composable | docs/testing/unit-testing.md -> "Mocking Composables with Reactive State" |
| New store test or store mock | docs/testing/vitest-patterns.md setup + docs/testing/store-testing.md |
| New component test | Top note in docs/testing/component-testing.md |
vue-i18n in a component test | docs/testing/vitest-patterns.md + src/components/searchbox/v2/__test__/testUtils.ts |
| New LiteGraph node/canvas/graph test setup | docs/testing/litegraph-testing.md -> "Shared Factories" + src/utils/__tests__/litegraphTestUtils.ts |
| Cast around a mock | docs/guidance/typescript.md -> "Type Assertion Hierarchy" |
| Purpose | Path |
|---|---|
| Composable mocking patterns | docs/testing/unit-testing.md |
| Store testing patterns | docs/testing/store-testing.md |
| Repo-wide Vitest setup defaults | docs/testing/vitest-patterns.md |
| Component testing rule for new tests | docs/testing/component-testing.md |
| LiteGraph test patterns | docs/testing/litegraph-testing.md |
| Shared LiteGraph factories | src/utils/__tests__/litegraphTestUtils.ts |
| Real i18n setup | src/components/searchbox/v2/__test__/testUtils.ts |
© Comfy-Org, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/reviewing-unit-tests of Comfy-Org/ComfyUI_frontend.
Open the folder on GitHubat commit f9be289
Reviewing Unit Tests 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 |
|---|---|---|---|---|---|---|
| Reviewing Unit Tests this skillComfy-Org/ComfyUI_frontend | 2.1k | — | ~5.1k | Automated safety check: Pass | GPL-3.0 | |
| Test Writing WorkflowiOfficeAI/AionUi | 33k | 1 repos | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Vitestsupabase/supabase | 111k | 12 repos | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Test GuardamElnagdy/guard-skills | 1.3k | 2 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Adding LLM MCP ToolsTriliumNext/Trilium | 38k | — | ~2.5k | Automated safety check: Pass | AGPL-3.0 | |
| Concept Page Test Writerleonardomso/33-js-concepts | 67k | — | ~5.5k | Automated safety check: Pass | MIT |
iOfficeAI/AionUi
Sets the test-writing workflow for the repository: risk-first scenario lists, behavior-focused Vitest tests, a full run before each commit and a coverage target.
supabase/supabase
Vitest API and config reference (Jest-compatible) — mocking with vi., spies, fake timers, coverage configuration, fixtures, snapshots, and test filtering.
amElnagdy/guard-skills
Reviews newly written or edited tests against nine rules that cut test bloat, such as mock-heavy checks and near-duplicate cases, before they are committed.
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/ —…
leonardomso/33-js-concepts
Generates Vitest tests for every runnable code example on a JavaScript concept documentation page, following a four-phase extraction and conversion process.
archestra-ai/archestra
A skill your agent uses for test selection and quality across backend, frontend, and e2e; load its backend reference for Vitest projects, mocking, DB fixtures, and performance.
Comfy-Org/ComfyUI_frontend
Adds deprecation warnings for renamed or removed properties/APIs.
Comfy-Org/ComfyUI_frontend
Replay recorded agent conversations as Playwright tests against the real chat panel and canvas.
Comfy-Org/ComfyUI_frontend
Transforms raw Playwright codegen output into ComfyUI convention-compliant tests.
Comfy-Org/ComfyUI_frontend
Dispatches the comment-sicko subagent to hunt gratuitous comments in a PR/diff, triages its raw findings, and posts a polite, professional writeup.
Comfy-Org/ComfyUI_frontend
Diagnoses and fixes flaky Playwright e2e tests by replacing race-prone patterns with retry-safe alternatives.
Comfy-Org/ComfyUI_frontend
Ships performance fixes with CI-proven improvement using stacked PRs.
Categories
A skill your agent uses when reviewing Vitest unit-test diffs in ComfyUIfrontend, especially new mocks, store tests, component tests, or bugfix regression tests. Reviewing Unit Tests is an agent skill from Comfy-Org/ComfyUI_frontend. Use when reviewing Vitest unit-test diffs in ComfyUIfrontend, especially new mocks, store tests, component tests, or bugfix regression tests.
Reviewing Unit Tests fits situations like: reviewing Vitest unit-test diffs in ComfyUIfrontend; especially new mocks; component tests; bugfix regression tests.
Run `npx skills add Comfy-Org/ComfyUI_frontend --skill reviewing-unit-tests -a claude-code`. Or copy the skill folder (.claude/skills/reviewing-unit-tests in Comfy-Org/ComfyUI_frontend) into .claude/skills/reviewing-unit-tests in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Comfy-Org/ComfyUI_frontend --skill reviewing-unit-tests -a codex`. Or copy the skill folder (.claude/skills/reviewing-unit-tests in Comfy-Org/ComfyUI_frontend) into .agents/skills/reviewing-unit-tests 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 Comfy-Org/ComfyUI_frontend --skill reviewing-unit-tests -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/reviewing-unit-tests, .gemini/skills/reviewing-unit-tests, .github/skills/reviewing-unit-tests and .opencode/skills/reviewing-unit-tests in your project.
Going by SKILL.md and its folder, Reviewing Unit Tests needs the command-line tools its instructions call (rg).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Reviewing Unit Tests is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.1k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Reviewing Unit Tests: Test Writing Workflow (iOfficeAI/AionUi, 33k stars), Vitest (supabase/supabase, 111k stars), Test Guard (amElnagdy/guard-skills, 1.3k stars) and Adding LLM MCP Tools (TriliumNext/Trilium, 38k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Comfy-Org (a GitHub organization) maintains it in Comfy-Org/ComfyUI_frontend, which has 2,056 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 9, 2026.
Source: Comfy-Org/ComfyUI_frontend on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.