You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The VSCode webview now has a workflow builder, but the mobile app (surfaces/webview, React) has no UI to publish a workflow. Port the same builder to mobile.
What VSCode does today (reference)
In packages/core/src/chat/ui/webview.ts (commit 279b8e6):
A Skill / Workflow toggle on the publish form (setPubKind).
In workflow mode, the SKILL.md text box is replaced by an owned-skills checklist (pubReqSel); checked skills become the workflow's required skills.
On submit it synthesizes type: workflow + requiredSkills: [mints] frontmatter and sends it through the existing publishSkill path.
Scope for mobile
Add the skill/workflow toggle + owned-skills checklist to the mobile PublishForm.
Same validation as VSCode: require >= 1 selected skill; cap at 16 (MAX_REQUIRED_SKILLS in the agent-workflow-nft contract).
Required dependency: exclude workflows from the picker
A workflow cannot require another workflow. The on-chain program rejects a workflows-collection mint passed as a required skill with NotInOfficialCollection. VSCode already filters this using workflowMints on the ownedSkills event (commit 92ddeaa, workflowMintsAmong in skillSource.ts).
Mobile builds its owned-skills list in the localhost server (surfaces/localhost), which does not yet attach workflowMints. That wiring must be added so the mobile picker also excludes owned workflows.
Acceptance
Mobile can mint a workflow from selected owned skills.
Owned workflows never appear in the required-skills picker.
Summary
The VSCode webview now has a workflow builder, but the mobile app (
surfaces/webview, React) has no UI to publish a workflow. Port the same builder to mobile.What VSCode does today (reference)
In
packages/core/src/chat/ui/webview.ts(commit279b8e6):setPubKind).pubReqSel); checked skills become the workflow's required skills.type: workflow+requiredSkills: [mints]frontmatter and sends it through the existingpublishSkillpath.Scope for mobile
PublishForm.MAX_REQUIRED_SKILLSin theagent-workflow-nftcontract).publishSkillfrontmatter path (env.tssniffstype: workflow). Note thatfeat/workflow-publish-ui(Workflow publishing: contract + backend + webview/VSCode/mobile + CLI + MCP tool (#88) #95, not yet onmain) also adds explicitkind/requiredSkillsmessage fields; align with that once merged.Required dependency: exclude workflows from the picker
A workflow cannot require another workflow. The on-chain program rejects a workflows-collection mint passed as a required skill with
NotInOfficialCollection. VSCode already filters this usingworkflowMintson theownedSkillsevent (commit92ddeaa,workflowMintsAmonginskillSource.ts).Mobile builds its owned-skills list in the localhost server (
surfaces/localhost), which does not yet attachworkflowMints. That wiring must be added so the mobile picker also excludes owned workflows.Acceptance