Last updated

/iblai-vibe-agent

Mirrored from iblai/vibe · skills/agents/iblai-vibe-agent/SKILL.md. This page is generated — edit it in the repository, not here.

First time here? If iblai.env has no ARCHITECTURE=, run /iblai-vibe-start first (four questions; two minutes) — it decides single-org / multi-org / headless and who signs in, and every skill reads the answer.

Everything about configuring an agent lives behind one provider and one route layout. Set the provider up once (§1), then mount only the tabs your app needs (§2). Most apps need five or six; the rest are there when asked for.

Settings tab
Settings tab

Common setup (brand, conventions, env files, verification): see docs/skill-setup.md.

Prerequisites

  • Auth in place (/iblai-vibe-auth, or vibe-starter).
  • A real agent UUID — the last path segment of https://os.ibl.ai/platform/<org-key>/<agent-uuid>, or one created with /iblai-vibe-agent-create. Never invent one.
  • The signed-in user must be the agent's owner, an org admin, or hold an editor role on it (/iblai-vibe-agent-access); otherwise tabs render "no access".

1. The provider (once)

// app/(app)/agents/[mentorId]/layout.tsx
"use client";

import { AgentSettingsProvider } from "@iblai/iblai-js/web-containers/next";
import { useParams } from "next/navigation";
import { useEffect, useState } from "react";
import { resolveAppTenant } from "@/lib/iblai/tenant";

export default function AgentLayout({ children }: { children: React.ReactNode }) {
  const { mentorId } = useParams<{ mentorId: string }>();
  const [tenantKey, setTenantKey] = useState("");
  const [username, setUsername] = useState("");

  useEffect(() => {
    try {
      const raw = localStorage.getItem("userData");
      if (raw) setUsername(JSON.parse(raw).user_nicename ?? "");
    } catch {}
    setTenantKey(resolveAppTenant());
  }, []);

  if (!tenantKey || !username) return null;

  return (
    <AgentSettingsProvider tenantKey={tenantKey} mentorId={mentorId} username={username} enableRBAC={false}>
      {children}
    </AgentSettingsProvider>
  );
}

Suggested routes: app/(app)/agents/[mentorId]/<tab>/page.tsx, one per tab, with a small tab strip (shadcn Tabs or plain links) in the layout. Each tab component reads the agent from context — no props needed for the basics.

2. The tabs

Start with the core six (bold). Add the others only when the user asks.

TabWhat it doesSkillREST twin (iblai-api-*, kind api)
SettingsBasic, Discovery, Capabilities, Welcome Screen sub-tabs; copy to another org; delete/iblai-vibe-agent-settingagent-setting
Promptssystem prompt, proactive/study/guided prompts, suggested prompts/iblai-vibe-agent-promptagent-prompt
LLMprovider + model selection (incl. the org's own keys); Allow In-Chat Model Change; which models users can pick (admins)/iblai-vibe-agent-llmagent-llm
DatasetsRAG: files, URLs, YouTube, crawl, GitHub; train/retrain/iblai-vibe-agent-datasetagent-dataset
Memoryenable memory; manage memories and categories/iblai-vibe-agent-memory (guide: /iblai-vibe-memory-guide)agent-memory
Toolsenable/disable the agent's tools/iblai-vibe-agent-toolagent-tool
AccessRBAC sharing: editor / chat / analytics roles for users and groups/iblai-vibe-agent-accessagent-access
Analyticsreport cards (overview, users, topics, transcripts, costs, …) that open your analytics pages for this agent/iblai-vibe-agent-analyticsanalytics
APIthe organization's API keys, used to call the agent from code (create, shown once, delete)/iblai-vibe-agent-apiapi-token
Billingspend cap for the agent and per user/iblai-vibe-agent-billingspend-caps
Embedembed code, styling, shareable links/iblai-vibe-agent-embedagent-embed
Evalsbenchmarks, LLM-as-Judge reviews, manual scores, CSV export/iblai-vibe-agent-evalsagent-eval
Graderrubric-based grading with overrides/iblai-vibe-agent-grader—
Historyconversation history with filters and export/iblai-vibe-agent-historyagent-history
LTILTI 1.3 launch, keys, tools, endpoints/iblai-vibe-agent-lti—
MCPconnectors (Featured + Directory) on/off per agent, sign-in scope, own OAuth app, the chat's MCP panel/iblai-vibe-agent-mcpagent-mcp
PrivacyPII filtering (allow / redact / mask / block) and the Incognito policy/iblai-vibe-agent-privacyagent-privacy
Safetymoderation prompts, flagged content/iblai-vibe-agent-safetyagent-safety
Sandboxcomputing runtime / VM shell / Claw instances/iblai-vibe-agent-sandboxagent-sandbox
Screenscreen sharing on voice calls: on/off, in-call instructions, opening line/iblai-vibe-agent-screenshareagent-voice
Skillsreusable Agent Skills, per-agent assignment, chat / picker/iblai-vibe-agent-skillsagent-skill
Supporthuman support ticket inbox/iblai-vibe-agent-supportagent-support
Tasksscheduled periodic agent tasks with run logs/iblai-vibe-agent-task—
Voicevoice calls on/off; chat voice and voice instructions; call style, language, provider; dictation/iblai-vibe-agent-voiceagent-voice
Auditwho changed what and when/iblai-vibe-agent-auditagent-audit
Disclaimersuser agreement and advisory text/iblai-vibe-agent-disclaimeragent-disclaimer

Every tab skill has screenshots of the surface it mounts — open the skill before promising the user what they will see.

NeedSkill
Create an agent from the app/iblai-vibe-agent-create
Chat with an agent/iblai-vibe-agent-chat (+ /iblai-vibe-agent-chat-sidebar)
Browse / star agents/iblai-vibe-agent-search
Agent-scoped analytics dashboards (the pages the Analytics tab opens)/iblai-vibe-analytics ("One agent instead of the org")

Verify

Run /iblai-vibe-ops-test before telling the user the work is ready, and give every page, control and state this skill added its own checkpoint — one Playwright test titled <ID> · … in e2e/journeys/, listed in e2e/coverage.json; pnpm e2e:coverage must pass: pnpm build, pnpm test, then Touch test /agents/<uuid>/settings in the browser as /iblai-vibe-ops-test says: every tab, the console, the phone width.

Copyright © ibl.ai | support@iblai.zendesk.com