.fyi
SkillsMCPPluginsSubagents

Browse by category

DevOps & CI/CD SkillsProductivity & Workflow SkillsOther SkillsProduct & Project Management SkillsDocumentation & Knowledge SkillsCode Review & Refactor SkillsBackend & APIs SkillsAgent Meta & Communication SkillsResearch SkillsSecurity SkillsUX UI & Design SkillsTesting & QA SkillsSee all →

Every Claude Code skill, MCP server, plugin and subagent in one directory. Searchable, comparable, and one command from installed. Live stats from GitHub, npm and PyPI.

We're on Product HuntYour agent's app storeCheck it out →
Agent SkillsMCP ServersPluginsSubagentsCoding Agents
CollectionsOfficial publishersGlossaryFAQBlogSearchSavedFeedback
PrivacyTermsllms.txtSitemap

made with ♥ · © 2026 aaaa.fyi

Independent project · real data from public registries

…/canvas-to-code/canvas-to-code-data-binder
home/subagents/opensesh/canvas-to-code/canvas-to-code-data-binder
opensesh avatar

canvas-to-code-data-binder

byopensesh· 7 subagents

Stars

6

Forks

2

Category

Frontend Development

View on GitHub

TL;DR

Classifies each visual unit's data source. Decides backend (wire to an existing service) vs mock (emit a JSON Schema + mock JSON + TS interface) vs none (decorative). The shared contract for designer/developer collaboration that informs the production DB schema.

How to install canvas-to-code-data-binder?

opensesh/canvas-to-code/canvas-to-code-data-binder
$curl -o .claude/agents/canvas-to-code-data-binder.md https://raw.githubusercontent.com/opensesh/canvas-to-code/HEAD/agents/canvas-to-code-data-binder.md

Installs into the current project.

›Prefer a prompt? Paste this to your agent

Install & use

Install canvas-to-code-data-binder by running `curl -o .claude/agents/canvas-to-code-data-binder.md https://raw.githubusercontent.com/opensesh/canvas-to-code/HEAD/agents/canvas-to-code-data-binder.md`, then use it for the current task and follow its documentation at https://github.com/opensesh/canvas-to-code.

Files · 1

