@agent-native/core 0.145.8 → 0.146.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/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/analytics/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/analytics/actions/compose-dashboard.ts +2 -27
- package/corpus/templates/analytics/actions/get-sql-dashboard.ts +18 -3
- package/corpus/templates/analytics/actions/migrate-first-party-analytics-to-bigquery.ts +75 -24
- package/corpus/templates/analytics/actions/mutate-dashboard.ts +16 -24
- package/corpus/templates/analytics/actions/rename-dashboard.ts +2 -24
- package/corpus/templates/analytics/actions/reorder-dashboard-panels.ts +2 -24
- package/corpus/templates/analytics/actions/restore-dashboard-revision.ts +2 -25
- package/corpus/templates/analytics/actions/update-dashboard.ts +4 -32
- package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +1 -40
- package/corpus/templates/analytics/changelog/2026-08-07-analytics-migrations-now-use-bounded-pressure-aware-backgrou.md +6 -0
- package/corpus/templates/analytics/changelog/2026-08-07-language-selection-now-lives-in-settings-instead-of-the-comm.md +6 -0
- package/corpus/templates/analytics/changelog/2026-08-07-template-activity-charts-now-show-only-core-agent-native-app.md +6 -0
- package/corpus/templates/analytics/netlify.toml +7 -0
- package/corpus/templates/analytics/scripts/emit-netlify-dashboard-report-cron.ts +110 -0
- package/corpus/templates/analytics/server/jobs/analytics-bigquery-backfill.ts +450 -0
- package/corpus/templates/analytics/server/jobs/analytics-rollup-backfill.ts +2 -2
- package/corpus/templates/analytics/server/lib/analytics-rollup-lock.ts +4 -5
- package/corpus/templates/analytics/server/lib/dashboard-collab-sync.ts +77 -0
- package/corpus/templates/analytics/server/lib/demo-dashboards.ts +2 -23
- package/corpus/templates/analytics/server/lib/first-party-analytics-backend.ts +10 -4
- package/corpus/templates/analytics/server/lib/first-party-analytics-rollups.ts +4 -11
- package/corpus/templates/analytics/server/plugins/analytics-rollup-backfill-jobs.ts +2 -5
- package/corpus/templates/analytics/server/plugins/db.ts +42 -0
- package/corpus/templates/analytics/server/routes/api/analytics-bigquery/backfill.post.ts +55 -0
- package/corpus/templates/analytics/server/routes/api/dashboard-agent-context.json.get.ts +18 -4
- package/corpus/templates/assets/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/assets/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/brain/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/brain/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/brain/server/lib/connectors.ts +38 -14
- package/corpus/templates/calendar/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/calendar/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/chat/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/chat/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/clips/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/clips/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/clips/app/components/player/video-player.tsx +1 -1
- package/corpus/templates/clips/changelog/2026-08-07-fixed-trimmed-clips-durations-so-the-main-player-display-mat.md +6 -0
- package/corpus/templates/clips/chrome-extension/STORE_DRAFT.md +1 -1
- package/corpus/templates/clips/chrome-extension/public/manifest.json +1 -1
- package/corpus/templates/content/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/content/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/crm/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/crm/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/design/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/design/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/dispatch/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/dispatch/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/dispatch/changelog/2026-08-07-language-selection-now-lives-in-settings-instead-of-the-disp.md +6 -0
- package/corpus/templates/factory/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/factory/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/factory/server/plugins/factory-scheduler-job.ts +59 -22
- package/corpus/templates/forms/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/forms/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/macros/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/macros/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/mail/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/mail/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/plan/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/plan/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/slides/.agents/skills/image-generation-via-a2a/SKILL.md +10 -1
- package/corpus/templates/slides/.agents/skills/slide-images/SKILL.md +10 -3
- package/corpus/templates/slides/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/slides/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/corpus/templates/slides/actions/generate-image-api.ts +123 -0
- package/corpus/templates/slides/app/components/deck/DeckCard.tsx +10 -2
- package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +13 -0
- package/corpus/templates/slides/app/components/editor/GeneratingSlidePreview.tsx +5 -0
- package/corpus/templates/slides/app/components/editor/ImageGenPanel.tsx +1 -1
- package/corpus/templates/slides/app/components/presentation/PresentationView.tsx +5 -0
- package/corpus/templates/slides/app/components/presentation/PresenterView.tsx +5 -0
- package/corpus/templates/slides/app/pages/DeckEditor.tsx +3 -0
- package/corpus/templates/slides/app/pages/Presentation.tsx +3 -0
- package/corpus/templates/slides/app/pages/SharedPresentation.tsx +5 -0
- package/corpus/templates/slides/app/routes/slide.tsx +10 -5
- package/corpus/templates/slides/changelog/2026-08-07-deleting-a-deck-no-longer-freezes-the-slides-browser.md +6 -0
- package/corpus/templates/slides/changelog/2026-08-07-slide-previews-and-present-now-keep-deck-colors-consistent.md +6 -0
- package/corpus/templates/slides/changelog/2026-08-07-slides-verify-generated-images-are-persisted-on-the-target-s.md +6 -0
- package/corpus/templates/slides/server/db/schema.ts +1 -0
- package/corpus/templates/slides/server/handlers/share.ts +51 -3
- package/corpus/templates/slides/server/lib/slide-image-insertion.ts +141 -0
- package/corpus/templates/slides/server/plugins/agent-chat.ts +2 -0
- package/corpus/templates/slides/server/plugins/db.ts +5 -0
- package/corpus/templates/slides/shared/api.ts +2 -0
- package/corpus/templates/tasks/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/corpus/templates/tasks/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/dist/cli/code-agent-executor.js +8 -3
- package/dist/client/AgentPanel.d.ts +10 -4
- package/dist/client/AgentPanel.js +29 -82
- package/dist/client/ConnectBuilderCard.d.ts +7 -7
- package/dist/client/ConnectBuilderCard.js +45 -20
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/config.d.ts +9 -2
- package/dist/config.js +38 -2
- package/dist/db/client.d.ts +13 -1
- package/dist/db/client.js +76 -2
- package/dist/db/create-get-db.js +2 -2
- package/dist/db/migrations.js +22 -4
- package/dist/deploy/build.d.ts +1 -0
- package/dist/deploy/build.js +32 -23
- package/dist/notifications/routes.d.ts +3 -3
- package/dist/progress/routes.d.ts +1 -1
- package/dist/provider-api/actions/custom-provider-registration.d.ts +9 -9
- package/dist/provider-api/actions/provider-api.d.ts +8 -8
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/scripts/docs/search.js +3 -2
- package/dist/server/agent-chat/prompt-resources.js +4 -3
- package/dist/server/agents-bundle.d.ts +20 -3
- package/dist/server/agents-bundle.js +57 -30
- package/dist/server/better-auth-instance.js +2 -2
- package/dist/server/builder-browser.d.ts +34 -0
- package/dist/server/builder-browser.js +179 -0
- package/dist/server/core-routes-plugin.d.ts +5 -0
- package/dist/server/core-routes-plugin.js +24 -8
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +1 -1
- package/dist/shared/cache-control.d.ts +2 -2
- package/dist/shared/cache-control.js +2 -2
- package/dist/shared/runtime-config.js +1 -1
- package/dist/templates/chat/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/dist/templates/chat/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/dist/templates/default/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/dist/templates/default/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/dist/templates/headless/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/dist/templates/headless/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/dist/templates/workspace-core/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/dist/templates/workspace-core/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/dist/vite/agent-native-config-loader.d.ts +10 -0
- package/dist/vite/agent-native-config-loader.js +56 -0
- package/dist/vite/agents-bundle-plugin.d.ts +5 -1
- package/dist/vite/agents-bundle-plugin.js +29 -6
- package/dist/vite/client.d.ts +4 -2
- package/dist/vite/client.js +17 -50
- package/dist/vite/index.d.ts +2 -2
- package/dist/vite/index.js +1 -1
- package/docs/content/agent-native-config.mdx +43 -17
- package/docs/content/drop-in-agent.mdx +3 -3
- package/docs/content/environment-variables.mdx +1 -1
- package/docs/content/getting-started-actions.mdx +1 -2
- package/docs/content/getting-started-pages.mdx +1 -2
- package/docs/content/getting-started.mdx +0 -4
- package/docs/content/what-is-agent-native.mdx +4 -4
- package/package.json +1 -1
- package/src/templates/chat/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/src/templates/chat/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/src/templates/default/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/src/templates/default/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/src/templates/headless/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/src/templates/headless/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/src/templates/workspace-core/.agents/skills/turn-into-app/SKILL.md +41 -11
- package/src/templates/workspace-core/.agents/skills/turn-into-app/references/fresh-project.md +21 -2
- package/docs/content/getting-started-database.mdx +0 -173
|
@@ -4,7 +4,7 @@ description: >-
|
|
|
4
4
|
Turn visible project context, a proven thread, skill, or workflow into a
|
|
5
5
|
runnable Agent-Native app with simple buttons, visible agent steps, preview,
|
|
6
6
|
and deployment handoff. Use when a user invokes `/turn-into-app` or asks to
|
|
7
|
-
make a workflow into an app.
|
|
7
|
+
make a workflow into an app, including from Claude or ChatGPT on the web.
|
|
8
8
|
user-invocable: true
|
|
9
9
|
scope: both
|
|
10
10
|
metadata:
|
|
@@ -13,9 +13,36 @@ metadata:
|
|
|
13
13
|
|
|
14
14
|
# Turn Into App
|
|
15
15
|
|
|
16
|
+
## Host execution boundary
|
|
17
|
+
|
|
18
|
+
The build location depends on the host. Treat this as a hard routing rule:
|
|
19
|
+
|
|
20
|
+
- In Claude Web, ChatGPT Web, or a Claude/ChatGPT Project on the web, you are
|
|
21
|
+
the source analyst and handoff orchestrator. You must not build the app in
|
|
22
|
+
the host sandbox. Do not run `npm`, `pnpm`, `npx`, `agent-native create`, or
|
|
23
|
+
`add-app`; do not edit files, create artifacts, or start a local dev server.
|
|
24
|
+
After writing the bounded source brief, call the connected Dispatch action
|
|
25
|
+
`start-workspace-app-creation`. Pass the brief and repeatable workflow in
|
|
26
|
+
`prompt`, plus the inferred `appId`, `description`, `template`, and selected
|
|
27
|
+
`resourceIds` when available. This is the Builder handoff.
|
|
28
|
+
- Do not substitute the generic `create_workspace_app` MCP tool in an online
|
|
29
|
+
host. That tool is a local workspace scaffolder, not the Builder handoff.
|
|
30
|
+
- Connect the Agent-Native Dispatch MCP connector only. Dispatch uses the
|
|
31
|
+
authenticated Builder Projects API to reuse or provision the workspace
|
|
32
|
+
project before starting the Builder Cloud Agent; a separate Builder CMS MCP
|
|
33
|
+
connection is not required for this workflow.
|
|
34
|
+
- If `start-workspace-app-creation` is not available or Dispatch is not
|
|
35
|
+
authenticated, stop with the connector setup needed. Do not fall back to a
|
|
36
|
+
local build or claim that the app exists.
|
|
37
|
+
- In Claude Code, Codex Code, or another local code-agent runtime with a target
|
|
38
|
+
workspace, follow the local implementation steps below. The local agent may
|
|
39
|
+
scaffold, edit, run, and verify the app there.
|
|
40
|
+
|
|
16
41
|
## Default behavior
|
|
17
42
|
|
|
18
|
-
|
|
43
|
+
For a local code-agent runtime this is an end-to-end build skill, not a request
|
|
44
|
+
for an app proposal. For an online host, the end-to-end result is a verified
|
|
45
|
+
Builder handoff and the resulting workspace app, not code written in the host.
|
|
19
46
|
|
|
20
47
|
- With no argument, choose the source in this order: visible project context,
|
|
21
48
|
then the current thread. A fresh Claude or ChatGPT Project is a valid source
|
|
@@ -47,9 +74,12 @@ private web access, invent an importer, add fake OAuth, or scrape a logged-in
|
|
|
47
74
|
page. If the needed context is not visible, ask for an export, transcript, or
|
|
48
75
|
attachment and treat that artifact as imported source material.
|
|
49
76
|
|
|
50
|
-
|
|
51
|
-
buttons and agent handoffs, start its dev
|
|
52
|
-
continue through build/deployment handoff. Do
|
|
77
|
+
For local code-agent runtimes, deliver a fresh app in a new directory,
|
|
78
|
+
implement the repeatable workflow with buttons and agent handoffs, start its dev
|
|
79
|
+
server, verify the main path, and continue through build/deployment handoff. Do
|
|
80
|
+
not stop at a plan. For online hosts, call Dispatch first after the source brief,
|
|
81
|
+
then report the returned Builder branch/path and verify the workspace app through
|
|
82
|
+
Dispatch when it becomes available.
|
|
53
83
|
|
|
54
84
|
## Fresh project context mode
|
|
55
85
|
|
|
@@ -190,12 +220,12 @@ Do not use `create` for an existing workspace; it scaffolds a new standalone
|
|
|
190
220
|
workspace rather than adding an app to the current one.
|
|
191
221
|
|
|
192
222
|
When the source came from a fresh external Project and the target is a Builder
|
|
193
|
-
workspace,
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
223
|
+
workspace, the online host path is mandatory: after writing the source brief,
|
|
224
|
+
call `start-workspace-app-creation` with a concise prompt, the inferred app id,
|
|
225
|
+
and the brief's repeatable workflow. Pass selected workspace resource IDs when
|
|
226
|
+
they are available, rather than pasting entire knowledge files. Continue from
|
|
227
|
+
the returned workspace path or Builder branch handoff and report the actual
|
|
228
|
+
verification result. Do not run the local scaffold commands in this host mode.
|
|
199
229
|
|
|
200
230
|
Use a first-party template only when it materially fits the workflow. Keep the
|
|
201
231
|
new app independent from the source thread's working tree unless the user
|
|
@@ -50,14 +50,33 @@ skills. For a ChatGPT Project or any host that exposes only the MCP connector,
|
|
|
50
50
|
also place the skill instructions or this reference in the Project
|
|
51
51
|
instructions/knowledge files. Then add and authenticate the Dispatch MCP
|
|
52
52
|
connector from the packaged `adapters/chatgpt-mcp/connector.json`.
|
|
53
|
+
This single connector is enough: Dispatch provisions or reuses the Builder
|
|
54
|
+
project through the Builder Projects API, so do not ask the user to add a
|
|
55
|
+
separate Builder CMS MCP for app creation.
|
|
56
|
+
Builder's separate Fusion MCP is available as a custom remote connector at
|
|
57
|
+
`https://mcp.builder.io/mcp/fusion` for direct Builder work. It can run an
|
|
58
|
+
existing project, but it cannot provision the repo-backed Agent-Native
|
|
59
|
+
workspace project, so it is optional and not a replacement for the Dispatch
|
|
60
|
+
handoff in this skill. Do not add Builder's CMS MCP for this workflow.
|
|
61
|
+
|
|
62
|
+
For Claude Web, ChatGPT Web, and their web Projects, the host is an
|
|
63
|
+
orchestrator, not the build environment. After forming the source brief, call
|
|
64
|
+
the Dispatch `start-workspace-app-creation` action so Builder creates the app
|
|
65
|
+
in the connected workspace. Do not use the host's code interpreter, shell,
|
|
66
|
+
artifact editor, `create_workspace_app`, or local `pnpm`/`npm` commands. If the
|
|
67
|
+
handoff action is unavailable, stop and ask the user to authenticate Dispatch;
|
|
68
|
+
do not fall back to a local sandbox build. Claude Code and Codex Code are the
|
|
69
|
+
local-agent exception and may follow the implementation steps in the main
|
|
70
|
+
skill.
|
|
53
71
|
|
|
54
72
|
In a new Project chat, say:
|
|
55
73
|
|
|
56
74
|
```text
|
|
57
75
|
Turn this project into an app. Use the visible Project instructions,
|
|
58
76
|
knowledge files, and any selected successful runs as the source. Create the
|
|
59
|
-
app in the connected Agent-Native workspace
|
|
60
|
-
and report the real path and
|
|
77
|
+
app in the connected Agent-Native workspace through Dispatch and Builder, keep
|
|
78
|
+
the source brief bounded, and report the real Builder branch/path and
|
|
79
|
+
verification result. Do not build it in this chat's sandbox.
|
|
61
80
|
```
|
|
62
81
|
|
|
63
82
|
If the host does not show the Project instructions or files to the model, stop
|
|
@@ -4,7 +4,7 @@ description: >-
|
|
|
4
4
|
Turn visible project context, a proven thread, skill, or workflow into a
|
|
5
5
|
runnable Agent-Native app with simple buttons, visible agent steps, preview,
|
|
6
6
|
and deployment handoff. Use when a user invokes `/turn-into-app` or asks to
|
|
7
|
-
make a workflow into an app.
|
|
7
|
+
make a workflow into an app, including from Claude or ChatGPT on the web.
|
|
8
8
|
user-invocable: true
|
|
9
9
|
scope: both
|
|
10
10
|
metadata:
|
|
@@ -13,9 +13,36 @@ metadata:
|
|
|
13
13
|
|
|
14
14
|
# Turn Into App
|
|
15
15
|
|
|
16
|
+
## Host execution boundary
|
|
17
|
+
|
|
18
|
+
The build location depends on the host. Treat this as a hard routing rule:
|
|
19
|
+
|
|
20
|
+
- In Claude Web, ChatGPT Web, or a Claude/ChatGPT Project on the web, you are
|
|
21
|
+
the source analyst and handoff orchestrator. You must not build the app in
|
|
22
|
+
the host sandbox. Do not run `npm`, `pnpm`, `npx`, `agent-native create`, or
|
|
23
|
+
`add-app`; do not edit files, create artifacts, or start a local dev server.
|
|
24
|
+
After writing the bounded source brief, call the connected Dispatch action
|
|
25
|
+
`start-workspace-app-creation`. Pass the brief and repeatable workflow in
|
|
26
|
+
`prompt`, plus the inferred `appId`, `description`, `template`, and selected
|
|
27
|
+
`resourceIds` when available. This is the Builder handoff.
|
|
28
|
+
- Do not substitute the generic `create_workspace_app` MCP tool in an online
|
|
29
|
+
host. That tool is a local workspace scaffolder, not the Builder handoff.
|
|
30
|
+
- Connect the Agent-Native Dispatch MCP connector only. Dispatch uses the
|
|
31
|
+
authenticated Builder Projects API to reuse or provision the workspace
|
|
32
|
+
project before starting the Builder Cloud Agent; a separate Builder CMS MCP
|
|
33
|
+
connection is not required for this workflow.
|
|
34
|
+
- If `start-workspace-app-creation` is not available or Dispatch is not
|
|
35
|
+
authenticated, stop with the connector setup needed. Do not fall back to a
|
|
36
|
+
local build or claim that the app exists.
|
|
37
|
+
- In Claude Code, Codex Code, or another local code-agent runtime with a target
|
|
38
|
+
workspace, follow the local implementation steps below. The local agent may
|
|
39
|
+
scaffold, edit, run, and verify the app there.
|
|
40
|
+
|
|
16
41
|
## Default behavior
|
|
17
42
|
|
|
18
|
-
|
|
43
|
+
For a local code-agent runtime this is an end-to-end build skill, not a request
|
|
44
|
+
for an app proposal. For an online host, the end-to-end result is a verified
|
|
45
|
+
Builder handoff and the resulting workspace app, not code written in the host.
|
|
19
46
|
|
|
20
47
|
- With no argument, choose the source in this order: visible project context,
|
|
21
48
|
then the current thread. A fresh Claude or ChatGPT Project is a valid source
|
|
@@ -47,9 +74,12 @@ private web access, invent an importer, add fake OAuth, or scrape a logged-in
|
|
|
47
74
|
page. If the needed context is not visible, ask for an export, transcript, or
|
|
48
75
|
attachment and treat that artifact as imported source material.
|
|
49
76
|
|
|
50
|
-
|
|
51
|
-
buttons and agent handoffs, start its dev
|
|
52
|
-
continue through build/deployment handoff. Do
|
|
77
|
+
For local code-agent runtimes, deliver a fresh app in a new directory,
|
|
78
|
+
implement the repeatable workflow with buttons and agent handoffs, start its dev
|
|
79
|
+
server, verify the main path, and continue through build/deployment handoff. Do
|
|
80
|
+
not stop at a plan. For online hosts, call Dispatch first after the source brief,
|
|
81
|
+
then report the returned Builder branch/path and verify the workspace app through
|
|
82
|
+
Dispatch when it becomes available.
|
|
53
83
|
|
|
54
84
|
## Fresh project context mode
|
|
55
85
|
|
|
@@ -190,12 +220,12 @@ Do not use `create` for an existing workspace; it scaffolds a new standalone
|
|
|
190
220
|
workspace rather than adding an app to the current one.
|
|
191
221
|
|
|
192
222
|
When the source came from a fresh external Project and the target is a Builder
|
|
193
|
-
workspace,
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
223
|
+
workspace, the online host path is mandatory: after writing the source brief,
|
|
224
|
+
call `start-workspace-app-creation` with a concise prompt, the inferred app id,
|
|
225
|
+
and the brief's repeatable workflow. Pass selected workspace resource IDs when
|
|
226
|
+
they are available, rather than pasting entire knowledge files. Continue from
|
|
227
|
+
the returned workspace path or Builder branch handoff and report the actual
|
|
228
|
+
verification result. Do not run the local scaffold commands in this host mode.
|
|
199
229
|
|
|
200
230
|
Use a first-party template only when it materially fits the workflow. Keep the
|
|
201
231
|
new app independent from the source thread's working tree unless the user
|
|
@@ -50,14 +50,33 @@ skills. For a ChatGPT Project or any host that exposes only the MCP connector,
|
|
|
50
50
|
also place the skill instructions or this reference in the Project
|
|
51
51
|
instructions/knowledge files. Then add and authenticate the Dispatch MCP
|
|
52
52
|
connector from the packaged `adapters/chatgpt-mcp/connector.json`.
|
|
53
|
+
This single connector is enough: Dispatch provisions or reuses the Builder
|
|
54
|
+
project through the Builder Projects API, so do not ask the user to add a
|
|
55
|
+
separate Builder CMS MCP for app creation.
|
|
56
|
+
Builder's separate Fusion MCP is available as a custom remote connector at
|
|
57
|
+
`https://mcp.builder.io/mcp/fusion` for direct Builder work. It can run an
|
|
58
|
+
existing project, but it cannot provision the repo-backed Agent-Native
|
|
59
|
+
workspace project, so it is optional and not a replacement for the Dispatch
|
|
60
|
+
handoff in this skill. Do not add Builder's CMS MCP for this workflow.
|
|
61
|
+
|
|
62
|
+
For Claude Web, ChatGPT Web, and their web Projects, the host is an
|
|
63
|
+
orchestrator, not the build environment. After forming the source brief, call
|
|
64
|
+
the Dispatch `start-workspace-app-creation` action so Builder creates the app
|
|
65
|
+
in the connected workspace. Do not use the host's code interpreter, shell,
|
|
66
|
+
artifact editor, `create_workspace_app`, or local `pnpm`/`npm` commands. If the
|
|
67
|
+
handoff action is unavailable, stop and ask the user to authenticate Dispatch;
|
|
68
|
+
do not fall back to a local sandbox build. Claude Code and Codex Code are the
|
|
69
|
+
local-agent exception and may follow the implementation steps in the main
|
|
70
|
+
skill.
|
|
53
71
|
|
|
54
72
|
In a new Project chat, say:
|
|
55
73
|
|
|
56
74
|
```text
|
|
57
75
|
Turn this project into an app. Use the visible Project instructions,
|
|
58
76
|
knowledge files, and any selected successful runs as the source. Create the
|
|
59
|
-
app in the connected Agent-Native workspace
|
|
60
|
-
and report the real path and
|
|
77
|
+
app in the connected Agent-Native workspace through Dispatch and Builder, keep
|
|
78
|
+
the source brief bounded, and report the real Builder branch/path and
|
|
79
|
+
verification result. Do not build it in this chat's sandbox.
|
|
61
80
|
```
|
|
62
81
|
|
|
63
82
|
If the host does not show the Project instructions or files to the model, stop
|
|
@@ -169,9 +169,10 @@ const AUTOMATION_SEEDS: AutomationSeed[] = [
|
|
|
169
169
|
# Factory Slack feedback triage
|
|
170
170
|
|
|
171
171
|
Read the Factory configuration. When Slack polling is enabled and a channel is
|
|
172
|
-
configured, call poll-slack-channel first. Then list
|
|
173
|
-
|
|
174
|
-
classifying it.
|
|
172
|
+
configured, call poll-slack-channel first. Then list at most 2 received Slack
|
|
173
|
+
items by passing limit 2, process them sequentially, and call
|
|
174
|
+
get-slack-feedback-context for each item before classifying it. Never use the
|
|
175
|
+
action's default page size.
|
|
175
176
|
|
|
176
177
|
Start work only for a clear bug: a concrete broken behavior, reproducible
|
|
177
178
|
failure, error, regression, stuck run, incorrect result, or a report with a
|
|
@@ -203,9 +204,9 @@ PR, merge, or fix unless an action returned that state.
|
|
|
203
204
|
# Factory Sentry error triage
|
|
204
205
|
|
|
205
206
|
Read the Factory configuration. When Sentry polling is enabled and a Sentry
|
|
206
|
-
organization is configured, call poll-sentry-errors. List
|
|
207
|
-
|
|
208
|
-
errorReport metadata.
|
|
207
|
+
organization is configured, call poll-sentry-errors. List at most 3 received
|
|
208
|
+
Sentry items by passing limit 3 and inspect the title, culprit, level, event
|
|
209
|
+
count, and errorReport metadata. Never use the action's default page size.
|
|
209
210
|
|
|
210
211
|
Only classify a concrete unresolved error as a clear bug when the Sentry
|
|
211
212
|
evidence is sufficient to investigate. Do not dispatch on noise, expected
|
|
@@ -226,7 +227,8 @@ run callback or PR observation confirms it.
|
|
|
226
227
|
|
|
227
228
|
Read the Factory configuration. When GitHub source polling is enabled and a
|
|
228
229
|
repository is configured, call poll-github-sources with includeIssues true and
|
|
229
|
-
includePullRequests false. List
|
|
230
|
+
includePullRequests false. List at most 3 received github_issue items by
|
|
231
|
+
passing limit 3. Never use the action's default page size.
|
|
230
232
|
|
|
231
233
|
Treat an issue as a clear bug only when it has a concrete error report,
|
|
232
234
|
reproduction, incorrect behavior, regression, or specific failing path. Do
|
|
@@ -247,7 +249,8 @@ confirmation.
|
|
|
247
249
|
|
|
248
250
|
Read the Factory configuration. When GitHub polling is enabled and a repository
|
|
249
251
|
is configured, call poll-github-sources with includeIssues false and
|
|
250
|
-
includePullRequests true. List
|
|
252
|
+
includePullRequests true. List at most 3 github pull-request items by passing
|
|
253
|
+
limit 3. Never use the action's default page size.
|
|
251
254
|
|
|
252
255
|
For each open agent-native PR, inspect the item and classify whether it is a
|
|
253
256
|
clear bug fix or has product or UX implications. Call
|
|
@@ -275,7 +278,8 @@ governance action confirms it.
|
|
|
275
278
|
|
|
276
279
|
Read the Factory configuration. When GitHub polling is enabled and a repository
|
|
277
280
|
is configured, call poll-github-sources with includeIssues false and
|
|
278
|
-
includePullRequests true. List
|
|
281
|
+
includePullRequests true. List at most 3 open github pull-request items by
|
|
282
|
+
passing limit 3. Never use the action's default page size.
|
|
279
283
|
|
|
280
284
|
For each item, call babysit-agent-native-pull-request. That action fetches fresh
|
|
281
285
|
GitHub and ai-services evidence and is the only place allowed to decide whether
|
|
@@ -312,6 +316,22 @@ function defaultGithubPollingEnabled(): 0 | 1 {
|
|
|
312
316
|
: 0;
|
|
313
317
|
}
|
|
314
318
|
|
|
319
|
+
function automationPromptGuard(name: string): string | undefined {
|
|
320
|
+
switch (name) {
|
|
321
|
+
case "factory-slack-feedback":
|
|
322
|
+
return "Runtime safety bound: pass limit 2 to list-triage-items, process at most two Slack items sequentially, and never use the default page size.";
|
|
323
|
+
case "factory-sentry-errors":
|
|
324
|
+
return "Runtime safety bound: pass limit 3 to list-triage-items and process at most three Sentry items.";
|
|
325
|
+
case "factory-github-issues":
|
|
326
|
+
return "Runtime safety bound: pass limit 3 to list-triage-items and process at most three GitHub issue items.";
|
|
327
|
+
case "factory-pr-governance":
|
|
328
|
+
case "factory-pr-babysit":
|
|
329
|
+
return "Runtime safety bound: pass limit 3 to list-triage-items and process at most three pull-request items.";
|
|
330
|
+
default:
|
|
331
|
+
return undefined;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
|
|
315
335
|
function setFrontmatterField(
|
|
316
336
|
content: string,
|
|
317
337
|
key: string,
|
|
@@ -388,6 +408,10 @@ async function ensureOrganizationAutomations(
|
|
|
388
408
|
repaired = setFrontmatterField(repaired, "orgId", orgId);
|
|
389
409
|
repaired = setFrontmatterField(repaired, "createdBy", ownerEmail);
|
|
390
410
|
repaired = setFrontmatterField(repaired, "runAs", "creator");
|
|
411
|
+
const promptGuard = automationPromptGuard(seed.name);
|
|
412
|
+
if (promptGuard && !repaired.includes(promptGuard)) {
|
|
413
|
+
repaired = `${repaired.trimEnd()}\n\n${promptGuard}\n`;
|
|
414
|
+
}
|
|
391
415
|
if (repaired === existing.content) return;
|
|
392
416
|
|
|
393
417
|
const updated = await resourcePutIfCurrent({
|
|
@@ -415,11 +439,16 @@ async function ensureDefaultTriageConfig(
|
|
|
415
439
|
const db = getDb();
|
|
416
440
|
const existing = (
|
|
417
441
|
await db
|
|
418
|
-
.select({
|
|
442
|
+
.select({
|
|
443
|
+
id: triageConfig.id,
|
|
444
|
+
})
|
|
419
445
|
.from(triageConfig)
|
|
420
446
|
.where(and(eq(triageConfig.id, orgId), eq(triageConfig.orgId, orgId)))
|
|
421
447
|
.limit(1)
|
|
422
448
|
)[0];
|
|
449
|
+
const repository = defaultRepository();
|
|
450
|
+
// Existing rows are operator-owned. An empty repository plus disabled
|
|
451
|
+
// polling can be an intentional choice, so do not infer bootstrap state.
|
|
423
452
|
if (existing) return;
|
|
424
453
|
const now = new Date().toISOString();
|
|
425
454
|
await db.insert(triageConfig).values({
|
|
@@ -432,7 +461,7 @@ async function ensureDefaultTriageConfig(
|
|
|
432
461
|
sentryPollingEnabled: 0,
|
|
433
462
|
lastSlackTs: null,
|
|
434
463
|
slackHistoryCursor: null,
|
|
435
|
-
repository
|
|
464
|
+
repository,
|
|
436
465
|
sentryOrgSlug: null,
|
|
437
466
|
sentryProjectSlug: null,
|
|
438
467
|
sentryEnvironment: null,
|
|
@@ -445,17 +474,25 @@ async function ensureDefaultTriageConfig(
|
|
|
445
474
|
}
|
|
446
475
|
|
|
447
476
|
async function ensureSchedulerJobs(): Promise<void> {
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
477
|
+
let ownerEmail = workspaceOwnerEmail();
|
|
478
|
+
let orgId = ownerEmail ? await resolveOrgIdForEmail(ownerEmail) : undefined;
|
|
479
|
+
if (!ownerEmail || !orgId) {
|
|
480
|
+
const existingConfigs = await getDb()
|
|
481
|
+
.select({
|
|
482
|
+
id: triageConfig.id,
|
|
483
|
+
ownerEmail: triageConfig.ownerEmail,
|
|
484
|
+
orgId: triageConfig.orgId,
|
|
485
|
+
})
|
|
486
|
+
.from(triageConfig)
|
|
487
|
+
.limit(2);
|
|
488
|
+
if (existingConfigs.length !== 1) {
|
|
489
|
+
throw new Error(
|
|
490
|
+
"WORKSPACE_OWNER_EMAIL is required to seed Factory automations when the Factory organization is not uniquely configured",
|
|
491
|
+
);
|
|
492
|
+
}
|
|
493
|
+
const existingConfig = existingConfigs[0];
|
|
494
|
+
ownerEmail = existingConfig.ownerEmail.trim().toLowerCase();
|
|
495
|
+
orgId = existingConfig.orgId?.trim() || existingConfig.id;
|
|
459
496
|
}
|
|
460
497
|
await ensureDefaultTriageConfig(ownerEmail, orgId);
|
|
461
498
|
await ensureOrganizationAutomations(ownerEmail, orgId);
|
|
@@ -4,7 +4,7 @@ description: >-
|
|
|
4
4
|
Turn visible project context, a proven thread, skill, or workflow into a
|
|
5
5
|
runnable Agent-Native app with simple buttons, visible agent steps, preview,
|
|
6
6
|
and deployment handoff. Use when a user invokes `/turn-into-app` or asks to
|
|
7
|
-
make a workflow into an app.
|
|
7
|
+
make a workflow into an app, including from Claude or ChatGPT on the web.
|
|
8
8
|
user-invocable: true
|
|
9
9
|
scope: both
|
|
10
10
|
metadata:
|
|
@@ -13,9 +13,36 @@ metadata:
|
|
|
13
13
|
|
|
14
14
|
# Turn Into App
|
|
15
15
|
|
|
16
|
+
## Host execution boundary
|
|
17
|
+
|
|
18
|
+
The build location depends on the host. Treat this as a hard routing rule:
|
|
19
|
+
|
|
20
|
+
- In Claude Web, ChatGPT Web, or a Claude/ChatGPT Project on the web, you are
|
|
21
|
+
the source analyst and handoff orchestrator. You must not build the app in
|
|
22
|
+
the host sandbox. Do not run `npm`, `pnpm`, `npx`, `agent-native create`, or
|
|
23
|
+
`add-app`; do not edit files, create artifacts, or start a local dev server.
|
|
24
|
+
After writing the bounded source brief, call the connected Dispatch action
|
|
25
|
+
`start-workspace-app-creation`. Pass the brief and repeatable workflow in
|
|
26
|
+
`prompt`, plus the inferred `appId`, `description`, `template`, and selected
|
|
27
|
+
`resourceIds` when available. This is the Builder handoff.
|
|
28
|
+
- Do not substitute the generic `create_workspace_app` MCP tool in an online
|
|
29
|
+
host. That tool is a local workspace scaffolder, not the Builder handoff.
|
|
30
|
+
- Connect the Agent-Native Dispatch MCP connector only. Dispatch uses the
|
|
31
|
+
authenticated Builder Projects API to reuse or provision the workspace
|
|
32
|
+
project before starting the Builder Cloud Agent; a separate Builder CMS MCP
|
|
33
|
+
connection is not required for this workflow.
|
|
34
|
+
- If `start-workspace-app-creation` is not available or Dispatch is not
|
|
35
|
+
authenticated, stop with the connector setup needed. Do not fall back to a
|
|
36
|
+
local build or claim that the app exists.
|
|
37
|
+
- In Claude Code, Codex Code, or another local code-agent runtime with a target
|
|
38
|
+
workspace, follow the local implementation steps below. The local agent may
|
|
39
|
+
scaffold, edit, run, and verify the app there.
|
|
40
|
+
|
|
16
41
|
## Default behavior
|
|
17
42
|
|
|
18
|
-
|
|
43
|
+
For a local code-agent runtime this is an end-to-end build skill, not a request
|
|
44
|
+
for an app proposal. For an online host, the end-to-end result is a verified
|
|
45
|
+
Builder handoff and the resulting workspace app, not code written in the host.
|
|
19
46
|
|
|
20
47
|
- With no argument, choose the source in this order: visible project context,
|
|
21
48
|
then the current thread. A fresh Claude or ChatGPT Project is a valid source
|
|
@@ -47,9 +74,12 @@ private web access, invent an importer, add fake OAuth, or scrape a logged-in
|
|
|
47
74
|
page. If the needed context is not visible, ask for an export, transcript, or
|
|
48
75
|
attachment and treat that artifact as imported source material.
|
|
49
76
|
|
|
50
|
-
|
|
51
|
-
buttons and agent handoffs, start its dev
|
|
52
|
-
continue through build/deployment handoff. Do
|
|
77
|
+
For local code-agent runtimes, deliver a fresh app in a new directory,
|
|
78
|
+
implement the repeatable workflow with buttons and agent handoffs, start its dev
|
|
79
|
+
server, verify the main path, and continue through build/deployment handoff. Do
|
|
80
|
+
not stop at a plan. For online hosts, call Dispatch first after the source brief,
|
|
81
|
+
then report the returned Builder branch/path and verify the workspace app through
|
|
82
|
+
Dispatch when it becomes available.
|
|
53
83
|
|
|
54
84
|
## Fresh project context mode
|
|
55
85
|
|
|
@@ -190,12 +220,12 @@ Do not use `create` for an existing workspace; it scaffolds a new standalone
|
|
|
190
220
|
workspace rather than adding an app to the current one.
|
|
191
221
|
|
|
192
222
|
When the source came from a fresh external Project and the target is a Builder
|
|
193
|
-
workspace,
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
223
|
+
workspace, the online host path is mandatory: after writing the source brief,
|
|
224
|
+
call `start-workspace-app-creation` with a concise prompt, the inferred app id,
|
|
225
|
+
and the brief's repeatable workflow. Pass selected workspace resource IDs when
|
|
226
|
+
they are available, rather than pasting entire knowledge files. Continue from
|
|
227
|
+
the returned workspace path or Builder branch handoff and report the actual
|
|
228
|
+
verification result. Do not run the local scaffold commands in this host mode.
|
|
199
229
|
|
|
200
230
|
Use a first-party template only when it materially fits the workflow. Keep the
|
|
201
231
|
new app independent from the source thread's working tree unless the user
|
|
@@ -50,14 +50,33 @@ skills. For a ChatGPT Project or any host that exposes only the MCP connector,
|
|
|
50
50
|
also place the skill instructions or this reference in the Project
|
|
51
51
|
instructions/knowledge files. Then add and authenticate the Dispatch MCP
|
|
52
52
|
connector from the packaged `adapters/chatgpt-mcp/connector.json`.
|
|
53
|
+
This single connector is enough: Dispatch provisions or reuses the Builder
|
|
54
|
+
project through the Builder Projects API, so do not ask the user to add a
|
|
55
|
+
separate Builder CMS MCP for app creation.
|
|
56
|
+
Builder's separate Fusion MCP is available as a custom remote connector at
|
|
57
|
+
`https://mcp.builder.io/mcp/fusion` for direct Builder work. It can run an
|
|
58
|
+
existing project, but it cannot provision the repo-backed Agent-Native
|
|
59
|
+
workspace project, so it is optional and not a replacement for the Dispatch
|
|
60
|
+
handoff in this skill. Do not add Builder's CMS MCP for this workflow.
|
|
61
|
+
|
|
62
|
+
For Claude Web, ChatGPT Web, and their web Projects, the host is an
|
|
63
|
+
orchestrator, not the build environment. After forming the source brief, call
|
|
64
|
+
the Dispatch `start-workspace-app-creation` action so Builder creates the app
|
|
65
|
+
in the connected workspace. Do not use the host's code interpreter, shell,
|
|
66
|
+
artifact editor, `create_workspace_app`, or local `pnpm`/`npm` commands. If the
|
|
67
|
+
handoff action is unavailable, stop and ask the user to authenticate Dispatch;
|
|
68
|
+
do not fall back to a local sandbox build. Claude Code and Codex Code are the
|
|
69
|
+
local-agent exception and may follow the implementation steps in the main
|
|
70
|
+
skill.
|
|
53
71
|
|
|
54
72
|
In a new Project chat, say:
|
|
55
73
|
|
|
56
74
|
```text
|
|
57
75
|
Turn this project into an app. Use the visible Project instructions,
|
|
58
76
|
knowledge files, and any selected successful runs as the source. Create the
|
|
59
|
-
app in the connected Agent-Native workspace
|
|
60
|
-
and report the real path and
|
|
77
|
+
app in the connected Agent-Native workspace through Dispatch and Builder, keep
|
|
78
|
+
the source brief bounded, and report the real Builder branch/path and
|
|
79
|
+
verification result. Do not build it in this chat's sandbox.
|
|
61
80
|
```
|
|
62
81
|
|
|
63
82
|
If the host does not show the Project instructions or files to the model, stop
|
|
@@ -4,7 +4,7 @@ description: >-
|
|
|
4
4
|
Turn visible project context, a proven thread, skill, or workflow into a
|
|
5
5
|
runnable Agent-Native app with simple buttons, visible agent steps, preview,
|
|
6
6
|
and deployment handoff. Use when a user invokes `/turn-into-app` or asks to
|
|
7
|
-
make a workflow into an app.
|
|
7
|
+
make a workflow into an app, including from Claude or ChatGPT on the web.
|
|
8
8
|
user-invocable: true
|
|
9
9
|
scope: both
|
|
10
10
|
metadata:
|
|
@@ -13,9 +13,36 @@ metadata:
|
|
|
13
13
|
|
|
14
14
|
# Turn Into App
|
|
15
15
|
|
|
16
|
+
## Host execution boundary
|
|
17
|
+
|
|
18
|
+
The build location depends on the host. Treat this as a hard routing rule:
|
|
19
|
+
|
|
20
|
+
- In Claude Web, ChatGPT Web, or a Claude/ChatGPT Project on the web, you are
|
|
21
|
+
the source analyst and handoff orchestrator. You must not build the app in
|
|
22
|
+
the host sandbox. Do not run `npm`, `pnpm`, `npx`, `agent-native create`, or
|
|
23
|
+
`add-app`; do not edit files, create artifacts, or start a local dev server.
|
|
24
|
+
After writing the bounded source brief, call the connected Dispatch action
|
|
25
|
+
`start-workspace-app-creation`. Pass the brief and repeatable workflow in
|
|
26
|
+
`prompt`, plus the inferred `appId`, `description`, `template`, and selected
|
|
27
|
+
`resourceIds` when available. This is the Builder handoff.
|
|
28
|
+
- Do not substitute the generic `create_workspace_app` MCP tool in an online
|
|
29
|
+
host. That tool is a local workspace scaffolder, not the Builder handoff.
|
|
30
|
+
- Connect the Agent-Native Dispatch MCP connector only. Dispatch uses the
|
|
31
|
+
authenticated Builder Projects API to reuse or provision the workspace
|
|
32
|
+
project before starting the Builder Cloud Agent; a separate Builder CMS MCP
|
|
33
|
+
connection is not required for this workflow.
|
|
34
|
+
- If `start-workspace-app-creation` is not available or Dispatch is not
|
|
35
|
+
authenticated, stop with the connector setup needed. Do not fall back to a
|
|
36
|
+
local build or claim that the app exists.
|
|
37
|
+
- In Claude Code, Codex Code, or another local code-agent runtime with a target
|
|
38
|
+
workspace, follow the local implementation steps below. The local agent may
|
|
39
|
+
scaffold, edit, run, and verify the app there.
|
|
40
|
+
|
|
16
41
|
## Default behavior
|
|
17
42
|
|
|
18
|
-
|
|
43
|
+
For a local code-agent runtime this is an end-to-end build skill, not a request
|
|
44
|
+
for an app proposal. For an online host, the end-to-end result is a verified
|
|
45
|
+
Builder handoff and the resulting workspace app, not code written in the host.
|
|
19
46
|
|
|
20
47
|
- With no argument, choose the source in this order: visible project context,
|
|
21
48
|
then the current thread. A fresh Claude or ChatGPT Project is a valid source
|
|
@@ -47,9 +74,12 @@ private web access, invent an importer, add fake OAuth, or scrape a logged-in
|
|
|
47
74
|
page. If the needed context is not visible, ask for an export, transcript, or
|
|
48
75
|
attachment and treat that artifact as imported source material.
|
|
49
76
|
|
|
50
|
-
|
|
51
|
-
buttons and agent handoffs, start its dev
|
|
52
|
-
continue through build/deployment handoff. Do
|
|
77
|
+
For local code-agent runtimes, deliver a fresh app in a new directory,
|
|
78
|
+
implement the repeatable workflow with buttons and agent handoffs, start its dev
|
|
79
|
+
server, verify the main path, and continue through build/deployment handoff. Do
|
|
80
|
+
not stop at a plan. For online hosts, call Dispatch first after the source brief,
|
|
81
|
+
then report the returned Builder branch/path and verify the workspace app through
|
|
82
|
+
Dispatch when it becomes available.
|
|
53
83
|
|
|
54
84
|
## Fresh project context mode
|
|
55
85
|
|
|
@@ -190,12 +220,12 @@ Do not use `create` for an existing workspace; it scaffolds a new standalone
|
|
|
190
220
|
workspace rather than adding an app to the current one.
|
|
191
221
|
|
|
192
222
|
When the source came from a fresh external Project and the target is a Builder
|
|
193
|
-
workspace,
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
223
|
+
workspace, the online host path is mandatory: after writing the source brief,
|
|
224
|
+
call `start-workspace-app-creation` with a concise prompt, the inferred app id,
|
|
225
|
+
and the brief's repeatable workflow. Pass selected workspace resource IDs when
|
|
226
|
+
they are available, rather than pasting entire knowledge files. Continue from
|
|
227
|
+
the returned workspace path or Builder branch handoff and report the actual
|
|
228
|
+
verification result. Do not run the local scaffold commands in this host mode.
|
|
199
229
|
|
|
200
230
|
Use a first-party template only when it materially fits the workflow. Keep the
|
|
201
231
|
new app independent from the source thread's working tree unless the user
|
|
@@ -50,14 +50,33 @@ skills. For a ChatGPT Project or any host that exposes only the MCP connector,
|
|
|
50
50
|
also place the skill instructions or this reference in the Project
|
|
51
51
|
instructions/knowledge files. Then add and authenticate the Dispatch MCP
|
|
52
52
|
connector from the packaged `adapters/chatgpt-mcp/connector.json`.
|
|
53
|
+
This single connector is enough: Dispatch provisions or reuses the Builder
|
|
54
|
+
project through the Builder Projects API, so do not ask the user to add a
|
|
55
|
+
separate Builder CMS MCP for app creation.
|
|
56
|
+
Builder's separate Fusion MCP is available as a custom remote connector at
|
|
57
|
+
`https://mcp.builder.io/mcp/fusion` for direct Builder work. It can run an
|
|
58
|
+
existing project, but it cannot provision the repo-backed Agent-Native
|
|
59
|
+
workspace project, so it is optional and not a replacement for the Dispatch
|
|
60
|
+
handoff in this skill. Do not add Builder's CMS MCP for this workflow.
|
|
61
|
+
|
|
62
|
+
For Claude Web, ChatGPT Web, and their web Projects, the host is an
|
|
63
|
+
orchestrator, not the build environment. After forming the source brief, call
|
|
64
|
+
the Dispatch `start-workspace-app-creation` action so Builder creates the app
|
|
65
|
+
in the connected workspace. Do not use the host's code interpreter, shell,
|
|
66
|
+
artifact editor, `create_workspace_app`, or local `pnpm`/`npm` commands. If the
|
|
67
|
+
handoff action is unavailable, stop and ask the user to authenticate Dispatch;
|
|
68
|
+
do not fall back to a local sandbox build. Claude Code and Codex Code are the
|
|
69
|
+
local-agent exception and may follow the implementation steps in the main
|
|
70
|
+
skill.
|
|
53
71
|
|
|
54
72
|
In a new Project chat, say:
|
|
55
73
|
|
|
56
74
|
```text
|
|
57
75
|
Turn this project into an app. Use the visible Project instructions,
|
|
58
76
|
knowledge files, and any selected successful runs as the source. Create the
|
|
59
|
-
app in the connected Agent-Native workspace
|
|
60
|
-
and report the real path and
|
|
77
|
+
app in the connected Agent-Native workspace through Dispatch and Builder, keep
|
|
78
|
+
the source brief bounded, and report the real Builder branch/path and
|
|
79
|
+
verification result. Do not build it in this chat's sandbox.
|
|
61
80
|
```
|
|
62
81
|
|
|
63
82
|
If the host does not show the Project instructions or files to the model, stop
|