본문으로 건너뛰기
cccskills
무료GitHub에 공개

adding-workspace-apps

How to add an app to an Agent Native workspace: classifying an "agent" request, scaffolding `apps/<app-name>`, app discovery and descriptions, mounting and base paths, action-first data, and finishing a chat-template app. Use when asked to create, build, scaffold, or generate a new agent or app in a workspace.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

karanmrn/karanagentskills스타 3(GitHub 3 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md5.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Adding Workspace Apps

Classify The Ask First

When a user asks from Dispatch chat or through @agent-native in Slack or Telegram to create, build, make, scaffold, or generate an "agent", classify the ask first. Simple Dispatch-native behavior such as a reminder, digest, monitor, routing rule, saved instruction, or recurring workflow can stay in Dispatch as a recurring job/resource/destination. Robust unique products or teammates that need their own UI, data model, actions, integrations, or domain workflow should become a separate workspace app under apps/<app-name>, mounted at /<app-name>.

Where The App Lives

Do not implement a new app by adding a route, page, component, or file to apps/chat or another existing app unless the user explicitly asks to modify that existing app.

Vault Access

Dispatch vault access is workspace-wide by default: every saved vault key is available to every workspace app. Only create or request per-app vault grants when Dispatch's vault access setting is switched to manual mode.

When an app needs a provider credential, use the app's scoped secret or workspace-connection resolver so Dispatch remains the source of truth. Do not ask a non-admin builder to add a key to local project settings or .env; use Dispatch's vault request workflow for a missing key and keep the value out of app code.

Discovery, Links, And The UI Stack

Workspace apps are discovered from apps/<app-name>/package.json. There is no separate workspace app registry to edit for Dispatch to list the app. Always save a concise, human-readable description there; Dispatch lists and A2A connected-agent context use the app name plus description so agents know what the app does. Use relative workspace links like /<app-name> and never hardcode localhost, 127.0.0.1, 8080, 8100, or any dev port in app cards, instructions, redirects, or navigation; the active workspace gateway/browser origin owns the port. React Router apps must preserve APP_BASE_PATH / VITE_APP_BASE_PATH in app/entry.client.tsx via appBasePath() so the app hydrates correctly when mounted at /<app-name>. Use the framework/template UI stack for standard UI: shadcn/ui components and @tabler/icons-react. Do not add lucide-react or another icon library. Read .agents/skills/shadcn-ui/SKILL.md before adding, updating, or debugging shadcn components.

App Data Goes Through Actions

Normal app data must flow through actions. For CRUD that the agent can perform, create defineAction files in actions/, mark reads with http: { method: "GET" }, and call them from React with useActionQuery / useActionMutation. Do not add duplicate JSON CRUD routes under /api/* for the same data unless the route is for uploads, streaming, webhooks, OAuth, or another route-only concern. Do not add routes whose main job is to wrap, proxy, or re-export an action; the action endpoint already exists at /_agent-native/actions/:name. Action-backed UI is what makes agent-created or agent-edited records appear without a manual refresh.

Database Portability

App database code must be provider-agnostic. Define schemas with @agent-native/core/db/schema helpers and write app reads/writes with Drizzle's query builder and portable drizzle-orm operators. Do not import from drizzle-orm/sqlite-core or drizzle-orm/pg-core in app templates. Keep raw SQL for additive migrations, health checks, or carefully scoped maintenance, and never write SQLite-only or Postgres-only product code. Do not use SQL as object storage; file bytes belong in upload/private-blob providers with only references saved to app tables.

Scaffolding

In local development, run pnpm exec agent-native create <app-name> --template=<template> from the workspace root. In production, Dispatch posts new-app requests to Builder branch creation; Builder should still scaffold the separate workspace app. The workspace dev gateway (pnpm dev) detects new apps/<app-name> directories automatically.

Finishing A Chat-Template App

When using the chat template, treat it as scaffolding only. The finished app must be branded as the requested app, with its own home screen, navigation, package metadata, manifest, and domain workflow. Do not leave visible Chat, Starter, Blank app, Start building, or New app UI in a chat-derived app.

Related Skills

  • workspace-conventions — Shared workspace rules this workflow assumes.
  • actions — How to define the app operations the agent and UI share.
  • composable-mini-apps — Splitting work across focused sibling apps.
  • portability — Keeping database and hosting assumptions provider-agnostic.
  • shadcn-ui — Adding and upgrading the UI primitives.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

karanmrn/karanagentskills32026년 8월 28일 업데이트

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

karanmrn/karanagentskills32026년 8월 28일 업데이트

1password

무료

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

karanmrn/karanagentskills32026년 8월 28일 업데이트

Build integrated IS/BS/CF financial workbooks in Excel.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

karanmrn/karanagentskills32026년 8월 28일 업데이트

9router

무료

Entry point for 9Router — local/remote AI gateway with OpenAI-compatible REST for chat, image, TTS, embeddings, web search, web fetch. Use when the user mentions 9Router, NINEROUTER_URL, or wants AI without writing provider boilerplate. This skill covers setup + indexes capability skills; fetch the relevant capability SKILL.md from the URLs below when needed.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

karanmrn/karanagentskills32026년 8월 28일 업데이트

Chat / code generation via 9Router using OpenAI /v1/chat/completions or Anthropic /v1/messages format with streaming + auto-fallback combos. Use when the user wants to ask an LLM, generate code, summarize text, or run prompts through 9Router.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

karanmrn/karanagentskills32026년 8월 28일 업데이트

karanmrn의 스킬 모두 보기

이 스킬의 문제 신고