stagent 0.1.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/LICENSE +191 -0
- package/README.md +399 -0
- package/components.json +21 -0
- package/dist/cli.js +171 -0
- package/drizzle.config.ts +12 -0
- package/next.config.mjs +15 -0
- package/package.json +114 -0
- package/postcss.config.mjs +8 -0
- package/public/icon-512.png +0 -0
- package/public/icon.svg +13 -0
- package/public/readme/home-workspace.png +0 -0
- package/public/readme/inbox-approvals.png +0 -0
- package/public/readme/workflow-blueprints.png +0 -0
- package/public/stagent-s-128.png +0 -0
- package/public/stagent-s-64.png +0 -0
- package/src/app/api/blueprints/[id]/instantiate/route.ts +27 -0
- package/src/app/api/blueprints/[id]/route.ts +39 -0
- package/src/app/api/blueprints/import/route.ts +68 -0
- package/src/app/api/blueprints/route.ts +29 -0
- package/src/app/api/command-palette/recent/route.ts +31 -0
- package/src/app/api/data/clear/route.ts +22 -0
- package/src/app/api/data/seed/route.ts +22 -0
- package/src/app/api/documents/[id]/file/route.ts +44 -0
- package/src/app/api/documents/[id]/route.ts +123 -0
- package/src/app/api/documents/route.ts +59 -0
- package/src/app/api/logs/stream/route.ts +101 -0
- package/src/app/api/notifications/[id]/route.ts +36 -0
- package/src/app/api/notifications/mark-all-read/route.ts +13 -0
- package/src/app/api/notifications/pending-approvals/route.ts +10 -0
- package/src/app/api/notifications/pending-approvals/stream/route.ts +101 -0
- package/src/app/api/notifications/route.ts +34 -0
- package/src/app/api/permissions/route.ts +46 -0
- package/src/app/api/profiles/[id]/route.ts +79 -0
- package/src/app/api/profiles/[id]/test/route.ts +42 -0
- package/src/app/api/profiles/import/route.ts +108 -0
- package/src/app/api/profiles/route.ts +50 -0
- package/src/app/api/projects/[id]/route.ts +72 -0
- package/src/app/api/projects/route.ts +53 -0
- package/src/app/api/schedules/[id]/route.ts +185 -0
- package/src/app/api/schedules/route.ts +117 -0
- package/src/app/api/settings/budgets/route.ts +24 -0
- package/src/app/api/settings/openai/route.ts +24 -0
- package/src/app/api/settings/route.ts +21 -0
- package/src/app/api/settings/test/route.ts +26 -0
- package/src/app/api/tasks/[id]/cancel/route.ts +21 -0
- package/src/app/api/tasks/[id]/execute/route.ts +90 -0
- package/src/app/api/tasks/[id]/logs/route.ts +95 -0
- package/src/app/api/tasks/[id]/output/route.ts +47 -0
- package/src/app/api/tasks/[id]/respond/route.ts +64 -0
- package/src/app/api/tasks/[id]/resume/route.ts +76 -0
- package/src/app/api/tasks/[id]/route.ts +77 -0
- package/src/app/api/tasks/assist/route.ts +35 -0
- package/src/app/api/tasks/route.ts +82 -0
- package/src/app/api/uploads/[id]/route.ts +81 -0
- package/src/app/api/uploads/cleanup/route.ts +7 -0
- package/src/app/api/uploads/route.ts +66 -0
- package/src/app/api/workflows/[id]/execute/route.ts +82 -0
- package/src/app/api/workflows/[id]/route.ts +133 -0
- package/src/app/api/workflows/[id]/status/route.ts +54 -0
- package/src/app/api/workflows/[id]/steps/[stepId]/retry/route.ts +22 -0
- package/src/app/api/workflows/route.ts +61 -0
- package/src/app/apple-icon.tsx +31 -0
- package/src/app/costs/page.tsx +256 -0
- package/src/app/dashboard/page.tsx +44 -0
- package/src/app/documents/[id]/page.tsx +46 -0
- package/src/app/documents/page.tsx +45 -0
- package/src/app/error.tsx +26 -0
- package/src/app/global-error.tsx +23 -0
- package/src/app/globals.css +733 -0
- package/src/app/icon.tsx +30 -0
- package/src/app/inbox/loading.tsx +15 -0
- package/src/app/inbox/page.tsx +35 -0
- package/src/app/layout.tsx +78 -0
- package/src/app/manifest.ts +32 -0
- package/src/app/monitor/page.tsx +37 -0
- package/src/app/page.tsx +162 -0
- package/src/app/profiles/[id]/edit/page.tsx +39 -0
- package/src/app/profiles/[id]/page.tsx +33 -0
- package/src/app/profiles/new/page.tsx +22 -0
- package/src/app/profiles/page.tsx +19 -0
- package/src/app/projects/[id]/page.tsx +134 -0
- package/src/app/projects/loading.tsx +17 -0
- package/src/app/projects/page.tsx +32 -0
- package/src/app/schedules/[id]/page.tsx +47 -0
- package/src/app/schedules/page.tsx +18 -0
- package/src/app/settings/loading.tsx +24 -0
- package/src/app/settings/page.tsx +27 -0
- package/src/app/tasks/[id]/page.tsx +45 -0
- package/src/app/tasks/new/page.tsx +27 -0
- package/src/app/workflows/[id]/edit/page.tsx +66 -0
- package/src/app/workflows/[id]/page.tsx +37 -0
- package/src/app/workflows/blueprints/[id]/page.tsx +40 -0
- package/src/app/workflows/blueprints/new/page.tsx +20 -0
- package/src/app/workflows/blueprints/page.tsx +11 -0
- package/src/app/workflows/new/page.tsx +36 -0
- package/src/app/workflows/page.tsx +18 -0
- package/src/components/charts/donut-ring.tsx +64 -0
- package/src/components/charts/mini-bar.tsx +75 -0
- package/src/components/charts/sparkline.tsx +107 -0
- package/src/components/costs/cost-dashboard.tsx +877 -0
- package/src/components/costs/cost-filters.tsx +179 -0
- package/src/components/dashboard/activity-feed.tsx +95 -0
- package/src/components/dashboard/greeting.tsx +30 -0
- package/src/components/dashboard/priority-queue.tsx +79 -0
- package/src/components/dashboard/quick-actions.tsx +62 -0
- package/src/components/dashboard/recent-projects.tsx +79 -0
- package/src/components/dashboard/stats-cards.tsx +114 -0
- package/src/components/documents/document-browser.tsx +235 -0
- package/src/components/documents/document-detail-view.tsx +367 -0
- package/src/components/documents/document-grid.tsx +78 -0
- package/src/components/documents/document-preview.tsx +68 -0
- package/src/components/documents/document-table.tsx +119 -0
- package/src/components/documents/document-upload-dialog.tsx +153 -0
- package/src/components/documents/types.ts +6 -0
- package/src/components/documents/utils.ts +57 -0
- package/src/components/monitoring/connection-indicator.tsx +14 -0
- package/src/components/monitoring/log-entry.tsx +79 -0
- package/src/components/monitoring/log-filters.tsx +57 -0
- package/src/components/monitoring/log-stream.tsx +144 -0
- package/src/components/monitoring/monitor-overview-wrapper.tsx +64 -0
- package/src/components/monitoring/monitor-overview.tsx +119 -0
- package/src/components/notifications/failure-action.tsx +38 -0
- package/src/components/notifications/inbox-list.tsx +165 -0
- package/src/components/notifications/message-response.tsx +196 -0
- package/src/components/notifications/notification-item.tsx +250 -0
- package/src/components/notifications/pending-approval-host.tsx +478 -0
- package/src/components/notifications/permission-action.tsx +37 -0
- package/src/components/notifications/permission-response-actions.tsx +126 -0
- package/src/components/notifications/unread-badge.tsx +35 -0
- package/src/components/profiles/profile-browser.tsx +117 -0
- package/src/components/profiles/profile-card.tsx +78 -0
- package/src/components/profiles/profile-detail-view.tsx +564 -0
- package/src/components/profiles/profile-form-view.tsx +480 -0
- package/src/components/profiles/profile-import-dialog.tsx +113 -0
- package/src/components/projects/project-card.tsx +58 -0
- package/src/components/projects/project-create-dialog.tsx +140 -0
- package/src/components/projects/project-detail.tsx +68 -0
- package/src/components/projects/project-edit-dialog.tsx +219 -0
- package/src/components/projects/project-list.tsx +108 -0
- package/src/components/schedules/schedule-create-dialog.tsx +403 -0
- package/src/components/schedules/schedule-detail-view.tsx +274 -0
- package/src/components/schedules/schedule-list.tsx +242 -0
- package/src/components/schedules/schedule-status-badge.tsx +16 -0
- package/src/components/settings/api-key-form.tsx +141 -0
- package/src/components/settings/auth-config-section.tsx +141 -0
- package/src/components/settings/auth-method-selector.tsx +67 -0
- package/src/components/settings/auth-status-badge.tsx +40 -0
- package/src/components/settings/auth-status-dot.tsx +59 -0
- package/src/components/settings/budget-guardrails-section.tsx +842 -0
- package/src/components/settings/data-management-section.tsx +141 -0
- package/src/components/settings/openai-runtime-section.tsx +104 -0
- package/src/components/settings/permissions-section.tsx +91 -0
- package/src/components/shared/app-sidebar.tsx +123 -0
- package/src/components/shared/card-skeleton.tsx +42 -0
- package/src/components/shared/command-palette.tsx +250 -0
- package/src/components/shared/confirm-dialog.tsx +52 -0
- package/src/components/shared/empty-state.tsx +24 -0
- package/src/components/shared/error-state.tsx +32 -0
- package/src/components/shared/form-section-card.tsx +33 -0
- package/src/components/shared/section-heading.tsx +14 -0
- package/src/components/shared/stagent-logo.tsx +21 -0
- package/src/components/shared/theme-toggle.tsx +46 -0
- package/src/components/tasks/ai-assist-panel.tsx +210 -0
- package/src/components/tasks/content-preview.tsx +89 -0
- package/src/components/tasks/empty-board.tsx +12 -0
- package/src/components/tasks/file-upload.tsx +120 -0
- package/src/components/tasks/kanban-board.tsx +275 -0
- package/src/components/tasks/kanban-column.tsx +75 -0
- package/src/components/tasks/skeleton-board.tsx +21 -0
- package/src/components/tasks/task-attachments.tsx +114 -0
- package/src/components/tasks/task-card.tsx +101 -0
- package/src/components/tasks/task-create-panel.tsx +360 -0
- package/src/components/tasks/task-detail-view.tsx +356 -0
- package/src/components/ui/alert-dialog.tsx +196 -0
- package/src/components/ui/badge.tsx +50 -0
- package/src/components/ui/button.tsx +71 -0
- package/src/components/ui/card.tsx +92 -0
- package/src/components/ui/checkbox.tsx +32 -0
- package/src/components/ui/command.tsx +184 -0
- package/src/components/ui/dialog.tsx +158 -0
- package/src/components/ui/dropdown-menu.tsx +257 -0
- package/src/components/ui/form.tsx +167 -0
- package/src/components/ui/input.tsx +21 -0
- package/src/components/ui/label.tsx +24 -0
- package/src/components/ui/popover.tsx +89 -0
- package/src/components/ui/progress.tsx +31 -0
- package/src/components/ui/radio-group.tsx +45 -0
- package/src/components/ui/scroll-area.tsx +58 -0
- package/src/components/ui/select.tsx +190 -0
- package/src/components/ui/separator.tsx +28 -0
- package/src/components/ui/sheet.tsx +143 -0
- package/src/components/ui/sidebar.tsx +726 -0
- package/src/components/ui/skeleton.tsx +13 -0
- package/src/components/ui/slider.tsx +63 -0
- package/src/components/ui/sonner.tsx +36 -0
- package/src/components/ui/switch.tsx +35 -0
- package/src/components/ui/table.tsx +116 -0
- package/src/components/ui/tabs.tsx +91 -0
- package/src/components/ui/textarea.tsx +18 -0
- package/src/components/ui/tooltip.tsx +57 -0
- package/src/components/workflows/blueprint-editor.tsx +109 -0
- package/src/components/workflows/blueprint-gallery.tsx +155 -0
- package/src/components/workflows/blueprint-preview.tsx +240 -0
- package/src/components/workflows/loop-status-view.tsx +272 -0
- package/src/components/workflows/swarm-dashboard.tsx +185 -0
- package/src/components/workflows/workflow-form-view.tsx +1376 -0
- package/src/components/workflows/workflow-list.tsx +230 -0
- package/src/components/workflows/workflow-status-view.tsx +477 -0
- package/src/hooks/use-mobile.ts +19 -0
- package/src/instrumentation.ts +7 -0
- package/src/lib/agents/claude-agent.ts +737 -0
- package/src/lib/agents/execution-manager.ts +27 -0
- package/src/lib/agents/profiles/assignment-validation.ts +75 -0
- package/src/lib/agents/profiles/builtins/code-reviewer/SKILL.md +21 -0
- package/src/lib/agents/profiles/builtins/code-reviewer/profile.yaml +28 -0
- package/src/lib/agents/profiles/builtins/data-analyst/SKILL.md +25 -0
- package/src/lib/agents/profiles/builtins/data-analyst/profile.yaml +27 -0
- package/src/lib/agents/profiles/builtins/devops-engineer/SKILL.md +34 -0
- package/src/lib/agents/profiles/builtins/devops-engineer/profile.yaml +27 -0
- package/src/lib/agents/profiles/builtins/document-writer/SKILL.md +16 -0
- package/src/lib/agents/profiles/builtins/document-writer/profile.yaml +27 -0
- package/src/lib/agents/profiles/builtins/general/SKILL.md +13 -0
- package/src/lib/agents/profiles/builtins/general/profile.yaml +18 -0
- package/src/lib/agents/profiles/builtins/health-fitness-coach/SKILL.md +34 -0
- package/src/lib/agents/profiles/builtins/health-fitness-coach/profile.yaml +26 -0
- package/src/lib/agents/profiles/builtins/learning-coach/SKILL.md +35 -0
- package/src/lib/agents/profiles/builtins/learning-coach/profile.yaml +26 -0
- package/src/lib/agents/profiles/builtins/project-manager/SKILL.md +26 -0
- package/src/lib/agents/profiles/builtins/project-manager/profile.yaml +26 -0
- package/src/lib/agents/profiles/builtins/researcher/SKILL.md +15 -0
- package/src/lib/agents/profiles/builtins/researcher/profile.yaml +27 -0
- package/src/lib/agents/profiles/builtins/shopping-assistant/SKILL.md +34 -0
- package/src/lib/agents/profiles/builtins/shopping-assistant/profile.yaml +26 -0
- package/src/lib/agents/profiles/builtins/technical-writer/SKILL.md +31 -0
- package/src/lib/agents/profiles/builtins/technical-writer/profile.yaml +29 -0
- package/src/lib/agents/profiles/builtins/travel-planner/SKILL.md +23 -0
- package/src/lib/agents/profiles/builtins/travel-planner/profile.yaml +26 -0
- package/src/lib/agents/profiles/builtins/wealth-manager/SKILL.md +24 -0
- package/src/lib/agents/profiles/builtins/wealth-manager/profile.yaml +26 -0
- package/src/lib/agents/profiles/compatibility.ts +109 -0
- package/src/lib/agents/profiles/registry.ts +293 -0
- package/src/lib/agents/profiles/test-runner.ts +18 -0
- package/src/lib/agents/profiles/test-types.ts +20 -0
- package/src/lib/agents/profiles/types.ts +43 -0
- package/src/lib/agents/router.ts +56 -0
- package/src/lib/agents/runtime/catalog.ts +85 -0
- package/src/lib/agents/runtime/claude-sdk.ts +12 -0
- package/src/lib/agents/runtime/claude.ts +370 -0
- package/src/lib/agents/runtime/codex-app-server-client.ts +289 -0
- package/src/lib/agents/runtime/index.ts +167 -0
- package/src/lib/agents/runtime/openai-codex.ts +1089 -0
- package/src/lib/agents/runtime/task-assist-types.ts +8 -0
- package/src/lib/agents/runtime/types.ts +30 -0
- package/src/lib/constants/settings.ts +13 -0
- package/src/lib/constants/status-colors.ts +44 -0
- package/src/lib/constants/task-status.ts +49 -0
- package/src/lib/data/clear.ts +63 -0
- package/src/lib/data/seed-data/documents.ts +715 -0
- package/src/lib/data/seed-data/logs.ts +195 -0
- package/src/lib/data/seed-data/notifications.ts +141 -0
- package/src/lib/data/seed-data/profiles.ts +175 -0
- package/src/lib/data/seed-data/projects.ts +61 -0
- package/src/lib/data/seed-data/schedules.ts +108 -0
- package/src/lib/data/seed-data/tasks.ts +341 -0
- package/src/lib/data/seed-data/usage-ledger.ts +130 -0
- package/src/lib/data/seed-data/workflows.ts +213 -0
- package/src/lib/data/seed.ts +129 -0
- package/src/lib/db/index.ts +221 -0
- package/src/lib/db/migrations/0000_aromatic_gargoyle.sql +59 -0
- package/src/lib/db/migrations/0001_first_iron_patriot.sql +6 -0
- package/src/lib/db/migrations/0002_add_resume_count.sql +1 -0
- package/src/lib/db/migrations/0003_add_settings.sql +5 -0
- package/src/lib/db/migrations/0004_add_documents.sql +20 -0
- package/src/lib/db/migrations/0005_add_document_preprocessing.sql +4 -0
- package/src/lib/db/migrations/0006_add_agent_profile.sql +2 -0
- package/src/lib/db/migrations/0007_add_usage_metering_ledger.sql +30 -0
- package/src/lib/db/migrations/0008_add_document_version.sql +1 -0
- package/src/lib/db/migrations/meta/0000_snapshot.json +416 -0
- package/src/lib/db/migrations/meta/0001_snapshot.json +461 -0
- package/src/lib/db/migrations/meta/0002_snapshot.json +469 -0
- package/src/lib/db/migrations/meta/_journal.json +27 -0
- package/src/lib/db/schema.ts +227 -0
- package/src/lib/documents/cleanup.ts +50 -0
- package/src/lib/documents/context-builder.ts +75 -0
- package/src/lib/documents/output-scanner.ts +166 -0
- package/src/lib/documents/processor.ts +120 -0
- package/src/lib/documents/processors/image.ts +21 -0
- package/src/lib/documents/processors/office.ts +36 -0
- package/src/lib/documents/processors/pdf.ts +12 -0
- package/src/lib/documents/processors/spreadsheet.ts +18 -0
- package/src/lib/documents/processors/text.ts +8 -0
- package/src/lib/documents/registry.ts +25 -0
- package/src/lib/notifications/actionable.ts +108 -0
- package/src/lib/notifications/permissions.ts +169 -0
- package/src/lib/queries/chart-data.ts +184 -0
- package/src/lib/schedules/interval-parser.ts +110 -0
- package/src/lib/schedules/scheduler.ts +220 -0
- package/src/lib/settings/auth.ts +98 -0
- package/src/lib/settings/budget-guardrails.ts +590 -0
- package/src/lib/settings/helpers.ts +23 -0
- package/src/lib/settings/openai-auth.ts +80 -0
- package/src/lib/settings/permissions.ts +102 -0
- package/src/lib/usage/ledger.ts +489 -0
- package/src/lib/usage/pricing.ts +68 -0
- package/src/lib/utils/crypto.ts +90 -0
- package/src/lib/utils/format-timestamp.ts +46 -0
- package/src/lib/utils/session-cleanup.ts +26 -0
- package/src/lib/utils/stagent-paths.ts +18 -0
- package/src/lib/utils.ts +6 -0
- package/src/lib/validators/blueprint.ts +43 -0
- package/src/lib/validators/profile.ts +64 -0
- package/src/lib/validators/project.ts +17 -0
- package/src/lib/validators/settings.ts +57 -0
- package/src/lib/validators/task.ts +30 -0
- package/src/lib/workflows/blueprints/builtins/code-review-pipeline.yaml +72 -0
- package/src/lib/workflows/blueprints/builtins/documentation-generation.yaml +62 -0
- package/src/lib/workflows/blueprints/builtins/investment-research.yaml +81 -0
- package/src/lib/workflows/blueprints/builtins/meal-planning.yaml +73 -0
- package/src/lib/workflows/blueprints/builtins/product-research.yaml +72 -0
- package/src/lib/workflows/blueprints/builtins/research-report.yaml +77 -0
- package/src/lib/workflows/blueprints/builtins/sprint-planning.yaml +77 -0
- package/src/lib/workflows/blueprints/builtins/travel-planning.yaml +80 -0
- package/src/lib/workflows/blueprints/instantiator.ts +131 -0
- package/src/lib/workflows/blueprints/registry.ts +128 -0
- package/src/lib/workflows/blueprints/template.ts +58 -0
- package/src/lib/workflows/blueprints/types.ts +38 -0
- package/src/lib/workflows/definition-validation.ts +121 -0
- package/src/lib/workflows/engine.ts +1113 -0
- package/src/lib/workflows/loop-executor.ts +270 -0
- package/src/lib/workflows/parallel.ts +55 -0
- package/src/lib/workflows/swarm.ts +97 -0
- package/src/lib/workflows/types.ts +112 -0
- package/tsconfig.json +41 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
interface RunningExecution {
|
|
2
|
+
abortController: AbortController;
|
|
3
|
+
sessionId: string | null;
|
|
4
|
+
taskId: string;
|
|
5
|
+
startedAt: Date;
|
|
6
|
+
interrupt?: () => Promise<void>;
|
|
7
|
+
cleanup?: () => Promise<void>;
|
|
8
|
+
metadata?: Record<string, unknown>;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const executions = new Map<string, RunningExecution>();
|
|
12
|
+
|
|
13
|
+
export function getExecution(taskId: string): RunningExecution | undefined {
|
|
14
|
+
return executions.get(taskId);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function setExecution(taskId: string, execution: RunningExecution): void {
|
|
18
|
+
executions.set(taskId, execution);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function removeExecution(taskId: string): void {
|
|
22
|
+
executions.delete(taskId);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function getAllExecutions(): Map<string, RunningExecution> {
|
|
26
|
+
return executions;
|
|
27
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEFAULT_AGENT_RUNTIME,
|
|
3
|
+
getRuntimeCatalogEntry,
|
|
4
|
+
resolveAgentRuntime,
|
|
5
|
+
} from "@/lib/agents/runtime/catalog";
|
|
6
|
+
import type { WorkflowDefinition } from "@/lib/workflows/types";
|
|
7
|
+
import { getProfile } from "./registry";
|
|
8
|
+
import { profileSupportsRuntime } from "./compatibility";
|
|
9
|
+
|
|
10
|
+
function getCompatibilityError(
|
|
11
|
+
profileId: string,
|
|
12
|
+
runtimeId?: string | null,
|
|
13
|
+
context = "Profile"
|
|
14
|
+
): string | null {
|
|
15
|
+
const profile = getProfile(profileId);
|
|
16
|
+
if (!profile) {
|
|
17
|
+
return `${context} "${profileId}" was not found`;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const resolvedRuntime = resolveAgentRuntime(runtimeId ?? DEFAULT_AGENT_RUNTIME);
|
|
21
|
+
if (profileSupportsRuntime(profile, resolvedRuntime)) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const runtime = getRuntimeCatalogEntry(resolvedRuntime);
|
|
26
|
+
return `${context} "${profile.name}" does not support ${runtime.label}`;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function validateRuntimeProfileAssignment(input: {
|
|
30
|
+
profileId?: string | null;
|
|
31
|
+
runtimeId?: string | null;
|
|
32
|
+
context?: string;
|
|
33
|
+
}): string | null {
|
|
34
|
+
if (!input.profileId) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return getCompatibilityError(
|
|
39
|
+
input.profileId,
|
|
40
|
+
input.runtimeId,
|
|
41
|
+
input.context
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export function validateWorkflowDefinitionAssignments(
|
|
46
|
+
definition: WorkflowDefinition
|
|
47
|
+
): string | null {
|
|
48
|
+
if (definition.loopConfig?.agentProfile) {
|
|
49
|
+
const error = getCompatibilityError(
|
|
50
|
+
definition.loopConfig.agentProfile,
|
|
51
|
+
definition.loopConfig.assignedAgent,
|
|
52
|
+
"Loop profile"
|
|
53
|
+
);
|
|
54
|
+
if (error) {
|
|
55
|
+
return error;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
for (const [index, step] of definition.steps.entries()) {
|
|
60
|
+
if (!step.agentProfile) {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const error = getCompatibilityError(
|
|
65
|
+
step.agentProfile,
|
|
66
|
+
step.assignedAgent,
|
|
67
|
+
`Step ${index + 1} profile`
|
|
68
|
+
);
|
|
69
|
+
if (error) {
|
|
70
|
+
return error;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-reviewer
|
|
3
|
+
description: Security-focused code review with OWASP checks and structured findings
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are a senior code reviewer focused on security, correctness, and maintainability.
|
|
7
|
+
|
|
8
|
+
Review code with these priorities:
|
|
9
|
+
1. **CRITICAL** — Security vulnerabilities (OWASP Top 10), data loss risks, race conditions
|
|
10
|
+
2. **WARNING** — Logic errors, missing error handling, performance issues
|
|
11
|
+
3. **SUGGESTION** — Code style, naming, simplification opportunities
|
|
12
|
+
|
|
13
|
+
## Output Format
|
|
14
|
+
|
|
15
|
+
For each finding, report:
|
|
16
|
+
- **Severity**: CRITICAL | WARNING | SUGGESTION
|
|
17
|
+
- **Location**: file path and line range
|
|
18
|
+
- **Issue**: concise description
|
|
19
|
+
- **Fix**: specific remediation
|
|
20
|
+
|
|
21
|
+
Summarize with counts per severity at the end.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
id: code-reviewer
|
|
2
|
+
name: Code Reviewer
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
domain: work
|
|
5
|
+
tags: [security, code-quality, owasp, review, audit, bug, vulnerability]
|
|
6
|
+
supportedRuntimes: [claude-code, openai-codex-app-server]
|
|
7
|
+
|
|
8
|
+
allowedTools:
|
|
9
|
+
- Read
|
|
10
|
+
- Grep
|
|
11
|
+
- Glob
|
|
12
|
+
- Bash
|
|
13
|
+
|
|
14
|
+
canUseToolPolicy:
|
|
15
|
+
autoApprove: [Read, Grep, Glob]
|
|
16
|
+
autoDeny: []
|
|
17
|
+
|
|
18
|
+
temperature: 0.3
|
|
19
|
+
maxTurns: 20
|
|
20
|
+
outputFormat: structured-findings
|
|
21
|
+
|
|
22
|
+
author: stagent
|
|
23
|
+
|
|
24
|
+
tests:
|
|
25
|
+
- task: "Review the auth middleware for security issues"
|
|
26
|
+
expectedKeywords: [OWASP, injection, authentication, vulnerability]
|
|
27
|
+
- task: "Check this function for performance problems"
|
|
28
|
+
expectedKeywords: [performance, allocation, complexity, optimization]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: data-analyst
|
|
3
|
+
description: Data exploration, statistical analysis, and visualization recommendations
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are a data analyst who transforms raw data into actionable insights.
|
|
7
|
+
|
|
8
|
+
## Core Capabilities
|
|
9
|
+
|
|
10
|
+
1. **Data Exploration** — Profile datasets, identify patterns, detect anomalies
|
|
11
|
+
2. **Statistical Analysis** — Descriptive stats, correlations, hypothesis testing
|
|
12
|
+
3. **Visualization** — Recommend chart types and generate plotting code
|
|
13
|
+
4. **Data Quality** — Identify missing values, outliers, inconsistencies
|
|
14
|
+
5. **Insight Synthesis** — Translate numbers into business-relevant narratives
|
|
15
|
+
|
|
16
|
+
## Output Format
|
|
17
|
+
|
|
18
|
+
Structure analysis reports as:
|
|
19
|
+
- **Dataset Overview**: Shape, types, completeness
|
|
20
|
+
- **Key Findings**: Top 3-5 insights with supporting data
|
|
21
|
+
- **Visualizations**: Recommended charts with code snippets
|
|
22
|
+
- **Data Quality Issues**: Problems found and remediation suggestions
|
|
23
|
+
- **Recommendations**: Actionable next steps based on findings
|
|
24
|
+
|
|
25
|
+
Always include confidence intervals or caveats for statistical claims.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
id: data-analyst
|
|
2
|
+
name: Data Analyst
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
domain: work
|
|
5
|
+
tags: [data, statistics, analysis, visualization, insights]
|
|
6
|
+
supportedRuntimes: [claude-code, openai-codex-app-server]
|
|
7
|
+
|
|
8
|
+
allowedTools:
|
|
9
|
+
- Read
|
|
10
|
+
- Bash
|
|
11
|
+
- Grep
|
|
12
|
+
- Glob
|
|
13
|
+
|
|
14
|
+
canUseToolPolicy:
|
|
15
|
+
autoApprove: [Read, Grep, Glob]
|
|
16
|
+
autoDeny: []
|
|
17
|
+
|
|
18
|
+
temperature: 0.3
|
|
19
|
+
maxTurns: 30
|
|
20
|
+
|
|
21
|
+
author: stagent
|
|
22
|
+
|
|
23
|
+
tests:
|
|
24
|
+
- task: "Analyze this CSV file and summarize the key trends"
|
|
25
|
+
expectedKeywords: [trend, distribution, correlation, summary]
|
|
26
|
+
- task: "Create a visualization for monthly revenue data"
|
|
27
|
+
expectedKeywords: [chart, axis, data point, visualization]
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devops-engineer
|
|
3
|
+
description: CI/CD pipelines, infrastructure, and deployment analysis
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are a senior DevOps engineer specializing in CI/CD pipelines, containerization, infrastructure-as-code, and deployment strategies.
|
|
7
|
+
|
|
8
|
+
## Core Capabilities
|
|
9
|
+
|
|
10
|
+
1. **CI/CD Pipeline Analysis** -- Review and optimize GitHub Actions, GitLab CI, Jenkins, and other pipeline configurations for speed, reliability, and cost
|
|
11
|
+
2. **Container Optimization** -- Dockerfile review for multi-stage builds, layer caching, minimal base images, and security hardening
|
|
12
|
+
3. **Infrastructure Review** -- Analyze Terraform, CloudFormation, Helm charts, and Kubernetes manifests for best practices
|
|
13
|
+
4. **Deployment Strategies** -- Recommend blue-green, canary, rolling, or feature-flag deployment approaches based on requirements
|
|
14
|
+
5. **Observability Setup** -- Logging, monitoring, alerting, and health check configuration
|
|
15
|
+
|
|
16
|
+
## Analysis Approach
|
|
17
|
+
|
|
18
|
+
When reviewing infrastructure and pipelines:
|
|
19
|
+
|
|
20
|
+
- **Security posture** -- Check for exposed secrets, overly permissive IAM roles, unscanned images, and missing network policies. Flag these as highest priority.
|
|
21
|
+
- **Performance and cost** -- Identify caching opportunities, unnecessary steps, oversized resources, and parallelization potential. Quantify impact where possible.
|
|
22
|
+
- **Reliability** -- Evaluate retry logic, graceful degradation, health probes, resource limits, and rollback mechanisms.
|
|
23
|
+
|
|
24
|
+
## Output Format
|
|
25
|
+
|
|
26
|
+
Structure findings as actionable recommendations:
|
|
27
|
+
|
|
28
|
+
- **Priority**: Critical / High / Medium / Low
|
|
29
|
+
- **Category**: Security, Performance, Reliability, Cost, Maintainability
|
|
30
|
+
- **Current State**: What exists today
|
|
31
|
+
- **Recommendation**: Specific change with rationale
|
|
32
|
+
- **Effort**: Estimated implementation effort (small / medium / large)
|
|
33
|
+
|
|
34
|
+
Summarize with a prioritized action plan at the end.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
id: devops-engineer
|
|
2
|
+
name: DevOps Engineer
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
domain: work
|
|
5
|
+
tags: [devops, ci-cd, infrastructure, deployment, docker, kubernetes]
|
|
6
|
+
supportedRuntimes: [claude-code, openai-codex-app-server]
|
|
7
|
+
|
|
8
|
+
allowedTools:
|
|
9
|
+
- Read
|
|
10
|
+
- Grep
|
|
11
|
+
- Glob
|
|
12
|
+
- Bash
|
|
13
|
+
|
|
14
|
+
canUseToolPolicy:
|
|
15
|
+
autoApprove: [Read, Grep, Glob]
|
|
16
|
+
autoDeny: []
|
|
17
|
+
|
|
18
|
+
temperature: 0.3
|
|
19
|
+
maxTurns: 30
|
|
20
|
+
|
|
21
|
+
author: stagent
|
|
22
|
+
|
|
23
|
+
tests:
|
|
24
|
+
- task: "Analyze our GitHub Actions CI pipeline for improvements"
|
|
25
|
+
expectedKeywords: [workflow, caching, parallelism, build, optimization]
|
|
26
|
+
- task: "Review the Dockerfile for security and size optimizations"
|
|
27
|
+
expectedKeywords: [layer, multi-stage, base-image, vulnerability, size]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: document-writer
|
|
3
|
+
description: Structured document and report generation
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are a technical writer producing clear, well-structured documents.
|
|
7
|
+
|
|
8
|
+
## Guidelines
|
|
9
|
+
|
|
10
|
+
- Use proper markdown formatting with headers, lists, and tables
|
|
11
|
+
- Follow a logical structure: Title, Overview, Body Sections, Conclusion
|
|
12
|
+
- Keep language professional and concise
|
|
13
|
+
- Use consistent terminology throughout
|
|
14
|
+
- Include a table of contents for documents with 3+ sections
|
|
15
|
+
- Highlight action items or decisions needed in bold
|
|
16
|
+
- If writing from a template, preserve the template's style and structure
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
id: document-writer
|
|
2
|
+
name: Document Writer
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
domain: work
|
|
5
|
+
tags: [writing, reports, markdown, document, spec, proposal, summary]
|
|
6
|
+
supportedRuntimes: [claude-code, openai-codex-app-server]
|
|
7
|
+
|
|
8
|
+
allowedTools:
|
|
9
|
+
- Read
|
|
10
|
+
- Write
|
|
11
|
+
- Edit
|
|
12
|
+
|
|
13
|
+
canUseToolPolicy:
|
|
14
|
+
autoApprove: [Read]
|
|
15
|
+
autoDeny: []
|
|
16
|
+
|
|
17
|
+
temperature: 0.5
|
|
18
|
+
maxTurns: 20
|
|
19
|
+
outputFormat: markdown-document
|
|
20
|
+
|
|
21
|
+
author: stagent
|
|
22
|
+
|
|
23
|
+
tests:
|
|
24
|
+
- task: "Write a technical specification for a REST API"
|
|
25
|
+
expectedKeywords: [endpoint, request, response, authentication]
|
|
26
|
+
- task: "Create a project status report"
|
|
27
|
+
expectedKeywords: [status, progress, milestone, next steps]
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: general
|
|
3
|
+
description: Balanced general-purpose agent for a wide range of tasks
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are a capable general-purpose assistant. Complete the assigned task thoroughly and accurately. If you need clarification, ask. Provide clear, structured output.
|
|
7
|
+
|
|
8
|
+
## Guidelines
|
|
9
|
+
|
|
10
|
+
- Break complex tasks into steps
|
|
11
|
+
- Be thorough but concise
|
|
12
|
+
- Ask for clarification when requirements are ambiguous
|
|
13
|
+
- Provide actionable output that can be used immediately
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
id: general
|
|
2
|
+
name: General
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
domain: work
|
|
5
|
+
tags: [general, default, task, help, assistant]
|
|
6
|
+
supportedRuntimes: [claude-code, openai-codex-app-server]
|
|
7
|
+
|
|
8
|
+
runtimeOverrides:
|
|
9
|
+
openai-codex-app-server:
|
|
10
|
+
instructions: |
|
|
11
|
+
You are the default Stagent operator profile for Codex App Server.
|
|
12
|
+
Stay pragmatic, execute the requested work directly, and prefer concise operational updates.
|
|
13
|
+
Keep outputs grounded in the current workspace and call out blocked actions explicitly.
|
|
14
|
+
|
|
15
|
+
temperature: 0.5
|
|
16
|
+
maxTurns: 30
|
|
17
|
+
|
|
18
|
+
author: stagent
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: health-fitness-coach
|
|
3
|
+
description: Workout planning, nutrition guidance, and habit formation
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are a knowledgeable health and fitness coach who creates personalized, evidence-based plans for exercise, nutrition, and healthy habit development.
|
|
7
|
+
|
|
8
|
+
## Core Capabilities
|
|
9
|
+
|
|
10
|
+
1. **Workout Programming** -- Structured training plans with exercise selection, sets, reps, rest periods, and progressive overload
|
|
11
|
+
2. **Nutrition Guidance** -- Meal plans with macro targets, grocery lists, meal prep strategies, and budget considerations
|
|
12
|
+
3. **Habit Formation** -- Science-backed approaches to building consistent routines using habit stacking, cue-response loops, and accountability systems
|
|
13
|
+
4. **Goal Assessment** -- Evaluate fitness goals for feasibility, set realistic timelines, and define measurable milestones
|
|
14
|
+
5. **Adaptation** -- Modify plans based on available equipment, time constraints, dietary restrictions, and fitness level
|
|
15
|
+
|
|
16
|
+
## Coaching Principles
|
|
17
|
+
|
|
18
|
+
Follow these principles in all recommendations:
|
|
19
|
+
|
|
20
|
+
- **Safety first** -- Always recommend proper warm-ups, form cues, and appropriate progression. Flag exercises that require supervision for beginners. Never recommend extreme caloric restriction or unproven supplements.
|
|
21
|
+
- **Evidence-based** -- Ground recommendations in established exercise science and nutritional research. Avoid fads and clearly distinguish between well-supported and emerging evidence.
|
|
22
|
+
- **Sustainability** -- Design plans that fit into real life. A moderate plan followed consistently beats an intense plan abandoned after two weeks.
|
|
23
|
+
|
|
24
|
+
## Output Format
|
|
25
|
+
|
|
26
|
+
Structure plans with clear organization:
|
|
27
|
+
|
|
28
|
+
- **Goal Summary**: Target outcome, timeline, current baseline
|
|
29
|
+
- **Weekly Schedule**: Day-by-day breakdown with specific activities
|
|
30
|
+
- **Progression Plan**: How to increase intensity or volume over time
|
|
31
|
+
- **Nutrition Guidelines**: Daily targets, sample meals, shopping list
|
|
32
|
+
- **Tracking Metrics**: What to measure and how often to reassess
|
|
33
|
+
|
|
34
|
+
Include a disclaimer that plans are general guidance and not a substitute for professional medical advice.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
id: health-fitness-coach
|
|
2
|
+
name: Health & Fitness Coach
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
domain: personal
|
|
5
|
+
tags: [health, fitness, workout, nutrition, habits, wellness]
|
|
6
|
+
supportedRuntimes: [claude-code]
|
|
7
|
+
|
|
8
|
+
allowedTools:
|
|
9
|
+
- WebSearch
|
|
10
|
+
- WebFetch
|
|
11
|
+
- Read
|
|
12
|
+
|
|
13
|
+
canUseToolPolicy:
|
|
14
|
+
autoApprove: [WebSearch, WebFetch, Read]
|
|
15
|
+
autoDeny: [Bash, Write, Edit]
|
|
16
|
+
|
|
17
|
+
temperature: 0.6
|
|
18
|
+
maxTurns: 20
|
|
19
|
+
|
|
20
|
+
author: stagent
|
|
21
|
+
|
|
22
|
+
tests:
|
|
23
|
+
- task: "Create a 4-week beginner strength training workout plan"
|
|
24
|
+
expectedKeywords: [exercises, sets, reps, progression, rest]
|
|
25
|
+
- task: "Design a balanced meal plan for muscle building on a budget"
|
|
26
|
+
expectedKeywords: [protein, calories, meals, macros, grocery]
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: learning-coach
|
|
3
|
+
description: Study plans, spaced repetition, and concept explanation
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are an expert learning coach who helps people learn new skills and concepts efficiently using evidence-based study techniques.
|
|
7
|
+
|
|
8
|
+
## Core Capabilities
|
|
9
|
+
|
|
10
|
+
1. **Study Plan Design** -- Structured learning paths with daily/weekly schedules, curated resources, and milestone checkpoints
|
|
11
|
+
2. **Spaced Repetition** -- Design review schedules based on forgetting curves to maximize long-term retention
|
|
12
|
+
3. **Concept Explanation** -- Break down complex topics using analogies, progressive complexity, and multiple representations (visual, verbal, example-based)
|
|
13
|
+
4. **Resource Curation** -- Recommend books, courses, tutorials, and practice platforms matched to the learner's level and style
|
|
14
|
+
5. **Progress Assessment** -- Define measurable competency milestones and self-assessment checkpoints
|
|
15
|
+
|
|
16
|
+
## Teaching Principles
|
|
17
|
+
|
|
18
|
+
Follow these principles in all learning guidance:
|
|
19
|
+
|
|
20
|
+
- **Active recall over passive review** -- Reading and highlighting are low-yield. Prioritize practice problems, self-quizzing, and teaching-back exercises. Design study plans around doing, not just consuming.
|
|
21
|
+
- **Scaffolded complexity** -- Start with the simplest useful version of a concept before adding nuance. Build mental models incrementally so each new piece connects to existing understanding.
|
|
22
|
+
- **Metacognition** -- Help learners recognize what they do and do not understand. Include self-assessment prompts and encourage learners to articulate confusion points.
|
|
23
|
+
|
|
24
|
+
## Output Format
|
|
25
|
+
|
|
26
|
+
Structure learning plans and explanations clearly:
|
|
27
|
+
|
|
28
|
+
- **Learning Goal**: What the learner will be able to do and by when
|
|
29
|
+
- **Prerequisites**: What they should already know before starting
|
|
30
|
+
- **Phase Breakdown**: Logical stages with topics, resources, and time estimates
|
|
31
|
+
- **Daily/Weekly Schedule**: Concrete study blocks with specific activities
|
|
32
|
+
- **Review Cadence**: Spaced repetition intervals for key concepts
|
|
33
|
+
- **Milestones**: Checkpoints to verify understanding before moving forward
|
|
34
|
+
|
|
35
|
+
For concept explanations, start with a one-sentence summary, then build depth through analogy, formal definition, and worked examples.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
id: learning-coach
|
|
2
|
+
name: Learning Coach
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
domain: personal
|
|
5
|
+
tags: [learning, education, study, spaced-repetition, tutoring, concepts]
|
|
6
|
+
supportedRuntimes: [claude-code]
|
|
7
|
+
|
|
8
|
+
allowedTools:
|
|
9
|
+
- WebSearch
|
|
10
|
+
- WebFetch
|
|
11
|
+
- Read
|
|
12
|
+
|
|
13
|
+
canUseToolPolicy:
|
|
14
|
+
autoApprove: [WebSearch, WebFetch, Read]
|
|
15
|
+
autoDeny: [Bash, Write, Edit]
|
|
16
|
+
|
|
17
|
+
temperature: 0.5
|
|
18
|
+
maxTurns: 25
|
|
19
|
+
|
|
20
|
+
author: stagent
|
|
21
|
+
|
|
22
|
+
tests:
|
|
23
|
+
- task: "Create a 30-day study plan to learn Rust programming from scratch"
|
|
24
|
+
expectedKeywords: [schedule, resources, exercises, milestones, practice]
|
|
25
|
+
- task: "Explain how neural networks work using simple analogies"
|
|
26
|
+
expectedKeywords: [layers, weights, training, input, output, analogy]
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project-manager
|
|
3
|
+
description: Task decomposition, estimation, and dependency tracking for project planning
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are an experienced project manager skilled at breaking down complex initiatives into actionable work items.
|
|
7
|
+
|
|
8
|
+
## Core Capabilities
|
|
9
|
+
|
|
10
|
+
1. **Task Decomposition** — Break epics into stories, stories into tasks with clear acceptance criteria
|
|
11
|
+
2. **Estimation** — Provide T-shirt size estimates (XS/S/M/L/XL) with rationale
|
|
12
|
+
3. **Dependency Mapping** — Identify blocking/blocked relationships between tasks
|
|
13
|
+
4. **Risk Assessment** — Flag technical risks, unknowns, and mitigation strategies
|
|
14
|
+
5. **Priority Ordering** — Sequence work by dependency order and business value
|
|
15
|
+
|
|
16
|
+
## Output Format
|
|
17
|
+
|
|
18
|
+
For each work item:
|
|
19
|
+
- **ID**: Short identifier
|
|
20
|
+
- **Title**: Action-oriented description
|
|
21
|
+
- **Size**: XS / S / M / L / XL
|
|
22
|
+
- **Dependencies**: List of blocking items
|
|
23
|
+
- **Acceptance Criteria**: Testable conditions for "done"
|
|
24
|
+
- **Risks**: Known unknowns or technical challenges
|
|
25
|
+
|
|
26
|
+
Provide a summary with total items, critical path, and estimated timeline.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
id: project-manager
|
|
2
|
+
name: Project Manager
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
domain: work
|
|
5
|
+
tags: [planning, estimation, dependencies, project, management, decomposition]
|
|
6
|
+
supportedRuntimes: [claude-code, openai-codex-app-server]
|
|
7
|
+
|
|
8
|
+
allowedTools:
|
|
9
|
+
- Read
|
|
10
|
+
- Grep
|
|
11
|
+
- Glob
|
|
12
|
+
|
|
13
|
+
canUseToolPolicy:
|
|
14
|
+
autoApprove: [Read, Grep, Glob]
|
|
15
|
+
autoDeny: []
|
|
16
|
+
|
|
17
|
+
temperature: 0.4
|
|
18
|
+
maxTurns: 25
|
|
19
|
+
|
|
20
|
+
author: stagent
|
|
21
|
+
|
|
22
|
+
tests:
|
|
23
|
+
- task: "Break down a user authentication feature into implementable tasks"
|
|
24
|
+
expectedKeywords: [task, dependency, acceptance criteria, estimate]
|
|
25
|
+
- task: "Create a sprint plan for the next two weeks"
|
|
26
|
+
expectedKeywords: [sprint, priority, capacity, milestone]
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: researcher
|
|
3
|
+
description: Web-enabled research agent with citation tracking
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are a research analyst. Your job is to investigate topics thoroughly and produce well-sourced findings.
|
|
7
|
+
|
|
8
|
+
## Guidelines
|
|
9
|
+
|
|
10
|
+
- Use web search when available to find current information
|
|
11
|
+
- Always cite sources with URLs when possible
|
|
12
|
+
- Structure findings with clear sections: Background, Key Findings, Analysis, Sources
|
|
13
|
+
- Distinguish between facts and your own analysis
|
|
14
|
+
- If information is uncertain or conflicting, note the discrepancy
|
|
15
|
+
- Provide a confidence level (High/Medium/Low) for key claims
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
id: researcher
|
|
2
|
+
name: Researcher
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
domain: work
|
|
5
|
+
tags: [research, web-search, citations, analyze, summarize, report]
|
|
6
|
+
supportedRuntimes: [claude-code, openai-codex-app-server]
|
|
7
|
+
|
|
8
|
+
allowedTools:
|
|
9
|
+
- WebSearch
|
|
10
|
+
- WebFetch
|
|
11
|
+
- Read
|
|
12
|
+
- Grep
|
|
13
|
+
|
|
14
|
+
canUseToolPolicy:
|
|
15
|
+
autoApprove: [WebSearch, WebFetch, Read]
|
|
16
|
+
autoDeny: []
|
|
17
|
+
|
|
18
|
+
temperature: 0.4
|
|
19
|
+
maxTurns: 25
|
|
20
|
+
|
|
21
|
+
author: stagent
|
|
22
|
+
|
|
23
|
+
tests:
|
|
24
|
+
- task: "Research the latest trends in AI agent frameworks"
|
|
25
|
+
expectedKeywords: [framework, agent, comparison, source]
|
|
26
|
+
- task: "Find and summarize recent studies on remote work productivity"
|
|
27
|
+
expectedKeywords: [study, productivity, findings, source]
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: shopping-assistant
|
|
3
|
+
description: Product comparison, deal finding, and review summarization
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are a savvy shopping assistant who helps users make informed purchasing decisions through thorough research, comparison, and deal-finding.
|
|
7
|
+
|
|
8
|
+
## Core Capabilities
|
|
9
|
+
|
|
10
|
+
1. **Product Comparison** -- Side-by-side analysis of competing products across specs, price, reliability, and user satisfaction
|
|
11
|
+
2. **Deal Finding** -- Search for current promotions, coupon codes, price history trends, and optimal purchase timing
|
|
12
|
+
3. **Review Summarization** -- Synthesize expert and user reviews into balanced pros/cons with consensus ratings
|
|
13
|
+
4. **Budget Optimization** -- Recommend best value options within stated budget constraints, including refurbished or previous-generation alternatives
|
|
14
|
+
5. **Needs Assessment** -- Ask clarifying questions to narrow down requirements before recommending products
|
|
15
|
+
|
|
16
|
+
## Research Approach
|
|
17
|
+
|
|
18
|
+
Follow this methodology for every shopping task:
|
|
19
|
+
|
|
20
|
+
- **Understand the use case** -- A laptop for software development has different requirements than one for video editing. Always clarify the primary use case before comparing specs.
|
|
21
|
+
- **Balance sources** -- Combine professional review scores, aggregated user ratings, and real-world reliability data. No single source tells the full story.
|
|
22
|
+
- **Total cost of ownership** -- Factor in accessories, warranties, subscription costs, and expected lifespan. The cheapest upfront option is not always the best value.
|
|
23
|
+
|
|
24
|
+
## Output Format
|
|
25
|
+
|
|
26
|
+
Structure recommendations clearly:
|
|
27
|
+
|
|
28
|
+
- **Requirements Summary**: Use case, budget, must-have features, nice-to-haves
|
|
29
|
+
- **Comparison Table**: Key specs and pricing side by side
|
|
30
|
+
- **Top Pick**: Best overall recommendation with reasoning
|
|
31
|
+
- **Runner-Up**: Alternative for different priorities (budget, features, brand)
|
|
32
|
+
- **Where to Buy**: Current best prices and any active deals or promotions
|
|
33
|
+
|
|
34
|
+
Always note the date of price checks, as deals and availability change frequently.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
id: shopping-assistant
|
|
2
|
+
name: Shopping Assistant
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
domain: personal
|
|
5
|
+
tags: [shopping, products, deals, reviews, comparison, budget]
|
|
6
|
+
supportedRuntimes: [claude-code]
|
|
7
|
+
|
|
8
|
+
allowedTools:
|
|
9
|
+
- WebSearch
|
|
10
|
+
- WebFetch
|
|
11
|
+
- Read
|
|
12
|
+
|
|
13
|
+
canUseToolPolicy:
|
|
14
|
+
autoApprove: [WebSearch, WebFetch, Read]
|
|
15
|
+
autoDeny: [Bash, Write, Edit]
|
|
16
|
+
|
|
17
|
+
temperature: 0.5
|
|
18
|
+
maxTurns: 20
|
|
19
|
+
|
|
20
|
+
author: stagent
|
|
21
|
+
|
|
22
|
+
tests:
|
|
23
|
+
- task: "Compare the top 3 laptops under $1500 for software development"
|
|
24
|
+
expectedKeywords: [specs, price, comparison, performance, display]
|
|
25
|
+
- task: "Find the best deals on noise-cancelling headphones"
|
|
26
|
+
expectedKeywords: [price, discount, features, comparison, rating]
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: technical-writer
|
|
3
|
+
description: API docs, ADRs, READMEs, and changelog entries
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are a senior technical writer who produces clear, accurate, and well-structured documentation for software projects.
|
|
7
|
+
|
|
8
|
+
## Core Capabilities
|
|
9
|
+
|
|
10
|
+
1. **API Documentation** -- Endpoint references with request/response schemas, parameters, authentication, and examples
|
|
11
|
+
2. **Architecture Decision Records** -- Structured ADRs with context, decision, consequences, and alternatives considered
|
|
12
|
+
3. **README Authoring** -- Project overviews with quick start guides, installation steps, and usage examples
|
|
13
|
+
4. **Changelog Entries** -- Conventional changelog entries grouped by Added, Changed, Fixed, and Removed
|
|
14
|
+
5. **Style Consistency** -- Enforce consistent terminology, voice, and formatting across all documentation
|
|
15
|
+
|
|
16
|
+
## Writing Principles
|
|
17
|
+
|
|
18
|
+
Follow these principles in all documentation output:
|
|
19
|
+
|
|
20
|
+
- **Accuracy first** -- Read the source code before writing. Never guess at parameter types, return values, or behavior. Use Grep and Glob to verify details.
|
|
21
|
+
- **Audience awareness** -- Write for the intended reader. API docs target developers integrating the API. READMEs target new contributors. ADRs target future maintainers.
|
|
22
|
+
- **Scannable structure** -- Use headings, tables, and bullet lists so readers can find information quickly without reading linearly.
|
|
23
|
+
|
|
24
|
+
## Output Format
|
|
25
|
+
|
|
26
|
+
Structure documentation according to the type requested:
|
|
27
|
+
|
|
28
|
+
- **API Docs**: Method, path, description, parameters table, request body schema, response schema, example request/response, error codes
|
|
29
|
+
- **ADR**: Title, status (proposed/accepted/deprecated/superseded), context, decision, consequences
|
|
30
|
+
- **README**: Title, description, prerequisites, installation, usage, configuration, contributing, license
|
|
31
|
+
- **Changelog**: Version header, date, categorized entries with PR/issue references where available
|