Since v0.8.11 your bot keeps working after it hangs up — by default it writes up the call. Here’s what happens, and how to change what it does.
When your bot leaves a call, it doesn’t stop. It gets an after-call work phase: it
has left the room, but the transcript and whiteboard are still readable, and it does one
last defined thing before shutting down.By default that’s a written summary of the call, saved to a folder. Two conditions,
both usually true: an agent must still be driving the bot when it leaves, and the
afterCallWorkSeconds preference must be above 0 (default 300). No agent, or set to 0 →
teardown is immediate and nothing is written (gate: main.js:686-717 · default: preferences-schema.js:104-108).The window is extendable. 300 seconds is the default backstop, not the ceiling — the
preference accepts up to 1800 seconds (preferences-schema.js, max constraint). If your
after-call work involves real model calls (a rendered recap, a long receipt), raise it
before leaving: set_preference("afterCallWorkSeconds", 1800). And it’s a backstop, not a
schedule — finish early, call end_session, and teardown is immediate.
Changing what it does
The instruction lives in your bot’s own CLAUDE.md, so this is a conversation, not a
settings screen. Say something like:
“Add an ‘After the call’ section to your CLAUDE.md. When a call ends you get an
after-call phase where the transcript is still readable — in it, write up what we
decided and file it as a GitHub issue.”
Your bot edits its own file. Next call, that’s what happens instead.Things people put there: notes to a folder · a GitHub issue per decision · an email to
whoever was on the call · a rendered recap video · nothing at all.
It degrades correctly by design. A bot with no API keys writes a markdown file — which is
a complete, useful outcome, not a fallback. Fancier results come from your tools, not
from us.
How long it gets
The agent ends the phase itself when it’s done, so a normal call costs a few extra seconds.
There’s a five-minute backstop if it never reports back.
The share-card prototype
Separately, there’s an example share card — a browser
renderer for a small JSON object encoded in the URL fragment.
That prototype is not part of the automatic flow above, and it is not signed or
verified. Anyone with the link can read and alter its contents. Don’t put secrets,
private transcript text, or private participant names in one.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Vibeconferencing","description":"Your Claude Code, in your Google Meet.","colors":{"primary":"#0A736B","light":"#7FDED4","dark":"#0A736B"},"favicon":"https://mintcdn.com/vibeconf/uHvoNtxoQAswW9vZ/favicon.svg?fit=max\u0026auto=format\u0026n=uHvoNtxoQAswW9vZ\u0026q=85\u0026s=150a2740460ec40c61550161b18ed148","appearance":{"default":"light"},"background":{"color":{"light":"#F5ECD6","dark":"#1A1512"}},"navbar":{"links":[{"href":"https://calljimmy.ai/guest","label":"Been invited to a call?"}],"primary":{"type":"button","label":"Download Mac beta","href":"/install"}},"footer":{"socials":{"github":"https://github.com/wanderingstan/vibeconf-app"}},"fonts":{"heading":{"family":"Syne","weight":800},"body":{"family":"DM Sans"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"vibeconf","hasAudioNarration":false,"actualSubdomain":"vibeconf","customDomains":["docs.vibeconf.app"],"gitSource":{"type":"github","owner":"vibecodinginc","repo":"vibeconf-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6a8dbfaa482d98aeb81db4fa","clientVersion":"0.0.4143","searchFilterCounts":[]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"receipt","slug":"/receipt","pageMetadata":{"title":"What the call leaves behind","description":"Since v0.8.11 your bot keeps working after it hangs up — by default it writes up the call. Here's what happens, and how to change what it does.","noindex":true,"href":"/receipt"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Since v0.8.11 your bot keeps working after it hangs up — by default it writes up the call. Here’s what happens, and how to change what it does.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,blockquote:`blockquote`,code:`code`,em:`em`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,Tip,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`When your bot leaves a call, it doesn’t stop.`}),` It gets an `,_jsx(_components.em,{children:`after-call work`}),` phase: it\nhas left the room, but the transcript and whiteboard are still readable, and it does one\nlast defined thing before shutting down.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`By default that’s a written summary of the call, saved to a folder.`}),` Two conditions,\nboth usually true: an agent must still be driving the bot when it leaves, and the\n`,_jsx(_components.code,{children:`afterCallWorkSeconds`}),` preference must be above 0 (default 300). No agent, or set to 0 →\nteardown is immediate and nothing is written (gate: `,_jsx(_components.code,{children:`main.js:686-717`}),` · default: `,_jsx(_components.code,{children:`preferences-schema.js:104-108`}),`).`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The window is extendable.`}),` 300 seconds is the default backstop, not the ceiling — the\npreference accepts up to `,_jsx(_components.strong,{children:`1800 seconds`}),` (`,_jsx(_components.code,{children:`preferences-schema.js`}),`, max constraint). If your\nafter-call work involves real model calls (a rendered recap, a long receipt), raise it\n`,_jsx(_components.em,{children:`before`}),` leaving: `,_jsx(_components.code,{children:`set_preference(\"afterCallWorkSeconds\", 1800)`}),`. And it’s a backstop, not a\nschedule — finish early, call `,_jsx(_components.code,{children:`end_session`}),`, and teardown is immediate.`]}),`\n`,_jsx(Heading,{level:`2`,id:`changing-what-it-does`,children:`Changing what it does`}),`\n`,_jsxs(_components.p,{children:[`The instruction lives in your bot’s own `,_jsx(_components.code,{children:`CLAUDE.md`}),`, so this is a conversation, not a\nsettings screen. Say something like:`]}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsx(_components.p,{children:`“Add an ‘After the call’ section to your CLAUDE.md. When a call ends you get an\nafter-call phase where the transcript is still readable — in it, write up what we\ndecided and file it as a GitHub issue.”`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Your bot edits its own file. Next call, that’s what happens instead.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Things people put there:`}),` notes to a folder · a GitHub issue per decision · an email to\nwhoever was on the call · a rendered recap video · nothing at all.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`It degrades correctly by design. A bot with no API keys writes a markdown file — which is\na complete, useful outcome, not a fallback. Fancier results come from `,_jsx(_components.em,{children:`your`}),` tools, not\nfrom us.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`how-long-it-gets`,children:`How long it gets`}),`\n`,_jsx(_components.p,{children:`The agent ends the phase itself when it’s done, so a normal call costs a few extra seconds.\nThere’s a five-minute backstop if it never reports back.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-share-card-prototype`,children:`The share-card prototype`}),`\n`,_jsxs(_components.p,{children:[`Separately, there’s an `,_jsx(_components.a,{href:`https://vibeconf.app/receipt/`,children:`example share card`}),` — a browser\nrenderer for a small JSON object encoded in the URL fragment.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`That prototype is `,_jsx(_components.strong,{children:`not`}),` part of the automatic flow above, and it is not signed or\nverified. Anyone with the link can read `,_jsx(_components.em,{children:`and alter`}),` its contents. Don’t put secrets,\nprivate transcript text, or private participant names in one.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"What the call leaves behind","description":"Since v0.8.11 your bot keeps working after it hangs up — by default it writes up the call. Here's what happens, and how to change what it does.","noindex":true,"href":"/receipt"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Changing what it does","slug":"changing-what-it-does","depth":2,"children":[]},{"title":"How long it gets","slug":"how-long-it-gets","depth":2,"children":[]},{"title":"The share-card prototype","slug":"the-share-card-prototype","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"vibeconf","siteName":"Vibeconferencing","title":"What the call leaves behind - Vibeconferencing","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-10T03:02:55.659Z","originalFileLocation":"receipt.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Since v0.8.11 your bot keeps working after it hangs up — by default it writes up the call. Here\u0026#x27;s what happens, and how to change what it does.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Vibeconferencing\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vibeconf/kvVUGP9BWio-kQVW/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/vibeconf/kvVUGP9BWio-kQVW/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vibeconf/kvVUGP9BWio-kQVW/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/vibeconf/kvVUGP9BWio-kQVW/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/vibeconf/kvVUGP9BWio-kQVW/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vibeconf/kvVUGP9BWio-kQVW/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vibeconf/kvVUGP9BWio-kQVW/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/vibeconf/kvVUGP9BWio-kQVW/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/vibeconf/kvVUGP9BWio-kQVW/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"What the call leaves behind - Vibeconferencing\">\u003cmeta data-mint-head property=\"og:description\" content=\"Since v0.8.11 your bot keeps working after it hangs up — by default it writes up the call. Here\u0026#x27;s what happens, and how to change what it does.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vibeconferencing\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.vibeconf.app/receipt\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://vibeconf.mintlify.site/_mintlify/api/og/v2?division=In+the+call\u0026amp;title=What+the+call+leaves+behind\u0026amp;description=Since+v0.8.11+your+bot+keeps+working+after+it+hangs+up+%E2%80%94+by+default+it+writes+up+the+call.+Here%27s+what+happens%2C+and+how+to+change+what+it+does.\u0026amp;theme=19d740c6e38e4aa596ad6b84\u0026amp;signature=d8f1572326d1989de645d7eb01d99775630dee417c02250d051a3804643b0f98\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"What the call leaves behind - Vibeconferencing\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Since v0.8.11 your bot keeps working after it hangs up — by default it writes up the call. Here\u0026#x27;s what happens, and how to change what it does.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://vibeconf.mintlify.site/_mintlify/api/og/v2?division=In+the+call\u0026amp;title=What+the+call+leaves+behind\u0026amp;description=Since+v0.8.11+your+bot+keeps+working+after+it+hangs+up+%E2%80%94+by+default+it+writes+up+the+call.+Here%27s+what+happens%2C+and+how+to+change+what+it+does.\u0026amp;theme=19d740c6e38e4aa596ad6b84\u0026amp;signature=d8f1572326d1989de645d7eb01d99775630dee417c02250d051a3804643b0f98\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/vibeconf/kvVUGP9BWio-kQVW/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Vibeconferencing\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0A736B\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.vibeconf.app/receipt\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/receipt.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Vibeconferencing\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Vibeconferencing\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/receipt.md","siteName":"Vibeconferencing","nav":{"global":null,"groups":[{"group":"Start here","pages":[{"title":"These docs are being rewritten","href":"/index"},{"title":"The first hour","href":"/first-hour"},{"title":"Give this to Claude Code","href":"/agent"}]},{"group":"In the call","pages":[{"title":"Working together in a call","href":"/working-together"},{"title":"The tools, by name","href":"/in-a-call"},{"title":"Call language","description":"The bot hears through Meet's captions — set the language or it answers nonsense.","href":"/caption-language"},{"title":"What the call leaves behind","href":"/receipt"}]},{"group":"Skills","pages":[{"title":"Skill: ship it live","description":"Put what you just made on the internet before the call ends — the deploy, the confirmation rule, and the URL in chat. Written for agents.","href":"/skills-ship-it-live"},{"title":"Skill: leave a receipt","href":"/skills-leave-a-receipt"}]}]},"basePath":"","title":"What the call leaves behind - Vibeconferencing","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}