ProductBrand
Join us
Foundations
  • Introduction
  • Colors
  • Typography
  • Icons
  • Illustrations
  • Logos
  • Shadows
Components
  • Accordion
  • Alert Dialog
  • Avatar
  • Badge
  • Button
  • Calendar
  • Card
  • Chart
  • Checkbox
  • Collapsible
  • Combobox
  • Context Menu
  • Date Picker
  • Dialog
  • Drawer
  • Dropdown Menu
  • Fluid Avatar
  • Hover Scroll Text
  • Input
  • Kbd
  • Popover
  • Progress Bar
  • Radio Group
  • Scroll Area
  • Select
  • Selectors
  • Separator
  • Separator Dot
  • Shimmer Text
  • Skeleton
  • Slider
  • Switch
  • Tabs
  • Textarea
  • Toast
  • Tooltip
Compositions
  • Empty State
  • File Attachment
  • Floating Bar
  • Input Banner
  • Markdown Editor
  • Media Controls
  • Product Feature Banner
  • Panels
  • Sidebar
  • Reasoning Trace
  • Pagination
  • Data Table
  • Breadcrumb
  • Thread Outline
Inline
  • Overview
  • Stat Tile
  • Metric Row
  • Comparison Table
  • Chart Card
  • Trend Tile
  • Cite
  • Custom
  • Agent skill

Agent import

These compositions use the existing modal, input, and button primitives. Application adapters own authorization, queries, attestations, and submission. They are shared by organization administration and the global admin panel.

tsx
import { AgentImportForm } from "@rogo-technologies/ui/compositions/agent-import-form";
import { AgentImportConflictView } from "@rogo-technologies/ui/compositions/agent-import-conflict-view";

Render AgentImportForm inside ModalContent, after the modal header. Supply initial-sharing and owner pickers as slots and conflict views as the conflicts slot. Choosing a person assigns that person as the owner; choosing a team or organization reveals the owner picker. Require an owner before selecting a ZIP. The form has no network access.

PropsPurpose
busy, reading, submitting, canSubmitPending feedback and submission availability
previewAgent name, description, and attached skill count
errorActionable upload error text
initialSharing, hasOwnerSharing choice and owner-selection state
ownerPicker, audiencePicker, conflictsApplication-provided controls
fileUploadOptional upload control; defaults to a ZIP input
onChooseFile, onSubmit, onCancelFile, submit, and cancellation handlers

AgentImportConflictView displays candidate descriptions and separates View skill from Link existing skill. Supply onView to load files through the application's authorized endpoint, then pass files, isLoading, isError, and viewing. onLink records the chosen candidate; viewing never links automatically. selectedId marks the current choice.

tsx
<AgentImportConflictView
  conflict={{
    slug: "example",
    candidates: [{ id: "skill", name: "Example", description: "An existing workflow" }],
  }}
  selectedId={undefined}
  onView={loadSkillFiles}
  onLink={selectSkill}
  viewing={false}
  files={undefined}
  isLoading={false}
  isError={false}
/>

Design at Rogo

We’re redesigning an entire industry. Come design it with us.

See open roles

Design at Rogo

  • How we workThe mission of design at Rogo, and the open roles
  • About RogoThe company and the product