@agent-native/core 0.101.14 → 0.102.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/core/CHANGELOG.md +12 -0
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/cli/templates-meta.ts +13 -0
- package/corpus/core/src/client/agent-page/AgentTabsPage.tsx +1 -1
- package/corpus/core/src/client/org/OrgSwitcher.tsx +2 -0
- package/corpus/templates/analytics/changelog/2026-07-15-fixed-the-agent-discarding-a-successful-dashboard-edit-and-r.md +6 -0
- package/corpus/templates/analytics/server/lib/real-data-actions.ts +30 -1
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +15 -0
- package/corpus/templates/content/actions/_database-source-utils.ts +59 -4
- package/corpus/templates/content/actions/prepare-builder-source-review.ts +9 -0
- package/corpus/templates/content/actions/preview-builder-source-review.ts +6 -4
- package/corpus/templates/content/app/components/editor/DescriptionField.tsx +10 -2
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +4 -0
- package/corpus/templates/content/changelog/2026-07-15-page-and-database-descriptions-now-use-a-clean-single-line-f.md +6 -0
- package/corpus/templates/content/changelog/2026-07-15-selected-builder-reviews-now-load-only-the-chosen-rows-avoid.md +6 -0
- package/corpus/templates/content/shared/api.ts +1 -0
- package/corpus/templates/tasks/.agents/commands/visual-plan.md +9 -0
- package/corpus/templates/tasks/.agents/commands/visual-recap.md +8 -0
- package/corpus/templates/tasks/.agents/skills/actions/SKILL.md +492 -0
- package/corpus/templates/tasks/.agents/skills/adding-a-feature/SKILL.md +189 -0
- package/corpus/templates/tasks/.agents/skills/agent-native-docs/SKILL.md +76 -0
- package/corpus/templates/tasks/.agents/skills/agent-watchdog/README.md +43 -0
- package/corpus/templates/tasks/.agents/skills/agent-watchdog/SKILL.md +110 -0
- package/corpus/templates/tasks/.agents/skills/agent-watchdog/agents/openai.yaml +4 -0
- package/corpus/templates/tasks/.agents/skills/capture-learnings/SKILL.md +89 -0
- package/corpus/templates/tasks/.agents/skills/change-summary/SKILL.md +83 -0
- package/corpus/templates/tasks/.agents/skills/create-skill/SKILL.md +221 -0
- package/corpus/templates/tasks/.agents/skills/delegate-to-agent/SKILL.md +263 -0
- package/corpus/templates/tasks/.agents/skills/efficient-fable/README.md +75 -0
- package/corpus/templates/tasks/.agents/skills/efficient-fable/SKILL.md +95 -0
- package/corpus/templates/tasks/.agents/skills/efficient-frontier/README.md +53 -0
- package/corpus/templates/tasks/.agents/skills/efficient-frontier/SKILL.md +73 -0
- package/corpus/templates/tasks/.agents/skills/frontend-design/SKILL.md +112 -0
- package/corpus/templates/tasks/.agents/skills/plan-arbiter/README.md +41 -0
- package/corpus/templates/tasks/.agents/skills/plan-arbiter/SKILL.md +114 -0
- package/corpus/templates/tasks/.agents/skills/plan-arbiter/agents/openai.yaml +4 -0
- package/corpus/templates/tasks/.agents/skills/plow-ahead/README.md +42 -0
- package/corpus/templates/tasks/.agents/skills/plow-ahead/SKILL.md +104 -0
- package/corpus/templates/tasks/.agents/skills/plow-ahead/agents/openai.yaml +4 -0
- package/corpus/templates/tasks/.agents/skills/quick-recap/README.md +55 -0
- package/corpus/templates/tasks/.agents/skills/quick-recap/SKILL.md +54 -0
- package/corpus/templates/tasks/.agents/skills/read-the-damn-docs/README.md +54 -0
- package/corpus/templates/tasks/.agents/skills/read-the-damn-docs/SKILL.md +126 -0
- package/corpus/templates/tasks/.agents/skills/read-the-damn-docs/agents/openai.yaml +4 -0
- package/corpus/templates/tasks/.agents/skills/real-time-sync/SKILL.md +232 -0
- package/corpus/templates/tasks/.agents/skills/security/SKILL.md +280 -0
- package/corpus/templates/tasks/.agents/skills/self-modifying-code/SKILL.md +106 -0
- package/corpus/templates/tasks/.agents/skills/shadcn-ui/SKILL.md +95 -0
- package/corpus/templates/tasks/.agents/skills/stay-within-limits/README.md +61 -0
- package/corpus/templates/tasks/.agents/skills/stay-within-limits/SKILL.md +83 -0
- package/corpus/templates/tasks/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
- package/corpus/templates/tasks/.agents/skills/visual-plan/SKILL.md +547 -0
- package/corpus/templates/tasks/.agents/skills/visual-plan/agent-native-skill.json +12 -0
- package/corpus/templates/tasks/.agents/skills/visual-plan/references/canvas.md +121 -0
- package/corpus/templates/tasks/.agents/skills/visual-plan/references/document-quality.md +178 -0
- package/corpus/templates/tasks/.agents/skills/visual-plan/references/exemplar.md +62 -0
- package/corpus/templates/tasks/.agents/skills/visual-plan/references/wireframe.md +264 -0
- package/corpus/templates/tasks/.agents/skills/visual-recap/SKILL.md +634 -0
- package/corpus/templates/tasks/.agents/skills/visual-recap/agent-native-skill.json +12 -0
- package/corpus/templates/tasks/.agents/skills/visual-recap/references/wireframe.md +264 -0
- package/corpus/templates/tasks/.claude/commands/visual-plan.md +9 -0
- package/corpus/templates/tasks/.claude/commands/visual-recap.md +8 -0
- package/corpus/templates/tasks/.env.example +5 -0
- package/corpus/templates/tasks/.ignore +0 -0
- package/corpus/templates/tasks/.prettierrc +5 -0
- package/corpus/templates/tasks/AGENTS.md +158 -0
- package/corpus/templates/tasks/DEVELOPING.md +185 -0
- package/corpus/templates/tasks/README.md +16 -0
- package/corpus/templates/tasks/actions/bulk-delete-inbox-items.ts +24 -0
- package/corpus/templates/tasks/actions/bulk-delete-tasks.ts +21 -0
- package/corpus/templates/tasks/actions/bulk-mark-inbox-items-ready.ts +27 -0
- package/corpus/templates/tasks/actions/bulk-update-tasks.ts +35 -0
- package/corpus/templates/tasks/actions/create-custom-field.ts +22 -0
- package/corpus/templates/tasks/actions/create-inbox-item.ts +30 -0
- package/corpus/templates/tasks/actions/create-task.ts +33 -0
- package/corpus/templates/tasks/actions/delete-custom-field.ts +19 -0
- package/corpus/templates/tasks/actions/delete-inbox-item.ts +17 -0
- package/corpus/templates/tasks/actions/delete-task.ts +17 -0
- package/corpus/templates/tasks/actions/lib/boolean-query-param.ts +30 -0
- package/corpus/templates/tasks/actions/list-custom-fields.ts +18 -0
- package/corpus/templates/tasks/actions/list-inbox-items.ts +16 -0
- package/corpus/templates/tasks/actions/list-tasks.ts +52 -0
- package/corpus/templates/tasks/actions/list-visible-task-fields.ts +18 -0
- package/corpus/templates/tasks/actions/mark-inbox-item-ready.ts +31 -0
- package/corpus/templates/tasks/actions/navigate.ts +51 -0
- package/corpus/templates/tasks/actions/reorder-custom-fields.ts +27 -0
- package/corpus/templates/tasks/actions/reorder-inbox-items.ts +24 -0
- package/corpus/templates/tasks/actions/reorder-tasks.ts +29 -0
- package/corpus/templates/tasks/actions/run.ts +2 -0
- package/corpus/templates/tasks/actions/update-custom-field.ts +33 -0
- package/corpus/templates/tasks/actions/update-inbox-item.ts +24 -0
- package/corpus/templates/tasks/actions/update-task.ts +68 -0
- package/corpus/templates/tasks/actions/update-visible-task-fields.ts +27 -0
- package/corpus/templates/tasks/actions/view-screen-helpers.ts +68 -0
- package/corpus/templates/tasks/actions/view-screen.ts +207 -0
- package/corpus/templates/tasks/app/components/custom-fields/FieldCreateBar.tsx +121 -0
- package/corpus/templates/tasks/app/components/custom-fields/FieldListRow.tsx +116 -0
- package/corpus/templates/tasks/app/components/custom-fields/FieldsList.tsx +225 -0
- package/corpus/templates/tasks/app/components/custom-fields/FieldsListSkeleton.tsx +18 -0
- package/corpus/templates/tasks/app/components/custom-fields/FieldsPage.tsx +42 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/FieldEditorSidebar.tsx +69 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/FieldTitleSection.tsx +32 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/config/CurrencyConfigControl.tsx +49 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/config/FieldConfigControl.tsx +56 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/config/NumberConfigControl.tsx +52 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/config/PercentConfigControl.tsx +30 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/config/SelectConfigControl.tsx +135 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/config/select-colors.ts +23 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/config/utils.ts +52 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/types.ts +7 -0
- package/corpus/templates/tasks/app/components/dnd/SortableItem.tsx +72 -0
- package/corpus/templates/tasks/app/components/dnd/SortableList.tsx +136 -0
- package/corpus/templates/tasks/app/components/dnd/reorder-moving-items.ts +160 -0
- package/corpus/templates/tasks/app/components/dnd/sortable-drag-props.ts +60 -0
- package/corpus/templates/tasks/app/components/inbox/InboxList.tsx +222 -0
- package/corpus/templates/tasks/app/components/inbox/InboxListPage.tsx +39 -0
- package/corpus/templates/tasks/app/components/inbox/InboxListRow.tsx +122 -0
- package/corpus/templates/tasks/app/components/layout/Header.tsx +55 -0
- package/corpus/templates/tasks/app/components/layout/HeaderActions.tsx +84 -0
- package/corpus/templates/tasks/app/components/layout/Layout.tsx +134 -0
- package/corpus/templates/tasks/app/components/layout/Sidebar.tsx +211 -0
- package/corpus/templates/tasks/app/components/shared/AddListItemInput.tsx +57 -0
- package/corpus/templates/tasks/app/components/shared/AlertDialog.tsx +53 -0
- package/corpus/templates/tasks/app/components/shared/BulkDeleteDialog.tsx +76 -0
- package/corpus/templates/tasks/app/components/shared/ChipSelect.tsx +240 -0
- package/corpus/templates/tasks/app/components/shared/DeleteItemDialog.tsx +40 -0
- package/corpus/templates/tasks/app/components/shared/InlineEditable.tsx +166 -0
- package/corpus/templates/tasks/app/components/shared/ListEmptyState.tsx +13 -0
- package/corpus/templates/tasks/app/components/shared/ListErrorMessage.tsx +15 -0
- package/corpus/templates/tasks/app/components/shared/ListViewHeader.tsx +75 -0
- package/corpus/templates/tasks/app/components/shared/PageHeader.tsx +25 -0
- package/corpus/templates/tasks/app/components/shared/RowActionsMenu.tsx +42 -0
- package/corpus/templates/tasks/app/components/shared/SidePanel.tsx +99 -0
- package/corpus/templates/tasks/app/components/shared/dnd/ListRowPreview.tsx +37 -0
- package/corpus/templates/tasks/app/components/shared/list/List.tsx +63 -0
- package/corpus/templates/tasks/app/components/shared/list/ListRow.tsx +159 -0
- package/corpus/templates/tasks/app/components/shared/list/ListRowDragHandle.tsx +52 -0
- package/corpus/templates/tasks/app/components/shared/list/ListSkeletonRows.tsx +11 -0
- package/corpus/templates/tasks/app/components/shared/list/SortableListItemShell.tsx +32 -0
- package/corpus/templates/tasks/app/components/shared/list/types.ts +1 -0
- package/corpus/templates/tasks/app/components/shared/selection/ListSelectionBar.tsx +158 -0
- package/corpus/templates/tasks/app/components/shared/selection/ListSelectionHeaderToggle.tsx +28 -0
- package/corpus/templates/tasks/app/components/shared/selection/ListSelectionToolbar.tsx +81 -0
- package/corpus/templates/tasks/app/components/shared/selection/get-list-row-selection-ui.ts +41 -0
- package/corpus/templates/tasks/app/components/shared/selection/use-list-selection.ts +196 -0
- package/corpus/templates/tasks/app/components/tasks/TaskList.tsx +333 -0
- package/corpus/templates/tasks/app/components/tasks/TaskListHeaderRow.tsx +46 -0
- package/corpus/templates/tasks/app/components/tasks/TaskListPage.tsx +115 -0
- package/corpus/templates/tasks/app/components/tasks/TaskListRow.css +49 -0
- package/corpus/templates/tasks/app/components/tasks/TaskListRow.tsx +307 -0
- package/corpus/templates/tasks/app/components/tasks/fields/TaskFieldsSidebar.tsx +102 -0
- package/corpus/templates/tasks/app/components/tasks/fields/TaskTitleSection.tsx +27 -0
- package/corpus/templates/tasks/app/components/tasks/fields/controls/DateValueControl.tsx +21 -0
- package/corpus/templates/tasks/app/components/tasks/fields/controls/FieldValueControl.tsx +76 -0
- package/corpus/templates/tasks/app/components/tasks/fields/controls/MultiSelectValueControl.tsx +52 -0
- package/corpus/templates/tasks/app/components/tasks/fields/controls/NumberValueControl.tsx +56 -0
- package/corpus/templates/tasks/app/components/tasks/fields/controls/RichTextValueControl.tsx +115 -0
- package/corpus/templates/tasks/app/components/tasks/fields/controls/SingleSelectValueControl.tsx +61 -0
- package/corpus/templates/tasks/app/components/tasks/fields/controls/TextValueControl.tsx +20 -0
- package/corpus/templates/tasks/app/components/tasks/use-task-row-completion-animation.ts +181 -0
- package/corpus/templates/tasks/app/components/ui/accordion.tsx +56 -0
- package/corpus/templates/tasks/app/components/ui/alert-dialog.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/alert.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/aspect-ratio.tsx +5 -0
- package/corpus/templates/tasks/app/components/ui/avatar.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/badge.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/breadcrumb.tsx +115 -0
- package/corpus/templates/tasks/app/components/ui/button.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/calendar.tsx +70 -0
- package/corpus/templates/tasks/app/components/ui/card.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/carousel.tsx +260 -0
- package/corpus/templates/tasks/app/components/ui/chart.tsx +379 -0
- package/corpus/templates/tasks/app/components/ui/checkbox.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/collapsible.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/command.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/context-menu.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/dialog.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/drawer.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/dropdown-menu.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/form.tsx +177 -0
- package/corpus/templates/tasks/app/components/ui/hover-card.tsx +27 -0
- package/corpus/templates/tasks/app/components/ui/input-otp.tsx +69 -0
- package/corpus/templates/tasks/app/components/ui/input.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/label.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/menubar.tsx +254 -0
- package/corpus/templates/tasks/app/components/ui/navigation-menu.tsx +128 -0
- package/corpus/templates/tasks/app/components/ui/pagination.tsx +121 -0
- package/corpus/templates/tasks/app/components/ui/popover.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/progress.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/radio-group.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/resizable.tsx +43 -0
- package/corpus/templates/tasks/app/components/ui/scroll-area.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/select.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/separator.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/sheet.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/sidebar.tsx +782 -0
- package/corpus/templates/tasks/app/components/ui/skeleton.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/slider.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/sonner.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/spinner.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/switch.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/table.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/tabs.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/textarea.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/toast.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/toaster.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/toggle-group.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/toggle.tsx +43 -0
- package/corpus/templates/tasks/app/components/ui/tooltip.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/use-toast.ts +3 -0
- package/corpus/templates/tasks/app/entry.client.tsx +19 -0
- package/corpus/templates/tasks/app/entry.server.tsx +10 -0
- package/corpus/templates/tasks/app/global.css +93 -0
- package/corpus/templates/tasks/app/hooks/cache.ts +31 -0
- package/corpus/templates/tasks/app/hooks/use-custom-fields.ts +93 -0
- package/corpus/templates/tasks/app/hooks/use-inbox-items.ts +196 -0
- package/corpus/templates/tasks/app/hooks/use-mobile.tsx +21 -0
- package/corpus/templates/tasks/app/hooks/use-navigation-state.ts +40 -0
- package/corpus/templates/tasks/app/hooks/use-tasks.ts +276 -0
- package/corpus/templates/tasks/app/hooks/use-toast.ts +188 -0
- package/corpus/templates/tasks/app/hooks/use-visible-task-fields.ts +140 -0
- package/corpus/templates/tasks/app/lib/app-config.ts +11 -0
- package/corpus/templates/tasks/app/lib/tab-id.ts +1 -0
- package/corpus/templates/tasks/app/lib/utils.ts +1 -0
- package/corpus/templates/tasks/app/root.tsx +130 -0
- package/corpus/templates/tasks/app/routes/_index.tsx +22 -0
- package/corpus/templates/tasks/app/routes/extensions.$id.$slug.tsx +2 -0
- package/corpus/templates/tasks/app/routes/extensions.$id.tsx +11 -0
- package/corpus/templates/tasks/app/routes/extensions._index.tsx +11 -0
- package/corpus/templates/tasks/app/routes/extensions.tsx +5 -0
- package/corpus/templates/tasks/app/routes/fields.tsx +16 -0
- package/corpus/templates/tasks/app/routes/inbox.tsx +16 -0
- package/corpus/templates/tasks/app/routes/tasks.tsx +17 -0
- package/corpus/templates/tasks/app/routes/team.tsx +17 -0
- package/corpus/templates/tasks/app/routes.ts +4 -0
- package/corpus/templates/tasks/app/vite-env.d.ts +6 -0
- package/corpus/templates/tasks/components.json +20 -0
- package/corpus/templates/tasks/data/sync-config.json +1 -0
- package/corpus/templates/tasks/docs/features/README.md +81 -0
- package/corpus/templates/tasks/docs/features/f1-tasks.mdx +67 -0
- package/corpus/templates/tasks/docs/features/f2-custom-fields.mdx +68 -0
- package/corpus/templates/tasks/docs/features/f3-projects.mdx +33 -0
- package/corpus/templates/tasks/docs/features/f4-inbox.mdx +55 -0
- package/corpus/templates/tasks/docs/features/f5-views.mdx +65 -0
- package/corpus/templates/tasks/docs/features/f6-search.mdx +43 -0
- package/corpus/templates/tasks/docs/features/f7-first-run.mdx +66 -0
- package/corpus/templates/tasks/docs/features/f8-chat.mdx +120 -0
- package/corpus/templates/tasks/e2e/global-setup.ts +42 -0
- package/corpus/templates/tasks/e2e/helpers/inbox.ts +71 -0
- package/corpus/templates/tasks/e2e/helpers/tasks.ts +99 -0
- package/corpus/templates/tasks/learnings.defaults.md +5 -0
- package/corpus/templates/tasks/netlify.toml +10 -0
- package/corpus/templates/tasks/package.json +104 -0
- package/corpus/templates/tasks/playwright.config.ts +34 -0
- package/corpus/templates/tasks/public/agent-native-icon-dark.svg +10 -0
- package/corpus/templates/tasks/public/agent-native-icon-light.svg +10 -0
- package/corpus/templates/tasks/public/agent-native-logo-dark.svg +21 -0
- package/corpus/templates/tasks/public/agent-native-logo-light.svg +21 -0
- package/corpus/templates/tasks/public/favicon.svg +1 -0
- package/corpus/templates/tasks/public/icon-180.svg +1 -0
- package/corpus/templates/tasks/public/icon-192.svg +1 -0
- package/corpus/templates/tasks/public/icon-512.svg +1 -0
- package/corpus/templates/tasks/public/manifest.json +21 -0
- package/corpus/templates/tasks/react-router.config.ts +7 -0
- package/corpus/templates/tasks/server/custom-fields/normalize.ts +163 -0
- package/corpus/templates/tasks/server/custom-fields/parse.ts +146 -0
- package/corpus/templates/tasks/server/custom-fields/schema.ts +147 -0
- package/corpus/templates/tasks/server/custom-fields/store.ts +425 -0
- package/corpus/templates/tasks/server/custom-fields/task-fields.ts +104 -0
- package/corpus/templates/tasks/server/custom-fields/types.ts +98 -0
- package/corpus/templates/tasks/server/custom-fields/validate.ts +210 -0
- package/corpus/templates/tasks/server/custom-fields/values/store.ts +386 -0
- package/corpus/templates/tasks/server/db/bulk-write.ts +30 -0
- package/corpus/templates/tasks/server/db/index.ts +5 -0
- package/corpus/templates/tasks/server/db/record-utils.ts +7 -0
- package/corpus/templates/tasks/server/db/schema.ts +67 -0
- package/corpus/templates/tasks/server/db/test-tasks-table.ts +76 -0
- package/corpus/templates/tasks/server/db/transaction.ts +6 -0
- package/corpus/templates/tasks/server/errors.ts +31 -0
- package/corpus/templates/tasks/server/inbox/store.ts +216 -0
- package/corpus/templates/tasks/server/middleware/auth.ts +15 -0
- package/corpus/templates/tasks/server/plugins/agent-chat.ts +46 -0
- package/corpus/templates/tasks/server/plugins/auth.ts +15 -0
- package/corpus/templates/tasks/server/plugins/db.ts +90 -0
- package/corpus/templates/tasks/server/routes/[...page].get.ts +5 -0
- package/corpus/templates/tasks/server/stored-items/store.ts +548 -0
- package/corpus/templates/tasks/server/tasks/store.ts +306 -0
- package/corpus/templates/tasks/server/user-config/store.ts +138 -0
- package/corpus/templates/tasks/shared/app-state-tabs.ts +15 -0
- package/corpus/templates/tasks/shared/boolean-param.ts +22 -0
- package/corpus/templates/tasks/shared/bulk-limits.ts +7 -0
- package/corpus/templates/tasks/shared/list-screen-snapshot.ts +90 -0
- package/corpus/templates/tasks/shared/navigation.ts +104 -0
- package/corpus/templates/tasks/shared/visible-task-fields.ts +2 -0
- package/corpus/templates/tasks/ssr-entry.ts +15 -0
- package/corpus/templates/tasks/tsconfig.json +24 -0
- package/corpus/templates/tasks/vite.config.ts +19 -0
- package/corpus/templates/tasks/vitest.config.ts +8 -0
- package/dist/cli/templates-meta.d.ts.map +1 -1
- package/dist/cli/templates-meta.js +13 -0
- package/dist/cli/templates-meta.js.map +1 -1
- package/dist/client/agent-page/AgentTabsPage.js +1 -1
- package/dist/client/agent-page/AgentTabsPage.js.map +1 -1
- package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
- package/dist/client/org/OrgSwitcher.js +2 -1
- package/dist/client/org/OrgSwitcher.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/notifications/routes.d.ts +2 -2
- package/dist/observability/routes.d.ts +5 -5
- package/dist/resources/handlers.d.ts +3 -3
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# /efficient-frontier
|
|
2
|
+
|
|
3
|
+
Apply the same orchestration as `/efficient-fable` to any high-cost frontier
|
|
4
|
+
model.
|
|
5
|
+
|
|
6
|
+
`/efficient-frontier` is the model-agnostic version of `/efficient-fable`. It
|
|
7
|
+
works for any high-cost model where the expensive part should be reserved for
|
|
8
|
+
judgment, synthesis, integration, and final quality.
|
|
9
|
+
|
|
10
|
+
## What It Does
|
|
11
|
+
|
|
12
|
+
- Separates frontier-only decisions from delegable work.
|
|
13
|
+
- Pushes research scans, docs extraction, log reduction, browser checks,
|
|
14
|
+
mechanical edits, and narrow coding tasks to cheaper agents.
|
|
15
|
+
- Asks delegated agents for compact evidence instead of broad essays.
|
|
16
|
+
- Uses self-contained handoff packets with scope, verification, and stop
|
|
17
|
+
conditions.
|
|
18
|
+
- Treats delegated findings as leads that the frontier model verifies before
|
|
19
|
+
relying on them.
|
|
20
|
+
- Keeps final integration and risk assessment with the frontier model.
|
|
21
|
+
|
|
22
|
+
## When To Use It
|
|
23
|
+
|
|
24
|
+
Use it for large or ambiguous work where independent slices can run in parallel:
|
|
25
|
+
repo exploration, refactors, multi-file implementation, test-failure clustering,
|
|
26
|
+
or PR-quality validation.
|
|
27
|
+
|
|
28
|
+
Skip it when the work is tiny, when edits are all in the same fragile files, or
|
|
29
|
+
when the next step depends on one immediate blocker you need to inspect yourself.
|
|
30
|
+
|
|
31
|
+
## Testing Guidance
|
|
32
|
+
|
|
33
|
+
The frontier model should choose the validation plan. Cheaper agents can run
|
|
34
|
+
unit checks, browser flows, screenshots, and log reduction, then return exact
|
|
35
|
+
commands, failures, likely causes, and the signal quality.
|
|
36
|
+
|
|
37
|
+
## Delegation Quality
|
|
38
|
+
|
|
39
|
+
Give each delegated agent enough context to succeed without the full chat:
|
|
40
|
+
objective, repo path, in-scope files, out-of-scope areas, expected evidence,
|
|
41
|
+
verification commands, and stop conditions.
|
|
42
|
+
|
|
43
|
+
The frontier model should reopen important cited files, review high-risk diffs,
|
|
44
|
+
and spot-check verification before presenting the final answer.
|
|
45
|
+
|
|
46
|
+
## Install
|
|
47
|
+
|
|
48
|
+
```sh
|
|
49
|
+
npx @agent-native/skills@latest add --skill efficient-frontier --update-instructions
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Use `--update-instructions` when you want the orchestration convention added to
|
|
53
|
+
project instructions.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: efficient-frontier
|
|
3
|
+
description: Apply the same orchestration as `/efficient-fable` to any high-cost frontier model: delegate research, coding, and testing to cheaper subagents while keeping planning, synthesis, and final review with the expensive model.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Efficient Frontier
|
|
7
|
+
|
|
8
|
+
Use the expensive frontier model where its marginal judgment matters. Push
|
|
9
|
+
repeatable, bounded, or token-heavy work to cheaper/faster subagents.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
1. Identify the frontier-only decisions: architecture, prioritization,
|
|
14
|
+
ambiguity resolution, risk, synthesis, and final review.
|
|
15
|
+
2. Identify delegable work: research scans, repository inventory, search, docs
|
|
16
|
+
extraction, browser/testing passes, log reduction, test failure clustering,
|
|
17
|
+
narrow coding, and mechanical edits.
|
|
18
|
+
3. Spawn parallel subagents for independent slices with clear ownership,
|
|
19
|
+
bounded scope, verification gates, and expected evidence.
|
|
20
|
+
4. Require compact returns: findings, changed files, commands run, residual
|
|
21
|
+
risk, stop conditions hit, and anything the frontier model must decide.
|
|
22
|
+
5. Integrate and review centrally before presenting the result.
|
|
23
|
+
|
|
24
|
+
## Handoff Packets
|
|
25
|
+
|
|
26
|
+
Write delegated prompts as self-contained packets. Assume the receiving agent
|
|
27
|
+
has not seen the conversation. Include the repo path, objective, scope,
|
|
28
|
+
out-of-scope areas, relevant files or search targets, expected return format,
|
|
29
|
+
verification commands, and stop conditions.
|
|
30
|
+
|
|
31
|
+
Useful stop conditions:
|
|
32
|
+
|
|
33
|
+
- The live code does not match the assumption in the handoff.
|
|
34
|
+
- A verification command fails twice after a reasonable fix or retry.
|
|
35
|
+
- The work appears to require files outside the assigned scope.
|
|
36
|
+
- The agent cannot produce concrete evidence for its claim.
|
|
37
|
+
|
|
38
|
+
## Review Loop
|
|
39
|
+
|
|
40
|
+
Treat delegated output as evidence to inspect, not a verdict to forward. Reopen
|
|
41
|
+
important cited files, skim high-risk diffs, and rerun or spot-check the
|
|
42
|
+
verification that matters before claiming completion. If delegated agents
|
|
43
|
+
disagree, resolve the disagreement at the frontier-model layer.
|
|
44
|
+
|
|
45
|
+
## Common Scenarios
|
|
46
|
+
|
|
47
|
+
Use these as soft suggestions:
|
|
48
|
+
|
|
49
|
+
- Research: delegate broad repo scans, docs extraction, and source comparison;
|
|
50
|
+
the frontier model keeps the judgment about what matters.
|
|
51
|
+
- Coding: delegate bounded patches, refactors, or mechanical edits when file
|
|
52
|
+
ownership is clear; integrate and review centrally.
|
|
53
|
+
- Testing: let the frontier model choose the validation strategy and scripts,
|
|
54
|
+
then use cheaper agents to run unit checks, browser flows, screenshots, and
|
|
55
|
+
log reduction. Ask them to return exact commands, failures, likely causes, and
|
|
56
|
+
whether the signal looks flaky, environmental, or product-relevant.
|
|
57
|
+
- Debugging: send independent agents after separate theories, logs, or repro
|
|
58
|
+
paths; keep the final diagnosis with the frontier model.
|
|
59
|
+
|
|
60
|
+
## Guardrails
|
|
61
|
+
|
|
62
|
+
- Do not delegate the immediate blocker if your next step depends on it.
|
|
63
|
+
- Do not ask multiple agents to edit the same files at the same time.
|
|
64
|
+
- Do not trust subagent conclusions blindly when the risk is high; inspect the
|
|
65
|
+
important evidence yourself.
|
|
66
|
+
- Do not claim universal savings. The pattern works best when exploration and
|
|
67
|
+
implementation, testing, or research can be parallelized.
|
|
68
|
+
|
|
69
|
+
## Default Framing
|
|
70
|
+
|
|
71
|
+
"I will use the frontier model as the orchestrator and reviewer, and use
|
|
72
|
+
cheaper subagents for token-heavy research, coding, or testing so the expensive
|
|
73
|
+
tokens go to judgment, synthesis, and final quality."
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontend-design
|
|
3
|
+
description: >-
|
|
4
|
+
Create distinctive, production-grade frontend interfaces with high design
|
|
5
|
+
quality. Use when building web components, pages, artifacts, posters, or
|
|
6
|
+
applications (websites, landing pages, dashboards, React components,
|
|
7
|
+
HTML/CSS layouts, or when styling/beautifying any web UI). Generates
|
|
8
|
+
creative, polished UI that avoids generic AI aesthetics.
|
|
9
|
+
scope: dev
|
|
10
|
+
license: Complete terms in LICENSE.txt
|
|
11
|
+
source: https://github.com/anthropics/skills/blob/main/skills/frontend-design/SKILL.md
|
|
12
|
+
metadata:
|
|
13
|
+
internal: true
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Frontend Design
|
|
17
|
+
|
|
18
|
+
This skill guides creation of distinctive, production-grade frontend interfaces. Implement real working code with strong product judgment, excellent accessibility, and a clear visual point of view.
|
|
19
|
+
|
|
20
|
+
The user may ask for a component, page, full app, dashboard, marketing surface, or restyle. Before coding, understand the audience and pick a direction that fits the product instead of defaulting to generic SaaS polish.
|
|
21
|
+
|
|
22
|
+
## Design Thinking
|
|
23
|
+
|
|
24
|
+
Before coding, decide:
|
|
25
|
+
|
|
26
|
+
- **Purpose**: What workflow does this surface make easier? What is the primary action?
|
|
27
|
+
- **Audience**: Who will use it repeatedly, and what should feel fast, calm, playful, premium, editorial, technical, or utilitarian?
|
|
28
|
+
- **Tone**: Choose a concrete aesthetic direction: refined minimal, dense operations console, editorial, playful, industrial, warm handmade, high-contrast data tool, etc.
|
|
29
|
+
- **Information hierarchy**: What must be visible in the first five seconds, and what should be progressively disclosed?
|
|
30
|
+
- **Differentiation**: What makes this feel designed for this exact domain?
|
|
31
|
+
|
|
32
|
+
Then implement working code that is cohesive, accessible, responsive, and polished in small details: typography, spacing, copy, motion, empty states, loading states, focus states, and error states.
|
|
33
|
+
|
|
34
|
+
## Minimalism And Progressive Disclosure
|
|
35
|
+
|
|
36
|
+
Default to Apple/Linear-level restraint: make the primary workflow obvious, then remove everything that does not help that workflow right now. A polished UI often has fewer visible controls, fewer borders, fewer labels, and fewer explanatory surfaces than the first reasonable implementation.
|
|
37
|
+
|
|
38
|
+
- **Start by subtracting**: Before adding a visible control, banner, toolbar row, card, or explanatory block, ask what can be removed, merged, renamed, or moved into an existing affordance.
|
|
39
|
+
- **One primary action**: Each surface should have one dominant next action. Secondary actions belong in menus, popovers, command palettes, disclosure rows, or contextual hover/focus states unless they are used constantly.
|
|
40
|
+
- **Progressively disclose rare work**: Advanced options, diagnostics, metadata, settings, import/export, destructive actions, and inspection tools should stay tucked away until requested. Prefer small icon triggers with tooltips, popovers, drawers, or detail panels over permanent chrome.
|
|
41
|
+
- **Keep chrome quiet**: Avoid new always-visible bars, badges, callouts, helper text, and counters unless they prevent mistakes or are central to repeated use. Status can often be a dot, ring, muted count, or tooltip.
|
|
42
|
+
- **Favor content over containers**: Do not wrap every section in a card. Use whitespace, alignment, typography, dividers, and full-width bands before adding boxes.
|
|
43
|
+
- **Design for repeated use**: Production app UI should feel calm after the hundredth use. If a control shouts, animates, explains itself, or occupies a full row for an occasional action, hide or compress it.
|
|
44
|
+
- **Make absence intentional**: Empty states should be sparse and action-oriented. Do not fill blank space with marketing copy, decorative art, or lists of features just because the screen feels empty.
|
|
45
|
+
- **Use familiar primitives**: Icon buttons need clear tooltips. Menus, popovers, tabs, switches, and segmented controls should carry complexity instead of exposing every option at once.
|
|
46
|
+
|
|
47
|
+
## Aesthetic Guidelines
|
|
48
|
+
|
|
49
|
+
- **Typography**: Use the product's existing type system first. For net-new public pages, choose characterful but readable type and keep sizing appropriate to the surface.
|
|
50
|
+
- **Color and theme**: Use semantic tokens and CSS variables. Avoid one-note palettes and default purple/blue gradients unless the brand demands them.
|
|
51
|
+
- **Motion**: Prefer purposeful transitions and small state changes. Use CSS transitions/keyframes unless the app already uses a motion library. Never `transition-all` — list the properties that actually change (e.g. `transition-[opacity,transform]`). Use the shared easing tokens defined in `packages/core/src/styles/agent-native.css` instead of hand-typing curves: `var(--ease-drawer)` (260ms, drawers/app chrome), `var(--ease-collapse)` (200ms, expand/collapse), `var(--ease-out-strong)` (snappy entrances) — in Tailwind, `ease-[var(--ease-collapse)]`. Enter/exit with ease-out, never `ease-in`. Overlays that zoom in must set the Radix origin var (e.g. `origin-[--radix-popover-content-transform-origin]`). Animate `transform`/`opacity`, not width/height/padding/box-shadow. Gate looping or large-movement animations with `motion-reduce:`. Command palettes and keyboard-triggered actions get no animation.
|
|
52
|
+
- **Composition**: Match the workflow. Operational apps should be dense and scannable; marketing or portfolio pages can be more immersive.
|
|
53
|
+
- **Visual assets**: Websites, games, and object-focused pages need real or generated media when images help users understand the subject.
|
|
54
|
+
- **Responsive fit**: Text must not overflow buttons, cards, tabs, sidebars, or fixed-format tools. Use stable dimensions for boards, grids, toolbars, and counters.
|
|
55
|
+
|
|
56
|
+
**Beat convergence, not just defaults.** You sample toward the "on-distribution" center, so naming what to avoid is not enough: every "don't" needs a "do", or you converge on the next safe option (ban Inter and you reach for Roboto; ban purple gradients and you reach for Space Grotesk + a teal accent on every screen). Commit to one named direction, pair any reference with the reason it fits ("Linear: the quiet confidence of its spacing" — a bare "Linear" collapses back to the average), and match implementation effort to the vision: maximalist wants elaborate motion and effects, minimal wants restraint and precise spacing. When building on an existing app, inspect its tokens/type/components first and treat any drift back to a default as a missing token to pin, not something to re-prompt.
|
|
57
|
+
|
|
58
|
+
## Agent-Native UI Rules
|
|
59
|
+
|
|
60
|
+
- Agent-native apps use React, Vite, Tailwind CSS, shadcn/ui, and `@tabler/icons-react`.
|
|
61
|
+
- **Use shadcn/ui primitives for standard UI**: `DropdownMenu`, `Popover`, `Dialog`, `AlertDialog`, `Sheet`, `Tabs`, `Tooltip`, `Select`, `Command`, `Sidebar`, `Table`, `Card`, `Badge`, `Skeleton`, and related primitives.
|
|
62
|
+
- **When touching shadcn/ui components, also read `shadcn-ui` if it exists.** That skill covers `components.json`, CLI docs, component composition, theming, and registry workflows.
|
|
63
|
+
- Check `app/components/ui/` before importing a shadcn component. If a primitive is missing, add it from the app root with `pnpm dlx shadcn@latest add <component>`, then review the generated file.
|
|
64
|
+
- Do not build custom dropdowns, menus, popovers, modals, or confirmations with manual absolute positioning and click-outside effects.
|
|
65
|
+
- Never use browser dialogs (`window.alert`, `window.confirm`, `window.prompt`). Use `AlertDialog`, `Dialog`, or app-specific confirmation UI.
|
|
66
|
+
- Use Tabler icons for all first-party UI icons. Do not add Lucide, Heroicons, inline SVG icon sets, or emoji icons.
|
|
67
|
+
- Use `useActionQuery` and `useActionMutation` from `@agent-native/core/client` for action-backed UI. Standard CRUD should go through actions, not custom `/api/` routes.
|
|
68
|
+
- Keep UI optimistic where possible: update cache and navigation immediately, then reconcile or roll back on mutation result.
|
|
69
|
+
- Custom styles belong in Tailwind classes, component CSS, or the existing global CSS theme file; avoid inline styles.
|
|
70
|
+
|
|
71
|
+
## shadcn/ui Design Rules
|
|
72
|
+
|
|
73
|
+
- Use built-in component variants first (`variant`, `size`) before overriding classes.
|
|
74
|
+
- Use semantic tokens (`bg-background`, `text-muted-foreground`, `border-border`, `bg-primary`) instead of raw Tailwind colors for app chrome and reusable components.
|
|
75
|
+
- Use `gap-*` in flex/grid layouts instead of `space-x-*` or `space-y-*`.
|
|
76
|
+
- Use `size-*` when width and height are equal, and `truncate` instead of spelling out overflow/ellipsis/nowrap.
|
|
77
|
+
- Use `cn()` from the local utils alias for conditional classes.
|
|
78
|
+
- Dialog, Sheet, Drawer, and AlertDialog content must have an accessible title. Use `sr-only` only when the visible design already communicates the title.
|
|
79
|
+
- Put menu/list items inside their group primitives: `SelectGroup`, `DropdownMenuGroup`, `CommandGroup`, and equivalents.
|
|
80
|
+
- Use full `Card` composition when the content has a title, description, content, or actions. Do not dump complex cards into a single `CardContent`.
|
|
81
|
+
- Use `ToggleGroup` for small option sets, `Switch` for binary settings, `Checkbox` for multi-select, `RadioGroup` for one-of-many, and `Slider`/inputs for numeric values.
|
|
82
|
+
- For forms, prefer the app's existing shadcn form pattern. If newer `Field`, `FieldGroup`, or `InputGroup` primitives are installed or appropriate to add, use them instead of raw layout divs.
|
|
83
|
+
- Loading states use `Skeleton`, `Progress`, `Spinner`, or the app's existing loading primitives. Empty states should have one clear next action.
|
|
84
|
+
|
|
85
|
+
## Anti-Patterns
|
|
86
|
+
|
|
87
|
+
Avoid:
|
|
88
|
+
|
|
89
|
+
- Generic AI aesthetics: purple gradients, glassy cards everywhere, vague sparkle language, decorative blobs, and context-free hero sections.
|
|
90
|
+
- Custom reimplementations of shadcn primitives.
|
|
91
|
+
- Raw color overrides on shared components when semantic tokens or variants would work.
|
|
92
|
+
- New always-visible controls for rare actions. Prefer menus, popovers, sheets, tabs, collapsibles, or advanced sections.
|
|
93
|
+
- Full-width banners, persistent helper rows, decorative cards, or explanatory chrome for status that could be a compact affordance.
|
|
94
|
+
- Treating progressive disclosure as optional. If a control is not part of the main daily workflow, hide it until context, hover, focus, or explicit user intent makes it relevant.
|
|
95
|
+
- UI cards nested inside other cards.
|
|
96
|
+
- Text or icons that resize or shift fixed-format UI on hover/loading.
|
|
97
|
+
|
|
98
|
+
## Verification
|
|
99
|
+
|
|
100
|
+
For substantial frontend work:
|
|
101
|
+
|
|
102
|
+
1. Run the relevant formatter/checks.
|
|
103
|
+
2. Start the dev server when the app needs one.
|
|
104
|
+
3. Verify with browser screenshots at desktop and mobile widths.
|
|
105
|
+
4. Check interactive states: hover, focus, loading, empty, error, and destructive confirmations.
|
|
106
|
+
|
|
107
|
+
## Related Skills
|
|
108
|
+
|
|
109
|
+
- **shadcn-ui** — shadcn CLI, component docs, composition rules, theming, and registries
|
|
110
|
+
- **self-modifying-code** — The agent can edit source code to apply design changes
|
|
111
|
+
- **storing-data** — All data lives in SQL; use actions for data access
|
|
112
|
+
- **actions** — `useActionQuery`/`useActionMutation` hooks for frontend data fetching
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# /plan-arbiter
|
|
2
|
+
|
|
3
|
+
Compare competing agent plans and choose one executable direction.
|
|
4
|
+
|
|
5
|
+
`/plan-arbiter` is for workflows where two or more agents, often Codex and
|
|
6
|
+
Claude Code, each produce a plan and then need a judge to cross-review,
|
|
7
|
+
reconcile, and pick what should actually be implemented.
|
|
8
|
+
|
|
9
|
+
## What It Does
|
|
10
|
+
|
|
11
|
+
- Collects plans from pasted text, files, sessions, transcripts, PRs, comments,
|
|
12
|
+
or plan links.
|
|
13
|
+
- Normalizes each plan into assumptions, scope, files, sequence, and
|
|
14
|
+
verification.
|
|
15
|
+
- Reviews plans against each other and against the real task context.
|
|
16
|
+
- Chooses a winner, creates a hybrid, or sends the plans back for revision.
|
|
17
|
+
- Produces one implementation handoff with rejected alternatives and validation
|
|
18
|
+
gates.
|
|
19
|
+
|
|
20
|
+
## When To Use It
|
|
21
|
+
|
|
22
|
+
Use it when a user says things like:
|
|
23
|
+
|
|
24
|
+
- "Have Codex and Claude each make a plan, then choose one."
|
|
25
|
+
- "Review these two plans against each other."
|
|
26
|
+
- "Merge the best parts and tell me which agent should execute."
|
|
27
|
+
- "Pick the cheaper execution path if quality is comparable."
|
|
28
|
+
|
|
29
|
+
Skip it when there is only one straightforward plan and no meaningful
|
|
30
|
+
alternative to evaluate.
|
|
31
|
+
|
|
32
|
+
## Output
|
|
33
|
+
|
|
34
|
+
The skill returns a short decision memo: decision, why, execution plan, borrowed
|
|
35
|
+
pieces, rejected ideas, verification, and executor recommendation.
|
|
36
|
+
|
|
37
|
+
## Install
|
|
38
|
+
|
|
39
|
+
```sh
|
|
40
|
+
npx @agent-native/skills@latest add --skill plan-arbiter
|
|
41
|
+
```
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-arbiter
|
|
3
|
+
description: Use when asked to compare, cross-review, merge, judge, choose, or arbitrate competing plans from multiple agents such as Codex and Claude Code; when given two or more proposed plans, session IDs, transcripts, plan documents, PR descriptions, or pasted strategies; or when the user wants one recommended execution plan after agents review each other's proposals.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Plan Arbiter
|
|
7
|
+
|
|
8
|
+
Turn competing plans into one executable direction. Preserve the best ideas,
|
|
9
|
+
reject weak assumptions, and produce a clear handoff instead of a blended mush.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
1. Collect the source plans.
|
|
14
|
+
2. Normalize each plan into comparable claims.
|
|
15
|
+
3. Cross-review the plans against each other and the real codebase or task
|
|
16
|
+
context.
|
|
17
|
+
4. Choose a winner, merge a better hybrid, or send the plans back for revision.
|
|
18
|
+
5. Produce one execution handoff with verification gates and rejected
|
|
19
|
+
alternatives.
|
|
20
|
+
|
|
21
|
+
Planning is read-only unless the user explicitly asks you to implement after the
|
|
22
|
+
decision.
|
|
23
|
+
|
|
24
|
+
## Collect Source Plans
|
|
25
|
+
|
|
26
|
+
Accept plans as pasted text, local files, session IDs, transcript paths, PRs,
|
|
27
|
+
comments, visual-plan links, or chat history. Resolve the original artifacts
|
|
28
|
+
when possible so you can see prompt changes and assumptions that may be missing
|
|
29
|
+
from a final summary.
|
|
30
|
+
|
|
31
|
+
If a plan is still being written and the user asked you to wait, monitor it
|
|
32
|
+
until it is done or blocked. If a plan cannot be resolved, continue with the
|
|
33
|
+
available plan text and mark the missing source as a risk.
|
|
34
|
+
|
|
35
|
+
## Normalize
|
|
36
|
+
|
|
37
|
+
For each plan, extract:
|
|
38
|
+
|
|
39
|
+
- Objective and scope.
|
|
40
|
+
- Key assumptions and unresolved questions.
|
|
41
|
+
- Proposed files, modules, APIs, data shapes, UI states, or workflows.
|
|
42
|
+
- Implementation sequence.
|
|
43
|
+
- Validation strategy.
|
|
44
|
+
- Rollback or migration concerns.
|
|
45
|
+
- Cost, complexity, and expected executor fit.
|
|
46
|
+
|
|
47
|
+
Do not reward verbosity. Prefer plans that are concrete, grounded in real code,
|
|
48
|
+
and honest about tradeoffs.
|
|
49
|
+
|
|
50
|
+
## Cross-Review
|
|
51
|
+
|
|
52
|
+
Review each plan as if another capable agent wrote it:
|
|
53
|
+
|
|
54
|
+
- Check whether it satisfies the user's actual request.
|
|
55
|
+
- Verify claims against the repo, docs, tests, screenshots, or external systems
|
|
56
|
+
when those are relevant and available.
|
|
57
|
+
- Identify hidden dependencies, missing tests, risky sequencing, vague steps,
|
|
58
|
+
unnecessary scope, and hard-to-reverse decisions.
|
|
59
|
+
- Notice complementary strengths: one plan may have the better architecture
|
|
60
|
+
while another has the better migration or validation path.
|
|
61
|
+
- Separate plan quality from executor preference. A cheaper/faster executor can
|
|
62
|
+
be the right choice for implementation even when another model produced the
|
|
63
|
+
best critique.
|
|
64
|
+
|
|
65
|
+
Use subagents for independent review when the plans are large, the codebase is
|
|
66
|
+
wide, or the decision would benefit from separate technical and product passes.
|
|
67
|
+
|
|
68
|
+
## Decide
|
|
69
|
+
|
|
70
|
+
Choose one of three outcomes:
|
|
71
|
+
|
|
72
|
+
- **Adopt:** pick one plan mostly as written.
|
|
73
|
+
- **Hybrid:** combine specific pieces into a stronger execution plan.
|
|
74
|
+
- **Revise first:** request another planning pass because both plans miss a
|
|
75
|
+
key constraint or depend on an unresolved decision.
|
|
76
|
+
|
|
77
|
+
Use this tie-break order:
|
|
78
|
+
|
|
79
|
+
1. Correctness and fit to the user's request.
|
|
80
|
+
2. Grounding in real files, APIs, tests, data, and UI behavior.
|
|
81
|
+
3. Simpler first implementation that does not block the intended future.
|
|
82
|
+
4. Better validation and rollback story.
|
|
83
|
+
5. Lower token/time cost for execution once quality is acceptable.
|
|
84
|
+
|
|
85
|
+
## Handoff
|
|
86
|
+
|
|
87
|
+
Return a compact decision memo:
|
|
88
|
+
|
|
89
|
+
```md
|
|
90
|
+
Decision
|
|
91
|
+
- Adopt Plan A / Hybrid / Revise first.
|
|
92
|
+
|
|
93
|
+
Why
|
|
94
|
+
- The deciding evidence and tradeoffs.
|
|
95
|
+
|
|
96
|
+
Execution Plan
|
|
97
|
+
- Ordered steps with files or surfaces to touch.
|
|
98
|
+
|
|
99
|
+
Borrowed From Other Plans
|
|
100
|
+
- Useful pieces kept from non-winning plans.
|
|
101
|
+
|
|
102
|
+
Rejected
|
|
103
|
+
- Ideas intentionally not taking, with reasons.
|
|
104
|
+
|
|
105
|
+
Verification
|
|
106
|
+
- Tests, browser checks, screenshots, CI, review, or deploy checks needed.
|
|
107
|
+
|
|
108
|
+
Executor Recommendation
|
|
109
|
+
- Which agent/model should implement and why.
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
When the user already asked for execution and the chosen path is clear, proceed
|
|
113
|
+
with the selected plan after reporting the decision briefly. Otherwise stop at
|
|
114
|
+
the handoff and ask for approval.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# /plow-ahead
|
|
2
|
+
|
|
3
|
+
Keep working through ordinary ambiguity and finish with a clear decision recap.
|
|
4
|
+
|
|
5
|
+
`/plow-ahead` is for explicit autonomy: the user does not want the agent to stop
|
|
6
|
+
for routine clarification questions. The agent should make reasonable
|
|
7
|
+
assumptions, proceed, validate, and explain the decisions it made.
|
|
8
|
+
|
|
9
|
+
## What It Does
|
|
10
|
+
|
|
11
|
+
- Converts ordinary questions into stated assumptions.
|
|
12
|
+
- Keeps momentum through implementation choices, missing context, and normal
|
|
13
|
+
test failures.
|
|
14
|
+
- Stops only for true blockers like credentials, destructive actions,
|
|
15
|
+
irreversible production changes, explicit branch operations, or high-risk
|
|
16
|
+
safety/security uncertainty.
|
|
17
|
+
- Uses conservative, reversible, repo-consistent choices.
|
|
18
|
+
- Ends with a recap of decisions, changes, validation, and residual risk.
|
|
19
|
+
|
|
20
|
+
## When To Use It
|
|
21
|
+
|
|
22
|
+
Use it when a user says things like:
|
|
23
|
+
|
|
24
|
+
- "Use your best judgment and finish."
|
|
25
|
+
- "Do not stop for questions unless truly blocked."
|
|
26
|
+
- "Keep going until done."
|
|
27
|
+
- "I want this done when I come back."
|
|
28
|
+
- "Plow ahead."
|
|
29
|
+
|
|
30
|
+
Skip it when the user is explicitly asking to brainstorm, compare options, or
|
|
31
|
+
wait for approval before implementation.
|
|
32
|
+
|
|
33
|
+
## Final Recap
|
|
34
|
+
|
|
35
|
+
The final response should make the autonomous work easy to audit: goal, key
|
|
36
|
+
decisions, assumptions, files changed, validation run, and remaining risk.
|
|
37
|
+
|
|
38
|
+
## Install
|
|
39
|
+
|
|
40
|
+
```sh
|
|
41
|
+
npx @agent-native/skills@latest add --skill plow-ahead
|
|
42
|
+
```
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plow-ahead
|
|
3
|
+
description: >-
|
|
4
|
+
Use when the user explicitly wants autonomous progress without routine
|
|
5
|
+
clarification stops: "plow ahead", "do not stop", "use your best judgment",
|
|
6
|
+
"keep going until done", "finish while I am away", "do not ask questions
|
|
7
|
+
unless truly blocked", or similar. Convert ordinary ambiguity into stated
|
|
8
|
+
assumptions, proceed through implementation and validation, stop only for true
|
|
9
|
+
blockers, and end with a clear recap of decisions, changes, verification, and
|
|
10
|
+
residual risk.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Plow Ahead
|
|
14
|
+
|
|
15
|
+
Proceed through ordinary ambiguity. Make reasonable assumptions, keep momentum,
|
|
16
|
+
validate as you go, and make the final recap strong enough that the user can see
|
|
17
|
+
what decisions were made while they were away.
|
|
18
|
+
|
|
19
|
+
## Autonomy Contract
|
|
20
|
+
|
|
21
|
+
Treat the user's instruction as permission to continue through normal
|
|
22
|
+
uncertainty:
|
|
23
|
+
|
|
24
|
+
- Turn routine questions into explicit assumptions.
|
|
25
|
+
- Prefer the smallest reversible choice that satisfies the request.
|
|
26
|
+
- Use repo conventions, nearby patterns, local docs, tests, and existing product
|
|
27
|
+
behavior as the decision source.
|
|
28
|
+
- Keep working through normal test failures, missing context, implementation
|
|
29
|
+
choices, and minor ambiguity.
|
|
30
|
+
- Use subagents for independent research, implementation, or verification when
|
|
31
|
+
parallel work can reduce idle time or improve coverage.
|
|
32
|
+
- Do not pause merely to ask which reasonable option the user prefers. Pick one,
|
|
33
|
+
record why, and keep going.
|
|
34
|
+
|
|
35
|
+
## Stop Conditions
|
|
36
|
+
|
|
37
|
+
Stop and ask only for true blockers:
|
|
38
|
+
|
|
39
|
+
- Required credentials, secrets, accounts, paid services, or private data are
|
|
40
|
+
unavailable.
|
|
41
|
+
- The next step would be destructive, irreversible, or production-mutating.
|
|
42
|
+
- The task requires an explicit branch operation, history rewrite, force push, or
|
|
43
|
+
deletion that the user did not directly request.
|
|
44
|
+
- Legal, safety, privacy, or security risk is high and cannot be reduced by a
|
|
45
|
+
conservative local choice.
|
|
46
|
+
- The user explicitly reserved a decision for themselves.
|
|
47
|
+
- A verification failure repeats after reasonable investigation and the next fix
|
|
48
|
+
would be speculative or broad.
|
|
49
|
+
|
|
50
|
+
If blocked, leave a self-contained handoff: what was done, what blocks progress,
|
|
51
|
+
what exact input is needed, and the next command or file to inspect.
|
|
52
|
+
|
|
53
|
+
## Decision Rules
|
|
54
|
+
|
|
55
|
+
When choosing without the user:
|
|
56
|
+
|
|
57
|
+
1. Reuse existing patterns before inventing new ones.
|
|
58
|
+
2. Prefer local, reversible, low-blast-radius changes.
|
|
59
|
+
3. Keep scope tight to the user's request.
|
|
60
|
+
4. Choose correctness and maintainability over cleverness.
|
|
61
|
+
5. Validate with the smallest meaningful test first, then broaden only when the
|
|
62
|
+
risk justifies it.
|
|
63
|
+
6. If two options are close, choose the one that is easier for the user or a
|
|
64
|
+
reviewer to understand later.
|
|
65
|
+
|
|
66
|
+
Maintain a lightweight decision log while working. It can live in notes, the
|
|
67
|
+
plan, or your final answer, but do not create a new repo artifact unless the task
|
|
68
|
+
needs one.
|
|
69
|
+
|
|
70
|
+
## Work Loop
|
|
71
|
+
|
|
72
|
+
1. Restate the goal internally and identify likely acceptance criteria.
|
|
73
|
+
2. Inspect the real files, docs, issue, PR, screenshots, or runtime behavior
|
|
74
|
+
before editing.
|
|
75
|
+
3. Make assumptions explicit, then act on them.
|
|
76
|
+
4. Implement in small coherent steps.
|
|
77
|
+
5. Run targeted validation and fix issues found by validation.
|
|
78
|
+
6. Repeat until the requested work is complete or a stop condition applies.
|
|
79
|
+
7. Before final response, review the diff and verification evidence against the
|
|
80
|
+
original request.
|
|
81
|
+
|
|
82
|
+
## Final Recap
|
|
83
|
+
|
|
84
|
+
End with a recap that makes autonomous decisions auditable:
|
|
85
|
+
|
|
86
|
+
```md
|
|
87
|
+
Goal
|
|
88
|
+
- What you completed.
|
|
89
|
+
|
|
90
|
+
Key decisions
|
|
91
|
+
- Assumptions and choices made without stopping, with short reasons.
|
|
92
|
+
|
|
93
|
+
Changes
|
|
94
|
+
- Files, behavior, docs, or configuration changed.
|
|
95
|
+
|
|
96
|
+
Validation
|
|
97
|
+
- Commands, tests, screenshots, CI, or manual checks run and their result.
|
|
98
|
+
|
|
99
|
+
Remaining risk
|
|
100
|
+
- Anything not verified, deferred, or blocked.
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Keep the recap factual. Do not hide uncertainty, skipped validation, or judgment
|
|
104
|
+
calls.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# /quick-recap
|
|
2
|
+
|
|
3
|
+
Make the agent's work state obvious at the end of every response.
|
|
4
|
+
|
|
5
|
+
`/quick-recap` adds a small red/yellow/green status footer convention. It answers
|
|
6
|
+
the thing users otherwise have to infer from a long response: done, pending, or
|
|
7
|
+
blocked.
|
|
8
|
+
|
|
9
|
+
## What It Does
|
|
10
|
+
|
|
11
|
+
- Adds a single final status line.
|
|
12
|
+
- Defines when to use green, yellow, or red.
|
|
13
|
+
- Keeps the status user-facing and under 100 characters.
|
|
14
|
+
- Installs cleanly into `AGENTS.md` or `CLAUDE.md` through a managed block.
|
|
15
|
+
|
|
16
|
+
## When To Use It
|
|
17
|
+
|
|
18
|
+
Use it when you want every completed unit of work to end with a reliable state
|
|
19
|
+
signal. It is especially useful in repos where multiple agents, long-running
|
|
20
|
+
work, or partial handoffs can make status hard to scan.
|
|
21
|
+
|
|
22
|
+
## Status Meanings
|
|
23
|
+
|
|
24
|
+
- Green: the requested coding or work unit is finished.
|
|
25
|
+
- Yellow: specific non-routine follow-up remains.
|
|
26
|
+
- Red: the agent cannot continue without user input.
|
|
27
|
+
|
|
28
|
+
## Output Examples
|
|
29
|
+
|
|
30
|
+
Green means the work unit is done:
|
|
31
|
+
|
|
32
|
+
```md
|
|
33
|
+
🟢 Updated quick recap docs with output examples
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Yellow means a specific non-routine item remains:
|
|
37
|
+
|
|
38
|
+
```md
|
|
39
|
+
🟡 Code updated, set PROVIDER_WEBHOOK_SECRET before testing webhooks
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Red means the agent is blocked on user input:
|
|
43
|
+
|
|
44
|
+
```md
|
|
45
|
+
🔴 Need the production API key to continue
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Install
|
|
49
|
+
|
|
50
|
+
```sh
|
|
51
|
+
npx @agent-native/skills@latest add --skill quick-recap --update-instructions
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Use `--update-instructions`; copying the skill alone does not make the footer
|
|
55
|
+
automatic.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quick-recap
|
|
3
|
+
description: Use when adding or following the red/yellow/green final status block convention for agent responses, especially by installing managed AGENTS.md or CLAUDE.md instructions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Quick Recap
|
|
7
|
+
|
|
8
|
+
Make completion state obvious at the end of every response.
|
|
9
|
+
|
|
10
|
+
## Status Block
|
|
11
|
+
|
|
12
|
+
Every response that completes a unit of work must end with:
|
|
13
|
+
|
|
14
|
+
```md
|
|
15
|
+
🟢 Actual concise status sentence
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Rules:
|
|
19
|
+
|
|
20
|
+
- Keep the status line under 100 characters.
|
|
21
|
+
- Use `🟢` when the requested work is finished.
|
|
22
|
+
- Use `🟡` when non-routine follow-up remains; name the pending item.
|
|
23
|
+
- Use `🔴` only when blocked on user input.
|
|
24
|
+
- Put the status line at the very end of the response.
|
|
25
|
+
- Do not add `---`, spacer lines, or any content after the status line.
|
|
26
|
+
|
|
27
|
+
## Installer Behavior
|
|
28
|
+
|
|
29
|
+
This convention is only automatic when it is present in project or user
|
|
30
|
+
instructions. When installing this skill, prefer adding the managed
|
|
31
|
+
`AGENTS.md` / `CLAUDE.md` block unless the user opts out.
|
|
32
|
+
|
|
33
|
+
If you are following the convention manually, choose the status from the user's
|
|
34
|
+
perspective: finished, pending a specific non-routine step, or blocked.
|
|
35
|
+
|
|
36
|
+
## Examples
|
|
37
|
+
|
|
38
|
+
Finished work:
|
|
39
|
+
|
|
40
|
+
```md
|
|
41
|
+
🟢 Updated quick recap docs with output examples
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Non-routine follow-up remains:
|
|
45
|
+
|
|
46
|
+
```md
|
|
47
|
+
🟡 Code updated, set PROVIDER_WEBHOOK_SECRET before testing webhooks
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Blocked on user input:
|
|
51
|
+
|
|
52
|
+
```md
|
|
53
|
+
🔴 Need the production API key to continue
|
|
54
|
+
```
|