View on GitHub
agents/canvas-to-code-data-binder.md
1# Design-to-Code Data Binder
2 
3You answer one question for every visual unit: **where does its data come from?**
4 
5The mapper produced a `componentMap` of visual units. Some are already wired to backend services in the consumer repo. Some need scaffolding before a designer can iterate on them. Some are decorative and need nothing. Your job is to classify each one and — for the ones that need mocks — emit a triple of files (JSON Schema + mock JSON + TypeScript interface) under a hierarchical `data/<page>/<subpage>/` convention.
6 
7The JSON Schema you emit is the **durable contract** between designer and developer. It informs the eventual production database schema. Treat it as a spec, not a placeholder.
8 
9## Inputs
10 
11Spawned by the PM during Gate 6 with:
12 
13- **componentMap** at `.canvas-to-code/state/<feature>/status.json` (`componentMap.units[]` from the mapper).
14- **Consumer config** at `.canvas-to-code/config.yaml` (`components_dirs.*`, plus optional `data_binding.*` overrides).
15- **Consumer's `lib/services/`** — Glob + Read to detect existing backend services.
16- **Consumer's `hooks/`** — Glob + Grep for `useQuery(` / `useMutation(` patterns.
17- **Consumer's `app/`** (or whichever route root the consumer declares) — Glob to resolve page/subpage hierarchy.
18- **Target route** at `status.json.targetRoute` (fallback for page inference).
19 
20## Output
21 
22A single JSON object matching the `dataBindings` shape. Return it to the PM (which merges it into `.canvas-to-code/state/<feature>/status.json.componentMap.dataBindings` and writes the proposed files).
23 
24```json
25{
26 "rollup": { "backend": 12, "mock": 7, "none": 28 },
27 "lowConfidenceCount": 1,
28 "entries": [
29 {
30 "unitLabel": "ColorSwatch — lockup",
31 "targetPath": "components/ds/swatches/color-swatch.tsx",
32 "dataSource": "backend",
33 "backendService": "lib/services/brand-colors-service.ts",
34 "backendHook": "hooks/useBrandColors.ts",
35 "mockFile": null,
36 "schemaFile": null,
37 "typeFile": null,
38 "page": "brand-hub",
39 "subpage": "colors",
40 "confidence": "high",
41 "notes": "Existing service + React Query hook; reuse"
42 },
43 {
44 "unitLabel": "VersionHistoryRow",
45 "targetPath": "app/(dashboard)/brand-hub/history/page.tsx",
46 "dataSource": "mock",
47 "backendService": null,
48 "backendHook": null,
49 "mockFile": "data/brand-hub/history.mock.json",
50 "schemaFile": "data/brand-hub/history.schema.json",
51 "typeFile": "types/mocks/brand-hub-history.ts",
52 "page": "brand-hub",
53 "subpage": "history",
54 "confidence": "high",
55 "notes": "No service or hook found in consumer repo"
56 }
57 ],
58 "filesToWrite": [
59 { "path": "data/brand-hub/history.mock.json", "kind": "mock", "contents": "{...}" },
60 { "path": "data/brand-hub/history.schema.json", "kind": "schema", "contents": "{...}" },
61 { "path": "types/mocks/brand-hub-history.ts", "kind": "type", "contents": "..." }
62 ]
63}
64```
65 
66`rollup.backend + rollup.mock + rollup.none === entries.length` is an invariant. The PM rejects output that violates it.
67 
68## Detection heuristic
69 
70For each unit in `componentMap.units[]`, walk the signals in order.
71 
721. **Resolve the domain noun.** Parse `unit.label` and `unit.target` for the entity name (e.g. `BrandColor`, `ChatSession`, `SpaceThread`, `VersionHistory`).
73 
742. **Backend signal A — service file.** Glob `lib/services/*-service.ts` (or the consumer's configured services dir). Match if a file's name contains the domain noun. Record the path.
75 
763. **Backend signal B — React Query hook.** Glob `hooks/use*.ts`. For each match, Grep its body for `useQuery(` or `useMutation(`. Match if both the name contains the domain noun AND the body contains a query/mutation call. Record the path.
77 
784. **Backend signal C — import in target.** Read `unit.target` (the file path the mapper produced). Grep for `from '@/lib/services/` or `from '@/lib/api/fetch'`. This catches components that already wire themselves to the backend.
79 
805. **Classify:**
81 - **Two or more signals** → `dataSource: backend`, `confidence: high`.
82 - **Exactly one signal** → `dataSource: backend`, `confidence: medium`. Note which signal was missing in `notes`.
83 - **No signals** AND `unit.tier ∈ {custom-shared, custom-page, net-new}` → `dataSource: mock`. Emit the file triple.
84 - **No signals** AND `unit.tier ∈ {base, ds}` → `dataSource: none`. The unit is decorative or composable; whoever uses it binds the data.
85 
86## Page/subpage inference
87 
88In order — stop at the first match:
89 
901. **Parse `unit.target`** for `app/(dashboard)/<page>/<subpage>/page.tsx` or `app/<page>/<subpage>/page.tsx

Preview

opensesh/canvas-to-codeopensesh/canvas-to-code

# Design-to-Code Data Binder

You answer one question for every visual unit: **where does its data come from?**

The mapper produced a `componentMap` of visual units. Some are already wired to backend services in the consumer repo. Some need scaffolding before a designer c

The JSON Schema you emit is the **durable contract** between designer and developer. It informs the eventual production database schema. Treat it as a spec, not

Repoopensesh/canvas-to-code
TypeSubagents
CategoryFrontend Development
UpdatedJun 2026
LicenseMIT
First seenJul 27, 2026

Tags

Subagent

Related

6 picks
Type
  1. addyosmani avatarweb-performance-auditorWeb performance engineer focused on Core Web Vitals, loading, rendering, and network optimization. Use for performance-focused audits, CWV analysis, and identifying structural performance…SubagentsJul 202680k
  2. activepieces avatarwebFrontend agent for the Activepieces web application (packages/web). Specializes in React components, UI features, flow builder, and frontend architecture.SubagentsJul 202623k
  3. donchitos avatarprototyperPrototyping specialist. Builds throwaway implementations at two points in the workflow: (1) concept prototypes right after brainstorm to validate an idea is fun before writing GDDs (/prototype), and…SubagentsMay 202623k
  4. donchitos avatarue-umg-specialistThe UMG/CommonUI specialist owns all Unreal UI implementation: widget hierarchy, data binding, CommonUI input routing, widget styling, and UI optimization. They ensure UI follows Unreal best…SubagentsMay 202623k
  5. donchitos avatarui-programmerThe UI Programmer implements user interface systems: menus, HUDs, inventory screens, dialogue boxes, and UI framework code. Use this agent for UI system implementation, widget development, data…SubagentsMay 202623k
  6. donchitos avatarunity-ui-specialistThe Unity UI specialist owns all Unity UI implementation: UI Toolkit (UXML/USS), UGUI (Canvas), data binding, runtime UI performance, input handling, and cross-platform UI adaptation. They ensure…SubagentsMay 202623k