@fprad0/skill-master-mcp 0.0.11 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +96 -83
- package/README.md +472 -443
- package/VERSION.md +9 -9
- package/bin/lib/bootstrap-global-core.mjs +34 -0
- package/bin/lib/client-config.mjs +293 -268
- package/bin/lib/doctor-core.mjs +202 -0
- package/bin/lib/menu-core.mjs +1629 -1154
- package/bin/lib/operation-result.mjs +59 -0
- package/bin/lib/register-clients-core.mjs +247 -0
- package/bin/lib/skill-installation.mjs +215 -0
- package/bin/lib/update-cli-core.mjs +117 -0
- package/bin/skill-master-activation.mjs +163 -163
- package/bin/skill-master-bootstrap-global.mjs +61 -49
- package/bin/skill-master-configure-private-registry.mjs +3 -3
- package/bin/skill-master-doctor.mjs +239 -181
- package/bin/skill-master-eval-activation.mjs +32 -32
- package/bin/skill-master-install-global-skills.mjs +59 -97
- package/bin/skill-master-install-project-skills.mjs +97 -0
- package/bin/skill-master-menu.mjs +406 -320
- package/bin/skill-master-register-clients.mjs +232 -98
- package/bin/skill-master-success-skills.mjs +307 -307
- package/bin/skill-master-update.mjs +121 -72
- package/bin/skill-master.mjs +3 -3
- package/dist/activation.d.ts.map +1 -1
- package/dist/activation.js +12 -0
- package/dist/activation.js.map +1 -1
- package/dist/prompt-router.d.ts.map +1 -1
- package/dist/prompt-router.js +19 -0
- package/dist/prompt-router.js.map +1 -1
- package/dist/recommender.d.ts.map +1 -1
- package/dist/recommender.js +4 -1
- package/dist/recommender.js.map +1 -1
- package/docs/architecture/APRENDIZADO_DE_IMPLEMENTACOES_BEM_SUCEDIDAS.md +125 -125
- package/docs/architecture/ARQUITETURA_AUTO_UPDATE.md +9 -9
- package/docs/architecture/PLANO_MASTER_ACIONAMENTO_AUTOMATICO_E_APRENDIZADO.md +341 -341
- package/docs/architecture/REDE_SEGURA_DE_SKILLS.md +148 -148
- package/docs/operations/GUIA_MULTI_COMPUTADOR.md +262 -255
- package/docs/operations/GUIA_NPM_PRIVADO.md +294 -294
- package/docs/operations/GUIA_NPM_PUBLICO.md +147 -147
- package/docs/operations/MENU_VISUAL_EVIDENCE_2026-06-28.md +66 -0
- package/docs/operations/assets/menu-frame-compact.html +76 -0
- package/docs/operations/assets/menu-frame-compact.png +0 -0
- package/docs/operations/assets/menu-frame-large.html +84 -0
- package/docs/operations/assets/menu-frame-large.png +0 -0
- package/docs/operations/assets/menu-frame-running.html +80 -0
- package/docs/operations/assets/menu-frame-running.png +0 -0
- package/docs/operations/cross-platform-auth-transfer/ANALISE_COMPATIBILIDADE_MCP_2026-06-28.md +140 -0
- package/docs/operations/cross-platform-auth-transfer/README_TRANSFERENCIA.md +85 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/ANALISE_MENU_REBORN_CYBERPUNK_2026-06-28.md +174 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/HANDOFF_IMPLEMENTACAO_REBORN_CYBERPUNK_2026-06-28.md +119 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/ORDEM_DE_EXECUCAO_MENU_REBORN_CYBERPUNK.md +134 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/README_TRANSFERENCIA.md +84 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/README_TRANSFERENCIA_REBORN_PACKAGE.md +56 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/references/cyan-hud-frame-sheet.jpg +0 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/references/cyberpunk-pattern-sheet.jpg +0 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/references/fluid-workflow-windows.gif +0 -0
- package/docs/operations/token-economy-transfer/ANALISE_AVANCADA_ECONOMIA_TOKENS_2026-06-30.md +141 -0
- package/docs/operations/token-economy-transfer/PLANO_DEV_SENIOR_MASTER_TOKEN_ECONOMY_2026-06-30.md +171 -0
- package/docs/operations/token-economy-transfer/README_TRANSFERENCIA_TOKEN_ECONOMY.md +31 -0
- package/docs/planning/MENU_RUNTIME_CORRECTION_PLAN_2026-06-30.md +551 -0
- package/docs/planning/V0_0_9_APROVACAO_CRITICA_MENSAGENS_DE_VENDA.md +85 -85
- package/docs/planning/V0_0_9_FONTES_E_CRITERIOS_DE_AUTORIDADE.md +139 -139
- package/docs/planning/V0_0_9_MATRIZ_SKILLS_MULTIDISCIPLINARES.md +105 -105
- package/docs/planning/V0_0_9_POLITICA_MORAL_CATOLICA_PARA_IA.md +181 -181
- package/docs/planning/V0_0_9_PROMPTS_EXECUCAO.md +59 -59
- package/docs/planning/V0_0_9_ROADMAP_DISCERNIMENTO_E_CONHECIMENTO_AMPLO.md +181 -181
- package/docs/prompt-tasks/PROMPT_TASK_001_BOOTSTRAP_SKILL_MASTER_MCP.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_002_AUTO_UPDATE_LAUNCHER.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_003_REMOTE_MANIFEST_AND_RELEASES.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_004_MULTI_USER_DISTRIBUTION.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_005_SECURITY_AND_QUALITY_GATE.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_006_MASTER_ACIONAMENTO_APRENDIZADO.md +83 -0
- package/docs/prompt-tasks/PROMPT_TASK_007_PERSONA_ORQUESTRADORA.md +88 -0
- package/docs/prompt-tasks/PROMPT_TASK_008_PROMPT_ROUTER_MODOS_ATIVACAO.md +156 -0
- package/docs/prompt-tasks/PROMPT_TASK_009_PIPELINE_APRENDIZADO_SUCESSO.md +105 -0
- package/docs/prompt-tasks/PROMPT_TASK_010_EVALS_GOVERNANCA_ATIVACAO.md +119 -0
- package/docs/prompt-tasks/PROMPT_TASK_011_MENU_NOTIFICACOES_NOTION.md +120 -0
- package/docs/prompt-tasks/PROMPT_TASK_012_MENU_CYBERPUNK_PIXEL_FRAME.md +123 -0
- package/docs/prompt-tasks/PROMPT_TASK_013_MENU_FLUID_DNA_ANIMATION.md +114 -0
- package/docs/prompt-tasks/PROMPT_TASK_014_MENU_FUNCTIONAL_PARITY_QA.md +157 -0
- package/docs/prompt-tasks/PROMPT_TASK_015_TRANSFER_RELEASE_HANDOFF.md +127 -0
- package/docs/prompt-tasks/PROMPT_TASK_016_CROSS_PLATFORM_MCP_AUTH_REGISTRATION.md +107 -0
- package/docs/prompt-tasks/PROMPT_TASK_018_NPM_PUBLISH_2FA_SETUP.md +80 -0
- package/docs/prompt-tasks/PROMPT_TASK_019_TOKEN_ECONOMY_GLOBAL_SKILLS.md +56 -0
- package/docs/prompt-tasks/PROMPT_TASK_MASTER_EXECUTOR.md +6 -0
- package/docs/skill-candidates/v0.0.10/cli-creator/LICENSE.txt +201 -201
- package/docs/skill-candidates/v0.0.10/cli-creator/SKILL.md +160 -160
- package/docs/skill-candidates/v0.0.10/cli-creator/agents/openai.yaml +4 -4
- package/docs/skill-candidates/v0.0.10/cli-creator/references/agent-cli-patterns.md +154 -154
- package/docs/skill-candidates/v0.0.10/developer-workstation-ops/SKILL.md +32 -32
- package/docs/skill-candidates/v0.0.10/figma/LICENSE.txt +1 -1
- package/docs/skill-candidates/v0.0.10/figma/SKILL.md +42 -42
- package/docs/skill-candidates/v0.0.10/figma/agents/openai.yaml +14 -14
- package/docs/skill-candidates/v0.0.10/figma/assets/figma-small.svg +3 -3
- package/docs/skill-candidates/v0.0.10/figma/assets/icon.svg +28 -28
- package/docs/skill-candidates/v0.0.10/figma/references/figma-mcp-config.md +35 -35
- package/docs/skill-candidates/v0.0.10/figma/references/figma-tools-and-prompts.md +34 -34
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/LICENSE.TXT +1 -1
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/SKILL.md +349 -349
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/agents/openai.yaml +14 -14
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/assets/figma-small.svg +3 -3
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/assets/icon.svg +28 -28
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/references/mapping-checklist.md +7 -7
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/scripts/normalize_node_id.py +25 -25
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/LICENSE.TXT +1 -1
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/SKILL.md +537 -537
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/agents/openai.yaml +14 -14
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/assets/figma-small.svg +3 -3
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/assets/icon.svg +28 -28
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/references/rule-template.md +15 -15
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/scripts/check_agents_md.sh +9 -9
- package/docs/skill-candidates/v0.0.10/figma-generate-design/LICENSE.TXT +1 -1
- package/docs/skill-candidates/v0.0.10/figma-generate-design/SKILL.md +341 -341
- package/docs/skill-candidates/v0.0.10/figma-generate-design/agents/openai.yaml +14 -14
- package/docs/skill-candidates/v0.0.10/figma-generate-design/assets/figma-small.svg +3 -3
- package/docs/skill-candidates/v0.0.10/figma-generate-design/assets/icon.svg +28 -28
- package/docs/skill-candidates/v0.0.10/figma-generate-design/maintainers.yml +1 -1
- package/docs/skill-candidates/v0.0.10/figma-generate-library/LICENSE.TXT +1 -1
- package/docs/skill-candidates/v0.0.10/figma-generate-library/SKILL.md +314 -314
- package/docs/skill-candidates/v0.0.10/figma-generate-library/agents/openai.yaml +14 -14
- package/docs/skill-candidates/v0.0.10/figma-generate-library/assets/figma-small.svg +3 -3
- package/docs/skill-candidates/v0.0.10/figma-generate-library/assets/icon.svg +28 -28
- package/docs/skill-candidates/v0.0.10/figma-generate-library/maintainers.yml +3 -3
- package/docs/skill-candidates/v0.0.10/figma-generate-library/references/code-connect-setup.md +260 -260
- package/docs/skill-candidates/v0.0.10/figma-generate-library/references/component-creation.md +1014 -1014
- package/docs/skill-candidates/v0.0.10/figma-generate-library/references/discovery-phase.md +518 -518
- package/docs/skill-candidates/v0.0.10/figma-generate-library/references/documentation-creation.md +834 -834
- package/docs/skill-candidates/v0.0.10/figma-generate-library/references/error-recovery.md +540 -540
- package/docs/skill-candidates/v0.0.10/figma-generate-library/references/naming-conventions.md +527 -527
- package/docs/skill-candidates/v0.0.10/figma-generate-library/references/token-creation.md +962 -962
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/bindVariablesToComponent.js +110 -110
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/cleanupOrphans.js +127 -127
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createComponentWithVariants.js +148 -148
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createDocumentationPage.js +139 -139
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createSemanticTokens.js +108 -108
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createVariableCollection.js +49 -49
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/inspectFileStructure.js +121 -121
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/rehydrateState.js +92 -92
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/validateCreation.js +83 -83
- package/docs/skill-candidates/v0.0.10/figma-implement-design/LICENSE.txt +1 -1
- package/docs/skill-candidates/v0.0.10/figma-implement-design/SKILL.md +258 -258
- package/docs/skill-candidates/v0.0.10/figma-implement-design/agents/openai.yaml +14 -14
- package/docs/skill-candidates/v0.0.10/figma-implement-design/assets/figma-small.svg +3 -3
- package/docs/skill-candidates/v0.0.10/figma-implement-design/assets/icon.svg +28 -28
- package/docs/skill-candidates/v0.0.10/figma-use/LICENSE.TXT +1 -1
- package/docs/skill-candidates/v0.0.10/figma-use/SKILL.md +233 -233
- package/docs/skill-candidates/v0.0.10/figma-use/agents/openai.yaml +14 -14
- package/docs/skill-candidates/v0.0.10/figma-use/assets/figma-small.svg +3 -3
- package/docs/skill-candidates/v0.0.10/figma-use/assets/icon.svg +28 -28
- package/docs/skill-candidates/v0.0.10/figma-use/maintainers.yml +1 -1
- package/docs/skill-candidates/v0.0.10/figma-use/references/api-reference.md +301 -301
- package/docs/skill-candidates/v0.0.10/figma-use/references/common-patterns.md +512 -512
- package/docs/skill-candidates/v0.0.10/figma-use/references/component-patterns.md +488 -488
- package/docs/skill-candidates/v0.0.10/figma-use/references/effect-style-patterns.md +123 -123
- package/docs/skill-candidates/v0.0.10/figma-use/references/gotchas.md +599 -599
- package/docs/skill-candidates/v0.0.10/figma-use/references/maintainers.yml +12 -12
- package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-patterns.md +513 -513
- package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-standalone.d.ts +11293 -11293
- package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-standalone.index.md +441 -441
- package/docs/skill-candidates/v0.0.10/figma-use/references/text-style-patterns.md +203 -203
- package/docs/skill-candidates/v0.0.10/figma-use/references/validation-and-recovery.md +109 -109
- package/docs/skill-candidates/v0.0.10/figma-use/references/variable-patterns.md +354 -354
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/maintainers.yml +9 -9
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components--creating.md +17 -17
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components--using.md +17 -17
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components.md +50 -50
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-effect-styles.md +52 -52
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-text-styles.md +90 -90
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables--creating.md +13 -13
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables--using.md +13 -13
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables.md +64 -64
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds.md +41 -41
- package/docs/skill-candidates/v0.0.10/frontend-design/LICENSE.txt +177 -177
- package/docs/skill-candidates/v0.0.10/frontend-design/SKILL.md +55 -55
- package/docs/skill-candidates/v0.0.10/frontend-ui-ux-systems/SKILL.md +32 -32
- package/docs/skill-candidates/v0.0.10/github/SKILL.md +74 -74
- package/docs/skill-candidates/v0.0.10/github/agents/openai.yaml +6 -6
- package/docs/skill-candidates/v0.0.10/github/assets/github-small.svg +3 -3
- package/docs/skill-candidates/v0.0.10/image-graphic-design-rendering/SKILL.md +28 -28
- package/docs/skill-candidates/v0.0.10/language-quality-pt-en-fr-it-ru/SKILL.md +28 -28
- package/docs/skill-candidates/v0.0.10/math-physics-reasoning/SKILL.md +28 -28
- package/docs/skill-candidates/v0.0.10/mcp-builder/LICENSE.txt +201 -201
- package/docs/skill-candidates/v0.0.10/mcp-builder/SKILL.md +236 -236
- package/docs/skill-candidates/v0.0.10/mcp-builder/reference/evaluation.md +601 -601
- package/docs/skill-candidates/v0.0.10/mcp-builder/reference/mcp_best_practices.md +249 -249
- package/docs/skill-candidates/v0.0.10/mcp-builder/reference/node_mcp_server.md +969 -969
- package/docs/skill-candidates/v0.0.10/mcp-builder/reference/python_mcp_server.md +718 -718
- package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/connections.py +151 -151
- package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/evaluation.py +373 -373
- package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/example_evaluation.xml +22 -22
- package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/requirements.txt +2 -2
- package/docs/skill-candidates/v0.0.10/mcp-client-readiness/SKILL.md +31 -31
- package/docs/skill-candidates/v0.0.10/openai-docs/LICENSE.txt +201 -201
- package/docs/skill-candidates/v0.0.10/openai-docs/SKILL.md +161 -161
- package/docs/skill-candidates/v0.0.10/openai-docs/agents/openai.yaml +14 -14
- package/docs/skill-candidates/v0.0.10/openai-docs/assets/openai-small.svg +3 -3
- package/docs/skill-candidates/v0.0.10/openai-docs/references/latest-model.md +37 -37
- package/docs/skill-candidates/v0.0.10/openai-docs/references/prompting-guide.md +244 -244
- package/docs/skill-candidates/v0.0.10/openai-docs/references/upgrade-guide.md +181 -181
- package/docs/skill-candidates/v0.0.10/openai-docs/scripts/fetch-codex-manual.mjs +598 -598
- package/docs/skill-candidates/v0.0.10/openai-docs/scripts/resolve-latest-model-info.js +147 -147
- package/docs/skill-candidates/v0.0.10/playwright/NOTICE.txt +14 -14
- package/docs/skill-candidates/v0.0.10/playwright/SKILL.md +147 -147
- package/docs/skill-candidates/v0.0.10/playwright/agents/openai.yaml +6 -6
- package/docs/skill-candidates/v0.0.10/playwright/assets/playwright-small.svg +3 -3
- package/docs/skill-candidates/v0.0.10/playwright/references/cli.md +116 -116
- package/docs/skill-candidates/v0.0.10/playwright/references/workflows.md +95 -95
- package/docs/skill-candidates/v0.0.10/playwright/scripts/playwright_cli.sh +25 -25
- package/docs/skill-candidates/v0.0.10/polyglot-backend-engineering/SKILL.md +32 -32
- package/docs/skill-candidates/v0.0.10/screenshot/LICENSE.txt +201 -201
- package/docs/skill-candidates/v0.0.10/screenshot/SKILL.md +267 -267
- package/docs/skill-candidates/v0.0.10/screenshot/agents/openai.yaml +6 -6
- package/docs/skill-candidates/v0.0.10/screenshot/assets/screenshot-small.svg +5 -5
- package/docs/skill-candidates/v0.0.10/screenshot/scripts/ensure_macos_permissions.sh +54 -54
- package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_display_info.swift +22 -22
- package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_permissions.swift +40 -40
- package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_window_info.swift +126 -126
- package/docs/skill-candidates/v0.0.10/screenshot/scripts/take_screenshot.ps1 +163 -163
- package/docs/skill-candidates/v0.0.10/screenshot/scripts/take_screenshot.py +585 -585
- package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/SKILL.md +62 -62
- package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/agents/openai.yaml +4 -4
- package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/activation-policy.md +77 -77
- package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/human-approval-policy.md +83 -83
- package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/persona-dev-senior-master.md +46 -46
- package/docs/skill-candidates/v0.0.10/terminal-menu-operations/SKILL.md +30 -30
- package/docs/skill-candidates/v0.0.10/terminal-pixel-art-tui/SKILL.md +43 -43
- package/docs/skill-candidates/v0.0.10/webapp-testing/LICENSE.txt +201 -201
- package/docs/skill-candidates/v0.0.10/webapp-testing/SKILL.md +95 -95
- package/docs/skill-candidates/v0.0.10/webapp-testing/examples/console_logging.py +34 -34
- package/docs/skill-candidates/v0.0.10/webapp-testing/examples/element_discovery.py +39 -39
- package/docs/skill-candidates/v0.0.10/webapp-testing/examples/static_html_automation.py +32 -32
- package/docs/skill-candidates/v0.0.10/webapp-testing/scripts/with_server.py +105 -105
- package/docs/skill-candidates/v0.0.10/winui-app/LICENSE.txt +201 -201
- package/docs/skill-candidates/v0.0.10/winui-app/SKILL.md +94 -94
- package/docs/skill-candidates/v0.0.10/winui-app/agents/openai.yaml +5 -5
- package/docs/skill-candidates/v0.0.10/winui-app/config.yaml +50 -50
- package/docs/skill-candidates/v0.0.10/winui-app/references/_sections.md +96 -96
- package/docs/skill-candidates/v0.0.10/winui-app/references/accessibility-input-and-localization.md +51 -51
- package/docs/skill-candidates/v0.0.10/winui-app/references/build-run-and-launch-verification.md +72 -72
- package/docs/skill-candidates/v0.0.10/winui-app/references/community-toolkit-controls-and-helpers.md +57 -57
- package/docs/skill-candidates/v0.0.10/winui-app/references/controls-layout-and-adaptive-ui.md +84 -84
- package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-environment-audit-and-remediation.md +82 -82
- package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-setup-and-project-selection.md +67 -67
- package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-template-first-recovery.md +62 -62
- package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-winui-app-structure.md +62 -62
- package/docs/skill-candidates/v0.0.10/winui-app/references/motion-animations-and-polish.md +45 -45
- package/docs/skill-candidates/v0.0.10/winui-app/references/performance-diagnostics-and-responsiveness.md +46 -46
- package/docs/skill-candidates/v0.0.10/winui-app/references/sample-source-map.md +37 -37
- package/docs/skill-candidates/v0.0.10/winui-app/references/shell-navigation-and-windowing.md +67 -67
- package/docs/skill-candidates/v0.0.10/winui-app/references/styling-theming-materials-and-icons.md +71 -71
- package/docs/skill-candidates/v0.0.10/winui-app/references/testing-debugging-and-review-checklists.md +77 -77
- package/docs/skill-candidates/v0.0.10/winui-app/references/windows-app-sdk-lifecycle-notifications-and-deployment.md +52 -52
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/SKILL.md +398 -398
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/common-patterns.md +330 -330
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/complete-examples.md +871 -871
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/component-patterns.md +501 -501
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/data-fetching.md +766 -766
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/file-organization.md +501 -501
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/loading-and-error-states.md +500 -500
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/performance.md +405 -405
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/routing-guide.md +363 -363
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/styling-guide.md +427 -427
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/typescript-standards.md +417 -417
- package/docs/skill-candidates/v0.0.11/git-version-control-ops/SKILL.md +34 -34
- package/docs/skill-candidates/v0.0.11/go-engineering/SKILL.md +34 -34
- package/docs/skill-candidates/v0.0.11/java-engineering/SKILL.md +34 -34
- package/docs/skill-candidates/v0.0.11/javascript-engineering/SKILL.md +34 -34
- package/docs/skill-candidates/v0.0.11/json-contract-design/SKILL.md +34 -34
- package/docs/skill-candidates/v0.0.11/multi-client-mcp-ops/SKILL.md +36 -36
- package/docs/skill-candidates/v0.0.11/nextjs/SKILL.md +745 -745
- package/docs/skill-candidates/v0.0.11/nextjs/agents/openai.yaml +3 -3
- package/docs/skill-candidates/v0.0.11/nextjs/references/app-router-files.md +94 -94
- package/docs/skill-candidates/v0.0.11/python-engineering/SKILL.md +34 -34
- package/docs/skill-candidates/v0.0.11/ruby-engineering/SKILL.md +34 -34
- package/docs/skill-candidates/v0.0.11/senior-fullstack/SKILL.md +209 -209
- package/docs/skill-candidates/v0.0.11/senior-fullstack/references/architecture_patterns.md +103 -103
- package/docs/skill-candidates/v0.0.11/senior-fullstack/references/development_workflows.md +103 -103
- package/docs/skill-candidates/v0.0.11/senior-fullstack/references/tech_stack_guide.md +103 -103
- package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/code_quality_analyzer.py +114 -114
- package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/fullstack_scaffolder.py +114 -114
- package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/project_scaffolder.py +114 -114
- package/docs/skill-candidates/v0.0.11/shadcn/SKILL.md +573 -573
- package/docs/skill-candidates/v0.0.11/shadcn/agents/openai.yaml +3 -3
- package/docs/skill-candidates/v0.0.11/sql-postgresql-engineering/SKILL.md +34 -34
- package/docs/skill-candidates/v0.0.11/terminal-shell-ops/SKILL.md +34 -34
- package/docs/skill-candidates/v0.0.11/typescript-expert/SKILL.md +429 -429
- package/docs/skill-candidates/v0.0.11/typescript-expert/references/tsconfig-strict.json +91 -91
- package/docs/skill-candidates/v0.0.11/typescript-expert/references/typescript-cheatsheet.md +383 -383
- package/docs/skill-candidates/v0.0.11/typescript-expert/references/utility-types.ts +335 -335
- package/docs/skill-candidates/v0.0.11/typescript-expert/scripts/ts_diagnostic.py +203 -203
- package/docs/skill-candidates/v0.0.11/ui-component-primitives/SKILL.md +34 -34
- package/docs/skill-candidates/v0.0.11/web-mobile-design-systems/SKILL.md +34 -34
- package/docs/skill-candidates/v0.0.11/windows-linux-platform-ops/SKILL.md +34 -34
- package/docs/skill-candidates/v0.0.12/context-compression-handoff/SKILL.md +47 -0
- package/docs/skill-candidates/v0.0.12/csharp-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/css-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/go-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/html-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/javascript-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/json-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/prompt-budget-gate/SKILL.md +46 -0
- package/docs/skill-candidates/v0.0.12/python-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/react-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/ruby-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/senior-master-code-optimizer/SKILL.md +48 -0
- package/docs/skill-candidates/v0.0.12/sql-senior-master-engineering/SKILL.md +31 -0
- package/docs/skill-candidates/v0.0.12/token-economy-orchestrator/SKILL.md +38 -0
- package/docs/skill-candidates/v0.0.12/typescript-senior-master-engineering/SKILL.md +35 -0
- package/docs/skill-candidates/v0.0.9/ai-ethics-human-dignity/SKILL.md +32 -32
- package/docs/skill-candidates/v0.0.9/broad-domain-router/SKILL.md +41 -41
- package/docs/skill-candidates/v0.0.9/catholic-moral-discernment/SKILL.md +31 -31
- package/docs/skill-candidates/v0.0.9/engineering-systems-master/SKILL.md +31 -31
- package/docs/skill-candidates/v0.0.9/language-quality-pt-en-fr/SKILL.md +28 -28
- package/docs/skill-candidates/v0.0.9/math-science-reasoning/SKILL.md +29 -29
- package/docs/skill-candidates/v0.0.9/philosophy-sociology-discernment/SKILL.md +28 -28
- package/docs/skill-candidates/v0.0.9/professional-boundary-triage/SKILL.md +40 -40
- package/docs/skill-candidates/v0.0.9/release-ethics-gate/SKILL.md +32 -32
- package/docs/skill-candidates/v0.0.9/source-authority-reviewer/SKILL.md +31 -31
- package/examples/client-configs/claude-code.commands.md +21 -17
- package/examples/client-configs/claude-code.project.mcp.json +18 -18
- package/examples/client-configs/claude-desktop.macos.json +18 -18
- package/examples/client-configs/claude-desktop.windows.json +20 -20
- package/examples/client-configs/codex.windows.toml +11 -11
- package/examples/client-configs/gemini-code-assist.intellij.mcp.json +18 -18
- package/examples/client-configs/gemini.linux.settings.json +21 -21
- package/examples/client-configs/gemini.windows.settings.json +23 -23
- package/examples/client-configs/generic-stdio.json +16 -16
- package/manifests/channels/beta.json +26 -26
- package/manifests/channels/stable.json +27 -27
- package/network/approved-skills.json +54 -54
- package/network/unapproved-skill-candidates.json +110 -110
- package/package.json +87 -78
- package/scripts/configure-private-registry.mjs +208 -208
- package/scripts/lib/private-registry.mjs +97 -97
- package/scripts/render-menu-evidence.mjs +130 -0
- package/scripts/verify-menu-actions.mjs +117 -115
- package/sources.json +11 -11
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
interface:
|
|
2
|
-
display_name: "Generate Figma Library"
|
|
3
|
-
short_description: "Build or update a design system library in Figma"
|
|
4
|
-
icon_small: "./assets/figma-small.svg"
|
|
5
|
-
icon_large: "./assets/figma.png"
|
|
6
|
-
default_prompt: "Use $figma-generate-library to build or update a Figma design system library from the codebase, including tokens, components, and documentation."
|
|
7
|
-
|
|
8
|
-
dependencies:
|
|
9
|
-
tools:
|
|
10
|
-
- type: "mcp"
|
|
11
|
-
value: "figma"
|
|
12
|
-
description: "Figma MCP server"
|
|
13
|
-
transport: "streamable_http"
|
|
14
|
-
url: "https://mcp.figma.com/mcp"
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Generate Figma Library"
|
|
3
|
+
short_description: "Build or update a design system library in Figma"
|
|
4
|
+
icon_small: "./assets/figma-small.svg"
|
|
5
|
+
icon_large: "./assets/figma.png"
|
|
6
|
+
default_prompt: "Use $figma-generate-library to build or update a Figma design system library from the codebase, including tokens, components, and documentation."
|
|
7
|
+
|
|
8
|
+
dependencies:
|
|
9
|
+
tools:
|
|
10
|
+
- type: "mcp"
|
|
11
|
+
value: "figma"
|
|
12
|
+
description: "Figma MCP server"
|
|
13
|
+
transport: "streamable_http"
|
|
14
|
+
url: "https://mcp.figma.com/mcp"
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
|
2
|
-
<path fill="currentColor" fill-rule="evenodd" d="M4.994 5.986a2.014 2.014 0 1 0 0 4.028h2.069V5.986H4.994Zm5.063-.98h.055a2.014 2.014 0 1 0 0-4.026h-2.07v4.027h2.015Zm1.697.49A2.994 2.994 0 0 0 10.112 0H4.994a2.994 2.994 0 0 0-1.642 5.498A2.99 2.99 0 0 0 2 8a2.99 2.99 0 0 0 1.352 2.503A2.99 2.99 0 0 0 2 13.007C2 14.663 3.358 16 5.008 16c1.665 0 3.035-1.349 3.035-3.02v-2.765a2.984 2.984 0 0 0 2.014.778h.055a2.994 2.994 0 0 0 1.642-5.496Zm-1.642.49h-.055a2.014 2.014 0 1 0 0 4.028h.055a2.014 2.014 0 1 0 0-4.028Zm-7.132 7.02c0-1.111.902-2.013 2.014-2.013h2.069v1.987c0 1.123-.924 2.04-2.055 2.04a2.026 2.026 0 0 1-2.028-2.013Zm4.083-8H4.994a2.014 2.014 0 1 1 0-4.026h2.069v4.027Z" clip-rule="evenodd"/>
|
|
3
|
-
</svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
|
2
|
+
<path fill="currentColor" fill-rule="evenodd" d="M4.994 5.986a2.014 2.014 0 1 0 0 4.028h2.069V5.986H4.994Zm5.063-.98h.055a2.014 2.014 0 1 0 0-4.026h-2.07v4.027h2.015Zm1.697.49A2.994 2.994 0 0 0 10.112 0H4.994a2.994 2.994 0 0 0-1.642 5.498A2.99 2.99 0 0 0 2 8a2.99 2.99 0 0 0 1.352 2.503A2.99 2.99 0 0 0 2 13.007C2 14.663 3.358 16 5.008 16c1.665 0 3.035-1.349 3.035-3.02v-2.765a2.984 2.984 0 0 0 2.014.778h.055a2.994 2.994 0 0 0 1.642-5.496Zm-1.642.49h-.055a2.014 2.014 0 1 0 0 4.028h.055a2.014 2.014 0 1 0 0-4.028Zm-7.132 7.02c0-1.111.902-2.013 2.014-2.013h2.069v1.987c0 1.123-.924 2.04-2.055 2.04a2.026 2.026 0 0 1-2.028-2.013Zm4.083-8H4.994a2.014 2.014 0 1 1 0-4.026h2.069v4.027Z" clip-rule="evenodd"/>
|
|
3
|
+
</svg>
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
<svg
|
|
2
|
-
width="400"
|
|
3
|
-
height="400"
|
|
4
|
-
viewBox="0 0 400 400"
|
|
5
|
-
fill="none"
|
|
6
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
-
>
|
|
8
|
-
<path
|
|
9
|
-
d="M97.5 302.5C97.5 274.195 120.445 251.25 148.75 251.25H200V302.5C200 330.805 177.055 353.75 148.75 353.75C120.445 353.75 97.5 330.805 97.5 302.5Z"
|
|
10
|
-
fill="#0ACF83"
|
|
11
|
-
/>
|
|
12
|
-
<path
|
|
13
|
-
d="M200 200C200 171.696 222.945 148.75 251.25 148.75C279.554 148.75 302.5 171.695 302.5 200C302.5 228.305 279.554 251.25 251.25 251.25C222.945 251.25 200 228.304 200 200Z"
|
|
14
|
-
fill="#1ABCFE"
|
|
15
|
-
/>
|
|
16
|
-
<path
|
|
17
|
-
d="M97.5 200C97.5 228.305 120.445 251.25 148.75 251.25H200V148.75H148.75C120.445 148.75 97.5 171.695 97.5 200Z"
|
|
18
|
-
fill="#A259FF"
|
|
19
|
-
/>
|
|
20
|
-
<path
|
|
21
|
-
d="M200 46.25V148.75H251.25C279.555 148.75 302.5 125.805 302.5 97.5C302.5 69.1954 279.555 46.25 251.25 46.25H200Z"
|
|
22
|
-
fill="#FF7262"
|
|
23
|
-
/>
|
|
24
|
-
<path
|
|
25
|
-
d="M97.5 97.5C97.5 125.805 120.445 148.75 148.75 148.75H200V46.25L148.75 46.25C120.445 46.25 97.5 69.1954 97.5 97.5Z"
|
|
26
|
-
fill="#F24E1E"
|
|
27
|
-
/>
|
|
28
|
-
</svg>
|
|
1
|
+
<svg
|
|
2
|
+
width="400"
|
|
3
|
+
height="400"
|
|
4
|
+
viewBox="0 0 400 400"
|
|
5
|
+
fill="none"
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
>
|
|
8
|
+
<path
|
|
9
|
+
d="M97.5 302.5C97.5 274.195 120.445 251.25 148.75 251.25H200V302.5C200 330.805 177.055 353.75 148.75 353.75C120.445 353.75 97.5 330.805 97.5 302.5Z"
|
|
10
|
+
fill="#0ACF83"
|
|
11
|
+
/>
|
|
12
|
+
<path
|
|
13
|
+
d="M200 200C200 171.696 222.945 148.75 251.25 148.75C279.554 148.75 302.5 171.695 302.5 200C302.5 228.305 279.554 251.25 251.25 251.25C222.945 251.25 200 228.304 200 200Z"
|
|
14
|
+
fill="#1ABCFE"
|
|
15
|
+
/>
|
|
16
|
+
<path
|
|
17
|
+
d="M97.5 200C97.5 228.305 120.445 251.25 148.75 251.25H200V148.75H148.75C120.445 148.75 97.5 171.695 97.5 200Z"
|
|
18
|
+
fill="#A259FF"
|
|
19
|
+
/>
|
|
20
|
+
<path
|
|
21
|
+
d="M200 46.25V148.75H251.25C279.555 148.75 302.5 125.805 302.5 97.5C302.5 69.1954 279.555 46.25 251.25 46.25H200Z"
|
|
22
|
+
fill="#FF7262"
|
|
23
|
+
/>
|
|
24
|
+
<path
|
|
25
|
+
d="M97.5 97.5C97.5 125.805 120.445 148.75 148.75 148.75H200V46.25L148.75 46.25C120.445 46.25 97.5 69.1954 97.5 97.5Z"
|
|
26
|
+
fill="#F24E1E"
|
|
27
|
+
/>
|
|
28
|
+
</svg>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
SKILL.md: mcp_server
|
|
2
|
-
references: mcp_server
|
|
3
|
-
scripts: mcp_server
|
|
1
|
+
SKILL.md: mcp_server
|
|
2
|
+
references: mcp_server
|
|
3
|
+
scripts: mcp_server
|
package/docs/skill-candidates/v0.0.10/figma-generate-library/references/code-connect-setup.md
CHANGED
|
@@ -1,260 +1,260 @@
|
|
|
1
|
-
> Part of the [figma-generate-library skill](../SKILL.md).
|
|
2
|
-
|
|
3
|
-
# Code Connect Setup Reference
|
|
4
|
-
|
|
5
|
-
This reference covers all Code Connect tooling available to the figma-generate-library agent: the `add_code_connect_map` tool, `get_code_connect_map` for verification, `send_code_connect_mappings` for bulk application, variable code syntax, framework labels, and the decision of when to map per-component vs. in a final pass.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 1. What Code Connect Does
|
|
10
|
-
|
|
11
|
-
Code Connect links a Figma component node to its code implementation so that:
|
|
12
|
-
|
|
13
|
-
- **Dev Mode** shows a real code snippet (from your codebase) instead of an auto-generated approximation when a developer inspects a component.
|
|
14
|
-
- **MCP `get_design_context`** returns `componentName`, `source`, and a rendered snippet alongside design tokens, enabling accurate AI-assisted code generation.
|
|
15
|
-
- **`search_design_system`** can return code references alongside Figma component metadata.
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## 2. The Three MCP Tools
|
|
20
|
-
|
|
21
|
-
### 2a. add_code_connect_map — single mapping
|
|
22
|
-
|
|
23
|
-
Maps one Figma node to one code component.
|
|
24
|
-
|
|
25
|
-
**Parameters:**
|
|
26
|
-
|
|
27
|
-
| Parameter | Type | Required | Notes |
|
|
28
|
-
|-----------|------|----------|-------|
|
|
29
|
-
| `nodeId` | string | Yes (remote) / Optional (desktop) | Format `123:456`. Must be a published component or component set. |
|
|
30
|
-
| `fileKey` | string | Yes (remote) | The Figma file key. |
|
|
31
|
-
| `source` | string | Yes | Path in the codebase (e.g. `src/components/Button.tsx`) or a URL. |
|
|
32
|
-
| `componentName` | string | Yes | The code component name (e.g. `Button`). |
|
|
33
|
-
| `label` | enum | Yes | Framework label — see Section 4 for valid values. |
|
|
34
|
-
| `template` | string | Optional | Executable JS template code. Providing this creates a **figmadoc** (template) mapping instead of a simple **component_browser** mapping. Requires the `pixie_mcp_enable_writing_code_connect_templates` feature flag. |
|
|
35
|
-
| `templateDataJson` | string | Optional | JSON string with optional fields: `isParserless`, `imports`, `nestable`, `props`. |
|
|
36
|
-
|
|
37
|
-
**Two mapping tiers:**
|
|
38
|
-
|
|
39
|
-
1. **Simple mapping (component_browser):** Only `source`, `componentName`, and `label` provided. Associates the Figma component with a code path + name. Dev Mode generates a basic JSX snippet from Figma prop names. This is the default — use it first.
|
|
40
|
-
|
|
41
|
-
2. **Template mapping (figmadoc):** `template` is also provided. The template is executed in a sandboxed QuickJS environment and dynamically renders the snippet based on the actual instance's property values. Use this when precise prop-level Code Connect is required by the user.
|
|
42
|
-
|
|
43
|
-
**Common error codes:**
|
|
44
|
-
|
|
45
|
-
| Error | Meaning | Fix |
|
|
46
|
-
|-------|---------|-----|
|
|
47
|
-
| `CODE_CONNECT_MAPPING_ALREADY_EXISTS` | Component is already mapped | Disconnect existing mapping in Figma UI first |
|
|
48
|
-
| `CODE_CONNECT_ASSET_NOT_FOUND` | Published component not found | Ensure the component is published to the library |
|
|
49
|
-
| `CODE_CONNECT_INSUFFICIENT_PERMISSIONS` | No edit access | Request edit permission on the file |
|
|
50
|
-
| `CODE_CONNECT_NO_LIBRARY_FOUND` | File is not published as a library | Publish the file as a Figma library first |
|
|
51
|
-
|
|
52
|
-
**Usage example:**
|
|
53
|
-
|
|
54
|
-
```
|
|
55
|
-
Tool: add_code_connect_map
|
|
56
|
-
Args: {
|
|
57
|
-
nodeId: "123:456",
|
|
58
|
-
fileKey: "abc123",
|
|
59
|
-
source: "src/components/Button.tsx",
|
|
60
|
-
componentName: "Button",
|
|
61
|
-
label: "React"
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
### 2b. get_code_connect_map — verification
|
|
68
|
-
|
|
69
|
-
Retrieves the current Code Connect mapping for a node. Use this immediately after `add_code_connect_map` to confirm the mapping was saved, and before `send_code_connect_mappings` to audit existing state.
|
|
70
|
-
|
|
71
|
-
**Parameters:**
|
|
72
|
-
|
|
73
|
-
| Parameter | Type | Required | Notes |
|
|
74
|
-
|-----------|------|----------|-------|
|
|
75
|
-
| `nodeId` | string | Optional | The node to check. Omit to get all mappings in the file. |
|
|
76
|
-
| `fileKey` | string | Yes (remote) | The Figma file key. |
|
|
77
|
-
| `codeConnectLabel` | string | Optional | Filter results to a specific framework label. |
|
|
78
|
-
|
|
79
|
-
**Returns:** A map of `nodeId -> { componentName, source, label, snippet, snippetImports }`.
|
|
80
|
-
|
|
81
|
-
**How to verify:**
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
1. Call add_code_connect_map with the node.
|
|
85
|
-
2. Immediately call get_code_connect_map(nodeId, fileKey).
|
|
86
|
-
3. Confirm the returned object has the expected componentName and source.
|
|
87
|
-
4. If the mapping is missing, check for error codes from step 1.
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
### 2c. send_code_connect_mappings — bulk application
|
|
93
|
-
|
|
94
|
-
Applies multiple Code Connect mappings in one call. Use after `get_code_connect_suggestions` returns a batch of unmapped components, or when doing a final-pass bulk mapping at the end of Phase 4.
|
|
95
|
-
|
|
96
|
-
**Parameters:**
|
|
97
|
-
|
|
98
|
-
| Parameter | Type | Required | Notes |
|
|
99
|
-
|-----------|------|----------|-------|
|
|
100
|
-
| `nodeId` | string | Optional | Context node for design fallback if mappings array is empty. |
|
|
101
|
-
| `fileKey` | string | Yes (remote) | The Figma file key. |
|
|
102
|
-
| `mappings` | array | Yes | Array of mapping objects. |
|
|
103
|
-
|
|
104
|
-
**Each mapping object:**
|
|
105
|
-
|
|
106
|
-
| Field | Type | Required | Notes |
|
|
107
|
-
|-------|------|----------|-------|
|
|
108
|
-
| `nodeId` | string | Yes | The Figma node identifier. |
|
|
109
|
-
| `componentName` | string | Yes | Code component name. |
|
|
110
|
-
| `source` | string | Yes | Path in the codebase. |
|
|
111
|
-
| `label` | enum | Yes | Framework label. |
|
|
112
|
-
| `template` | string | Optional | JS template code for figmadoc mapping. |
|
|
113
|
-
| `templateDataJson` | string | Optional | JSON template metadata. |
|
|
114
|
-
|
|
115
|
-
**Behavior:**
|
|
116
|
-
|
|
117
|
-
- All mappings are processed in parallel via POSTs to the backend.
|
|
118
|
-
- If any mapping fails, errors are reported per mapping — the rest succeed.
|
|
119
|
-
- On full success, `get_design_context` is called for the nodes and fresh design context is returned.
|
|
120
|
-
|
|
121
|
-
**Bulk workflow:**
|
|
122
|
-
|
|
123
|
-
```
|
|
124
|
-
1. Collect all {nodeId, componentName, source, label} pairs.
|
|
125
|
-
2. Call send_code_connect_mappings({ fileKey, mappings: [...all pairs...] }).
|
|
126
|
-
3. Review reported errors and call add_code_connect_map individually for any failures.
|
|
127
|
-
4. Call get_code_connect_map on a sample of nodes to spot-check.
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## 3. Variable Code Syntax (Token Round-Tripping)
|
|
133
|
-
|
|
134
|
-
Setting code syntax on variables creates the bidirectional link between Figma tokens and the codebase token system. This is what enables Dev Mode to show `var(--color-bg-primary)` next to a design value instead of a raw hex.
|
|
135
|
-
|
|
136
|
-
**The three platforms:**
|
|
137
|
-
|
|
138
|
-
```javascript
|
|
139
|
-
// In use_figma:
|
|
140
|
-
variable.setVariableCodeSyntax('WEB', 'var(--color-bg-primary)');
|
|
141
|
-
variable.setVariableCodeSyntax('ANDROID', 'Theme.colorBgPrimary');
|
|
142
|
-
variable.setVariableCodeSyntax('iOS', 'Color.bgPrimary');
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
- `WEB` — used for CSS custom properties, design token JSON, and any web framework.
|
|
146
|
-
- `ANDROID` — used for Jetpack Compose theme references and Android resource names.
|
|
147
|
-
- `iOS` — used for SwiftUI Color extensions and UIKit color methods.
|
|
148
|
-
|
|
149
|
-
**Derivation rules (in priority order):**
|
|
150
|
-
|
|
151
|
-
1. **Best:** Use the exact token name from the codebase. Search the codebase for CSS custom properties (`--`), Swift color extensions, or Kotlin theme references and use those exact strings.
|
|
152
|
-
2. **Good:** Derive from the Figma variable name with a consistent transformation: replace `/` and spaces with `-`, prefix with `var(--` and suffix with `)`.
|
|
153
|
-
- Example: `color/bg/primary` → `var(--color-bg-primary)`
|
|
154
|
-
3. **Avoid:** Guessing or inventing names that don't exist in the codebase.
|
|
155
|
-
|
|
156
|
-
**Consistency rule:** The transformation must be uniform. If you use `var(--color-bg-primary)` for one variable, use the same `var(--{path-with-hyphens})` pattern for all variables in that collection.
|
|
157
|
-
|
|
158
|
-
**WEB syntax bulk example:**
|
|
159
|
-
|
|
160
|
-
```javascript
|
|
161
|
-
// In use_figma — set WEB code syntax on all variables in a collection
|
|
162
|
-
const collections = figma.variables.getLocalVariableCollections();
|
|
163
|
-
for (const coll of collections) {
|
|
164
|
-
if (coll.name !== 'Color') continue;
|
|
165
|
-
for (const varId of coll.variableIds) {
|
|
166
|
-
const v = figma.variables.getVariableById(varId);
|
|
167
|
-
if (!v) continue;
|
|
168
|
-
// Derive: "color/bg/primary" → "var(--color-bg-primary)"
|
|
169
|
-
const cssName = 'var(--' + v.name.toLowerCase().replace(/\//g, '-').replace(/\s+/g, '-') + ')';
|
|
170
|
-
v.setVariableCodeSyntax('WEB', cssName);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
## 4. Framework Labels
|
|
178
|
-
|
|
179
|
-
The following labels are valid for all Code Connect MCP operations. Use the label that matches your codebase framework.
|
|
180
|
-
|
|
181
|
-
| Label | Use for |
|
|
182
|
-
|-------|---------|
|
|
183
|
-
| `React` | React / JSX / TSX components |
|
|
184
|
-
| `Web Components` | Native Web Components, Lit, FAST |
|
|
185
|
-
| `Vue` | Vue 2 and Vue 3 SFCs |
|
|
186
|
-
| `Svelte` | Svelte components |
|
|
187
|
-
| `Storybook` | Storybook stories with Code Connect integration |
|
|
188
|
-
| `Javascript` | Plain JavaScript, framework-agnostic |
|
|
189
|
-
| `Swift` | Swift / UIKit |
|
|
190
|
-
| `Swift UIKit` | UIKit specifically |
|
|
191
|
-
| `Objective-C UIKit` | Objective-C with UIKit |
|
|
192
|
-
| `SwiftUI` | SwiftUI view components |
|
|
193
|
-
| `Compose` | Jetpack Compose (Android) |
|
|
194
|
-
| `Java` | Java Android components |
|
|
195
|
-
| `Kotlin` | Kotlin Android (non-Compose) |
|
|
196
|
-
| `Android XML Layout` | Android XML layout files |
|
|
197
|
-
| `Flutter` | Flutter / Dart widgets |
|
|
198
|
-
| `Markdown` | Documentation or MDX components |
|
|
199
|
-
|
|
200
|
-
**HTML note:** The label `HTML` is used by the Code Connect CLI's HTML parser (for Angular, Vue, and Web Components without a framework-specific parser), but the MCP tools use `Web Components` or `Vue` directly. Check the codebase framework before selecting.
|
|
201
|
-
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
## 5. Per-Component vs. Final-Pass Strategy
|
|
205
|
-
|
|
206
|
-
### Per-component (preferred for new builds)
|
|
207
|
-
|
|
208
|
-
Map Code Connect immediately after creating a component, while the context is fresh (Phase 3, step 3h in the SKILL.md workflow):
|
|
209
|
-
|
|
210
|
-
**Advantages:**
|
|
211
|
-
- The node ID is already in hand from the creation script.
|
|
212
|
-
- You know exactly which code component this Figma component corresponds to (you just designed it to match).
|
|
213
|
-
- Errors surface early, before building dependent components.
|
|
214
|
-
|
|
215
|
-
**When to use:** Any time you create a Figma component that has a clear 1:1 match with an existing code component.
|
|
216
|
-
|
|
217
|
-
### Final pass (for bulk mapping at Phase 4)
|
|
218
|
-
|
|
219
|
-
Collect all unmapped components and map them in one `send_code_connect_mappings` call:
|
|
220
|
-
|
|
221
|
-
**Advantages:**
|
|
222
|
-
- One bulk call instead of N individual calls.
|
|
223
|
-
- Can use `get_code_connect_suggestions` to discover unmapped components automatically.
|
|
224
|
-
- Better for importing existing Figma files where you didn't control creation.
|
|
225
|
-
|
|
226
|
-
**When to use:** Retrofitting Code Connect onto an existing file, or when the codebase mapping requires research that is better done after all components are created.
|
|
227
|
-
|
|
228
|
-
### Hybrid (recommended for large systems)
|
|
229
|
-
|
|
230
|
-
- Map atoms (Button, Input, Badge, Avatar) **per-component** during Phase 3.
|
|
231
|
-
- Map molecules and organisms in a **final pass** during Phase 4 after all atoms are mapped, since molecule snippets reference atom Code Connect IDs.
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
## 6. Verification in Dev Mode
|
|
236
|
-
|
|
237
|
-
After mapping:
|
|
238
|
-
|
|
239
|
-
1. Open the Figma file in the browser or desktop app.
|
|
240
|
-
2. Switch to Dev Mode (the `</>` icon in the toolbar).
|
|
241
|
-
3. Select a component instance (not the main component — an instance placed on a page).
|
|
242
|
-
4. In the Inspect panel, the code snippet should show the Code Connect output instead of auto-generated code.
|
|
243
|
-
5. If the snippet is missing or shows `[auto-generated]`, run `get_code_connect_map` via MCP to confirm the mapping exists, then check that the component is published.
|
|
244
|
-
|
|
245
|
-
**Via MCP (faster during agent workflows):**
|
|
246
|
-
|
|
247
|
-
```
|
|
248
|
-
get_code_connect_map(nodeId: "<the component set node ID>", fileKey: "<file key>")
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
The response should include `componentName`, `source`, `label`, and a non-empty `snippet`.
|
|
252
|
-
|
|
253
|
-
---
|
|
254
|
-
|
|
255
|
-
## 7. Important Constraints
|
|
256
|
-
|
|
257
|
-
- **Published components only:** `add_code_connect_map` requires the component to be published to a library. If the file is not yet published, the mapping will fail with `CODE_CONNECT_NO_LIBRARY_FOUND`.
|
|
258
|
-
- **One mapping per label per node:** A node can have multiple mappings (one per framework label), but only one per label. Attempting to add a second React mapping to the same node returns `CODE_CONNECT_MAPPING_ALREADY_EXISTS`.
|
|
259
|
-
- **Template mappings are gated:** The `template` parameter requires the `pixie_mcp_enable_writing_code_connect_templates` feature flag. Use simple mappings unless the user explicitly requests template-level Code Connect.
|
|
260
|
-
- **Start simple, escalate:** Always begin with simple mappings (`source` + `componentName` + `label`). Add `template` only if the user needs precise prop-level snippet rendering.
|
|
1
|
+
> Part of the [figma-generate-library skill](../SKILL.md).
|
|
2
|
+
|
|
3
|
+
# Code Connect Setup Reference
|
|
4
|
+
|
|
5
|
+
This reference covers all Code Connect tooling available to the figma-generate-library agent: the `add_code_connect_map` tool, `get_code_connect_map` for verification, `send_code_connect_mappings` for bulk application, variable code syntax, framework labels, and the decision of when to map per-component vs. in a final pass.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. What Code Connect Does
|
|
10
|
+
|
|
11
|
+
Code Connect links a Figma component node to its code implementation so that:
|
|
12
|
+
|
|
13
|
+
- **Dev Mode** shows a real code snippet (from your codebase) instead of an auto-generated approximation when a developer inspects a component.
|
|
14
|
+
- **MCP `get_design_context`** returns `componentName`, `source`, and a rendered snippet alongside design tokens, enabling accurate AI-assisted code generation.
|
|
15
|
+
- **`search_design_system`** can return code references alongside Figma component metadata.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 2. The Three MCP Tools
|
|
20
|
+
|
|
21
|
+
### 2a. add_code_connect_map — single mapping
|
|
22
|
+
|
|
23
|
+
Maps one Figma node to one code component.
|
|
24
|
+
|
|
25
|
+
**Parameters:**
|
|
26
|
+
|
|
27
|
+
| Parameter | Type | Required | Notes |
|
|
28
|
+
|-----------|------|----------|-------|
|
|
29
|
+
| `nodeId` | string | Yes (remote) / Optional (desktop) | Format `123:456`. Must be a published component or component set. |
|
|
30
|
+
| `fileKey` | string | Yes (remote) | The Figma file key. |
|
|
31
|
+
| `source` | string | Yes | Path in the codebase (e.g. `src/components/Button.tsx`) or a URL. |
|
|
32
|
+
| `componentName` | string | Yes | The code component name (e.g. `Button`). |
|
|
33
|
+
| `label` | enum | Yes | Framework label — see Section 4 for valid values. |
|
|
34
|
+
| `template` | string | Optional | Executable JS template code. Providing this creates a **figmadoc** (template) mapping instead of a simple **component_browser** mapping. Requires the `pixie_mcp_enable_writing_code_connect_templates` feature flag. |
|
|
35
|
+
| `templateDataJson` | string | Optional | JSON string with optional fields: `isParserless`, `imports`, `nestable`, `props`. |
|
|
36
|
+
|
|
37
|
+
**Two mapping tiers:**
|
|
38
|
+
|
|
39
|
+
1. **Simple mapping (component_browser):** Only `source`, `componentName`, and `label` provided. Associates the Figma component with a code path + name. Dev Mode generates a basic JSX snippet from Figma prop names. This is the default — use it first.
|
|
40
|
+
|
|
41
|
+
2. **Template mapping (figmadoc):** `template` is also provided. The template is executed in a sandboxed QuickJS environment and dynamically renders the snippet based on the actual instance's property values. Use this when precise prop-level Code Connect is required by the user.
|
|
42
|
+
|
|
43
|
+
**Common error codes:**
|
|
44
|
+
|
|
45
|
+
| Error | Meaning | Fix |
|
|
46
|
+
|-------|---------|-----|
|
|
47
|
+
| `CODE_CONNECT_MAPPING_ALREADY_EXISTS` | Component is already mapped | Disconnect existing mapping in Figma UI first |
|
|
48
|
+
| `CODE_CONNECT_ASSET_NOT_FOUND` | Published component not found | Ensure the component is published to the library |
|
|
49
|
+
| `CODE_CONNECT_INSUFFICIENT_PERMISSIONS` | No edit access | Request edit permission on the file |
|
|
50
|
+
| `CODE_CONNECT_NO_LIBRARY_FOUND` | File is not published as a library | Publish the file as a Figma library first |
|
|
51
|
+
|
|
52
|
+
**Usage example:**
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
Tool: add_code_connect_map
|
|
56
|
+
Args: {
|
|
57
|
+
nodeId: "123:456",
|
|
58
|
+
fileKey: "abc123",
|
|
59
|
+
source: "src/components/Button.tsx",
|
|
60
|
+
componentName: "Button",
|
|
61
|
+
label: "React"
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
### 2b. get_code_connect_map — verification
|
|
68
|
+
|
|
69
|
+
Retrieves the current Code Connect mapping for a node. Use this immediately after `add_code_connect_map` to confirm the mapping was saved, and before `send_code_connect_mappings` to audit existing state.
|
|
70
|
+
|
|
71
|
+
**Parameters:**
|
|
72
|
+
|
|
73
|
+
| Parameter | Type | Required | Notes |
|
|
74
|
+
|-----------|------|----------|-------|
|
|
75
|
+
| `nodeId` | string | Optional | The node to check. Omit to get all mappings in the file. |
|
|
76
|
+
| `fileKey` | string | Yes (remote) | The Figma file key. |
|
|
77
|
+
| `codeConnectLabel` | string | Optional | Filter results to a specific framework label. |
|
|
78
|
+
|
|
79
|
+
**Returns:** A map of `nodeId -> { componentName, source, label, snippet, snippetImports }`.
|
|
80
|
+
|
|
81
|
+
**How to verify:**
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
1. Call add_code_connect_map with the node.
|
|
85
|
+
2. Immediately call get_code_connect_map(nodeId, fileKey).
|
|
86
|
+
3. Confirm the returned object has the expected componentName and source.
|
|
87
|
+
4. If the mapping is missing, check for error codes from step 1.
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### 2c. send_code_connect_mappings — bulk application
|
|
93
|
+
|
|
94
|
+
Applies multiple Code Connect mappings in one call. Use after `get_code_connect_suggestions` returns a batch of unmapped components, or when doing a final-pass bulk mapping at the end of Phase 4.
|
|
95
|
+
|
|
96
|
+
**Parameters:**
|
|
97
|
+
|
|
98
|
+
| Parameter | Type | Required | Notes |
|
|
99
|
+
|-----------|------|----------|-------|
|
|
100
|
+
| `nodeId` | string | Optional | Context node for design fallback if mappings array is empty. |
|
|
101
|
+
| `fileKey` | string | Yes (remote) | The Figma file key. |
|
|
102
|
+
| `mappings` | array | Yes | Array of mapping objects. |
|
|
103
|
+
|
|
104
|
+
**Each mapping object:**
|
|
105
|
+
|
|
106
|
+
| Field | Type | Required | Notes |
|
|
107
|
+
|-------|------|----------|-------|
|
|
108
|
+
| `nodeId` | string | Yes | The Figma node identifier. |
|
|
109
|
+
| `componentName` | string | Yes | Code component name. |
|
|
110
|
+
| `source` | string | Yes | Path in the codebase. |
|
|
111
|
+
| `label` | enum | Yes | Framework label. |
|
|
112
|
+
| `template` | string | Optional | JS template code for figmadoc mapping. |
|
|
113
|
+
| `templateDataJson` | string | Optional | JSON template metadata. |
|
|
114
|
+
|
|
115
|
+
**Behavior:**
|
|
116
|
+
|
|
117
|
+
- All mappings are processed in parallel via POSTs to the backend.
|
|
118
|
+
- If any mapping fails, errors are reported per mapping — the rest succeed.
|
|
119
|
+
- On full success, `get_design_context` is called for the nodes and fresh design context is returned.
|
|
120
|
+
|
|
121
|
+
**Bulk workflow:**
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
1. Collect all {nodeId, componentName, source, label} pairs.
|
|
125
|
+
2. Call send_code_connect_mappings({ fileKey, mappings: [...all pairs...] }).
|
|
126
|
+
3. Review reported errors and call add_code_connect_map individually for any failures.
|
|
127
|
+
4. Call get_code_connect_map on a sample of nodes to spot-check.
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 3. Variable Code Syntax (Token Round-Tripping)
|
|
133
|
+
|
|
134
|
+
Setting code syntax on variables creates the bidirectional link between Figma tokens and the codebase token system. This is what enables Dev Mode to show `var(--color-bg-primary)` next to a design value instead of a raw hex.
|
|
135
|
+
|
|
136
|
+
**The three platforms:**
|
|
137
|
+
|
|
138
|
+
```javascript
|
|
139
|
+
// In use_figma:
|
|
140
|
+
variable.setVariableCodeSyntax('WEB', 'var(--color-bg-primary)');
|
|
141
|
+
variable.setVariableCodeSyntax('ANDROID', 'Theme.colorBgPrimary');
|
|
142
|
+
variable.setVariableCodeSyntax('iOS', 'Color.bgPrimary');
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
- `WEB` — used for CSS custom properties, design token JSON, and any web framework.
|
|
146
|
+
- `ANDROID` — used for Jetpack Compose theme references and Android resource names.
|
|
147
|
+
- `iOS` — used for SwiftUI Color extensions and UIKit color methods.
|
|
148
|
+
|
|
149
|
+
**Derivation rules (in priority order):**
|
|
150
|
+
|
|
151
|
+
1. **Best:** Use the exact token name from the codebase. Search the codebase for CSS custom properties (`--`), Swift color extensions, or Kotlin theme references and use those exact strings.
|
|
152
|
+
2. **Good:** Derive from the Figma variable name with a consistent transformation: replace `/` and spaces with `-`, prefix with `var(--` and suffix with `)`.
|
|
153
|
+
- Example: `color/bg/primary` → `var(--color-bg-primary)`
|
|
154
|
+
3. **Avoid:** Guessing or inventing names that don't exist in the codebase.
|
|
155
|
+
|
|
156
|
+
**Consistency rule:** The transformation must be uniform. If you use `var(--color-bg-primary)` for one variable, use the same `var(--{path-with-hyphens})` pattern for all variables in that collection.
|
|
157
|
+
|
|
158
|
+
**WEB syntax bulk example:**
|
|
159
|
+
|
|
160
|
+
```javascript
|
|
161
|
+
// In use_figma — set WEB code syntax on all variables in a collection
|
|
162
|
+
const collections = figma.variables.getLocalVariableCollections();
|
|
163
|
+
for (const coll of collections) {
|
|
164
|
+
if (coll.name !== 'Color') continue;
|
|
165
|
+
for (const varId of coll.variableIds) {
|
|
166
|
+
const v = figma.variables.getVariableById(varId);
|
|
167
|
+
if (!v) continue;
|
|
168
|
+
// Derive: "color/bg/primary" → "var(--color-bg-primary)"
|
|
169
|
+
const cssName = 'var(--' + v.name.toLowerCase().replace(/\//g, '-').replace(/\s+/g, '-') + ')';
|
|
170
|
+
v.setVariableCodeSyntax('WEB', cssName);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## 4. Framework Labels
|
|
178
|
+
|
|
179
|
+
The following labels are valid for all Code Connect MCP operations. Use the label that matches your codebase framework.
|
|
180
|
+
|
|
181
|
+
| Label | Use for |
|
|
182
|
+
|-------|---------|
|
|
183
|
+
| `React` | React / JSX / TSX components |
|
|
184
|
+
| `Web Components` | Native Web Components, Lit, FAST |
|
|
185
|
+
| `Vue` | Vue 2 and Vue 3 SFCs |
|
|
186
|
+
| `Svelte` | Svelte components |
|
|
187
|
+
| `Storybook` | Storybook stories with Code Connect integration |
|
|
188
|
+
| `Javascript` | Plain JavaScript, framework-agnostic |
|
|
189
|
+
| `Swift` | Swift / UIKit |
|
|
190
|
+
| `Swift UIKit` | UIKit specifically |
|
|
191
|
+
| `Objective-C UIKit` | Objective-C with UIKit |
|
|
192
|
+
| `SwiftUI` | SwiftUI view components |
|
|
193
|
+
| `Compose` | Jetpack Compose (Android) |
|
|
194
|
+
| `Java` | Java Android components |
|
|
195
|
+
| `Kotlin` | Kotlin Android (non-Compose) |
|
|
196
|
+
| `Android XML Layout` | Android XML layout files |
|
|
197
|
+
| `Flutter` | Flutter / Dart widgets |
|
|
198
|
+
| `Markdown` | Documentation or MDX components |
|
|
199
|
+
|
|
200
|
+
**HTML note:** The label `HTML` is used by the Code Connect CLI's HTML parser (for Angular, Vue, and Web Components without a framework-specific parser), but the MCP tools use `Web Components` or `Vue` directly. Check the codebase framework before selecting.
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## 5. Per-Component vs. Final-Pass Strategy
|
|
205
|
+
|
|
206
|
+
### Per-component (preferred for new builds)
|
|
207
|
+
|
|
208
|
+
Map Code Connect immediately after creating a component, while the context is fresh (Phase 3, step 3h in the SKILL.md workflow):
|
|
209
|
+
|
|
210
|
+
**Advantages:**
|
|
211
|
+
- The node ID is already in hand from the creation script.
|
|
212
|
+
- You know exactly which code component this Figma component corresponds to (you just designed it to match).
|
|
213
|
+
- Errors surface early, before building dependent components.
|
|
214
|
+
|
|
215
|
+
**When to use:** Any time you create a Figma component that has a clear 1:1 match with an existing code component.
|
|
216
|
+
|
|
217
|
+
### Final pass (for bulk mapping at Phase 4)
|
|
218
|
+
|
|
219
|
+
Collect all unmapped components and map them in one `send_code_connect_mappings` call:
|
|
220
|
+
|
|
221
|
+
**Advantages:**
|
|
222
|
+
- One bulk call instead of N individual calls.
|
|
223
|
+
- Can use `get_code_connect_suggestions` to discover unmapped components automatically.
|
|
224
|
+
- Better for importing existing Figma files where you didn't control creation.
|
|
225
|
+
|
|
226
|
+
**When to use:** Retrofitting Code Connect onto an existing file, or when the codebase mapping requires research that is better done after all components are created.
|
|
227
|
+
|
|
228
|
+
### Hybrid (recommended for large systems)
|
|
229
|
+
|
|
230
|
+
- Map atoms (Button, Input, Badge, Avatar) **per-component** during Phase 3.
|
|
231
|
+
- Map molecules and organisms in a **final pass** during Phase 4 after all atoms are mapped, since molecule snippets reference atom Code Connect IDs.
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## 6. Verification in Dev Mode
|
|
236
|
+
|
|
237
|
+
After mapping:
|
|
238
|
+
|
|
239
|
+
1. Open the Figma file in the browser or desktop app.
|
|
240
|
+
2. Switch to Dev Mode (the `</>` icon in the toolbar).
|
|
241
|
+
3. Select a component instance (not the main component — an instance placed on a page).
|
|
242
|
+
4. In the Inspect panel, the code snippet should show the Code Connect output instead of auto-generated code.
|
|
243
|
+
5. If the snippet is missing or shows `[auto-generated]`, run `get_code_connect_map` via MCP to confirm the mapping exists, then check that the component is published.
|
|
244
|
+
|
|
245
|
+
**Via MCP (faster during agent workflows):**
|
|
246
|
+
|
|
247
|
+
```
|
|
248
|
+
get_code_connect_map(nodeId: "<the component set node ID>", fileKey: "<file key>")
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
The response should include `componentName`, `source`, `label`, and a non-empty `snippet`.
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## 7. Important Constraints
|
|
256
|
+
|
|
257
|
+
- **Published components only:** `add_code_connect_map` requires the component to be published to a library. If the file is not yet published, the mapping will fail with `CODE_CONNECT_NO_LIBRARY_FOUND`.
|
|
258
|
+
- **One mapping per label per node:** A node can have multiple mappings (one per framework label), but only one per label. Attempting to add a second React mapping to the same node returns `CODE_CONNECT_MAPPING_ALREADY_EXISTS`.
|
|
259
|
+
- **Template mappings are gated:** The `template` parameter requires the `pixie_mcp_enable_writing_code_connect_templates` feature flag. Use simple mappings unless the user explicitly requests template-level Code Connect.
|
|
260
|
+
- **Start simple, escalate:** Always begin with simple mappings (`source` + `componentName` + `label`). Add `template` only if the user needs precise prop-level snippet rendering.
|