@agent-native/core 0.41.1 → 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -56
- package/dist/action.d.ts +13 -1
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js.map +1 -1
- package/dist/agent/production-agent.d.ts +8 -0
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +93 -0
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/cli/app-skill.d.ts +16 -0
- package/dist/cli/app-skill.d.ts.map +1 -1
- package/dist/cli/app-skill.js +33 -3
- package/dist/cli/app-skill.js.map +1 -1
- package/dist/cli/pr-visual-recap-workflow.d.ts +1 -1
- package/dist/cli/pr-visual-recap-workflow.d.ts.map +1 -1
- package/dist/cli/pr-visual-recap-workflow.js +1 -1
- package/dist/cli/pr-visual-recap-workflow.js.map +1 -1
- package/dist/cli/recap.d.ts.map +1 -1
- package/dist/cli/recap.js +38 -16
- package/dist/cli/recap.js.map +1 -1
- package/dist/cli/skills.d.ts +30 -3
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +180 -114
- package/dist/cli/skills.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +2 -2
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +172 -5
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/blocks/index.d.ts +11 -0
- package/dist/client/blocks/index.d.ts.map +1 -1
- package/dist/client/blocks/index.js +11 -0
- package/dist/client/blocks/index.js.map +1 -1
- package/dist/client/blocks/library/AnnotatedCodeBlock.d.ts +19 -0
- package/dist/client/blocks/library/AnnotatedCodeBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/AnnotatedCodeBlock.js +6 -58
- package/dist/client/blocks/library/AnnotatedCodeBlock.js.map +1 -1
- package/dist/client/blocks/library/ApiEndpointBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/ApiEndpointBlock.js +116 -7
- package/dist/client/blocks/library/ApiEndpointBlock.js.map +1 -1
- package/dist/client/blocks/library/DataModelBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/DataModelBlock.js +75 -9
- package/dist/client/blocks/library/DataModelBlock.js.map +1 -1
- package/dist/client/blocks/library/DiffBlock.d.ts +1 -1
- package/dist/client/blocks/library/DiffBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/DiffBlock.js +265 -39
- package/dist/client/blocks/library/DiffBlock.js.map +1 -1
- package/dist/client/blocks/library/FileTreeBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/FileTreeBlock.js +27 -4
- package/dist/client/blocks/library/FileTreeBlock.js.map +1 -1
- package/dist/client/blocks/library/HighlightedCode.d.ts +1 -1
- package/dist/client/blocks/library/HighlightedCode.js +1 -1
- package/dist/client/blocks/library/HighlightedCode.js.map +1 -1
- package/dist/client/blocks/library/JsonExplorerBlock.js +1 -1
- package/dist/client/blocks/library/JsonExplorerBlock.js.map +1 -1
- package/dist/client/blocks/library/MermaidBlock.js +1 -1
- package/dist/client/blocks/library/MermaidBlock.js.map +1 -1
- package/dist/client/blocks/library/annotation-rail.d.ts +115 -0
- package/dist/client/blocks/library/annotation-rail.d.ts.map +1 -0
- package/dist/client/blocks/library/annotation-rail.js +139 -0
- package/dist/client/blocks/library/annotation-rail.js.map +1 -0
- package/dist/client/blocks/library/api-endpoint.config.d.ts +31 -6
- package/dist/client/blocks/library/api-endpoint.config.d.ts.map +1 -1
- package/dist/client/blocks/library/api-endpoint.config.js +30 -6
- package/dist/client/blocks/library/api-endpoint.config.js.map +1 -1
- package/dist/client/blocks/library/callout.config.d.ts +29 -0
- package/dist/client/blocks/library/callout.config.d.ts.map +1 -0
- package/dist/client/blocks/library/callout.config.js +33 -0
- package/dist/client/blocks/library/callout.config.js.map +1 -0
- package/dist/client/blocks/library/callout.d.ts +20 -0
- package/dist/client/blocks/library/callout.d.ts.map +1 -0
- package/dist/client/blocks/library/callout.js +61 -0
- package/dist/client/blocks/library/callout.js.map +1 -0
- package/dist/client/blocks/library/checklist.d.ts.map +1 -1
- package/dist/client/blocks/library/checklist.js +3 -3
- package/dist/client/blocks/library/checklist.js.map +1 -1
- package/dist/client/blocks/library/code.d.ts.map +1 -1
- package/dist/client/blocks/library/code.js +32 -15
- package/dist/client/blocks/library/code.js.map +1 -1
- package/dist/client/blocks/library/columns.d.ts.map +1 -1
- package/dist/client/blocks/library/columns.js +56 -35
- package/dist/client/blocks/library/columns.js.map +1 -1
- package/dist/client/blocks/library/data-model.config.d.ts +17 -0
- package/dist/client/blocks/library/data-model.config.d.ts.map +1 -1
- package/dist/client/blocks/library/data-model.config.js +15 -0
- package/dist/client/blocks/library/data-model.config.js.map +1 -1
- package/dist/client/blocks/library/decision.config.d.ts +37 -0
- package/dist/client/blocks/library/decision.config.d.ts.map +1 -0
- package/dist/client/blocks/library/decision.config.js +32 -0
- package/dist/client/blocks/library/decision.config.js.map +1 -0
- package/dist/client/blocks/library/decision.d.ts +19 -0
- package/dist/client/blocks/library/decision.d.ts.map +1 -0
- package/dist/client/blocks/library/decision.js +119 -0
- package/dist/client/blocks/library/decision.js.map +1 -0
- package/dist/client/blocks/library/diagram.config.d.ts +64 -0
- package/dist/client/blocks/library/diagram.config.d.ts.map +1 -0
- package/dist/client/blocks/library/diagram.config.js +111 -0
- package/dist/client/blocks/library/diagram.config.js.map +1 -0
- package/dist/client/blocks/library/diagram.d.ts +16 -0
- package/dist/client/blocks/library/diagram.d.ts.map +1 -0
- package/dist/client/blocks/library/diagram.js +261 -0
- package/dist/client/blocks/library/diagram.js.map +1 -0
- package/dist/client/blocks/library/diff.config.d.ts +28 -6
- package/dist/client/blocks/library/diff.config.d.ts.map +1 -1
- package/dist/client/blocks/library/diff.config.js +30 -6
- package/dist/client/blocks/library/diff.config.js.map +1 -1
- package/dist/client/blocks/library/question-form.config.d.ts +69 -0
- package/dist/client/blocks/library/question-form.config.d.ts.map +1 -0
- package/dist/client/blocks/library/question-form.config.js +58 -0
- package/dist/client/blocks/library/question-form.config.js.map +1 -0
- package/dist/client/blocks/library/question-form.d.ts +20 -0
- package/dist/client/blocks/library/question-form.d.ts.map +1 -0
- package/dist/client/blocks/library/question-form.js +286 -0
- package/dist/client/blocks/library/question-form.js.map +1 -0
- package/dist/client/blocks/library/sanitize-html.d.ts +5 -0
- package/dist/client/blocks/library/sanitize-html.d.ts.map +1 -0
- package/dist/client/blocks/library/sanitize-html.js +240 -0
- package/dist/client/blocks/library/sanitize-html.js.map +1 -0
- package/dist/client/blocks/library/server-specs.d.ts.map +1 -1
- package/dist/client/blocks/library/server-specs.js +59 -0
- package/dist/client/blocks/library/server-specs.js.map +1 -1
- package/dist/client/blocks/library/specs.d.ts.map +1 -1
- package/dist/client/blocks/library/specs.js +11 -0
- package/dist/client/blocks/library/specs.js.map +1 -1
- package/dist/client/blocks/library/tabs.d.ts.map +1 -1
- package/dist/client/blocks/library/tabs.js +12 -12
- package/dist/client/blocks/library/tabs.js.map +1 -1
- package/dist/client/blocks/library/wireframe-kit.d.ts +260 -0
- package/dist/client/blocks/library/wireframe-kit.d.ts.map +1 -0
- package/dist/client/blocks/library/wireframe-kit.js +920 -0
- package/dist/client/blocks/library/wireframe-kit.js.map +1 -0
- package/dist/client/blocks/library/wireframe.config.d.ts +123 -0
- package/dist/client/blocks/library/wireframe.config.d.ts.map +1 -0
- package/dist/client/blocks/library/wireframe.config.js +294 -0
- package/dist/client/blocks/library/wireframe.config.js.map +1 -0
- package/dist/client/blocks/library/wireframe.d.ts +15 -0
- package/dist/client/blocks/library/wireframe.d.ts.map +1 -0
- package/dist/client/blocks/library/wireframe.js +206 -0
- package/dist/client/blocks/library/wireframe.js.map +1 -0
- package/dist/client/blocks/registry.d.ts +9 -0
- package/dist/client/blocks/registry.d.ts.map +1 -1
- package/dist/client/blocks/registry.js +12 -5
- package/dist/client/blocks/registry.js.map +1 -1
- package/dist/client/blocks/server.d.ts +1 -0
- package/dist/client/blocks/server.d.ts.map +1 -1
- package/dist/client/blocks/server.js +1 -0
- package/dist/client/blocks/server.js.map +1 -1
- package/dist/client/blocks/types.d.ts +10 -2
- package/dist/client/blocks/types.d.ts.map +1 -1
- package/dist/client/blocks/types.js.map +1 -1
- package/dist/client/rich-markdown-editor/DragHandle.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/DragHandle.js +152 -21
- package/dist/client/rich-markdown-editor/DragHandle.js.map +1 -1
- package/dist/client/rich-markdown-editor/RegistryBlockNode.d.ts +25 -1
- package/dist/client/rich-markdown-editor/RegistryBlockNode.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/RegistryBlockNode.js +29 -6
- package/dist/client/rich-markdown-editor/RegistryBlockNode.js.map +1 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.d.ts +8 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.js +5 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.js.map +1 -1
- package/dist/extensions/actions.d.ts.map +1 -1
- package/dist/extensions/actions.js +159 -12
- package/dist/extensions/actions.js.map +1 -1
- package/dist/extensions/store.d.ts +21 -0
- package/dist/extensions/store.d.ts.map +1 -1
- package/dist/extensions/store.js +33 -1
- package/dist/extensions/store.js.map +1 -1
- package/dist/server/recap-image-route.d.ts.map +1 -1
- package/dist/server/recap-image-route.js +12 -3
- package/dist/server/recap-image-route.js.map +1 -1
- package/dist/styles/agent-native.css +1 -0
- package/dist/styles/blocks.css +1380 -0
- package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +30 -5
- package/docs/content/plan-plugin.md +107 -0
- package/docs/content/pr-visual-recap.md +2 -2
- package/docs/content/skills-guide.md +8 -0
- package/docs/content/template-plan.md +94 -17
- package/package.json +2 -1
- package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +30 -5
- package/docs/content/visual-plans.md +0 -80
package/dist/cli/skills.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/cli/skills.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/cli/skills.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAKL,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAC;AAWxB,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AA0sBjE,eAAO,MAAM,qBAAqB,k25CAsRjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,4sqCAqK5B,CAAC;AAEF,eAAO,MAAM,uBAAuB,oiOA6JnC,CAAC;AAEF,eAAO,MAAM,oBAAoB,46IA4GhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,sw+BA0UjC,CAAC;AAEF,eAAO,MAAM,yBAAyB,yvMAwIrC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;CAiM/B,CAAC;AAsEF,KAAK,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,GAAG,EAAE,OAAO,CAAC;IACb;;;;;OAKG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAWD,UAAU,iBAAiB;IACzB,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACzC;AAED,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAC9B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,CACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE,iBAAiB,KACxB,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED,UAAU,yBAAyB;IACjC,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE;AAED,UAAU,yBAAyB;IACjC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE;AAwJD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAqEhE;AA2SD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CA0L1B;AAgBD,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAkIf"}
|
package/dist/cli/skills.js
CHANGED
|
@@ -16,7 +16,7 @@ const HELP = `agent-native skills
|
|
|
16
16
|
|
|
17
17
|
Usage:
|
|
18
18
|
agent-native skills list
|
|
19
|
-
agent-native skills add assets|design-exploration|visual-plan|visual-recap|
|
|
19
|
+
agent-native skills add assets|design-exploration|visual-plan|visual-recap|context-xray [--client codex|claude-code|claude-code-cli|cowork|all] [--scope user|project] [--mcp-url <url>] [--no-connect] [--with-github-action] [--yes] [--dry-run] [--json]
|
|
20
20
|
agent-native skills add <manifest-or-app-dir> [--client ...] [--yes]
|
|
21
21
|
|
|
22
22
|
Examples:
|
|
@@ -393,13 +393,23 @@ for example, a new \`Edit with AI\` action in a popover header belongs in the
|
|
|
393
393
|
top-right header slot, aligned with the title, not in the body or footer. Use
|
|
394
394
|
the same frame size, scale, outer padding, border radius, and visual density on
|
|
395
395
|
both sides unless the change itself alters those properties, and let the frame
|
|
396
|
-
height fit the content rather than leaving a tall empty lower half.
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
396
|
+
height fit the content rather than leaving a tall empty lower half.
|
|
397
|
+
|
|
398
|
+
**Name the states with the column header, never inside the frame.** Put the two
|
|
399
|
+
states in a \`columns\` block and set each column's \`label\` to \`Before\` and
|
|
400
|
+
\`After\` — the renderer draws that label as an \`h4\` heading above each frame. Do
|
|
401
|
+
NOT bake a \`Before\`/\`After\` pill, title, or heading into the wireframe \`html\`: a
|
|
402
|
+
label placed inside reads as part of the product UI, lands in a random corner,
|
|
403
|
+
and clutters the comparison. The column header is the one and only place the
|
|
404
|
+
state name belongs.
|
|
405
|
+
|
|
406
|
+
**Let the surface choose side-by-side vs. stacked.** The \`columns\` renderer lays
|
|
407
|
+
narrow surfaces (\`mobile\`, \`popover\`, \`panel\`) out side by side, and
|
|
408
|
+
automatically stacks wide surfaces (\`desktop\`, \`browser\`) vertically at full
|
|
409
|
+
document width so a large frame is never crushed into a half-width column and
|
|
410
|
+
cropped. Author both wireframes with the real \`surface\` and the matching
|
|
411
|
+
\`Before\`/\`After\` column labels; do not hand-stack the pair into separate
|
|
412
|
+
top-level wireframes or duplicate the state name as body content.
|
|
403
413
|
|
|
404
414
|
**Good example — a contacts list, surface \`browser\`.** A small, real screen
|
|
405
415
|
composed from the helper classes and tokens, layout in inline flex, no fonts or
|
|
@@ -582,19 +592,28 @@ machine-checked list of block types and their data schemas, call \`get-plan-bloc
|
|
|
582
592
|
so you never emit a block the editor cannot render or round-trip:
|
|
583
593
|
|
|
584
594
|
- \`rich-text\` for plan prose with real bold/italic/code/links and nested lists.
|
|
585
|
-
- \`code\` for the file map:
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
595
|
+
- \`annotated-code\` for the file map: when a load-bearing file is worth
|
|
596
|
+
highlighting, prefer the annotated walkthrough over a bare \`code\` block — carry
|
|
597
|
+
the real, syntax-highlighted code AND anchor short margin notes to the lines
|
|
598
|
+
that actually change (the new action, the changed schema, the wiring point), so
|
|
599
|
+
the reader sees what matters and why instead of code for code's sake. Each
|
|
600
|
+
annotation is \`{ lines: "12" | "12-18"; label?; note }\`; keep a few high-signal
|
|
601
|
+
notes per file, not one per line. Highlight only the files worth reading; never
|
|
602
|
+
an exhaustive list of every touched file, and never a prose-only description of
|
|
603
|
+
a file. Drop to a plain \`code\` block only for a throwaway snippet with nothing
|
|
604
|
+
to call out. When more than one file matters, group the blocks in a vertical
|
|
605
|
+
\`tabs\` block (the standard tab primitive) rather than a bespoke container. If
|
|
606
|
+
the exact code is unknown, show the smallest plausible planned shape or a
|
|
593
607
|
commented stub naming what to fill in. (\`code-tabs\` and \`implementation-map\`
|
|
594
608
|
are legacy: their renderers stay for old plans, but do not author new ones.)
|
|
595
|
-
- \`decision\` for
|
|
596
|
-
|
|
597
|
-
|
|
609
|
+
- \`decision\` ONLY for a genuinely-open either/or the reviewer must still pick
|
|
610
|
+
between — two or three option cards with real consequences. If you have already
|
|
611
|
+
committed to an approach, state it as settled prose or a \`callout\`, NOT a
|
|
612
|
+
\`decision\` block; a decision card for a question you have already answered just
|
|
613
|
+
reads as a confusing mid-document form. Never duplicate the same choice across a
|
|
614
|
+
\`decision\` block and the bottom Open Questions \`question-form\` — pick one home
|
|
615
|
+
for it. These are static records; do not style them like clickable tabs or chips
|
|
616
|
+
unless the renderer truly supports changing the selection.
|
|
598
617
|
- \`columns\` for side-by-side before/after or current/target comparisons where
|
|
599
618
|
each side needs real nested blocks; label the columns clearly and avoid
|
|
600
619
|
stacking comparison blocks vertically when parallel reading is the point.
|
|
@@ -623,6 +642,11 @@ so you never emit a block the editor cannot render or round-trip:
|
|
|
623
642
|
**Open questions live at the bottom as a form when answers would change the
|
|
624
643
|
plan.** Surface answerable unresolved decisions in a final \`question-form\`
|
|
625
644
|
block titled "Open Questions" so the renderer presents it as a distinct section.
|
|
645
|
+
That bottom form is the ONLY place that enumerates the open questions: never add
|
|
646
|
+
a second "Open Questions" heading, list, or recap of the same questions earlier
|
|
647
|
+
in the document. A one-line pointer in the overview prose ("a few decisions are
|
|
648
|
+
still open — see Open Questions below") is fine, but do not reproduce the
|
|
649
|
+
question list or a parallel questions/decisions section above it.
|
|
626
650
|
Use \`single\` or \`multi\` for clear choices, \`freeform\` for constraints,
|
|
627
651
|
\`recommended: true\` for the default you would pick, and option \`wireframe\` /
|
|
628
652
|
\`diagram\` previews only when the options are not already visible in the top
|
|
@@ -739,6 +763,16 @@ plan needs a richer review surface.
|
|
|
739
763
|
patterns first; name actual files, symbols, and data shapes instead of
|
|
740
764
|
inventing them. Check existing \`actions/\` before proposing endpoints and prefer
|
|
741
765
|
named client helpers over raw fetch. Delegate wide exploration to a sub-agent.
|
|
766
|
+
Lead with reuse: for each step, name what it reuses — existing actions, schema,
|
|
767
|
+
components, helpers — before what it adds, so the plan explains the genuinely new
|
|
768
|
+
delta instead of redescribing what already exists.
|
|
769
|
+
- **Decide the hard-to-reverse bets first.** For non-trivial backend, data, or API
|
|
770
|
+
work, sketch where the feature is headed, then call out the decisions that are
|
|
771
|
+
expensive to undo once data or callers depend on them — wire format, public ids,
|
|
772
|
+
data-model shape, auth and ownership boundaries — and get those right in the plan
|
|
773
|
+
even if most of the feature ships later. Then scope to the smallest first cut that
|
|
774
|
+
proves the approach without foreclosing it, stating both what is in and what is
|
|
775
|
+
explicitly deferred.
|
|
742
776
|
- **Preserve existing plans.** If the user pasted, referenced, or already has a
|
|
743
777
|
Codex / Claude Code / Markdown plan, treat it as source material. Preserve its
|
|
744
778
|
intent, do not invent codebase facts, label inferred visuals as inferred, and
|
|
@@ -791,7 +825,10 @@ plan needs a richer review surface.
|
|
|
791
825
|
model. Plans should load out of the box for the local agent and local browser
|
|
792
826
|
session; if a signed-in embedded browser cannot read a local plan that an
|
|
793
827
|
anonymous/tool check can read, fix the app/action ownership or access path
|
|
794
|
-
rather than patching one plan by hand.
|
|
828
|
+
rather than patching one plan by hand. For high-stakes plans (architecture,
|
|
829
|
+
backend, data, multi-file, or risky), also kick off the self-review pass in
|
|
830
|
+
**Self-Review Before Handoff** while the user reads, instead of blocking the
|
|
831
|
+
handoff on it.
|
|
795
832
|
5. Call \`get-plan-feedback\` before editing, after review, after any long pause,
|
|
796
833
|
and before the final response. Treat \`anchorDetails\`, resolver intent, recent
|
|
797
834
|
review events, and any focused screenshots from browser handoff as the source
|
|
@@ -803,6 +840,34 @@ plan needs a richer review surface.
|
|
|
803
840
|
7. Export with \`export-visual-plan\` only when the user wants a shareable receipt
|
|
804
841
|
or repo-check-in artifacts.
|
|
805
842
|
|
|
843
|
+
## Self-Review Before Handoff
|
|
844
|
+
|
|
845
|
+
For high-stakes plans — architecture, backend, data-model, migration, multi-file,
|
|
846
|
+
or otherwise risky work — run one adversarial self-review pass before treating the
|
|
847
|
+
plan as final. Skip it for small, UI-only, or single-decision plans where the cost
|
|
848
|
+
outweighs the value. Keep the pass cheap and non-blocking:
|
|
849
|
+
|
|
850
|
+
- **Surface the plan first, review concurrently.** Post the link and let the user
|
|
851
|
+
start reading, then run the review in parallel — never make the user wait on it.
|
|
852
|
+
- **Review the written plan; do not re-research.** Critique the plan text and its
|
|
853
|
+
own blocks. The grounding was already done while drafting, so the review checks
|
|
854
|
+
the output instead of re-exploring the repo.
|
|
855
|
+
- **Spawn one skeptical reviewer** whose only job is to find what is weak, missing,
|
|
856
|
+
or wrong — not to praise. Point it at: hard-to-reverse decisions made implicitly
|
|
857
|
+
or not at all (wire format, public ids, data-model shape, auth, ownership); steps
|
|
858
|
+
not anchored in real files or symbols; a menu of options where the plan should
|
|
859
|
+
commit to one; obvious missing decisions ("what happens when X?", "why not Y?");
|
|
860
|
+
and padding or single-step filler.
|
|
861
|
+
- **Fix vs. ask.** Apply clear-cut fixes yourself with \`update-visual-plan\`
|
|
862
|
+
\`contentPatches\` — vague non-goals, unanchored claims, an obvious missing
|
|
863
|
+
decision. Route genuine judgment calls back to the user instead: add them to the
|
|
864
|
+
bottom \`question-form\` Open Questions block or batch them into the normal
|
|
865
|
+
ask-user-question flow. Do not silently decide them.
|
|
866
|
+
- **Do not surprise the user mid-read.** On a large plan, apply the patches before
|
|
867
|
+
the editor loads; otherwise note briefly that a self-review is running so the
|
|
868
|
+
plan changing under them is expected. When you next respond, summarize what the
|
|
869
|
+
review changed and what it surfaced for the user to decide.
|
|
870
|
+
|
|
806
871
|
## Visual Surface Choice
|
|
807
872
|
|
|
808
873
|
Choose the surface before creating the plan or after reading the source plan. Do
|
|
@@ -1382,6 +1447,26 @@ schema, API, file, and architecture changes become the same \`data-model\`,
|
|
|
1382
1447
|
now they summarize work that exists. A reviewer scans the shape of the change
|
|
1383
1448
|
before spending attention on the literal lines.
|
|
1384
1449
|
|
|
1450
|
+
## Always Publish As An Agent-Native Plan — Never Inline
|
|
1451
|
+
|
|
1452
|
+
The deliverable is ALWAYS a published Agent-Native Plan, created with the
|
|
1453
|
+
\`create-visual-recap\` tool on the \`plan\` MCP server. NEVER hand the recap to the
|
|
1454
|
+
user as inline chat content — not Markdown prose, not an ASCII sketch, not a
|
|
1455
|
+
table, not a fenced "wireframe", not a "here's the recap" summary. A recap's
|
|
1456
|
+
entire value is the hosted, interactive, annotatable plan; an inline summary is
|
|
1457
|
+
not a recap, it is the thing a recap replaces. The only supported output is to
|
|
1458
|
+
publish the plan and return its absolute URL.
|
|
1459
|
+
|
|
1460
|
+
If the \`plan\` MCP server's tools are not available, do NOT improvise an inline
|
|
1461
|
+
recap as a fallback. The usual cause is a connector that did not finish
|
|
1462
|
+
connecting this session (it registers zero tools), NOT necessarily an auth
|
|
1463
|
+
problem — so do not assume the user must authenticate. Stop and tell the user
|
|
1464
|
+
how to restore it: reconnect the plan MCP server (in Claude Code, run \`/mcp\` and
|
|
1465
|
+
reconnect, or restart the session); only if it is genuinely unauthenticated, run
|
|
1466
|
+
\`agent-native connect <plan-app-url>\` or re-authenticate via \`/mcp\`. Then publish
|
|
1467
|
+
once the tool is reachable. Falling back to inline content is a defect, not a
|
|
1468
|
+
degraded mode.
|
|
1469
|
+
|
|
1385
1470
|
## When To Use
|
|
1386
1471
|
|
|
1387
1472
|
Build a recap when a PR or commit is large, multi-file, or touches schema, API
|
|
@@ -1479,25 +1564,42 @@ text-match screenshot is not enough; visually inspect the captured image.
|
|
|
1479
1564
|
## Open And Report The Recap
|
|
1480
1565
|
|
|
1481
1566
|
After creating the recap, link the reviewer to the rendered plan with an
|
|
1482
|
-
**absolute URL
|
|
1567
|
+
**absolute URL on the origin whose database actually holds the plan**. That
|
|
1568
|
+
origin is the Plan MCP server you just created the recap through — NOT whatever
|
|
1569
|
+
dev server you happen to know is running. The create tool returns the correct
|
|
1570
|
+
link; report THAT. Never make the primary link a local \`plan.mdx\` file, a local
|
|
1483
1571
|
mirror folder, or a relative path such as \`/plans/<id>\`.
|
|
1484
1572
|
|
|
1573
|
+
A recap lives only in the database of the MCP that created it. A separately
|
|
1574
|
+
running local dev server (e.g. \`http://localhost:8081\`) has its OWN database and
|
|
1575
|
+
will NOT contain a recap created through the hosted MCP, so a hand-built
|
|
1576
|
+
\`localhost\` link returns "Plan not found". This is the most common recap
|
|
1577
|
+
mistake — do not guess an origin you have not confirmed shares the MCP's data.
|
|
1578
|
+
|
|
1485
1579
|
Resolve the URL in this order:
|
|
1486
1580
|
|
|
1487
|
-
1.
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
\`http://localhost
|
|
1495
|
-
|
|
1496
|
-
|
|
1581
|
+
1. Use the absolute URL the create tool RETURNS — \`openLink.webUrl\`, else the
|
|
1582
|
+
\`visualUrl\` in the returned \`plan.mdx\` frontmatter, else \`url\`/\`path\`
|
|
1583
|
+
resolved against the MCP server's own origin (for the hosted MCP that is
|
|
1584
|
+
\`https://plan.agent-native.com\`). This always points at the database that has
|
|
1585
|
+
the plan.
|
|
1586
|
+
2. Use a \`localhost\`/dev origin ONLY when the recap was created through a Plan
|
|
1587
|
+
MCP bound to that same origin — i.e. that MCP's url is
|
|
1588
|
+
\`http://localhost:<port>/_agent-native/mcp\`. Creating through the hosted MCP
|
|
1589
|
+
and linking to localhost is the exact mismatch that 404s.
|
|
1590
|
+
3. If only a plan id is available, build the MCP origin's absolute URL
|
|
1591
|
+
(hosted: \`https://plan.agent-native.com/plans/<id>\`) and say it was inferred.
|
|
1592
|
+
|
|
1593
|
+
If the user wants to review on localhost but the recap was created through the
|
|
1594
|
+
hosted MCP, say so plainly: the local dev server cannot see it. To view a recap
|
|
1595
|
+
on localhost (e.g. to exercise un-deployed local renderer changes), they must
|
|
1596
|
+
connect a LOCAL Plan MCP (\`http://localhost:<port>/_agent-native/mcp\`) and
|
|
1597
|
+
re-create the recap through it so it lands in the local database; offer to do
|
|
1598
|
+
that rather than handing over a localhost URL that will not resolve.
|
|
1497
1599
|
|
|
1498
1600
|
When running in Codex and the Browser/in-app side browser tools are available,
|
|
1499
|
-
open the absolute recap URL there automatically after creation. Still
|
|
1500
|
-
same absolute URL in the final response. Local mirror files like
|
|
1601
|
+
open the returned absolute recap URL there automatically after creation. Still
|
|
1602
|
+
include the same absolute URL in the final response. Local mirror files like
|
|
1501
1603
|
\`plans/<slug>/plan.mdx\` may be mentioned only as secondary source-control
|
|
1502
1604
|
artifacts, not as the main way to open the recap.
|
|
1503
1605
|
|
|
@@ -1507,12 +1609,17 @@ Map each kind of change to the block that carries it, derived mechanically from
|
|
|
1507
1609
|
the actual diff:
|
|
1508
1610
|
|
|
1509
1611
|
- **Schema / migration change** → \`data-model\` for the resulting entities,
|
|
1510
|
-
fields, and relations
|
|
1511
|
-
|
|
1512
|
-
\`
|
|
1612
|
+
fields, and relations. Flag what moved per field/entity with
|
|
1613
|
+
\`change: "added" | "modified" | "removed" | "renamed"\`, and for a changed type
|
|
1614
|
+
set \`was\` to the prior value (e.g. the old column type) — grounded in the real
|
|
1615
|
+
migration diff. That diff-aware \`data-model\` is the headline; reach for a split
|
|
1616
|
+
\`diff\` of the literal SQL only when the exact statement still matters, not by
|
|
1617
|
+
default.
|
|
1513
1618
|
- **API / action / route change** → \`api-endpoint\` with the method, path,
|
|
1514
|
-
params, request, and responses as they are after the change.
|
|
1515
|
-
|
|
1619
|
+
params, request, and responses as they are after the change. Flag each changed
|
|
1620
|
+
param/response with \`change\` (and \`was\` on a param whose type/shape changed),
|
|
1621
|
+
and set \`change\` on the endpoint root for a wholly added or removed route. Mark
|
|
1622
|
+
removed endpoints with \`deprecated: true\` and explain in prose.
|
|
1516
1623
|
Keep multiple API endpoints in the normal single-column document flow unless
|
|
1517
1624
|
they are an explicit before/after contract comparison.
|
|
1518
1625
|
- **Compatibility-sensitive change** → short \`rich-text\` notes beside the
|
|
@@ -1521,14 +1628,35 @@ the actual diff:
|
|
|
1521
1628
|
pair that note with a split \`diff\` for the literal lines.
|
|
1522
1629
|
- **Any meaningful code hunk** → \`diff\` with \`mode: "split"\`, carrying the real
|
|
1523
1630
|
\`before\` / \`after\` text and the \`filename\` / \`language\`. Split mode is the
|
|
1524
|
-
default for a recap because before/after legibility is the whole point.
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1631
|
+
default for a recap because before/after legibility is the whole point. Give
|
|
1632
|
+
every \`diff\` a one-line \`summary\` saying what the hunk changes and why; it
|
|
1633
|
+
renders as a description above the code so the reviewer reads intent first.
|
|
1634
|
+
Never leave a diff unlabeled.
|
|
1635
|
+
For the KEY changed files, attach \`annotations\` to the \`diff\` so the recap
|
|
1636
|
+
calls out what each important hunk does — this is the headline affordance for
|
|
1637
|
+
annotating the key files updated. Each annotation is
|
|
1638
|
+
\`{ side?: "before" | "after"; lines: "13" | "13-15"; label?: string; note }\`
|
|
1639
|
+
and anchors to the AFTER-side line numbers by default (set \`side: "before"\` to
|
|
1640
|
+
point at removed lines). Keep it to a few high-signal notes per file, not one
|
|
1641
|
+
per line.
|
|
1642
|
+
When several key files each need a substantial diff, introduce the group with a
|
|
1643
|
+
\`rich-text\` heading block whose markdown is \`## Key changes\`, then place the
|
|
1644
|
+
\`diff\` blocks under it in a reusable \`tabs\` block with
|
|
1645
|
+
\`orientation: "vertical"\` so file labels form a left rail and the selected
|
|
1646
|
+
file's split diff renders on the right. Let that heading label the section — do
|
|
1647
|
+
NOT also set a \`title\` on the \`tabs\` block. Keep each tab label to the file
|
|
1648
|
+
path or a short basename plus directory hint.
|
|
1529
1649
|
If the recap ends with more than one supporting diff, that trailing diff
|
|
1530
|
-
appendix should be one vertical \`tabs\` block
|
|
1531
|
-
blocks.
|
|
1650
|
+
appendix should be one vertical \`tabs\` block under its own \`## Key changes\`
|
|
1651
|
+
heading, not a stack of separate \`diff\` blocks.
|
|
1652
|
+
- **Brand-new file or a substantial added block with no meaningful "before"** →
|
|
1653
|
+
\`annotated-code\` rather than a one-sided split \`diff\`. Carry the real new code
|
|
1654
|
+
with its \`filename\` / \`language\` and anchor a few high-signal notes to the lines
|
|
1655
|
+
that matter (\`{ lines: "12" | "12-18"; label?; note }\`) so the reviewer reads
|
|
1656
|
+
what the new code does, not code for code's sake. Keep split \`diff\` for true
|
|
1657
|
+
before/after hunks where the removed lines still carry meaning, and group
|
|
1658
|
+
several annotated walkthroughs in a vertical \`tabs\` block the same way diffs are
|
|
1659
|
+
grouped.
|
|
1532
1660
|
- **Files added / removed / renamed** → \`file-tree\` with each entry's \`change\`
|
|
1533
1661
|
flag (\`added\`, \`removed\`, \`modified\`, \`renamed\`) and a short \`note\`; attach a
|
|
1534
1662
|
\`snippet\` only when one tells the reviewer something the path does not.
|
|
@@ -1576,9 +1704,10 @@ For UI diffs, wireframes are the visual comparison primitive. Use before/after
|
|
|
1576
1704
|
wireframes when the comparison clarifies the change; use after-only or a state
|
|
1577
1705
|
sequence when that better matches the change. The visual headline must show
|
|
1578
1706
|
exact placement, realistic chrome, and adequate padding before any abstract
|
|
1579
|
-
explanation. The Wireframe Quality core owns the before/after layout choice
|
|
1580
|
-
|
|
1581
|
-
hand-build a side-by-side
|
|
1707
|
+
explanation. The Wireframe Quality core owns the before/after layout choice —
|
|
1708
|
+
the \`columns\` renderer keeps narrow surfaces side by side and auto-stacks wide
|
|
1709
|
+
\`desktop\`/\`browser\` frames vertically; never hand-build a side-by-side
|
|
1710
|
+
wireframe layout in \`custom-html\`. For document-body
|
|
1582
1711
|
comparisons, there is no other multi-column primitive — \`columns\` plus split
|
|
1583
1712
|
\`diff\` are the whole comparison vocabulary. Do not hand-build side-by-side
|
|
1584
1713
|
layouts in \`custom-html\`, and do not stack two \`data-model\` blocks vertically
|
|
@@ -1765,7 +1894,7 @@ is available.
|
|
|
1765
1894
|
Hosted default: connect \`https://plan.agent-native.com/_agent-native/mcp\`. Do
|
|
1766
1895
|
not put shared secrets in skill files.
|
|
1767
1896
|
`;
|
|
1768
|
-
const BUILT_IN_APP_SKILLS = {
|
|
1897
|
+
export const BUILT_IN_APP_SKILLS = {
|
|
1769
1898
|
assets: {
|
|
1770
1899
|
skillName: "assets",
|
|
1771
1900
|
manifest: normalizeAppSkillManifest({
|
|
@@ -1856,16 +1985,12 @@ const BUILT_IN_APP_SKILLS = {
|
|
|
1856
1985
|
skillName: "visual-plan",
|
|
1857
1986
|
extraSkills: {
|
|
1858
1987
|
"visual-recap": VISUAL_RECAP_SKILL_MD,
|
|
1859
|
-
"visual-questions": VISUAL_QUESTIONS_SKILL_MD,
|
|
1860
|
-
"ui-plan": UI_PLAN_SKILL_MD,
|
|
1861
|
-
"prototype-plan": PROTOTYPE_PLAN_SKILL_MD,
|
|
1862
|
-
"plan-design": PLAN_DESIGN_SKILL_MD,
|
|
1863
1988
|
},
|
|
1864
1989
|
manifest: normalizeAppSkillManifest({
|
|
1865
1990
|
schemaVersion: 1,
|
|
1866
1991
|
id: "visual-plans",
|
|
1867
1992
|
displayName: "Agent-Native Plan",
|
|
1868
|
-
description: "Generate and review coding-agent plans as structured documents with inline diagrams, implementation maps,
|
|
1993
|
+
description: "Generate and review coding-agent plans as structured documents with inline diagrams, implementation maps, annotations, feedback, and HTML export.",
|
|
1869
1994
|
hosted: {
|
|
1870
1995
|
url: "https://plan.agent-native.com",
|
|
1871
1996
|
mcpUrl: "https://plan.agent-native.com/_agent-native/mcp",
|
|
@@ -1873,7 +1998,7 @@ const BUILT_IN_APP_SKILLS = {
|
|
|
1873
1998
|
mcp: { serverName: "agent-native-plans" },
|
|
1874
1999
|
auth: {
|
|
1875
2000
|
mode: "oauth",
|
|
1876
|
-
setup: "Install with the Agent-Native CLI to add the /visual-plan
|
|
2001
|
+
setup: "Install with the Agent-Native CLI to add the /visual-plan and /visual-recap skills plus the Plan MCP connector. Authenticate only for hosted/account-backed sharing.",
|
|
1877
2002
|
},
|
|
1878
2003
|
surfaces: [
|
|
1879
2004
|
{
|
|
@@ -1888,30 +2013,6 @@ const BUILT_IN_APP_SKILLS = {
|
|
|
1888
2013
|
path: "/plans",
|
|
1889
2014
|
description: "Create a visual recap plan from a PR, commit, branch, or git diff for high-altitude review.",
|
|
1890
2015
|
},
|
|
1891
|
-
{
|
|
1892
|
-
id: "visual-questions",
|
|
1893
|
-
action: "create-visual-questions",
|
|
1894
|
-
path: "/plans",
|
|
1895
|
-
description: "Create a visual intake questionnaire before generating or updating an Agent-Native plan.",
|
|
1896
|
-
},
|
|
1897
|
-
{
|
|
1898
|
-
id: "ui-plan",
|
|
1899
|
-
action: "create-ui-plan",
|
|
1900
|
-
path: "/plans",
|
|
1901
|
-
description: "Create a UI-first Agent-Native plan with an optional top pan/zoom wireframe canvas and a refined rich document below.",
|
|
1902
|
-
},
|
|
1903
|
-
{
|
|
1904
|
-
id: "prototype-plan",
|
|
1905
|
-
action: "create-prototype-plan",
|
|
1906
|
-
path: "/plans",
|
|
1907
|
-
description: "Create a prototype-first Agent-Native plan with a functional live prototype above the document.",
|
|
1908
|
-
},
|
|
1909
|
-
{
|
|
1910
|
-
id: "plan-design",
|
|
1911
|
-
action: "create-plan-design",
|
|
1912
|
-
path: "/plans",
|
|
1913
|
-
description: "Create a full-fidelity Agent-Native design plan with a Design canvas tab and optional matching Prototype tab.",
|
|
1914
|
-
},
|
|
1915
2016
|
],
|
|
1916
2017
|
skills: [
|
|
1917
2018
|
{
|
|
@@ -1924,26 +2025,6 @@ const BUILT_IN_APP_SKILLS = {
|
|
|
1924
2025
|
visibility: "exported",
|
|
1925
2026
|
exportAs: "visual-recap",
|
|
1926
2027
|
},
|
|
1927
|
-
{
|
|
1928
|
-
path: "skills/visual-questions",
|
|
1929
|
-
visibility: "exported",
|
|
1930
|
-
exportAs: "visual-questions",
|
|
1931
|
-
},
|
|
1932
|
-
{
|
|
1933
|
-
path: "skills/ui-plan",
|
|
1934
|
-
visibility: "exported",
|
|
1935
|
-
exportAs: "ui-plan",
|
|
1936
|
-
},
|
|
1937
|
-
{
|
|
1938
|
-
path: "skills/prototype-plan",
|
|
1939
|
-
visibility: "exported",
|
|
1940
|
-
exportAs: "prototype-plan",
|
|
1941
|
-
},
|
|
1942
|
-
{
|
|
1943
|
-
path: "skills/plan-design",
|
|
1944
|
-
visibility: "exported",
|
|
1945
|
-
exportAs: "plan-design",
|
|
1946
|
-
},
|
|
1947
2028
|
],
|
|
1948
2029
|
hostAdapters: [
|
|
1949
2030
|
"codex-plugin",
|
|
@@ -2011,17 +2092,6 @@ const BUILT_IN_APP_SKILL_ALIASES = {
|
|
|
2011
2092
|
"visual-recaps": "visual-plans",
|
|
2012
2093
|
"code-review-recap": "visual-plans",
|
|
2013
2094
|
"code-review-recaps": "visual-plans",
|
|
2014
|
-
"visual-questions": "visual-plans",
|
|
2015
|
-
"visual-question": "visual-plans",
|
|
2016
|
-
"ui-plan": "visual-plans",
|
|
2017
|
-
"ui-plans": "visual-plans",
|
|
2018
|
-
"prototype-plan": "visual-plans",
|
|
2019
|
-
"prototype-plans": "visual-plans",
|
|
2020
|
-
"plan-design": "visual-plans",
|
|
2021
|
-
"plan-designs": "visual-plans",
|
|
2022
|
-
"design-plan": "visual-plans",
|
|
2023
|
-
"design-plans": "visual-plans",
|
|
2024
|
-
prototype: "visual-plans",
|
|
2025
2095
|
"html-plan": "visual-plans",
|
|
2026
2096
|
"plan-mode": "visual-plans",
|
|
2027
2097
|
plannotate: "visual-plans",
|
|
@@ -2045,10 +2115,6 @@ const BUILT_IN_APP_SKILL_DISPLAY_ALIASES = {
|
|
|
2045
2115
|
"visual-plan",
|
|
2046
2116
|
"visual-recap",
|
|
2047
2117
|
"code-review-recap",
|
|
2048
|
-
"visual-questions",
|
|
2049
|
-
"ui-plan",
|
|
2050
|
-
"prototype-plan",
|
|
2051
|
-
"plan-design",
|
|
2052
2118
|
"html-plan",
|
|
2053
2119
|
"plannotate",
|
|
2054
2120
|
],
|