본문으로 건너뛰기
cccskills
무료GitHub에 공개

io-grida

Guides work on the Grida file format (.grida) from the TS side: the I/O packages that read/write it (loading, archive packing, clipboard) and the frozen schema bindings. Use when working with .grida files in the editor or packages, or debugging format round-trip issues. (The schema and the Rust decoder live in the engine repo.)

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md4.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Grida I/O — .grida Format & Loading (TS side)

Format Overview

Grida uses FlatBuffers as the canonical binary format. File identifier: "GRID".

Two on-disk variants:

VariantDetectionNotes
Raw FlatBuffers"GRID" at bytes 4–7Bare document, no images
ZIP archiveZIP magic bytesmanifest.json + document.grida + images/

Document model: Flat node repository (not nested). Nodes reference parents via ID + fractional-index position strings. Multi-scene: each Figma page → a SceneNode.

Key Locations

PathRole
packages/grida-canvas-schema/grida.tsTS runtime types (grida namespace) + SCHEMA_VERSION
packages/grida-canvas-io/TS file loading, archive pack/unpack, clipboard protocol
packages/grida-format/src/FROZEN flatc TS bindings (tombstone — see below)

The schema source of truth and the Rust decoder live in the engine repo: format/grida.fbs · crates/grida/src/io/.

TS Side — packages/grida-canvas-io/

  • io.load(file) — auto-detects format, decodes, extracts images → LoadedDocument
  • io.is_grid(bytes) — checks "GRID" identifier
  • io.archive.pack/unpack — ZIP with manifest.json
  • io.clipboard.encode/decode — Grida clipboard protocol

The tombstone — packages/grida-format

The generated TS FlatBuffers bindings are committed and frozen: the flatc generator wiring was deleted at the engine split (this repo has no format/grida.fbs and no bin/activate-flatc). The bindings are byte-identical to pinned flatc v25.12.19 output and the formatter/linter ignore them to keep it that way. Do not edit them. If the schema evolves in the engine repo and this reader should follow, re-snapshot deliberately from a gridaco/nothing checkout.

Verification

pnpm turbo test --filter='@grida/io'
pnpm turbo typecheck --filter='@grida/io' --filter='@grida/canvas-schema'

Schema Changes

Schema evolution happens in the engine repo (see its io-grida skill and format/AGENTS.md). What this repo owes on a breaking change — a cross-REPO lockstep:

  1. TS: bump grida.program.document.SCHEMA_VERSION in packages/grida-canvas-schema/grida.ts to match the engine's SCHEMA_VERSION in crates/grida/src/io/io_grida_fbs.rs — exactly in sync; both writers must emit the same version string.
  2. Re-snapshot the frozen bindings from the new schema (deliberate act, see above).
  3. Old files are rejected by the TS reader (format.ts calls isSchemaCompatible() and throws on mismatch).

Version compatibility logic (isSchemaCompatible in grida-canvas-schema/grida.ts):

  • While MAJOR=0: same MAJOR.MINOR required (e.g. 0.91.* accepts 0.91.*, rejects 0.90.*)
  • Once MAJOR≥1: same MAJOR required (standard semver)

Format: MAJOR.MINOR.PATCH-prerelease+build (e.g. "0.91.0-beta+20260311").

Note: the TS FlatBuffers decoder is more lenient than the Rust verifier — a TS-side round-trip may pass on structurally invalid bytes. For byte-level verification, use the engine repo's Rust verifier.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

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`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gridaco/grida2.7천2026년 10월 19일 업데이트

ai-models

무료

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gridaco/grida2.7천2026년 10월 19일 업데이트

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/*`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gridaco/grida2.7천2026년 10월 19일 업데이트

code-ts

무료

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`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gridaco/grida2.7천2026년 10월 19일 업데이트

database

무료

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).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gridaco/grida2.7천2026년 10월 19일 업데이트

desktop

무료

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gridaco/grida2.7천2026년 10월 19일 업데이트

gridaco의 스킬 모두 보기

이 스킬의 문제 신고