@agent-native/core 0.152.1 → 0.153.1
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/corpus/README.md +1 -1
- package/corpus/templates/analytics/.agents/skills/adding-a-feature/SKILL.md +208 -0
- package/corpus/templates/analytics/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/analytics/.agents/skills/data-querying/SKILL.md +6 -4
- package/corpus/templates/analytics/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/analytics/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/analytics/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/analytics/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/analytics/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/analytics/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/analytics/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/analytics/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/analytics/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/analytics/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/analytics/actions/data-source-status.ts +4 -1
- package/corpus/templates/analytics/actions/migrate-first-party-analytics-to-bigquery.ts +2 -2
- package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +7 -2
- package/corpus/templates/analytics/app/components/layout/NewDashboardDialog.tsx +7 -1
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +30 -32
- package/corpus/templates/analytics/app/components/layout/layout-route-policy.ts +10 -0
- package/corpus/templates/analytics/app/global.css +5 -1
- package/corpus/templates/analytics/app/lib/data-source-status.ts +3 -3
- package/corpus/templates/analytics/app/lib/resource-access.ts +6 -1
- package/corpus/templates/analytics/app/pages/DataSources.tsx +79 -51
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +1 -0
- package/corpus/templates/analytics/app/pages/analyses/AnalysisDetail.tsx +1 -0
- package/corpus/templates/analytics/changelog/2026-08-12-analytics-sidebar-ask-toggle-and-compact-rail.md +6 -0
- package/corpus/templates/analytics/changelog/2026-08-12-data-source-statuses-now-distinguish-workspace-access-from-c.md +6 -0
- package/corpus/templates/analytics/server/jobs/analytics-bigquery-backfill.ts +559 -147
- package/corpus/templates/analytics/server/lib/first-party-analytics-backend.ts +79 -5
- package/corpus/templates/analytics/server/plugins/db.ts +84 -0
- package/corpus/templates/assets/.agents/skills/adding-a-feature/SKILL.md +208 -0
- package/corpus/templates/assets/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/assets/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/assets/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/assets/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/assets/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/assets/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/assets/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/assets/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/assets/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/assets/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/assets/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/assets/app/components/asset/AssetPreviewDialog.tsx +13 -5
- package/corpus/templates/assets/app/lib/asset-urls.ts +13 -0
- package/corpus/templates/assets/app/routes/asset.$id.tsx +16 -6
- package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +1 -0
- package/corpus/templates/assets/app/routes/library.tsx +336 -78
- package/corpus/templates/assets/shared/api.ts +1 -1
- package/corpus/templates/brain/.agents/skills/adding-a-feature/SKILL.md +3 -2
- package/corpus/templates/brain/.agents/skills/brain/SKILL.md +8 -6
- package/corpus/templates/brain/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/brain/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/brain/.agents/skills/ingestion-and-connectors/SKILL.md +7 -0
- package/corpus/templates/brain/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/brain/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/brain/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/brain/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/brain/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/brain/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/brain/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/brain/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/brain/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/brain/AGENTS.md +2 -1
- package/corpus/templates/brain/actions/ask-brain.ts +19 -16
- package/corpus/templates/brain/actions/create-source.ts +11 -2
- package/corpus/templates/brain/actions/import-markdown-files.ts +237 -0
- package/corpus/templates/brain/actions/resanitize-captures.ts +3 -1
- package/corpus/templates/brain/actions/test-slack-connection.ts +12 -3
- package/corpus/templates/brain/actions/update-source.ts +10 -1
- package/corpus/templates/brain/app/components/brain/Surface.tsx +1 -11
- package/corpus/templates/brain/app/i18n-data.ts +111 -0
- package/corpus/templates/brain/app/lib/brain.ts +23 -1
- package/corpus/templates/brain/app/routes/knowledge.tsx +0 -2
- package/corpus/templates/brain/app/routes/ops.tsx +0 -2
- package/corpus/templates/brain/app/routes/review.tsx +0 -2
- package/corpus/templates/brain/app/routes/search.tsx +0 -2
- package/corpus/templates/brain/app/routes/sources.tsx +354 -6
- package/corpus/templates/brain/server/lib/brain-response-guard.ts +63 -1
- package/corpus/templates/brain/server/lib/brain.ts +9 -6
- package/corpus/templates/brain/server/lib/connectors.ts +20 -6
- package/corpus/templates/brain/server/lib/search.ts +9 -1
- package/corpus/templates/brain/server/lib/source-credentials.ts +95 -57
- package/corpus/templates/brain/server/plugins/agent-chat.ts +5 -2
- package/corpus/templates/brain/server/plugins/auth.ts +2 -0
- package/corpus/templates/calendar/.agents/skills/adding-a-feature/SKILL.md +208 -0
- package/corpus/templates/calendar/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/calendar/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/calendar/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/calendar/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/calendar/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/calendar/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/calendar/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/calendar/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/calendar/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/calendar/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/calendar/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/calendar/app/components/calendar/DayView.tsx +3 -2
- package/corpus/templates/calendar/app/components/calendar/WeekView.tsx +3 -2
- package/corpus/templates/calendar/app/lib/event-layout.ts +16 -35
- package/corpus/templates/calendar/app/pages/BookingLinksPage.tsx +1 -0
- package/corpus/templates/chat/.agents/skills/adding-a-feature/SKILL.md +3 -2
- package/corpus/templates/chat/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/chat/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/chat/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/chat/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/chat/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/chat/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/chat/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/chat/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/chat/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/chat/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/chat/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/chat/AGENTS.md +4 -5
- package/corpus/templates/clips/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/clips/.agents/skills/meetings/SKILL.md +1 -1
- package/corpus/templates/clips/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/clips/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/clips/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/clips/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/clips/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/clips/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/clips/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/clips/actions/add-comment.ts +1 -2
- package/corpus/templates/clips/actions/delete-comment.ts +2 -0
- package/corpus/templates/clips/actions/get-recording-insights.ts +9 -8
- package/corpus/templates/clips/actions/get-recording-player-data.ts +4 -1
- package/corpus/templates/clips/actions/react-to-comment.ts +1 -1
- package/corpus/templates/clips/actions/react-to-recording.ts +1 -1
- package/corpus/templates/clips/actions/reply-to-comment.ts +1 -1
- package/corpus/templates/clips/actions/resolve-comment.ts +1 -2
- package/corpus/templates/clips/actions/update-comment.ts +1 -1
- package/corpus/templates/clips/app/components/editor/editor-layout.tsx +1 -0
- package/corpus/templates/clips/app/components/editor/thumbnail-picker.tsx +59 -16
- package/corpus/templates/clips/app/components/meetings/share-meeting-dialog.tsx +27 -44
- package/corpus/templates/clips/app/components/player/comments-panel.tsx +88 -39
- package/corpus/templates/clips/app/components/player/share-dialog.tsx +84 -41
- package/corpus/templates/clips/app/components/player/timestamped-comment-button.tsx +3 -1
- package/corpus/templates/clips/app/components/player/video-player.tsx +1 -1
- package/corpus/templates/clips/app/components/sharing/share-ui.tsx +20 -7
- package/corpus/templates/clips/app/i18n/en-US.ts +2 -1
- package/corpus/templates/clips/app/lib/public-meeting.ts +1 -1
- package/corpus/templates/clips/app/lib/thumbnail-capture.ts +71 -0
- package/corpus/templates/clips/app/lib/thumbnail-picker-state.ts +93 -0
- package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +1 -1
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +25 -19
- package/corpus/templates/clips/app/routes/share.$shareId.tsx +8 -0
- package/corpus/templates/clips/changelog/2026-07-23-meeting-recording-meters-and-dismissed-prompts.md +1 -1
- package/corpus/templates/clips/changelog/2026-08-11-clips-asks-to-take-notes-again-when-you-join-an-adhoc-zoom-o.md +6 -0
- package/corpus/templates/clips/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
- package/corpus/templates/clips/desktop/src/app.tsx +1 -1
- package/corpus/templates/clips/desktop/src/styles.css +10 -2
- package/corpus/templates/clips/desktop/src-tauri/src/adhoc_meetings_watcher.rs +166 -14
- package/corpus/templates/clips/desktop/src-tauri/src/call_activity.rs +146 -0
- package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +2 -2
- package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +1 -0
- package/corpus/templates/clips/desktop/src-tauri/src/silence_detector.rs +2 -122
- package/corpus/templates/clips/desktop/src-tauri/src/util.rs +1 -1
- package/corpus/templates/clips/server/lib/recording-page-access.ts +6 -1
- package/corpus/templates/clips/server/routes/api/public-recording.get.ts +5 -0
- package/corpus/templates/clips/shared/share-meta.ts +19 -3
- package/corpus/templates/content/.agents/skills/adding-a-feature/SKILL.md +208 -0
- package/corpus/templates/content/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/content/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/content/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/content/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/content/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/content/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/content/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/content/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/content/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/content/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/content/actions/_database-utils.ts +10 -0
- package/corpus/templates/content/actions/add-comment.ts +1 -1
- package/corpus/templates/content/actions/attach-content-database-source.ts +158 -61
- package/corpus/templates/content/actions/create-document.ts +1 -0
- package/corpus/templates/content/actions/delete-comment.ts +1 -1
- package/corpus/templates/content/actions/get-document.ts +9 -1
- package/corpus/templates/content/actions/import-content-source.ts +8 -0
- package/corpus/templates/content/actions/list-documents.ts +10 -1
- package/corpus/templates/content/actions/update-comment.ts +1 -1
- package/corpus/templates/content/actions/update-document.ts +11 -0
- package/corpus/templates/content/app/components/editor/CommentsSidebar.tsx +52 -29
- package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +13 -8
- package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +62 -2
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +163 -53
- package/corpus/templates/content/app/components/editor/database/TimelineView.tsx +16 -0
- package/corpus/templates/content/app/components/editor/database/settings.tsx +22 -13
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +7 -7
- package/corpus/templates/content/app/hooks/use-documents.ts +2 -0
- package/corpus/templates/content/app/i18n-data.ts +10 -0
- package/corpus/templates/content/app/root.tsx +1 -21
- package/corpus/templates/content/changelog/2026-08-05-connect-sources-from-add-column.md +6 -0
- package/corpus/templates/content/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
- package/corpus/templates/content/shared/api.ts +7 -1
- package/corpus/templates/crm/.agents/skills/actions/SKILL.md +146 -0
- package/corpus/templates/crm/.agents/skills/actions/references/action-fields.md +136 -0
- package/corpus/templates/crm/.agents/skills/actions/references/examples.md +94 -0
- package/corpus/templates/crm/.agents/skills/actions/references/provider-apis.md +95 -0
- package/corpus/templates/crm/.agents/skills/adding-a-feature/SKILL.md +208 -0
- package/corpus/templates/crm/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/crm/.agents/skills/delegate-to-agent/SKILL.md +289 -0
- package/corpus/templates/crm/.agents/skills/frontend-design/SKILL.md +296 -0
- package/corpus/templates/crm/.agents/skills/frontend-design/references/visual-direction.md +99 -0
- package/corpus/templates/crm/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/crm/.agents/skills/real-time-sync/SKILL.md +232 -0
- package/corpus/templates/crm/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/crm/.agents/skills/security/SKILL.md +324 -0
- package/corpus/templates/crm/.agents/skills/self-modifying-code/SKILL.md +123 -0
- package/corpus/templates/crm/.agents/skills/shadcn-ui/SKILL.md +123 -0
- package/corpus/templates/crm/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/crm/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/crm/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/crm/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/crm/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/design/.agents/skills/adding-a-feature/SKILL.md +208 -0
- package/corpus/templates/design/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/design/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/design/.agents/skills/real-time-sync/SKILL.md +232 -0
- package/corpus/templates/design/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/design/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/design/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/design/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/design/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/design/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/design/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/design/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/design/actions/index-design-system-with-builder.ts +16 -2
- package/corpus/templates/design/app/components/design-system/ProductionDesignSystemShowcase.tsx +6 -18
- package/corpus/templates/design/app/i18n/en-US.ts +1 -1
- package/corpus/templates/design/app/i18n-data.ts +40 -0
- package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +153 -131
- package/corpus/templates/design/app/pages/DesignSystems.tsx +7 -61
- package/corpus/templates/design/app/pages/Present.tsx +8 -2
- package/corpus/templates/design/app/pages/Templates.tsx +1 -0
- package/corpus/templates/design/app/pages/design-editor/tool-state.ts +4 -1
- package/corpus/templates/design/app/pages/design-editor/types.ts +6 -1
- package/corpus/templates/design/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
- package/corpus/templates/dispatch/.agents/skills/adding-a-feature/SKILL.md +208 -0
- package/corpus/templates/dispatch/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/dispatch/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/dispatch/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/dispatch/.agents/skills/real-time-sync/SKILL.md +232 -0
- package/corpus/templates/dispatch/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/dispatch/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/dispatch/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/dispatch/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/dispatch/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/dispatch/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/dispatch/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/dispatch/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/dispatch/actions/apply-workspace-connection-setup.ts +97 -15
- package/corpus/templates/dispatch/actions/connection-permissions.ts +77 -0
- package/corpus/templates/dispatch/actions/delete-workspace-connection.ts +12 -2
- package/corpus/templates/dispatch/actions/list-workspace-user-groups.ts +19 -0
- package/corpus/templates/dispatch/actions/plan-workspace-connection-setup.ts +9 -2
- package/corpus/templates/dispatch/actions/set-workspace-connection-grant.ts +21 -2
- package/corpus/templates/dispatch/actions/upsert-workspace-connection.ts +66 -1
- package/corpus/templates/dispatch/actions/upsert-workspace-user-group.ts +27 -0
- package/corpus/templates/dispatch/app/chat-first-pages.ts +84 -0
- package/corpus/templates/dispatch/app/i18n-data.ts +3989 -3527
- package/corpus/templates/dispatch/app/routes/integrations.tsx +1568 -685
- package/corpus/templates/dispatch/app/routes/settings.tsx +14 -9
- package/corpus/templates/dispatch/changelog/2026-08-12-search-and-pin-workspace-apps-from-the-app-catalog.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-08-12-workspace-integration-access-now-shows-exactly-which-apps-ca.md +6 -0
- package/corpus/templates/dispatch/server/lib/app-roles.ts +5 -0
- package/corpus/templates/dispatch/shared/app-roles.ts +1 -0
- package/corpus/templates/factory/.agents/skills/adding-a-feature/SKILL.md +3 -2
- package/corpus/templates/factory/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/factory/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/factory/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/factory/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/factory/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/factory/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/factory/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/factory/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/factory/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/factory/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/factory/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/factory/AGENTS.md +10 -1
- package/corpus/templates/factory/README.md +18 -7
- package/corpus/templates/factory/actions/list-triage-items.ts +10 -4
- package/corpus/templates/factory/actions/poll-github-sources.ts +53 -14
- package/corpus/templates/factory/actions/poll-sentry-errors.ts +31 -13
- package/corpus/templates/factory/actions/poll-slack-channel.ts +41 -5
- package/corpus/templates/factory/actions/provider-api-catalog.ts +13 -0
- package/corpus/templates/factory/actions/provider-api-docs.ts +11 -0
- package/corpus/templates/factory/actions/provider-api-request.ts +17 -0
- package/corpus/templates/factory/actions/save-triage-config.ts +87 -38
- package/corpus/templates/factory/app/components/factory/FactoryAuditView.tsx +14 -12
- package/corpus/templates/factory/app/components/factory/FactoryCanvas.tsx +60 -77
- package/corpus/templates/factory/app/components/factory/FactoryInspector.tsx +66 -125
- package/corpus/templates/factory/app/components/layout/Header.tsx +1 -0
- package/corpus/templates/factory/app/components/layout/Layout.tsx +8 -3
- package/corpus/templates/factory/app/components/layout/Sidebar.tsx +9 -5
- package/corpus/templates/factory/app/components/ui/input.tsx +15 -1
- package/corpus/templates/factory/app/components/ui/popover.tsx +1 -0
- package/corpus/templates/factory/app/components/ui/switch.tsx +1 -0
- package/corpus/templates/factory/app/components/ui/textarea.tsx +20 -1
- package/corpus/templates/factory/app/hooks/use-navigation-state.ts +5 -3
- package/corpus/templates/factory/app/i18n/en-US.ts +17 -0
- package/corpus/templates/factory/app/routes/_index.tsx +5 -87
- package/corpus/templates/factory/app/routes/chat.$threadId.tsx +1 -1
- package/corpus/templates/factory/app/routes/chat.tsx +91 -0
- package/corpus/templates/factory/app/routes/factory.tsx +554 -430
- package/corpus/templates/factory/app/routes/settings.tsx +1 -1
- package/corpus/templates/factory/server/connectors/credentials.ts +25 -0
- package/corpus/templates/factory/server/lib/provider-api.ts +34 -0
- package/corpus/templates/factory/server/plugins/agent-chat.ts +15 -3
- package/corpus/templates/factory/server/plugins/factory-scheduler-job.ts +96 -24
- package/corpus/templates/factory/server/triage/review-state.ts +33 -0
- package/corpus/templates/factory/server/triage/slack-poller.ts +1 -0
- package/corpus/templates/forms/.agents/skills/adding-a-feature/SKILL.md +208 -0
- package/corpus/templates/forms/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/forms/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/forms/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/forms/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/forms/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/forms/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/forms/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/forms/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/forms/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/forms/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/forms/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +1 -0
- package/corpus/templates/forms/shared/types.ts +1 -1
- package/corpus/templates/macros/.agents/skills/adding-a-feature/SKILL.md +208 -0
- package/corpus/templates/macros/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/macros/.agents/skills/delegate-to-agent/SKILL.md +289 -0
- package/corpus/templates/macros/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/macros/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/macros/.agents/skills/real-time-sync/SKILL.md +232 -0
- package/corpus/templates/macros/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/macros/.agents/skills/self-modifying-code/SKILL.md +123 -0
- package/corpus/templates/macros/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/macros/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/macros/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/macros/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/macros/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/macros/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/mail/.agents/skills/adding-a-feature/SKILL.md +208 -0
- package/corpus/templates/mail/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/mail/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/mail/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/mail/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/mail/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/mail/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/mail/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/mail/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/mail/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/mail/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/mail/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/mail/actions/send-email.ts +9 -0
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +4 -4
- package/corpus/templates/mail/changelog/2026-08-12-agent-sent-messages-appear-immediately.md +6 -0
- package/corpus/templates/plan/.agents/skills/adding-a-feature/SKILL.md +3 -2
- package/corpus/templates/plan/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/plan/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/plan/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/plan/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/plan/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/plan/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/plan/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/plan/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/plan/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/plan/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/plan/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/plan/actions/delete-plan-comment.ts +6 -0
- package/corpus/templates/plan/actions/reply-to-plan-comment.ts +7 -1
- package/corpus/templates/plan/actions/resolve-plan-comment.ts +7 -1
- package/corpus/templates/plan/actions/update-visual-plan.ts +6 -0
- package/corpus/templates/plan/app/hooks/use-plans.ts +1 -1
- package/corpus/templates/plan/app/pages/PlansPage.tsx +51 -23
- package/corpus/templates/plan/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
- package/corpus/templates/plan/server/plans.ts +2 -2
- package/corpus/templates/plan/shared/types.ts +1 -1
- package/corpus/templates/slides/.agents/skills/adding-a-feature/SKILL.md +208 -0
- package/corpus/templates/slides/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/slides/.agents/skills/create-deck/SKILL.md +6 -0
- package/corpus/templates/slides/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/slides/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/slides/.agents/skills/real-time-sync/SKILL.md +232 -0
- package/corpus/templates/slides/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/slides/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/slides/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/slides/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/slides/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/slides/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/slides/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/slides/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/slides/AGENTS.md +4 -0
- package/corpus/templates/slides/actions/add-slide-comment.ts +1 -1
- package/corpus/templates/slides/actions/delete-slide-comment.ts +1 -1
- package/corpus/templates/slides/actions/get-layout-overflows.ts +67 -2
- package/corpus/templates/slides/actions/update-slide-comment.ts +1 -1
- package/corpus/templates/slides/actions/view-screen.ts +76 -26
- package/corpus/templates/slides/app/components/comments/SlideCommentsPanel.tsx +30 -8
- package/corpus/templates/slides/app/components/design-system/DesignSystemCard.tsx +2 -1
- package/corpus/templates/slides/app/components/editor/AlignmentGuides.tsx +75 -0
- package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +81 -81
- package/corpus/templates/slides/app/components/editor/ShareDialog.tsx +28 -25
- package/corpus/templates/slides/app/components/editor/SlideContextToolbar.tsx +175 -10
- package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +256 -69
- package/corpus/templates/slides/app/components/editor/SlideOverflowWarning.tsx +1 -1
- package/corpus/templates/slides/app/components/editor/canvas-interactions/slides-canvas-adapter.ts +3 -3
- package/corpus/templates/slides/app/components/editor/slide-object-interactions.ts +218 -0
- package/corpus/templates/slides/app/context/DeckContext.tsx +56 -30
- package/corpus/templates/slides/app/hooks/use-deck-role.ts +13 -5
- package/corpus/templates/slides/app/hooks/use-design-systems.ts +1 -1
- package/corpus/templates/slides/app/i18n/en-US.ts +6 -2
- package/corpus/templates/slides/app/lib/create-deck-generation.ts +1 -0
- package/corpus/templates/slides/app/lib/pending-deck-changes.ts +32 -0
- package/corpus/templates/slides/app/pages/DeckEditor.tsx +85 -4
- package/corpus/templates/slides/app/pages/Index.tsx +65 -66
- package/corpus/templates/slides/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
- package/corpus/templates/tasks/.agents/skills/adding-a-feature/SKILL.md +3 -2
- package/corpus/templates/tasks/.agents/skills/context-awareness/SKILL.md +206 -0
- package/corpus/templates/tasks/.agents/skills/frontend-design/SKILL.md +73 -80
- package/corpus/templates/tasks/.agents/skills/portability/SKILL.md +107 -0
- package/corpus/templates/tasks/.agents/skills/secrets/SKILL.md +339 -0
- package/corpus/templates/tasks/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/corpus/templates/tasks/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/corpus/templates/tasks/.agents/skills/sharing/SKILL.md +1 -0
- package/corpus/templates/tasks/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/corpus/templates/tasks/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/corpus/templates/tasks/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/corpus/templates/tasks/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/corpus/templates/tasks/app/components/custom-fields/FieldsPage.tsx +1 -4
- package/corpus/templates/tasks/app/components/inbox/InboxList.tsx +0 -1
- package/corpus/templates/tasks/app/components/inbox/InboxListPage.tsx +0 -1
- package/corpus/templates/tasks/app/components/shared/ListViewHeader.tsx +0 -3
- package/corpus/templates/tasks/app/components/shared/PageHeader.tsx +1 -4
- package/corpus/templates/tasks/app/components/tasks/TaskList.tsx +0 -1
- package/corpus/templates/tasks/app/components/tasks/TaskListPage.tsx +0 -1
- package/dist/agent/engine/ai-sdk-engine.js +5 -0
- package/dist/agent/engine/anthropic-engine.js +8 -0
- package/dist/agent/engine/registry.js +24 -19
- package/dist/agent/engine/translate-anthropic.js +16 -1
- package/dist/agent/production-agent.d.ts +8 -0
- package/dist/agent/production-agent.js +25 -2
- package/dist/agent/run-manager.js +13 -3
- package/dist/automations/service.d.ts +2 -0
- package/dist/automations/service.js +5 -1
- package/dist/chat-threads/schema.d.ts +2 -2
- package/dist/cli/changelog.js +21 -4
- package/dist/cli/create.d.ts +12 -1
- package/dist/cli/create.js +99 -11
- package/dist/cli/index.js +6 -6
- package/dist/cli/process.d.ts +7 -0
- package/dist/cli/process.js +12 -0
- package/dist/cli/workspace-skill-policy.d.ts +15 -0
- package/dist/cli/workspace-skill-policy.js +62 -0
- package/dist/cli/workspacify.js +36 -0
- package/dist/client/AgentPanel.d.ts +14 -2
- package/dist/client/AgentPanel.js +44 -26
- package/dist/client/AssistantChat.js +90 -182
- package/dist/client/FeedbackButton.js +15 -2
- package/dist/client/RouteTransitionIndicator.d.ts +14 -2
- package/dist/client/RouteTransitionIndicator.js +16 -5
- package/dist/client/agent-page/AgentTabsPage.js +19 -6
- package/dist/client/app-config.d.ts +3 -0
- package/dist/client/app-config.js +6 -0
- package/dist/client/app-providers.js +2 -1
- package/dist/client/changelog/Changelog.d.ts +2 -1
- package/dist/client/changelog/Changelog.js +7 -5
- package/dist/client/chat/markdown-renderer.d.ts +3 -1
- package/dist/client/chat/markdown-renderer.js +24 -24
- package/dist/client/chat/message-components.d.ts +23 -0
- package/dist/client/chat/message-components.js +27 -44
- package/dist/client/chat/tool-call-display.d.ts +2 -2
- package/dist/client/chat/tool-call-display.js +6 -3
- package/dist/client/chat-first/app-open-actions.d.ts +28 -0
- package/dist/client/chat-first/app-open-actions.js +25 -0
- package/dist/client/chat-first/index.d.ts +1 -0
- package/dist/client/chat-first/index.js +1 -0
- package/dist/client/chat-first/primary-nav.d.ts +2 -1
- package/dist/client/chat-first/primary-nav.js +12 -5
- package/dist/client/conversation/use-near-bottom-autoscroll.d.ts +14 -0
- package/dist/client/conversation/use-near-bottom-autoscroll.js +14 -0
- package/dist/client/error-format.js +32 -3
- package/dist/client/extensions/EmbeddedExtension.js +1 -0
- package/dist/client/extensions/ExtensionViewer.js +3 -1
- package/dist/client/extensions/InlineExtensionFrame.js +1 -0
- package/dist/client/extensions/iframe-bridge.d.ts +3 -2
- package/dist/client/extensions/iframe-bridge.js +4 -2
- package/dist/client/i18n.js +28 -5
- package/dist/client/integrations/IntegrationConnectionChoice.d.ts +11 -0
- package/dist/client/integrations/IntegrationConnectionChoice.js +6 -0
- package/dist/client/integrations/IntegrationGrid.d.ts +23 -0
- package/dist/client/integrations/IntegrationGrid.js +12 -0
- package/dist/client/integrations/IntegrationsPanel.js +92 -26
- package/dist/client/integrations/index.d.ts +2 -0
- package/dist/client/integrations/index.js +2 -0
- package/dist/client/onboarding/FirstRunOnboarding.d.ts +3 -1
- package/dist/client/onboarding/FirstRunOnboarding.js +26 -16
- package/dist/client/onboarding/first-run-enabled.js +1 -5
- package/dist/client/onboarding/first-run-startup-gate.d.ts +5 -0
- package/dist/client/onboarding/first-run-startup-gate.js +51 -0
- package/dist/client/onboarding/first-run-status.d.ts +7 -0
- package/dist/client/onboarding/first-run-status.js +26 -0
- package/dist/client/onboarding/index.d.ts +3 -0
- package/dist/client/onboarding/index.js +3 -0
- package/dist/client/onboarding/use-onboarding.d.ts +1 -0
- package/dist/client/onboarding/use-onboarding.js +13 -11
- package/dist/client/org/TeamPage.js +174 -28
- package/dist/client/org/WorkspaceNotice.js +7 -4
- package/dist/client/resources/McpConnectionSuggestion.js +29 -72
- package/dist/client/resources/McpIntegrationDialog.d.ts +3 -1
- package/dist/client/resources/McpIntegrationDialog.js +176 -51
- package/dist/client/resources/index.d.ts +1 -0
- package/dist/client/resources/index.js +1 -0
- package/dist/client/resources/mcp-integration-catalog.d.ts +8 -0
- package/dist/client/resources/mcp-integration-catalog.js +28 -0
- package/dist/client/settings/ExtensionsSettingsContent.js +2 -2
- package/dist/client/settings/SettingsPanel.d.ts +6 -0
- package/dist/client/settings/SettingsPanel.js +21 -8
- package/dist/client/settings/SettingsRow.d.ts +3 -1
- package/dist/client/settings/SettingsRow.js +4 -2
- package/dist/client/settings/SettingsSkeleton.js +5 -3
- package/dist/client/settings/SettingsTabsPage.js +2 -2
- package/dist/client/settings/UsageSection.d.ts +4 -1
- package/dist/client/settings/UsageSection.js +187 -93
- package/dist/client/settings/agent-settings-search.js +6 -2
- package/dist/client/setup-connections/useBuilderConnectCardController.d.ts +1 -1
- package/dist/client/setup-connections/useBuilderConnectCardController.js +2 -2
- package/dist/client/sharing/ShareButton.d.ts +4 -2
- package/dist/client/sharing/ShareButton.js +26 -14
- package/dist/client/sharing/ShareDialog.d.ts +1 -1
- package/dist/client/sharing/ShareDialog.js +17 -11
- package/dist/client/sharing/useShareButtonController.d.ts +2 -1
- package/dist/client/sharing/useShareButtonController.js +8 -0
- package/dist/client/sharing/useShareDialogController.d.ts +1 -1
- package/dist/client/sharing/useShareDialogController.js +2 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/config.d.ts +13 -0
- package/dist/config.js +53 -0
- package/dist/dashboard-storage/schema.d.ts +2 -2
- package/dist/data-programs/schema.d.ts +2 -2
- package/dist/extensions/actions.js +2 -1
- package/dist/extensions/html-shell.d.ts +2 -2
- package/dist/extensions/routes.js +4 -1
- package/dist/extensions/schema.d.ts +2 -2
- package/dist/file-upload/pre-upload-attachments.js +1 -1
- package/dist/framework-tools.js +3 -0
- package/dist/history/types.d.ts +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/jobs/background-automation-runner.d.ts +1 -0
- package/dist/jobs/background-automation-runner.js +4 -2
- package/dist/jobs/frontmatter.d.ts +4 -0
- package/dist/jobs/frontmatter.js +16 -0
- package/dist/jobs/run-history.js +1 -1
- package/dist/jobs/tools.js +9 -5
- package/dist/localization/default-messages.d.ts +27 -0
- package/dist/localization/default-messages.js +28 -1
- package/dist/notifications/routes.d.ts +6 -6
- package/dist/onboarding/plugin.js +17 -2
- package/dist/org/context.js +16 -0
- package/dist/progress/routes.d.ts +1 -1
- package/dist/provider-api/actions/custom-provider-registration.d.ts +12 -12
- package/dist/provider-api/actions/provider-api.d.ts +8 -8
- package/dist/review/actions/create-review-comment.js +1 -1
- package/dist/review/actions/delete-review-comment.js +4 -1
- package/dist/review/actions/list-review-comments.js +4 -2
- package/dist/review/actions/reply-review-comment.js +1 -1
- package/dist/review/types.d.ts +1 -1
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/action-discovery.js +29 -0
- package/dist/server/agent-chat/plugin-options.d.ts +7 -0
- package/dist/server/agent-chat-plugin.d.ts +2 -0
- package/dist/server/agent-chat-plugin.js +12 -4
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/auth.js +18 -4
- package/dist/server/better-auth-instance.js +8 -1
- package/dist/server/builder-browser.js +31 -0
- package/dist/server/magic-link-attribution.d.ts +21 -0
- package/dist/server/magic-link-attribution.js +115 -0
- package/dist/server/onboarding-html.js +1 -1
- package/dist/server/realtime-token.d.ts +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/server/workspace-provider-oauth.js +38 -26
- package/dist/setup-connections/index.d.ts +1 -1
- package/dist/setup-connections/index.js +1 -1
- package/dist/shared/first-run-onboarding.d.ts +6 -0
- package/dist/shared/first-run-onboarding.js +6 -0
- package/dist/sharing/access.d.ts +1 -1
- package/dist/sharing/access.js +4 -1
- package/dist/sharing/actions/share-resource.d.ts +1 -1
- package/dist/sharing/actions/share-resource.js +2 -2
- package/dist/sharing/registry.d.ts +2 -2
- package/dist/sharing/schema.d.ts +5 -5
- package/dist/sharing/schema.js +9 -6
- package/dist/styles/agent-native.css +21 -0
- package/dist/styles/chat-history-list.css +1 -1
- package/dist/templates/chat/.agents/skills/adding-a-feature/SKILL.md +3 -2
- package/dist/templates/chat/.agents/skills/context-awareness/SKILL.md +206 -0
- package/dist/templates/chat/.agents/skills/frontend-design/SKILL.md +73 -80
- package/dist/templates/chat/.agents/skills/portability/SKILL.md +107 -0
- package/dist/templates/chat/.agents/skills/secrets/SKILL.md +339 -0
- package/dist/templates/chat/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/dist/templates/chat/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/dist/templates/chat/.agents/skills/sharing/SKILL.md +1 -0
- package/dist/templates/chat/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/dist/templates/chat/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/dist/templates/chat/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/dist/templates/chat/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/dist/templates/chat/AGENTS.md +4 -5
- package/dist/templates/default/.agents/skills/adding-a-feature/SKILL.md +3 -2
- package/dist/templates/default/.agents/skills/context-awareness/SKILL.md +206 -0
- package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +73 -80
- package/dist/templates/default/.agents/skills/portability/SKILL.md +107 -0
- package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/dist/templates/default/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/dist/templates/default/.agents/skills/sharing/SKILL.md +233 -0
- package/dist/templates/default/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/dist/templates/default/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/dist/templates/default/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/dist/templates/default/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/dist/templates/default/AGENTS.md +17 -2
- package/dist/templates/default/agent-native.config.ts +6 -0
- package/dist/templates/default/app/i18n/ar-SA.ts +2 -0
- package/dist/templates/default/app/i18n/de-DE.ts +2 -0
- package/dist/templates/default/app/i18n/en-US.ts +3 -1
- package/dist/templates/default/app/i18n/es-ES.ts +2 -0
- package/dist/templates/default/app/i18n/fr-FR.ts +2 -0
- package/dist/templates/default/app/i18n/hi-IN.ts +2 -0
- package/dist/templates/default/app/i18n/ja-JP.ts +2 -0
- package/dist/templates/default/app/i18n/ko-KR.ts +2 -0
- package/dist/templates/default/app/i18n/pt-BR.ts +2 -0
- package/dist/templates/default/app/i18n/zh-CN.ts +2 -0
- package/dist/templates/default/app/i18n/zh-TW.ts +2 -0
- package/dist/templates/headless/.agents/skills/delegate-to-agent/SKILL.md +289 -0
- package/dist/templates/headless/.agents/skills/security/SKILL.md +324 -0
- package/dist/templates/headless/.agents/skills/storing-data/SKILL.md +178 -0
- package/dist/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +3 -2
- package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +73 -80
- package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/dist/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/dist/templates/workspace-core/.agents/skills/sharing/SKILL.md +1 -0
- package/dist/templates/workspace-core/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/dist/templates/workspace-core/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/dist/templates/workspace-core/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/dist/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +3 -2
- package/dist/templates/workspace-core/AGENTS.md +9 -3
- package/dist/templates/workspace-root/AGENTS.md +26 -1
- package/dist/templates/workspace-root/agent-native.config.ts +8 -0
- package/dist/triggers/actions.js +2 -2
- package/dist/usage/actions/get-usage-alerts.d.ts +5 -0
- package/dist/usage/actions/get-usage-alerts.js +16 -0
- package/dist/usage/actions/get-usage-metrics.d.ts +7 -0
- package/dist/usage/actions/get-usage-metrics.js +26 -0
- package/dist/usage/actions/manage-usage-alert.d.ts +14 -0
- package/dist/usage/actions/manage-usage-alert.js +48 -0
- package/dist/usage/alerts-store.d.ts +78 -0
- package/dist/usage/alerts-store.js +592 -0
- package/dist/usage/metrics-store.d.ts +95 -0
- package/dist/usage/metrics-store.js +386 -0
- package/dist/usage/store.js +10 -0
- package/dist/vite/action-types-plugin.js +28 -0
- package/dist/vite/agent-native-config-loader.d.ts +6 -0
- package/dist/vite/agent-native-config-loader.js +54 -2
- package/dist/vite/client.js +11 -5
- package/dist/workspace-connections/actions/bulk-update-workspace-user-groups.d.ts +6 -0
- package/dist/workspace-connections/actions/bulk-update-workspace-user-groups.js +24 -0
- package/dist/workspace-connections/actions/delete-workspace-user-group.d.ts +7 -0
- package/dist/workspace-connections/actions/delete-workspace-user-group.js +29 -0
- package/dist/workspace-connections/actions/list-workspace-user-groups.d.ts +2 -0
- package/dist/workspace-connections/actions/list-workspace-user-groups.js +13 -0
- package/dist/workspace-connections/actions/upsert-workspace-user-group.d.ts +6 -0
- package/dist/workspace-connections/actions/upsert-workspace-user-group.js +22 -0
- package/dist/workspace-connections/credential-key-aliases.d.ts +3 -0
- package/dist/workspace-connections/credential-key-aliases.js +31 -0
- package/dist/workspace-connections/credentials.js +1 -25
- package/dist/workspace-connections/groups.d.ts +32 -0
- package/dist/workspace-connections/groups.js +288 -0
- package/dist/workspace-connections/index.d.ts +3 -1
- package/dist/workspace-connections/index.js +3 -1
- package/dist/workspace-connections/store.d.ts +9 -0
- package/dist/workspace-connections/store.js +68 -8
- package/docs/content/components.mdx +2 -2
- package/docs/content/sharing.mdx +2 -1
- package/package.json +10 -2
- package/src/templates/chat/.agents/skills/adding-a-feature/SKILL.md +3 -2
- package/src/templates/chat/.agents/skills/context-awareness/SKILL.md +206 -0
- package/src/templates/chat/.agents/skills/frontend-design/SKILL.md +73 -80
- package/src/templates/chat/.agents/skills/portability/SKILL.md +107 -0
- package/src/templates/chat/.agents/skills/secrets/SKILL.md +339 -0
- package/src/templates/chat/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/src/templates/chat/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/src/templates/chat/.agents/skills/sharing/SKILL.md +1 -0
- package/src/templates/chat/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/src/templates/chat/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/src/templates/chat/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/src/templates/chat/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/src/templates/chat/AGENTS.md +4 -5
- package/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +3 -2
- package/src/templates/default/.agents/skills/context-awareness/SKILL.md +206 -0
- package/src/templates/default/.agents/skills/frontend-design/SKILL.md +73 -80
- package/src/templates/default/.agents/skills/portability/SKILL.md +107 -0
- package/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/src/templates/default/.agents/skills/sharing/SKILL.md +233 -0
- package/src/templates/default/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/src/templates/default/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/src/templates/default/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/src/templates/default/.agents/skills/workspace-conventions/SKILL.md +93 -0
- package/src/templates/default/AGENTS.md +17 -2
- package/src/templates/default/agent-native.config.ts +6 -0
- package/src/templates/default/app/i18n/ar-SA.ts +2 -0
- package/src/templates/default/app/i18n/de-DE.ts +2 -0
- package/src/templates/default/app/i18n/en-US.ts +3 -1
- package/src/templates/default/app/i18n/es-ES.ts +2 -0
- package/src/templates/default/app/i18n/fr-FR.ts +2 -0
- package/src/templates/default/app/i18n/hi-IN.ts +2 -0
- package/src/templates/default/app/i18n/ja-JP.ts +2 -0
- package/src/templates/default/app/i18n/ko-KR.ts +2 -0
- package/src/templates/default/app/i18n/pt-BR.ts +2 -0
- package/src/templates/default/app/i18n/zh-CN.ts +2 -0
- package/src/templates/default/app/i18n/zh-TW.ts +2 -0
- package/src/templates/headless/.agents/skills/delegate-to-agent/SKILL.md +289 -0
- package/src/templates/headless/.agents/skills/security/SKILL.md +324 -0
- package/src/templates/headless/.agents/skills/storing-data/SKILL.md +178 -0
- package/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +3 -2
- package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +73 -80
- package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +3 -3
- package/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +1 -1
- package/src/templates/workspace-core/.agents/skills/sharing/SKILL.md +1 -0
- package/src/templates/workspace-core/.agents/skills/turn-into-app/SKILL.md +116 -44
- package/src/templates/workspace-core/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
- package/src/templates/workspace-core/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
- package/src/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +3 -2
- package/src/templates/workspace-core/AGENTS.md +9 -3
- package/src/templates/workspace-root/AGENTS.md +26 -1
- package/src/templates/workspace-root/agent-native.config.ts +8 -0
- package/corpus/templates/analytics/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/analytics/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/analytics/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/analytics/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/assets/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/assets/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/assets/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/assets/.agents/skills/real-time-collab/SKILL.md +0 -392
- package/corpus/templates/assets/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/brain/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/brain/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/brain/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/brain/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/calendar/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/calendar/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/calendar/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/calendar/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/chat/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/chat/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/chat/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/clips/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/clips/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/clips/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/clips/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/content/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/content/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/content/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/content/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/crm/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/crm/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/design/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/design/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/design/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/design/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/dispatch/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/dispatch/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/dispatch/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/dispatch/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/factory/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/factory/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/factory/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/factory/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/forms/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/forms/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/forms/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/forms/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/macros/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/macros/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/mail/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/mail/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/mail/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/mail/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/plan/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/plan/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/plan/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/plan/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/slides/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/slides/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/slides/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/slides/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/corpus/templates/tasks/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/corpus/templates/tasks/.agents/skills/create-skill/SKILL.md +0 -195
- package/corpus/templates/tasks/.agents/skills/feature-flags/SKILL.md +0 -169
- package/corpus/templates/tasks/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/dist/templates/chat/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/dist/templates/chat/.agents/skills/create-skill/SKILL.md +0 -195
- package/dist/templates/chat/.agents/skills/feature-flags/SKILL.md +0 -169
- package/dist/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/dist/templates/default/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/dist/templates/default/.agents/skills/create-skill/SKILL.md +0 -195
- package/dist/templates/default/.agents/skills/feature-flags/SKILL.md +0 -169
- package/dist/templates/default/.agents/skills/integration-webhooks/SKILL.md +0 -364
- package/dist/templates/default/.agents/skills/internationalization/SKILL.md +0 -82
- package/dist/templates/default/.agents/skills/onboarding/SKILL.md +0 -56
- package/dist/templates/default/.agents/skills/real-time-collab/SKILL.md +0 -392
- package/dist/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/dist/templates/headless/.agents/skills/feature-flags/SKILL.md +0 -169
- package/dist/templates/headless/.agents/skills/integration-webhooks/SKILL.md +0 -364
- package/dist/templates/headless/.agents/skills/turn-into-app/SKILL.md +0 -402
- package/dist/templates/headless/.agents/skills/turn-into-app/agents/openai.yaml +0 -4
- package/dist/templates/headless/.agents/skills/turn-into-app/references/fresh-project.md +0 -90
- package/dist/templates/headless/.agents/skills/turn-into-skill/SKILL.md +0 -112
- package/dist/templates/headless/.agents/skills/turn-into-skill/agents/openai.yaml +0 -4
- package/dist/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/dist/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +0 -411
- package/dist/templates/workspace-core/.agents/skills/adding-workspace-apps/SKILL.md +0 -107
- package/dist/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +0 -176
- package/dist/templates/workspace-core/.agents/skills/agent-page/SKILL.md +0 -63
- package/dist/templates/workspace-core/.agents/skills/audit-log/SKILL.md +0 -96
- package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +0 -295
- package/dist/templates/workspace-core/.agents/skills/automations/SKILL.md +0 -242
- package/dist/templates/workspace-core/.agents/skills/browser-sessions/SKILL.md +0 -131
- package/dist/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/dist/templates/workspace-core/.agents/skills/changelog/SKILL.md +0 -114
- package/dist/templates/workspace-core/.agents/skills/client-methods/SKILL.md +0 -115
- package/dist/templates/workspace-core/.agents/skills/client-methods/references/legacy-client-fetch-audit-2026-06-03.md +0 -62
- package/dist/templates/workspace-core/.agents/skills/client-side-routing/SKILL.md +0 -87
- package/dist/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +0 -139
- package/dist/templates/workspace-core/.agents/skills/context-xray/SKILL.md +0 -72
- package/dist/templates/workspace-core/.agents/skills/create-skill/SKILL.md +0 -195
- package/dist/templates/workspace-core/.agents/skills/data-programs/SKILL.md +0 -128
- package/dist/templates/workspace-core/.agents/skills/extension-points/SKILL.md +0 -219
- package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +0 -533
- package/dist/templates/workspace-core/.agents/skills/extensions/references/api.md +0 -340
- package/dist/templates/workspace-core/.agents/skills/extensions/references/examples.md +0 -259
- package/dist/templates/workspace-core/.agents/skills/external-agents/SKILL.md +0 -547
- package/dist/templates/workspace-core/.agents/skills/external-agents/references/mcp-apps-embedding.md +0 -157
- package/dist/templates/workspace-core/.agents/skills/feature-flags/SKILL.md +0 -169
- package/dist/templates/workspace-core/.agents/skills/generative-ui/SKILL.md +0 -117
- package/dist/templates/workspace-core/.agents/skills/harness-agents/SKILL.md +0 -170
- package/dist/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +0 -364
- package/dist/templates/workspace-core/.agents/skills/internationalization/SKILL.md +0 -82
- package/dist/templates/workspace-core/.agents/skills/mvp-followup/SKILL.md +0 -52
- package/dist/templates/workspace-core/.agents/skills/native-navigation/SKILL.md +0 -67
- package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +0 -329
- package/dist/templates/workspace-core/.agents/skills/onboarding/SKILL.md +0 -56
- package/dist/templates/workspace-core/.agents/skills/performance/SKILL.md +0 -299
- package/dist/templates/workspace-core/.agents/skills/qa/SKILL.md +0 -333
- package/dist/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +0 -392
- package/dist/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +0 -74
- package/dist/templates/workspace-core/.agents/skills/reliable-mutations/SKILL.md +0 -70
- package/dist/templates/workspace-core/.agents/skills/server-plugins/SKILL.md +0 -84
- package/dist/templates/workspace-core/.agents/skills/tracking/SKILL.md +0 -278
- package/dist/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/dist/templates/workspace-core/.agents/skills/visual-answer/SKILL.md +0 -101
- package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +0 -222
- package/dist/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +0 -363
- package/src/templates/chat/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/src/templates/chat/.agents/skills/create-skill/SKILL.md +0 -195
- package/src/templates/chat/.agents/skills/feature-flags/SKILL.md +0 -169
- package/src/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/src/templates/default/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/src/templates/default/.agents/skills/create-skill/SKILL.md +0 -195
- package/src/templates/default/.agents/skills/feature-flags/SKILL.md +0 -169
- package/src/templates/default/.agents/skills/integration-webhooks/SKILL.md +0 -364
- package/src/templates/default/.agents/skills/internationalization/SKILL.md +0 -82
- package/src/templates/default/.agents/skills/onboarding/SKILL.md +0 -56
- package/src/templates/default/.agents/skills/real-time-collab/SKILL.md +0 -392
- package/src/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/src/templates/headless/.agents/skills/feature-flags/SKILL.md +0 -169
- package/src/templates/headless/.agents/skills/integration-webhooks/SKILL.md +0 -364
- package/src/templates/headless/.agents/skills/turn-into-app/SKILL.md +0 -402
- package/src/templates/headless/.agents/skills/turn-into-app/agents/openai.yaml +0 -4
- package/src/templates/headless/.agents/skills/turn-into-app/references/fresh-project.md +0 -90
- package/src/templates/headless/.agents/skills/turn-into-skill/SKILL.md +0 -112
- package/src/templates/headless/.agents/skills/turn-into-skill/agents/openai.yaml +0 -4
- package/src/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/src/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +0 -411
- package/src/templates/workspace-core/.agents/skills/adding-workspace-apps/SKILL.md +0 -107
- package/src/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +0 -176
- package/src/templates/workspace-core/.agents/skills/agent-page/SKILL.md +0 -63
- package/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +0 -96
- package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +0 -295
- package/src/templates/workspace-core/.agents/skills/automations/SKILL.md +0 -242
- package/src/templates/workspace-core/.agents/skills/browser-sessions/SKILL.md +0 -131
- package/src/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +0 -89
- package/src/templates/workspace-core/.agents/skills/changelog/SKILL.md +0 -114
- package/src/templates/workspace-core/.agents/skills/client-methods/SKILL.md +0 -115
- package/src/templates/workspace-core/.agents/skills/client-methods/references/legacy-client-fetch-audit-2026-06-03.md +0 -62
- package/src/templates/workspace-core/.agents/skills/client-side-routing/SKILL.md +0 -87
- package/src/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +0 -139
- package/src/templates/workspace-core/.agents/skills/context-xray/SKILL.md +0 -72
- package/src/templates/workspace-core/.agents/skills/create-skill/SKILL.md +0 -195
- package/src/templates/workspace-core/.agents/skills/data-programs/SKILL.md +0 -128
- package/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +0 -219
- package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +0 -533
- package/src/templates/workspace-core/.agents/skills/extensions/references/api.md +0 -340
- package/src/templates/workspace-core/.agents/skills/extensions/references/examples.md +0 -259
- package/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +0 -547
- package/src/templates/workspace-core/.agents/skills/external-agents/references/mcp-apps-embedding.md +0 -157
- package/src/templates/workspace-core/.agents/skills/feature-flags/SKILL.md +0 -169
- package/src/templates/workspace-core/.agents/skills/generative-ui/SKILL.md +0 -117
- package/src/templates/workspace-core/.agents/skills/harness-agents/SKILL.md +0 -170
- package/src/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +0 -364
- package/src/templates/workspace-core/.agents/skills/internationalization/SKILL.md +0 -82
- package/src/templates/workspace-core/.agents/skills/mvp-followup/SKILL.md +0 -52
- package/src/templates/workspace-core/.agents/skills/native-navigation/SKILL.md +0 -67
- package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +0 -329
- package/src/templates/workspace-core/.agents/skills/onboarding/SKILL.md +0 -56
- package/src/templates/workspace-core/.agents/skills/performance/SKILL.md +0 -299
- package/src/templates/workspace-core/.agents/skills/qa/SKILL.md +0 -333
- package/src/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +0 -392
- package/src/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +0 -74
- package/src/templates/workspace-core/.agents/skills/reliable-mutations/SKILL.md +0 -70
- package/src/templates/workspace-core/.agents/skills/server-plugins/SKILL.md +0 -84
- package/src/templates/workspace-core/.agents/skills/tracking/SKILL.md +0 -278
- package/src/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
- package/src/templates/workspace-core/.agents/skills/visual-answer/SKILL.md +0 -101
- package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +0 -222
- package/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +0 -363
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: voice-transcription
|
|
3
|
-
description: >-
|
|
4
|
-
Framework-wide voice dictation in the agent sidebar composer. Use when
|
|
5
|
-
changing composer microphone UX, the transcribe-voice route, or the
|
|
6
|
-
Voice Transcription settings section. Covers transcription-source routing,
|
|
7
|
-
cleanup routing, Google realtime gating, and the voice transcription
|
|
8
|
-
application-state keys.
|
|
9
|
-
scope: dev
|
|
10
|
-
metadata:
|
|
11
|
-
internal: true
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# Voice Transcription
|
|
15
|
-
|
|
16
|
-
The microphone inside the sidebar composer offers two distinct paths:
|
|
17
|
-
editable dictation and an opt-in realtime speech-to-speech agent session.
|
|
18
|
-
Users configure dictation separately from AI cleanup in Settings → Voice
|
|
19
|
-
Transcription. Both paths are available in every template that renders the
|
|
20
|
-
shared agent sidebar.
|
|
21
|
-
|
|
22
|
-
## UX rules
|
|
23
|
-
|
|
24
|
-
- **Always show the mic alongside the send button.** Cursor replaces send
|
|
25
|
-
with mic when the composer is empty; their users complain. We keep both
|
|
26
|
-
visible — Lovable does the same.
|
|
27
|
-
- **Ask before switching modes.** The mic opens a compact shadcn popover with
|
|
28
|
-
**Real-time voice** as the primary action and **Dictate** as the secondary;
|
|
29
|
-
never silently replace the established dictation behavior. Users can choose
|
|
30
|
-
**Remember my preference** to skip the chooser on later clicks.
|
|
31
|
-
- **Dictation is click-to-toggle, not push-to-talk.** More forgiving in a sidebar, avoids
|
|
32
|
-
host-app hotkey clashes. Keyboard shortcut is `Cmd/Ctrl+Shift+M` and
|
|
33
|
-
`Escape` cancels mid-recording.
|
|
34
|
-
- **Transcript lands in the composer, editable, never auto-sent.** Insert at
|
|
35
|
-
the caret via `editor.chain().focus().insertContent(text).run()`.
|
|
36
|
-
- **No CSS transitions for the recording state.** Framework rule; use static
|
|
37
|
-
brand color (`#625DF5`) instead of pulses.
|
|
38
|
-
- **Icon:** Tabler `IconMicrophone` (idle) / `IconPlayerStopFilled` (recording).
|
|
39
|
-
Never use a sparkle or robot icon.
|
|
40
|
-
- **Errors via inline alert or toast, never `window.alert`.**
|
|
41
|
-
|
|
42
|
-
## Realtime speech mode
|
|
43
|
-
|
|
44
|
-
Realtime speech mode is a full-duplex OpenAI Realtime WebRTC session, separate
|
|
45
|
-
from the dictation providers below. It prefers the authenticated user's
|
|
46
|
-
complete Builder connection and the Builder-managed metered gateway. A scoped
|
|
47
|
-
`OPENAI_API_KEY` is the fallback when Builder is not connected. The server owns
|
|
48
|
-
the `gpt-realtime-2.1` session configuration and keeps credentials out of
|
|
49
|
-
browser code. If neither provider is configured, show **Connect Builder** as
|
|
50
|
-
the primary microphone-popover action and OpenAI key setup as the secondary
|
|
51
|
-
action before requesting microphone permission.
|
|
52
|
-
|
|
53
|
-
- Starting voice mode collapses the chat into a persistent bottom-end speech
|
|
54
|
-
orb. The orb stays visible above the chat even when the chat opens
|
|
55
|
-
automatically. Clicking it shows or hides chat without ending the session;
|
|
56
|
-
opening chat slides the orb clear of the sidebar. The progressively disclosed
|
|
57
|
-
controls contain only settings and the separate end-session action.
|
|
58
|
-
- The orb's compact waveform stays visible for the full session and reflects
|
|
59
|
-
actual microphone or assistant audio activity. At silence it rests at its
|
|
60
|
-
baseline instead of turning into a loading spinner. Once connected, a soft,
|
|
61
|
-
slowly rotating blue glow marks the live session; brighten and speed up the
|
|
62
|
-
glow while the agent is working, and keep it static under reduced motion.
|
|
63
|
-
While connecting, show a distinct compact spinner; when the session becomes
|
|
64
|
-
live, the assistant gives one brief spoken greeting so readiness is
|
|
65
|
-
unambiguous. Do not apply a text-sized `max_output_tokens` cap to that audio
|
|
66
|
-
greeting because audio tokens can truncate it mid-sentence.
|
|
67
|
-
- The orb settings cog opens in place without ending voice mode or navigating
|
|
68
|
-
away. Nested pickers must not dismiss the settings popover. Language and
|
|
69
|
-
intelligence update the active Realtime session; the microphone picker swaps
|
|
70
|
-
the live WebRTC input track and remembers the browser-local device choice;
|
|
71
|
-
an output-voice change updates immediately only before the assistant has
|
|
72
|
-
emitted audio and otherwise applies to the next conversation, matching the
|
|
73
|
-
Realtime API's voice immutability rule.
|
|
74
|
-
- Semantic VAD keeps listening, starts responses automatically, and supports
|
|
75
|
-
barge-in while the agent is speaking.
|
|
76
|
-
- Function calls must cross the authenticated realtime tool bridge and enter
|
|
77
|
-
`executeAgentToolCall`. Never call `ActionEntry.run` directly: that bypasses
|
|
78
|
-
schema validation, approvals, audit/journal behavior, timeouts, redaction,
|
|
79
|
-
and mutation refreshes.
|
|
80
|
-
- Preserve the active browser-tab id in request context so `set-url-path`,
|
|
81
|
-
`set-search-params`, `view-screen`, and tab-scoped application state affect
|
|
82
|
-
the app the user is actually speaking to. Realtime tool manifests are capped,
|
|
83
|
-
so prioritize `navigate`, `set-url-path`, `set-search-params`, and
|
|
84
|
-
`view-screen` before packing large template registries.
|
|
85
|
-
- Keep `tool-search` in the initial Realtime manifest. A successful specific
|
|
86
|
-
search may expand the live session with matching action schemas, but the
|
|
87
|
-
server must derive those schemas from its own registry, bind authorization
|
|
88
|
-
to the authenticated voice session, and continue execution through
|
|
89
|
-
`executeAgentToolCall`. Treat `session.update.tools` as a full replacement:
|
|
90
|
-
preserve the pinned navigation/discovery tools, evict lower-priority entries
|
|
91
|
-
within the manifest cap, and wait for `session.updated` before asking the
|
|
92
|
-
model to continue with a newly discovered tool.
|
|
93
|
-
- Do not persist audio or interim transcript deltas. Append completed user and
|
|
94
|
-
assistant utterances as ordinary text messages to the exact chat thread
|
|
95
|
-
captured when the session starts. Input transcription completes
|
|
96
|
-
asynchronously from assistant generation, so reserve provider conversation
|
|
97
|
-
item order and publish only the contiguous completed sequence; never use
|
|
98
|
-
completion arrival time as chat order. Ending voice mode opens that chat so
|
|
99
|
-
the user can continue over text. Store only compact lifecycle and latest
|
|
100
|
-
context at `application_state["realtime-voice-session"]`; delete it when the
|
|
101
|
-
session ends.
|
|
102
|
-
- Store the user-controlled language, intelligence, and output-voice choices at
|
|
103
|
-
`application_state["realtime-voice-prefs"]`. Keep this separate from
|
|
104
|
-
`voice-transcription-prefs`, which configures editable dictation rather than
|
|
105
|
-
the speech-to-speech session.
|
|
106
|
-
- Store the optional remembered chooser selection at
|
|
107
|
-
`application_state["voice-input-preference"]`. Keep it separate from both
|
|
108
|
-
mode-specific preference objects.
|
|
109
|
-
- Missing-key failures should open Settings focused on the user-scoped
|
|
110
|
-
`OPENAI_API_KEY` field. Never send, log, or echo the key to the browser.
|
|
111
|
-
|
|
112
|
-
## Source And Cleanup
|
|
113
|
-
|
|
114
|
-
Settings must keep these as separate choices:
|
|
115
|
-
|
|
116
|
-
- **Live transcription source**: `mac-native`, `google-realtime`, or `batch`.
|
|
117
|
-
- **AI cleanup**: independent off/on toggle. Cleanup uses managed Gemini first
|
|
118
|
-
when a managed AI services connection is configured, then BYOK Gemini (`GEMINI_API_KEY`).
|
|
119
|
-
Gemini cleanup/title/summary generation is not a live STT source.
|
|
120
|
-
|
|
121
|
-
`application_state["voice-transcription-prefs"]` stores
|
|
122
|
-
`{ transcriptionMode, provider, instructions }`. The legacy `provider` field
|
|
123
|
-
is still written for old clients and batch provider preferences:
|
|
124
|
-
|
|
125
|
-
| Value | Meaning | Needs key |
|
|
126
|
-
| ----------------- | -------------------------------------------------------------- | ---------------------------- |
|
|
127
|
-
| `mac-native` | Native macOS/Tauri speech path; web clients normalize to browser-native where needed | No |
|
|
128
|
-
| `google-realtime` | Dedicated WebSocket → Google Speech-to-Text gRPC `StreamingRecognize` path | `GOOGLE_APPLICATION_CREDENTIALS` |
|
|
129
|
-
| `batch` | Upload audio after stop through the existing batch route | Builder/Gemini/Groq/OpenAI depending on fallback |
|
|
130
|
-
| `auto` provider | Browser SpeechRecognition when supported; server batch fallback chain otherwise | No key needed in browsers that support SpeechRecognition |
|
|
131
|
-
| `builder-gemini` | Managed Gemini Flash-Lite batch/cleanup preference | Managed AI services account connected |
|
|
132
|
-
| `gemini` | Direct Google Gemini BYOK batch/cleanup preference | `GEMINI_API_KEY` |
|
|
133
|
-
| `groq` | Groq Whisper batch preference | `GROQ_API_KEY` |
|
|
134
|
-
| `openai` | OpenAI Whisper batch preference | `OPENAI_API_KEY` |
|
|
135
|
-
| `browser` | Legacy native/browser live speech preference | No |
|
|
136
|
-
|
|
137
|
-
Default behavior:
|
|
138
|
-
|
|
139
|
-
- The shared web settings/composer default to Batch / `auto`. In `auto` mode,
|
|
140
|
-
`useVoiceDictation` uses `startBrowser()` (Web Speech API, no key required,
|
|
141
|
-
incremental streaming) when the browser supports `SpeechRecognition`. It only
|
|
142
|
-
falls back to the MediaRecorder → server upload path when `SpeechRecognition`
|
|
143
|
-
is not available (e.g. Firefox). This means dictation works out of the box in
|
|
144
|
-
Chrome, Edge, and Safari without any API key configuration.
|
|
145
|
-
- Dedicated macOS Tauri-native surfaces may save `mac-native`, but do not
|
|
146
|
-
assume the shared React settings default to it.
|
|
147
|
-
- Old stored `builder` values are treated as `builder-gemini`.
|
|
148
|
-
- Old stored `browser` values are treated as `mac-native`.
|
|
149
|
-
- Saved `google-realtime` preferences must never hit `/_agent-native/transcribe-voice`. They go through the dedicated session bridge `POST /_agent-native/transcribe-stream/session`, which mints an opaque ai-services websocket session and keeps the Google service-account JSON off the client.
|
|
150
|
-
- In the current bridge, the Google option is only actually ready when both the user's `GOOGLE_APPLICATION_CREDENTIALS` secret exists and a managed AI services connection is configured, because the framework mints the managed ai-services session before streaming begins.
|
|
151
|
-
|
|
152
|
-
## Where the pieces live
|
|
153
|
-
|
|
154
|
-
| File | Purpose |
|
|
155
|
-
| --------------------------------------------------------------------- | --------------------------------------------------- |
|
|
156
|
-
| `packages/toolkit/src/composer/useVoiceDictation.ts` | Provider-routing hook (MediaRecorder / Web Speech) |
|
|
157
|
-
| `packages/toolkit/src/composer/VoiceButton.tsx` | Mic button + live amplitude + cancel overlay |
|
|
158
|
-
| `packages/toolkit/src/composer/RealtimeVoiceMode.tsx` | Opt-in popover + persistent speech orb |
|
|
159
|
-
| `packages/toolkit/src/composer/useRealtimeVoiceMode.tsx` | WebRTC lifecycle, provider events, and tool bridge |
|
|
160
|
-
| `packages/toolkit/src/composer/TiptapComposer.tsx` | Wires the hook, insertion, and keyboard shortcut |
|
|
161
|
-
| `packages/core/src/client/settings/VoiceTranscriptionSection.tsx` | Live source + cleanup controls in sidebar settings |
|
|
162
|
-
| `packages/core/src/client/transcription/BuilderTranscriptionCta.tsx` | CTA shown when Builder account isn't connected |
|
|
163
|
-
| `packages/core/src/client/transcription/use-live-transcription.ts` | Web Speech live-transcription hook for recordings |
|
|
164
|
-
| `packages/core/src/server/transcribe-voice.ts` | Route handler (routes to Builder/Gemini/Groq/Whisper) |
|
|
165
|
-
| `packages/core/src/server/realtime-voice.ts` | Authenticated OpenAI SDP and action-tool routes |
|
|
166
|
-
| `packages/core/src/transcription/builder-transcription.ts` | Builder proxy transcription client |
|
|
167
|
-
| `packages/core/src/voice/` | Shared voice context pack, prompt, and replacement helpers |
|
|
168
|
-
| `packages/core/src/secrets/register-framework-secrets.ts` | Framework-level provider key registration |
|
|
169
|
-
|
|
170
|
-
## Key resolution (server)
|
|
171
|
-
|
|
172
|
-
`transcribe-voice.ts` is batch-only. Do not add realtime streaming to this
|
|
173
|
-
route. Google Speech-to-Text realtime uses a dedicated audio-frame protocol:
|
|
174
|
-
client audio frames → `/_agent-native/transcribe-stream/session` →
|
|
175
|
-
ai-services WebSocket → Google gRPC `StreamingRecognize` → partial / final
|
|
176
|
-
transcript events. Use the canonical docs URL:
|
|
177
|
-
https://cloud.google.com/speech-to-text/v2/docs/streaming-recognize
|
|
178
|
-
|
|
179
|
-
Batch routing is based on the user's provider preference:
|
|
180
|
-
|
|
181
|
-
1. If `builder-gemini` and `resolveHasBuilderPrivateKey()` → calls `transcribeWithBuilder({ model: "gemini-3-1-flash-lite" })` via Builder proxy, or uses Builder Gemini Flash-Lite to clean up a live native/browser transcript when the desktop client sends text instead of audio.
|
|
182
|
-
2. If `builder` and `resolveHasBuilderPrivateKey()` → legacy alias; prefer `builder-gemini`.
|
|
183
|
-
3. If `gemini` → resolves `GEMINI_API_KEY` and calls the direct Google Gemini path.
|
|
184
|
-
4. If `groq` → resolves `GROQ_API_KEY` and calls Groq's Whisper-compatible endpoint.
|
|
185
|
-
5. If `openai` → resolves `OPENAI_API_KEY`:
|
|
186
|
-
- `readAppSecret({ key: "OPENAI_API_KEY", scope: "user", scopeId: session.email })` — user's encrypted secret.
|
|
187
|
-
- `resolveCredential("OPENAI_API_KEY")` — env var + SQL settings fallback.
|
|
188
|
-
|
|
189
|
-
In auto mode / no preference, the route tries Builder Gemini Flash-Lite first
|
|
190
|
-
when Builder is connected, then Gemini BYOK, Groq, and OpenAI.
|
|
191
|
-
When a request includes `instructions`, pass them through to the selected LLM
|
|
192
|
-
provider. Gemini uses them in the transcription prompt, Builder receives them
|
|
193
|
-
as transcription/cleanup instructions, and Whisper-compatible providers receive
|
|
194
|
-
them as provider prompt/context.
|
|
195
|
-
|
|
196
|
-
Requests may also include a multipart `voiceContext` JSON field. Parse it with
|
|
197
|
-
`parseVoiceContextPack()` from `@agent-native/core/voice` and pass the resulting
|
|
198
|
-
context through `buildVoiceGuidanceBlock()`; do not hand-roll separate prompt
|
|
199
|
-
formats. The context pack is for bounded snippets, active references, route/page
|
|
200
|
-
metadata, and preferred vocabulary/replacements only. Browser-native and Google
|
|
201
|
-
realtime final text can POST `{ text, provider, instructions, voiceContext }` to
|
|
202
|
-
`/_agent-native/transcribe-voice` when AI cleanup is enabled; batch audio can
|
|
203
|
-
send the same `voiceContext` field with its audio upload.
|
|
204
|
-
|
|
205
|
-
Never hardcode a shared key. Never log the value. Never echo it back to the
|
|
206
|
-
client.
|
|
207
|
-
|
|
208
|
-
## Overriding per-template
|
|
209
|
-
|
|
210
|
-
Templates can:
|
|
211
|
-
- **Disable the mic**: pass `voiceEnabled={false}` to `TiptapComposer`.
|
|
212
|
-
- **Replace the button**: wrap `TiptapComposer` and render your own `extraActionButton`; the framework mic stays immediately before the primary send/stop control. Use `stopButton` for an active-run control so the disabled send button becomes stop when the draft is empty and returns when the user types.
|
|
213
|
-
- **Pre-register provider keys as `required: true`**: call `registerRequiredSecret(...)` from your own server plugin when a template needs a specific BYOK provider in onboarding.
|
|
214
|
-
|
|
215
|
-
## Don'ts
|
|
216
|
-
|
|
217
|
-
- Don't call transcription providers from the client — go through `/_agent-native/transcribe-voice` so the user's secret stays server-side.
|
|
218
|
-
- Don't remove the cancel affordance — mic permission abuse paranoia is real.
|
|
219
|
-
- Don't auto-submit the transcript — users always edit before sending.
|
|
220
|
-
- Don't route realtime tool calls around the central guarded agent executor.
|
|
221
|
-
- Don't persist realtime audio or put provider keys in SDP/session payloads.
|
|
222
|
-
- Don't copy Cursor's "hide send when empty" pattern — it confuses users.
|
|
@@ -1,363 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: writing-agent-instructions
|
|
3
|
-
description: >-
|
|
4
|
-
How to write great agent instructions for an agent-native app or template:
|
|
5
|
-
AGENTS.md, skills, and tool/action descriptions. Use when authoring or
|
|
6
|
-
reviewing AGENTS.md, writing a SKILL.md, wording action descriptions, or
|
|
7
|
-
deciding what belongs in instructions vs skills vs memory.
|
|
8
|
-
scope: dev
|
|
9
|
-
metadata:
|
|
10
|
-
internal: true
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# Writing Agent Instructions & Skills
|
|
14
|
-
|
|
15
|
-
This is a creator-facing guide. When you build an agent-native app or template,
|
|
16
|
-
the agent's behavior is only as good as the instructions you give it. Three
|
|
17
|
-
surfaces carry that guidance: `AGENTS.md` (the map), skills (the deep dives),
|
|
18
|
-
and action/tool descriptions (how the agent picks the right tool). Write each
|
|
19
|
-
one for fast retrieval, not for prose.
|
|
20
|
-
|
|
21
|
-
## Keep AGENTS.md small and skimmable
|
|
22
|
-
|
|
23
|
-
`AGENTS.md` is loaded as orientation. It should be the smallest thing that lets
|
|
24
|
-
the agent act correctly, with everything deep pushed into skills. Aim for these
|
|
25
|
-
sections and little else:
|
|
26
|
-
|
|
27
|
-
- **Purpose line** — one sentence on what the app is and the primary workflow.
|
|
28
|
-
- **Core rules** — the handful of invariants that must always hold (data in SQL,
|
|
29
|
-
operations go through actions, AI goes through the agent chat, schema changes
|
|
30
|
-
are additive). Short, imperative bullets.
|
|
31
|
-
- **Application-state keys** — the `navigation`/selection/focus keys the agent
|
|
32
|
-
reads to know what the user is looking at, with their shape.
|
|
33
|
-
- **Action table** — a compact table of action name -> purpose (see below).
|
|
34
|
-
- **Skills index** — a list of the skills that exist and when to read each one.
|
|
35
|
-
|
|
36
|
-
If a section is growing past a screen, it belongs in a skill. `AGENTS.md`
|
|
37
|
-
answers "what is this app and what can I do," not "how exactly do I do the hard
|
|
38
|
-
thing."
|
|
39
|
-
|
|
40
|
-
### The 6,000-character cap is real and silent
|
|
41
|
-
|
|
42
|
-
A template `AGENTS.md` is injected into the runtime agent's system prompt and
|
|
43
|
-
hard-sliced at `COMPACT_PROMPT_RESOURCE_MAX_CHARS` (6,000). Past that, the agent
|
|
44
|
-
sees a truncation marker instead of your text, so the tail stops being
|
|
45
|
-
always-on guidance and becomes something it has to go fetch. `pnpm
|
|
46
|
-
guard:agent-chat-context` — the repository's own check — fails the build when a
|
|
47
|
-
first-party file overflows; generated apps do not ship that repository-only
|
|
48
|
-
guard. Keep files under ~5,500 so ordinary edits don't tip them over.
|
|
49
|
-
|
|
50
|
-
Two consequences worth designing around:
|
|
51
|
-
|
|
52
|
-
- **Put the skills list second, right after the purpose line.** It is the
|
|
53
|
-
pointer to every deferred skill. If it lands in the truncated tail, the agent
|
|
54
|
-
cannot discover any of the depth you carefully moved out.
|
|
55
|
-
- **Markdown tables cost more than they look.** Prettier pads table cells to
|
|
56
|
-
align columns, and that invisible whitespace counts against the cap — enough
|
|
57
|
-
padding in a wide action table to push a file back over it on its own. Both
|
|
58
|
-
`**/AGENTS.md` and `**/SKILL.md` are in `.prettierignore` for this reason;
|
|
59
|
-
keep them there and write table rows unpadded.
|
|
60
|
-
|
|
61
|
-
```markdown
|
|
62
|
-
# Projects App
|
|
63
|
-
|
|
64
|
-
One workspace for projects, tasks, and notes. Agent and UI share the same SQL
|
|
65
|
-
data and the same actions.
|
|
66
|
-
|
|
67
|
-
## Core Rules
|
|
68
|
-
|
|
69
|
-
- Data lives in SQL via Drizzle. Use actions for all writes.
|
|
70
|
-
- All AI work goes through the agent chat; never call an LLM inline.
|
|
71
|
-
- Schema changes are additive only.
|
|
72
|
-
|
|
73
|
-
## Application State
|
|
74
|
-
|
|
75
|
-
- `navigation.view`: `home` | `project`
|
|
76
|
-
- `navigation.projectId`: selected project on a project page
|
|
77
|
-
|
|
78
|
-
## Actions
|
|
79
|
-
|
|
80
|
-
| Action | Purpose |
|
|
81
|
-
| ---------------- | --------------------------- |
|
|
82
|
-
| `list-projects` | List accessible projects |
|
|
83
|
-
| `create-project` | Create a project |
|
|
84
|
-
| `update-project` | Rename or archive a project |
|
|
85
|
-
|
|
86
|
-
## Skills
|
|
87
|
-
|
|
88
|
-
- `project-imports` — read before importing legacy CSV exports.
|
|
89
|
-
- `sharing` — read before exposing a project to other users.
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## Single-source AGENTS.md (CLAUDE.md is a symlink)
|
|
93
|
-
|
|
94
|
-
Keep one canonical instructions file: `AGENTS.md`. If a client expects
|
|
95
|
-
`CLAUDE.md`, make it a symlink to `AGENTS.md` rather than a second copy. Two
|
|
96
|
-
hand-maintained files drift, and the agent ends up with contradictory rules.
|
|
97
|
-
One source of truth, linked where needed.
|
|
98
|
-
|
|
99
|
-
## Keep generated guidance in sync
|
|
100
|
-
|
|
101
|
-
Framework guidance is authored once in this repo and copied outward. Treat
|
|
102
|
-
`.agents/skills/` as the canonical source for shared skills. Generated
|
|
103
|
-
workspace skills in `packages/core/src/templates/workspace-core/.agents/skills/`
|
|
104
|
-
and first-party template copies of shared skills must stay byte-for-byte in
|
|
105
|
-
sync; run `pnpm sync:workspace-skills` after editing a shared skill, and
|
|
106
|
-
`pnpm guard:workspace-skills` before calling the guidance done.
|
|
107
|
-
|
|
108
|
-
Generated app and workspace instructions must teach the same action-first data
|
|
109
|
-
contract:
|
|
110
|
-
|
|
111
|
-
- Normal app data goes through `defineAction` files in `actions/`.
|
|
112
|
-
- React calls actions with `useActionQuery`, `useActionMutation`, or
|
|
113
|
-
`callAction`; route paths are a transport detail hidden behind helpers.
|
|
114
|
-
- Custom `/api/*` routes are only for route-shaped protocols such as uploads,
|
|
115
|
-
streaming, webhooks, OAuth callbacks, public SEO/OG endpoints, or binary
|
|
116
|
-
assets.
|
|
117
|
-
- Do not create pass-through routes whose main job is to call, repackage, or
|
|
118
|
-
re-export an action.
|
|
119
|
-
|
|
120
|
-
Generated guidance must also distinguish deterministic tools from AI-shaped
|
|
121
|
-
workflows. Provider reads, validation, deterministic transforms, CRUD, and
|
|
122
|
-
persistence belong in focused actions. Research, analysis, generation,
|
|
123
|
-
recommendation, synthesis, and other user-steerable multi-step work should
|
|
124
|
-
start in the AgentSidebar and let the agent orchestrate those actions. State
|
|
125
|
-
that `sendToAgentChat({ openSidebar: true })` is the default handoff and that
|
|
126
|
-
follow-ups stay in the same thread; do not add a second freeform prompt box.
|
|
127
|
-
|
|
128
|
-
## Budget the first model request
|
|
129
|
-
|
|
130
|
-
Treat the initial prompt and tool catalog as a latency budget. The agent should
|
|
131
|
-
start with a compact map of the app, then retrieve depth only when the task
|
|
132
|
-
needs it.
|
|
133
|
-
|
|
134
|
-
- Set `initialToolNames` to the small set of actions used in the app's primary
|
|
135
|
-
workflows. Keep `tool-search` available so every other registered action and
|
|
136
|
-
connected MCP tool remains discoverable on demand.
|
|
137
|
-
- Keep essential, always-applicable rules in `AGENTS.md`. Put workflow detail
|
|
138
|
-
in skills and long reference material in `references/` or workspace
|
|
139
|
-
resources that the agent can read when relevant.
|
|
140
|
-
- Do not inject full documents, transcripts, data dictionaries, source trees,
|
|
141
|
-
or provider catalogs through `systemPrompt` or `extraContext`. Inject a
|
|
142
|
-
bounded summary, stable ids/paths, and the exact action or resource lookup
|
|
143
|
-
that retrieves the full content.
|
|
144
|
-
- Avoid duplicating action descriptions in prose. The starter tools already
|
|
145
|
-
carry schemas; uncommon actions are available through `tool-search`.
|
|
146
|
-
- Keep `view-screen` concise. Return navigation, selection, visible summary,
|
|
147
|
-
and ids needed for a follow-up read rather than full record bodies.
|
|
148
|
-
|
|
149
|
-
The goal is progressive disclosure, not reduced capability: a compact first
|
|
150
|
-
request, precise discovery, and full fidelity once the agent knows which depth
|
|
151
|
-
is relevant.
|
|
152
|
-
|
|
153
|
-
## Say each thing once, in the layer that owns it
|
|
154
|
-
|
|
155
|
-
Current-generation models do not need a rule repeated in the system prompt, the
|
|
156
|
-
instructions, and the tool description. Repetition is not reinforcement — it is
|
|
157
|
-
three chances to disagree with each other, and the model spends effort
|
|
158
|
-
reconciling them before it can act. Pick the owning layer:
|
|
159
|
-
|
|
160
|
-
| Layer | Owns |
|
|
161
|
-
| --- | --- |
|
|
162
|
-
| System prompt / `AGENTS.md` | Which capabilities exist, and policy spanning tools: turn shape, what to do first, invariants that hold every turn |
|
|
163
|
-
| Tool / action description | How to call it, argument and result semantics, what to say about a result, when this tool rather than a sibling |
|
|
164
|
-
| Skill | Multi-step workflows, worked examples, field references, edge cases |
|
|
165
|
-
|
|
166
|
-
The common mistake is restating a tool's mechanics as a numbered core rule.
|
|
167
|
-
Deferred tools are loaded through `tool-search`, so the model always reads the
|
|
168
|
-
description before it can call the tool — a start/update/complete sequence or an
|
|
169
|
-
argument enum in the prompt buys nothing and is charged on every turn. State
|
|
170
|
-
that the capability exists and when it applies; let the description carry how.
|
|
171
|
-
|
|
172
|
-
## Prefer judgment over rules, and interfaces over examples
|
|
173
|
-
|
|
174
|
-
Blanket prohibitions were how older models were kept out of worst-case
|
|
175
|
-
behavior. They now mostly cost accuracy, because a rule stated absolutely is
|
|
176
|
-
wrong for some fraction of requests and the model has to guess which fraction it
|
|
177
|
-
is in. Write the intent and let the model apply it:
|
|
178
|
-
|
|
179
|
-
- Say "match the surrounding code's comment density" rather than "never write
|
|
180
|
-
comments." Say "response length mirrors the task" rather than "2–5 sentences."
|
|
181
|
-
- Skip arbitrary numeric formatting prescriptions (bullet counts, nesting bans)
|
|
182
|
-
unless a surface genuinely breaks without them.
|
|
183
|
-
- Keep hard constraints for the areas where a wrong call is expensive and not
|
|
184
|
-
self-correcting: security, destructive operations, fabricating data or
|
|
185
|
-
success, and credential handling. Those stay absolute.
|
|
186
|
-
- Don't add few-shot examples of tool calls to teach usage. Examples narrow the
|
|
187
|
-
model to the shapes you showed. Make the tool's own interface expressive
|
|
188
|
-
instead — precise parameter names, enums that imply the state machine,
|
|
189
|
-
`.describe()` on every field. Keep a literal example only where it defines a
|
|
190
|
-
syntax the schema cannot, such as a `pnpm action` CLI invocation in dev mode.
|
|
191
|
-
|
|
192
|
-
When documenting version history, restore, or audit trails, use actions for
|
|
193
|
-
full restorable snapshots (`list-<resource>-versions`,
|
|
194
|
-
`get-<resource>-version`, `restore-<resource>-version`). Do not copy legacy
|
|
195
|
-
raw-route version panels, such as document-version `/api/*` helpers, into new
|
|
196
|
-
features. The Plans version-history pattern is the preferred model.
|
|
197
|
-
|
|
198
|
-
## SKILL.md frontmatter must say what AND when
|
|
199
|
-
|
|
200
|
-
The `description` is the only thing the agent sees when deciding whether to read
|
|
201
|
-
a skill. It must answer two questions: what the skill covers, and when to
|
|
202
|
-
trigger it. A description that only describes the topic will not fire.
|
|
203
|
-
|
|
204
|
-
```markdown
|
|
205
|
-
---
|
|
206
|
-
name: project-imports
|
|
207
|
-
description: >-
|
|
208
|
-
How to import projects from the legacy CSV export. Use when the user uploads
|
|
209
|
-
a project CSV or asks to migrate projects from the old system.
|
|
210
|
-
---
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
- Lead with the capability, then add an explicit **"Use when…"** clause.
|
|
214
|
-
- Be slightly pushy — over-triggering beats a skill that never loads.
|
|
215
|
-
- Keep it under ~40 words; it is loaded into context on every conversation.
|
|
216
|
-
|
|
217
|
-
### Scope a skill to runtime vs dev
|
|
218
|
-
|
|
219
|
-
An optional `scope` field decides which agent loads the skill:
|
|
220
|
-
|
|
221
|
-
- `both` (default when omitted) — loaded by connected repo agents and the
|
|
222
|
-
in-app runtime agent.
|
|
223
|
-
- `runtime` — loaded only by the in-app runtime agent.
|
|
224
|
-
- `dev` — for the human's coding agent (e.g. Claude Code) only. A `scope: dev`
|
|
225
|
-
skill is invisible to the runtime agent everywhere (system-prompt skills block
|
|
226
|
-
and `docs-search`).
|
|
227
|
-
|
|
228
|
-
Use `scope: dev` for internal-only guidance that should help connected repo
|
|
229
|
-
agents such as Codex or Claude Code, but should not influence the deployed
|
|
230
|
-
production agent. Do not use `metadata.internal` for this: it is catalog/package
|
|
231
|
-
metadata and does not control runtime visibility.
|
|
232
|
-
|
|
233
|
-
```markdown
|
|
234
|
-
---
|
|
235
|
-
name: release-checklist
|
|
236
|
-
description: >-
|
|
237
|
-
Steps for cutting a release. Use when preparing or publishing a new version.
|
|
238
|
-
scope: dev
|
|
239
|
-
---
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
Omit `scope` for normal skills (the default `both` keeps them loading at
|
|
243
|
-
runtime — fully backward compatible). For a dev-only skill, mark it `scope: dev`
|
|
244
|
-
and optionally mirror it under `.claude/skills/<name>/SKILL.md` so Claude Code
|
|
245
|
-
picks it up while the runtime agent skips it.
|
|
246
|
-
|
|
247
|
-
## Progressive disclosure: lean SKILL.md, depth in references/
|
|
248
|
-
|
|
249
|
-
Write the SKILL.md as the lean, must-know layer: the rule, how to do it, the
|
|
250
|
-
do/don't list, and pointers. Push long examples, exhaustive field references,
|
|
251
|
-
API quirks, and edge-case tables into `references/` files the agent reads only
|
|
252
|
-
when it needs them.
|
|
253
|
-
|
|
254
|
-
```
|
|
255
|
-
.agents/skills/project-imports/
|
|
256
|
-
├── SKILL.md # rule + happy path + do/don't
|
|
257
|
-
└── references/
|
|
258
|
-
└── csv-format.md # full column spec, encodings, edge cases
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
This keeps the always-loaded surface small and lets depth scale without bloating
|
|
262
|
-
context. See the **create-skill** skill for the full skill format.
|
|
263
|
-
|
|
264
|
-
## Write action-oriented tables
|
|
265
|
-
|
|
266
|
-
The agent scans tables faster than prose. Prefer a table of name -> purpose over
|
|
267
|
-
paragraphs describing each operation. The same applies to state keys, field
|
|
268
|
-
types, and any enumerable set. Tables are skimmable, diffable, and easy to keep
|
|
269
|
-
in sync when you add an action.
|
|
270
|
-
|
|
271
|
-
## Write clear tool/action descriptions
|
|
272
|
-
|
|
273
|
-
Action descriptions are tool descriptions — they drive tool selection. Make each
|
|
274
|
-
one a precise, single-purpose sentence:
|
|
275
|
-
|
|
276
|
-
- Say what it does and what it returns, not how it's implemented.
|
|
277
|
-
- Describe each parameter in its `.describe()` so the agent fills it correctly.
|
|
278
|
-
- One responsibility per action. If a description needs "and also…", split it.
|
|
279
|
-
- Mark read-only actions (`readOnly: true` / `http: { method: "GET" }`) so the
|
|
280
|
-
agent knows they're safe to call freely.
|
|
281
|
-
- For provider-backed shortcuts, make clear they are convenience paths, not
|
|
282
|
-
capability ceilings. If arbitrary provider endpoints/filters may matter,
|
|
283
|
-
point instructions to `provider-api-catalog`, `provider-api-docs`, and
|
|
284
|
-
`provider-api-request` instead of implying the shortcut is all the agent can
|
|
285
|
-
do.
|
|
286
|
-
|
|
287
|
-
```ts
|
|
288
|
-
defineAction({
|
|
289
|
-
description: "Create a project. Returns the new project id and title.",
|
|
290
|
-
schema: z.object({
|
|
291
|
-
title: z.string().min(1).describe("Project title shown in the sidebar"),
|
|
292
|
-
}),
|
|
293
|
-
// ...
|
|
294
|
-
});
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
## Bake in anti-fabrication and verify-before-done
|
|
298
|
-
|
|
299
|
-
App instructions should make honesty and verification the default behavior:
|
|
300
|
-
|
|
301
|
-
- **Never fabricate.** If data isn't found or an action fails, say so and recover
|
|
302
|
-
— don't invent results or claim success. Read the real value via an action or
|
|
303
|
-
query before reporting it.
|
|
304
|
-
- **Verify before declaring done.** After a change, confirm it with a read-back
|
|
305
|
-
(re-query the row, re-read the screen via `view-screen`) instead of assuming
|
|
306
|
-
the write worked.
|
|
307
|
-
- **Recover, don't give up.** On a recoverable error (a failed query, a transient
|
|
308
|
-
fetch), retry or fix the input rather than abandoning the task. Keep this
|
|
309
|
-
separate from the anti-fabrication rule — don't conflate "don't make things up"
|
|
310
|
-
with "stop at the first error."
|
|
311
|
-
|
|
312
|
-
Put these as core rules in `AGENTS.md` so they apply to every turn.
|
|
313
|
-
|
|
314
|
-
## Bake in secrets hygiene
|
|
315
|
-
|
|
316
|
-
Instruction authors must make credential handling explicit anywhere an app,
|
|
317
|
-
skill, action, webhook, integration, or extension touches external services.
|
|
318
|
-
Write the rule in terms of values, not just files: never hardcode real API keys,
|
|
319
|
-
tokens, webhook URLs, signing secrets, OAuth refresh tokens, private
|
|
320
|
-
Builder/internal data, or customer data in source, docs, tests, fixtures,
|
|
321
|
-
prompts, screenshots, or generated content.
|
|
322
|
-
|
|
323
|
-
Examples may name credential keys such as `OPENAI_API_KEY` or `SLACK_WEBHOOK`,
|
|
324
|
-
but values must be placeholders (`<OPENAI_API_KEY>`, `${keys.SLACK_WEBHOOK}`) or
|
|
325
|
-
clearly fake test data. Tell agents which approved channel to use instead:
|
|
326
|
-
deployment env vars for deploy-level secrets, `app_secrets` /
|
|
327
|
-
`saveCredential` / `resolveCredential` for scoped API keys, `oauth_tokens` for
|
|
328
|
-
OAuth, and `${keys.NAME}` substitution for extension/automation outbound HTTP.
|
|
329
|
-
|
|
330
|
-
## What goes where
|
|
331
|
-
|
|
332
|
-
- **AGENTS.md** — applies to the whole app, every turn: purpose, core rules,
|
|
333
|
-
state keys, action index, skills index.
|
|
334
|
-
- **Skills** — reusable how-to for a specific pattern, loaded on demand. Applies
|
|
335
|
-
to everyone working in the app.
|
|
336
|
-
- **Memory (`memory/MEMORY.md`)** — per-user preferences and corrections, not
|
|
337
|
-
authored guidance. See **capture-learnings**.
|
|
338
|
-
|
|
339
|
-
## Do
|
|
340
|
-
|
|
341
|
-
- Keep `AGENTS.md` to roughly one screen of orientation; link out for depth.
|
|
342
|
-
- Update the action table and skills index whenever you add an action or skill.
|
|
343
|
-
- Write every SKILL.md description with an explicit "Use when…".
|
|
344
|
-
- Use tables for any enumerable set (actions, state keys, field types).
|
|
345
|
-
|
|
346
|
-
## Don't
|
|
347
|
-
|
|
348
|
-
- Don't duplicate skill content inside `AGENTS.md` — point to the skill.
|
|
349
|
-
- Don't maintain two instruction files; symlink `CLAUDE.md` to `AGENTS.md`.
|
|
350
|
-
- Don't write vague descriptions ("helps with projects") — they won't trigger.
|
|
351
|
-
- Don't document niche/buried UI behaviors in instructions; let code and UI
|
|
352
|
-
carry those.
|
|
353
|
-
- Don't paste real credentials, credential-looking dummy strings, private
|
|
354
|
-
Builder/internal data, or customer data into examples. Use placeholders.
|
|
355
|
-
|
|
356
|
-
## Related Skills
|
|
357
|
-
|
|
358
|
-
- **create-skill** — The skill format and templates this guide refers to.
|
|
359
|
-
- **adding-a-feature** — The four-area model (UI, actions, skills/instructions,
|
|
360
|
-
application state) every feature must satisfy.
|
|
361
|
-
- **actions** — How action descriptions become agent tools.
|
|
362
|
-
- **context-awareness** — Application-state keys and the `view-screen` pattern.
|
|
363
|
-
- **capture-learnings** — Where per-user learnings go instead of AGENTS.md.
|