The sandbox a skill’s own code runs in, what’s preinstalled, and the approvals needed before Abbie can execute it.
Many published skills — including the Excel, Word, PowerPoint and PDF ones — ship Python scripts alongside their instructions, rather than relying on Abbie to write the equivalent code from scratch each time. Abbie can run these scripts, inside a sandbox built to limit what they can touch.
Only these libraries are available to a script: openpyxl, pandas, numpy, python-docx, python-pptx, pypdf, pdfplumber, reportlab, Pillow, lxml, beautifulsoup4, markitdown.
A skill’s own dependency list can’t be installed. A skill that ships a requirements.txt still installs fine, but nothing in that file is ever fetched — only the libraries above are available, whatever the skill asks for.Where the file sits changes what you see. A requirements.txt at the top of a skill is taken as its dependency list, so its scripts are refused up front rather than run and failed halfway. One tucked away beside a single script, or shipped as documentation, doesn’t block anything — those scripts run, and only fail if they actually reach for something missing. Either way the message names the requirements.txt file, so you can tell this apart from a broken skill.
Running a skill’s scripts at all takes two separate approvals:
An account admin turns script execution on for the account.
Each individual skill is approved on its own, on top of that.
Approving a skill shows you the exact script files you’re approving, not just the skill’s name. Revoking approval is one click, and a skill that ships no scripts of its own offers no approval control at all, because there’s nothing to approve.
Some document skills use LibreOffice for a final validation pass after producing a file. That step isn’t available here, so it’s skipped — the document itself is still produced, just without that last check.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"QuivaWorks Docs","description":"","colors":{"primary":"#4641F2","light":"#ffffff","dark":"#4641F2"},"logo":{"light":"https://mintcdn.com/microstrate/Eit-IsSh6_6H8X4Q/logo/light.svg?fit=max\u0026auto=format\u0026n=Eit-IsSh6_6H8X4Q\u0026q=85\u0026s=01f10191a8ee36765af69b1436deb5e0","dark":"https://mintcdn.com/microstrate/Eit-IsSh6_6H8X4Q/logo/dark.svg?fit=max\u0026auto=format\u0026n=Eit-IsSh6_6H8X4Q\u0026q=85\u0026s=9dc23bd7a296bc325260ff32d2fc6d17"},"favicon":"https://mintcdn.com/microstrate/bn6ONmpX3KvP6AZn/favicon.svg?fit=max\u0026auto=format\u0026n=bn6ONmpX3KvP6AZn\u0026q=85\u0026s=af71ce7c16b2da43ee49a98290989182","appearance":{"default":"system"},"navbar":{"links":[{"href":"https://app.quiva.ai/en/login","label":"Log in"}],"primary":{"type":"button","label":"Try for free","href":"https://app.quiva.ai/en/signup"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/quivaworks"}},"fonts":{"family":"Be Vietnam Pro"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Community","icon":"slack","href":"https://quiva.ai/community"},{"anchor":"Support","icon":"headset","href":"https://quiva.ai/help-center/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"microstrate","hasAudioNarration":false,"actualSubdomain":"microstrate","customDomains":["docs.quiva.ai"],"gitSource":{"type":"github","owner":"quivaworks","repo":"quiva.ai","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad60206a4240b47121a641e","collectionId":"68457a85-61f8-49fb-a0b0-0c637f3f1272","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad60206a4240b47121a641e"},"entitlements":{},"buildId":"6ad60206a4240b47121a641e","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"API Reference","count":244},{"language":"default","tag":"Guides","count":114},{"language":"default","tag":"Accounts","count":85},{"language":"default","tag":"Abbie","count":47},{"language":"default","tag":"Account Management","count":37},{"language":"default","tag":"Workspaces","count":33},{"language":"default","tag":"Assistants","count":32},{"language":"default","tag":"Storage","count":31},{"language":"default","tag":"Hub Flows","count":29},{"language":"default","tag":"Flows","count":28}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","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":"editor-v7-file-tree","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":"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":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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}],"isAtlas":false,"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"abbie/teaching/running-skill-scripts","slug":"/abbie/teaching/running-skill-scripts","pageMetadata":{"title":"Running a skill's scripts","description":"The sandbox a skill's own code runs in, what's preinstalled, and the approvals needed before Abbie can execute it.","icon":"terminal","href":"/abbie/teaching/running-skill-scripts"},"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: \"The sandbox a skill’s own code runs in, what’s preinstalled, and the approvals needed before Abbie can execute it.\"\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={code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Many published skills — including the Excel, Word, PowerPoint and PDF ones — ship Python scripts alongside their instructions, rather than relying on Abbie to write the equivalent code from scratch each time. Abbie can run these scripts, inside a sandbox built to limit what they can touch.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-sandbox`,children:`The sandbox`}),`\n`,_jsx(_components.p,{children:`A skill’s scripts run with:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`No network access.`}),` A script cannot reach the internet, your systems, or anything else outside the sandbox.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`No access to your uploaded documents.`}),` A skill’s scripts only ever see the skill’s own files, plus whatever Abbie explicitly passes in.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`The only thing a script can write is its own output, which is what comes back to Abbie.`}),`\n`,_jsx(Heading,{level:`3`,id:`preinstalled-libraries`,children:`Preinstalled libraries`}),`\n`,_jsxs(_components.p,{children:[`Only these libraries are available to a script: `,_jsx(_components.code,{children:`openpyxl`}),`, `,_jsx(_components.code,{children:`pandas`}),`, `,_jsx(_components.code,{children:`numpy`}),`, `,_jsx(_components.code,{children:`python-docx`}),`, `,_jsx(_components.code,{children:`python-pptx`}),`, `,_jsx(_components.code,{children:`pypdf`}),`, `,_jsx(_components.code,{children:`pdfplumber`}),`, `,_jsx(_components.code,{children:`reportlab`}),`, `,_jsx(_components.code,{children:`Pillow`}),`, `,_jsx(_components.code,{children:`lxml`}),`, `,_jsx(_components.code,{children:`beautifulsoup4`}),`, `,_jsx(_components.code,{children:`markitdown`}),`.`]}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[`A skill’s own dependency list can’t be installed. A skill that ships a `,_jsx(_components.code,{children:`requirements.txt`}),` still installs fine, but nothing in that file is ever fetched — only the libraries above are available, whatever the skill asks for.`]}),_jsxs(_components.p,{children:[`Where the file sits changes what you see. A `,_jsx(_components.code,{children:`requirements.txt`}),` at the top of a skill is taken as its dependency list, so its scripts are refused up front rather than run and failed halfway. One tucked away beside a single script, or shipped as documentation, doesn’t block anything — those scripts run, and only fail if they actually reach for something missing. Either way the message names the `,_jsx(_components.code,{children:`requirements.txt`}),` file, so you can tell this apart from a broken skill.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`two-approvals-before-anything-runs`,children:`Two approvals before anything runs`}),`\n`,_jsx(_components.p,{children:`Running a skill’s scripts at all takes two separate approvals:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`An account admin turns script execution on for the account.`}),`\n`,_jsx(_components.li,{children:`Each individual skill is approved on its own, on top of that.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Approving a skill shows you the exact script files you’re approving, not just the skill’s name. Revoking approval is one click, and a skill that ships no scripts of its own offers no approval control at all, because there’s nothing to approve.`}),`\n`,_jsx(Heading,{level:`2`,id:`libreoffice-isn’t-available`,children:`LibreOffice isn’t available`}),`\n`,_jsx(_components.p,{children:`Some document skills use LibreOffice for a final validation pass after producing a file. That step isn’t available here, so it’s skipped — the document itself is still produced, just without that last check.`})]})}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":"Running a skill's scripts","description":"The sandbox a skill's own code runs in, what's preinstalled, and the approvals needed before Abbie can execute it.","icon":"terminal","href":"/abbie/teaching/running-skill-scripts"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"The sandbox","slug":"the-sandbox","depth":2,"children":[{"title":"Preinstalled libraries","slug":"preinstalled-libraries","depth":3,"children":[]}]},{"title":"Two approvals before anything runs","slug":"two-approvals-before-anything-runs","depth":2,"children":[]},{"title":"LibreOffice isn’t available","slug":"libreoffice-isn’t-available","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"microstrate","siteName":"QuivaWorks Docs","title":"Running a skill's scripts - QuivaWorks Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-28T14:55:02.233Z","originalFileLocation":"abbie/teaching/running-skill-scripts.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=\"system\"}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=\"The sandbox a skill\u0026#x27;s own code runs in, what\u0026#x27;s preinstalled, and the approvals needed before Abbie can execute it.\">\u003cmeta data-mint-head name=\"application-name\" content=\"QuivaWorks Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/microstrate/rkD4iFTLdo_icBn3/_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/microstrate/rkD4iFTLdo_icBn3/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/microstrate/rkD4iFTLdo_icBn3/_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/microstrate/rkD4iFTLdo_icBn3/_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/microstrate/rkD4iFTLdo_icBn3/_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/microstrate/rkD4iFTLdo_icBn3/_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/microstrate/rkD4iFTLdo_icBn3/_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/microstrate/rkD4iFTLdo_icBn3/_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/microstrate/rkD4iFTLdo_icBn3/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Running a skill\u0026#x27;s scripts - QuivaWorks Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"The sandbox a skill\u0026#x27;s own code runs in, what\u0026#x27;s preinstalled, and the approvals needed before Abbie can execute it.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"QuivaWorks Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.quiva.ai/abbie/teaching/running-skill-scripts\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://microstrate.mintlify.app/_mintlify/api/og/v2?division=Teaching+Abbie\u0026amp;title=Running+a+skill%27s+scripts\u0026amp;description=The+sandbox+a+skill%27s+own+code+runs+in%2C+what%27s+preinstalled%2C+and+the+approvals+needed+before+Abbie+can+execute+it.\u0026amp;theme=36902b5db42d38e5b9d76a2d\u0026amp;signature=19840e1959f088aa7fef0632e740b33278e1365e6d7a9a891e8c5fe174418ae0\">\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=\"Running a skill\u0026#x27;s scripts - QuivaWorks Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The sandbox a skill\u0026#x27;s own code runs in, what\u0026#x27;s preinstalled, and the approvals needed before Abbie can execute it.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://microstrate.mintlify.app/_mintlify/api/og/v2?division=Teaching+Abbie\u0026amp;title=Running+a+skill%27s+scripts\u0026amp;description=The+sandbox+a+skill%27s+own+code+runs+in%2C+what%27s+preinstalled%2C+and+the+approvals+needed+before+Abbie+can+execute+it.\u0026amp;theme=36902b5db42d38e5b9d76a2d\u0026amp;signature=19840e1959f088aa7fef0632e740b33278e1365e6d7a9a891e8c5fe174418ae0\">\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/microstrate/rkD4iFTLdo_icBn3/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"QuivaWorks Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4641F2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.quiva.ai/abbie/teaching/running-skill-scripts\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/abbie/teaching/running-skill-scripts.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.quiva.ai/#organization\",\"name\":\"QuivaWorks Docs\",\"url\":\"https://docs.quiva.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/microstrate/Eit-IsSh6_6H8X4Q/logo/light.svg?fit=max\u0026auto=format\u0026n=Eit-IsSh6_6H8X4Q\u0026q=85\u0026s=01f10191a8ee36765af69b1436deb5e0\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.quiva.ai#website\",\"name\":\"QuivaWorks Docs\",\"url\":\"https://docs.quiva.ai\",\"publisher\":{\"@id\":\"https://docs.quiva.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.quiva.ai/abbie/teaching/running-skill-scripts#webpage\",\"url\":\"https://docs.quiva.ai/abbie/teaching/running-skill-scripts\",\"name\":\"Running a skill's scripts\",\"description\":\"The sandbox a skill's own code runs in, what's preinstalled, and the approvals needed before Abbie can execute it.\",\"dateModified\":\"2026-08-28T14:55:02.233Z\",\"isPartOf\":{\"@id\":\"https://docs.quiva.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.quiva.ai/abbie/teaching/running-skill-scripts#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.quiva.ai/abbie/teaching/running-skill-scripts#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Teaching Abbie\",\"item\":\"https://docs.quiva.ai/abbie/teaching/skills-library\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Running a skill's scripts\",\"item\":\"https://docs.quiva.ai/abbie/teaching/running-skill-scripts\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.quiva.ai/abbie/teaching/running-skill-scripts#article\",\"headline\":\"Running a skill's scripts\",\"name\":\"Running a skill's scripts\",\"description\":\"The sandbox a skill's own code runs in, what's preinstalled, and the approvals needed before Abbie can execute it.\",\"url\":\"https://docs.quiva.ai/abbie/teaching/running-skill-scripts\",\"mainEntityOfPage\":{\"@id\":\"https://docs.quiva.ai/abbie/teaching/running-skill-scripts#webpage\"},\"dateModified\":\"2026-08-28T14:55:02.233Z\",\"publisher\":{\"@id\":\"https://docs.quiva.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.quiva.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"QuivaWorks Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"QuivaWorks Docs","nav":{"global":{"anchors":[{"anchor":"Community","icon":"slack","href":"https://quiva.ai/community"},{"anchor":"Support","icon":"headset","href":"https://quiva.ai/help-center/"}]},"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/get-started/overview"}]},{"tab":"Abbie","groups":[{"group":"Getting started","icon":"sparkles","pages":[{"title":"What is Abbie","icon":"sparkles","href":"/abbie/getting-started/introduction"},{"title":"How Abbie is different","icon":"star","href":"/abbie/getting-started/how-shes-different"},{"title":"Your first conversation","icon":"comment","href":"/abbie/getting-started/first-conversation"},{"title":"The Abbie home page","icon":"house","href":"/abbie/getting-started/abbie-home"}]},{"group":"Chatting","icon":"messages","pages":[{"title":"The chat surface","icon":"messages","href":"/abbie/chatting/chat-surface"},{"title":"Watching her think","icon":"diagram-project","href":"/abbie/chatting/watching-her-think"},{"title":"Citations","icon":"quote-right","href":"/abbie/chatting/citations"},{"title":"Sessions and history","icon":"clock-rotate-left","href":"/abbie/chatting/sessions-and-history"},{"title":"Deep links","icon":"link","href":"/abbie/chatting/deep-links"},{"title":"Attachments and images","icon":"paperclip","href":"/abbie/chatting/attachments-and-images"},{"title":"Decisions and authorisations","icon":"circle-check","href":"/abbie/chatting/decisions-and-authorisations"},{"title":"Stopping a run","icon":"circle-stop","href":"/abbie/chatting/stopping-a-run"}]},{"group":"Abbie's backlog","icon":"list-check","pages":[{"title":"How Abbie tracks work","icon":"list-check","href":"/abbie/backlog/how-abbie-tracks-work"},{"title":"Personal vs team backlog","icon":"user-group","href":"/abbie/backlog/personal-and-team"},{"title":"The Backlog page","icon":"table-list","href":"/abbie/backlog/backlog-page"},{"title":"The in-chat panel","icon":"comment-dots","href":"/abbie/backlog/in-chat-panel"},{"title":"Cancelling and deferring","icon":"ban","href":"/abbie/backlog/cancelling-and-deferring"},{"title":"Reminders and schedules","icon":"alarm-clock","href":"/abbie/backlog/reminders-and-schedules"}]},{"group":"Proactive Abbie","icon":"bell","pages":[{"title":"Check-ins and follow-ups","icon":"bell","href":"/abbie/proactive/check-ins-and-follow-ups"},{"title":"Suggestions","icon":"lightbulb","href":"/abbie/proactive/suggestions"},{"title":"Cadence and quiet hours","icon":"moon","href":"/abbie/proactive/cadence-and-quiet-hours"}]},{"group":"Teaching Abbie","icon":"wand-magic-sparkles","pages":[{"title":"Skills","icon":"wand-magic-sparkles","href":"/abbie/teaching/skills-library"},{"title":"Creating and importing skills","icon":"file-pen","href":"/abbie/teaching/creating-and-importing-skills"},{"title":"Browsing skills","icon":"compass","href":"/abbie/teaching/browsing-skills"},{"title":"Abbie drafting a skill","description":"Asking Abbie to turn a conversation into a skill, and reviewing what she writes before it goes live.","icon":"pen-nib","href":"/abbie/teaching/abbie-drafting-skills"},{"title":"Running a skill's scripts","icon":"terminal","href":"/abbie/teaching/running-skill-scripts"},{"title":"Memory","description":"The standing facts Abbie carries between conversations, and how to view, add or remove them.","icon":"brain","href":"/abbie/teaching/memory"},{"title":"Rapport","icon":"handshake","href":"/abbie/teaching/rapport"},{"title":"Your personal profile","icon":"user","href":"/abbie/teaching/personal-profile"},{"title":"Corrections","icon":"arrows-rotate","href":"/abbie/teaching/corrections"},{"title":"Rapport log","icon":"clock-rotate-left","href":"/abbie/teaching/rapport-log"}]},{"group":"Configuring Abbie","icon":"sliders","pages":[{"title":"Settings overview","icon":"sliders","href":"/abbie/configuring/settings-overview"},{"title":"Organisation profile","icon":"building","href":"/abbie/configuring/organisation-profile"},{"title":"Model pool","icon":"microchip","href":"/abbie/configuring/model-pool"},{"title":"Environment variables","icon":"code","href":"/abbie/configuring/environment"},{"title":"Outreach settings","icon":"bell","href":"/abbie/configuring/outreach-settings"},{"title":"Task filing","icon":"folder-tree","href":"/abbie/configuring/task-filing"}]},{"group":"Connecting Abbie","icon":"plug","pages":[{"title":"Slack","icon":"slack","href":"/abbie/connecting/slack"},{"title":"Microsoft Teams","icon":"microsoft","href":"/abbie/connecting/teams"},{"title":"Integrations and MCP connections","icon":"plug","href":"/abbie/connecting/integrations-and-mcp"},{"title":"Credential identity explained","icon":"key","href":"/abbie/connecting/credential-identity"}]},{"group":"Transparency","icon":"shield-check","pages":[{"title":"The cognition log","icon":"list-timeline","href":"/abbie/transparency/cognition-log"},{"title":"What each stage means","icon":"diagram-project","href":"/abbie/transparency/pipeline-stages"},{"title":"Confidence and verification","icon":"shield-check","href":"/abbie/transparency/confidence-and-verification"}]},{"group":"Reference","icon":"circle-question","pages":[{"title":"Frequently asked questions","icon":"circle-question","href":"/abbie/reference/faq"},{"title":"Troubleshooting","icon":"screwdriver-wrench","href":"/abbie/reference/troubleshooting"},{"title":"Coming soon","icon":"road","href":"/abbie/reference/coming-soon"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/authentication/initiate-oauth-login-flow"}]},{"tab":"Change Log","pages":[{"title":"Change Log","href":"/changelog/product-updates"}]}]},"title":"Running a skill's scripts - QuivaWorks Docs","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":[],"chunks":[]}