Skip to content
cccskills
FreePublished on GitHub

fixtures

Guides authoring, organizing, and referencing test fixtures in this repo. Use when creating new fixtures, writing tests that depend on fixtures, or deciding what should be checked into git. Engine fixtures (rendering corpora) live in the engine repo.

The English summary is being prepared. Showing the original description.

Works withFigma
See how to install

Files included (1)

  • SKILL.md3.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Fixtures

What fixtures are

Fixtures are static input files — .fig archives, clipboard captures, markdown samples, .grida documents — used as deterministic inputs to parsing and I/O tests. They exist so that tests are reproducible, self-contained, and don't depend on external services or generated data.

Why we keep them

  • Regression detection — parse the same input, compare the output.
  • Spec coverage — each fixture maps to a specific feature or edge case being tested (one concept per file).
  • Onboarding — new contributors can see exactly what the importers handle by browsing fixtures.

Best practices

  • One concept per file. Don't combine unrelated properties.
  • Self-contained. No external resources, network fetches, or scripts.
  • Minimal. Only enough structure to isolate the behavior under test.
  • Descriptive naming. <domain>-<property>[-<descriptor>].<ext> — the filename alone should tell you what's being tested.
  • Don't duplicate. Before adding a fixture, check if an existing one already covers the behavior. Extend or split rather than duplicate.

The tree — who owns what

fixtures/
├── test-fig/         # Figma clipboard / .fig fixtures (LFS: *.fig, *.deck)
├── test-figma/       # Figma archive / REST fixtures
├── test-canvas/      # .canvas (dotcanvas) fixtures
├── test-markdown/    # Markdown fixtures
├── fonts/            # ← FROZEN SNAPSHOT (engine-owned)
├── images/           # ← FROZEN SNAPSHOT (engine-owned)
├── test-grida/       # ← FROZEN SNAPSHOT (engine-owned)
└── text-editor/      # ← FROZEN SNAPSHOT (engine-owned)

Frozen snapshots

The engine repo owns the canonical, evolving copies of fonts/, images/, test-grida/ and text-editor/ (its crates consume them at compile/test time, with full git history carried over). The copies here exist only so staying tests keep passing at their original paths — consumers: @grida/fonts, @grida/refig, @grida/io, the editor reducer round-trip, @grida/text-editor. Do not edit them here; re-snapshot deliberately from the engine repo if the canon evolves. See fixtures/README.md.

New engine fixtures (rendering, SVG/HTML corpora, engine formats) go to the engine repo: https://github.com/gridaco/nothing/tree/main/fixtures. New fixtures for staying product code go in a grida-owned directory here.

Local-only fixtures

Large, third-party, or license-restricted corpora are never committed — the engine repo keeps its own gitignored fixtures/local/ convention. Never reference a gitignored local path in committed code, tests, or documentation — it does not exist in CI or on other developers' machines. If a doc must mention one (e.g. the refig corpus workflow in the io-figma skill), clearly mark it local-only and note the download/build step.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Grida AI agent system work: `@grida/daemon` (DaemonServer, loopback HTTP perimeter, files/workspaces, secrets store, daemon discovery) and `@grida/agent` (the agent tenant: sessions, providers/BYOK, runtime/tool execution, skills discovery, prompts, tiers, sandbox hosts). Use for `packages/grida-daemon/**`, `packages/grida-ai-agent/**`, desktop sidecar protocol changes, agent chat transport, and bugs in agent state or streams. For pure Electron window, preload, menu, deep-link, or CDP work, use `desktop`.

The English summary is being prepared. Showing the original description.

gridaco/grida2.7KUpdated Oct 15, 2026

Research, compare, and update shared AI model JSON for TypeScript, web, and Rust consumers. Covers text model tiers, image and video generation models, image tool models, release provenance, pricing data sourcing, and product-side catalogue cost estimates. Use when bumping model versions, adding new models, updating pricing, or auditing model specs against provider documentation.

The English summary is being prepared. Showing the original description.

gridaco/grida2.7KUpdated Oct 15, 2026

React-specific code shape in the Grida editor. Hooks cannot be tested or benchmarked and silently break tuned UX under layered composition, so they are barred from the engine and main system — load-bearing logic lives in classes and namespaces, hooks only as thin edge wires. `data-testid` follows component-root discipline: one per significant component, not scattered. Use when authoring React in `editor/grida-canvas-react/`, `editor/components/`, `editor/scaffolds/`, or `editor/app/*`.

The English summary is being prepared. Showing the original description.

gridaco/grida2.7KUpdated Oct 15, 2026

TypeScript code shape inside a well-named module — taste, not lint. Prefer one class or namespace per file (the unit a test targets) over scattered free exports; consolidate related code, don't fragment. The unit of code should be the unit of spec. Use when authoring TS in `editor/grida-canvas*`, `editor/lib/`, or `packages/*`. Sibling to the `naming` skill; React-specific shape lives in `code-react`.

The English summary is being prepared. Showing the original description.

gridaco/grida2.7KUpdated Oct 15, 2026

Use BEFORE editing any file in `supabase/migrations/` or `supabase/schemas/`, OR when the user runs a `/database` subcommand (`compact local migration`, `rls scenarios`, `align`). Encodes the three contracts that protect the Grida database layer: applied migrations are immutable, RLS implementation mirrors tests (never the reverse), `schemas/*.sql` is the human-readable end-state. Companion to `supabase/AGENTS.md` (RLS, grants, security boundaries).

The English summary is being prepared. Showing the original description.

gridaco/grida2.7KUpdated Oct 15, 2026

Grida Desktop Electron shell and release-impact work: BrowserWindow, preload, `window.grida`, menus, protocol/deep links, file associations, Forge, path-scoped bridge security, Electron-only UI bugs, and CDP / Playwright verification. Use for `desktop/`, `editor/app/desktop/**`, `editor/scaffolds/desktop/**`, `editor/lib/desktop/**`, `/desktop/*` CSP, GRIDA-SEC-004, and deciding whether linked-package or hosted-renderer changes require a native Desktop version bump or coordinated release. For implementing daemon/agent-tenant core behavior, use `agent-system` as well.

The English summary is being prepared. Showing the original description.

gridaco/grida2.7KUpdated Oct 15, 2026

See all skills by gridaco

Report a problem with this skill