{"version":1,"pages":[{"id":"jvICCiTyiVknFR4CkLUn","title":"What is Tessl?","pathname":"/","siteSpaceId":"sitesp_DxfKe","description":"The core components of the Tessl platform, the agentic-development problems they solve, and why teams choose Tessl.","breadcrumbs":[{"label":"Overview"}]},{"id":"NFF3Vpf1q836cqOJvW0J","title":"Set up Tessl","pathname":"/introduction-to-tessl/set-up-tessl","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Introduction to Tessl"}]},{"id":"qQOlH9Ju1gppJ7feXsq1","title":"Installation","pathname":"/introduction-to-tessl/set-up-tessl/installation","siteSpaceId":"sitesp_DxfKe","description":"A step-by-step guide on how to install,  update or remove the Tessl CLI.","breadcrumbs":[{"label":"Introduction to Tessl"},{"label":"Set up Tessl"}]},{"id":"wDwMoniKPp8tUuzgtplW","title":"Improve your first skill","pathname":"/introduction-to-tessl/improve-your-first-skill","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Introduction to Tessl"}]},{"id":"jbUqP6Kn8yB9UyDggxP4","title":"Core concepts","pathname":"/introduction-to-tessl/core-concepts","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Introduction to Tessl"}]},{"id":"Krvv0FJXzPGBp7uvnLKp","title":"Overview","pathname":"/tutorials/tutorials","siteSpaceId":"sitesp_DxfKe","description":"End-to-end walkthroughs for the most common agentic-development workflows on Tessl.","breadcrumbs":[{"label":"Tutorials"}]},{"id":"bfmabK3QaLqmG3zAraZ9","title":"Using Tessl as a package manager","pathname":"/tutorials/using-tessl-as-a-package-manager","siteSpaceId":"sitesp_DxfKe","description":"Use Tessl as a package manager for agent context: find and install skills, keep them up to date, and publish your own to a workspace.","breadcrumbs":[{"label":"Tutorials"}]},{"id":"t2moJ4zDDKxO6HdCQSEF","title":"Protecting yourself from insecure skills","pathname":"/tutorials/protecting-against-insecure-skills","siteSpaceId":"sitesp_DxfKe","description":"Inventory the skills running across your org, read their Snyk-powered security scores, and use install policies to block risky skills before they reach a developer.","breadcrumbs":[{"label":"Tutorials"}]},{"id":"XI3bjc2lGgN3dYIFWamp","title":"Codifying and enforcing your company's skill standards","pathname":"/tutorials/codifying-and-enforcing-skill-standards","siteSpaceId":"sitesp_DxfKe","description":"Capture your team's quality bar as a custom review rubric and enforce it on every skill in CI.","breadcrumbs":[{"label":"Tutorials"}]},{"id":"Shrm7dkSe7f7AAfMjUQ2","title":"Improving a skill","pathname":"/tutorials/improving-a-skill","siteSpaceId":"sitesp_DxfKe","description":"Use reviews and evals to measure a skill's impact, find what's holding it back, and ship an improvement with evidence.","breadcrumbs":[{"label":"Tutorials"}]},{"id":"ZDL590xgcr0s299LgTdh","title":"Set up Tessl Code Review","pathname":"/tutorials/setting-up-agentic-code-review","siteSpaceId":"sitesp_DxfKe","description":"Set up Tessl Code Review on GitHub pull requests, choose when reviews run, and decide whether findings are advisory or block merging.","breadcrumbs":[{"label":"Tutorials"}]},{"id":"Y52giuq0ZOo3d8w732lU","title":"Improving agent code quality","pathname":"/tutorials/improving-agent-code-quality","siteSpaceId":"sitesp_DxfKe","description":"Turn recurring agent mistakes into fixes. Mine PRs and session logs with the Tessl Agent, then prove the fix with evals.","breadcrumbs":[{"label":"Tutorials"}]},{"id":"6xIZ9BPyNEPQX4osWtpF","title":"Automating repetitive tasks","pathname":"/tutorials/automating-repetitive-tasks","siteSpaceId":"sitesp_DxfKe","description":"Identify repetitive work in your development loop and turn it into repeatable, automated workflows with the Tessl Agent.","breadcrumbs":[{"label":"Tutorials"}]},{"id":"mm5j8bT9lT8vGmtSPueg","title":"Administrating Organizations, Workspaces, and Roles","pathname":"/administrators/administrating-organizations-workspaces-and-roles","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Administrators"}]},{"id":"NEWAdQxsP8eSmjoCPfEL","title":"Roles","pathname":"/administrators/roles","siteSpaceId":"sitesp_DxfKe","description":"Roles for workspaces and orgs and permissions per role","breadcrumbs":[{"label":"Administrators"}]},{"id":"Vht2DirwV2ONo8yNLnoT","title":"SSO","pathname":"/administrators/sso","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Administrators"}]},{"id":"Jwgv2E8z2Vj62rynNn4Y","title":"Using the Tessl agent","pathname":"/use/using-the-tessl-agent","siteSpaceId":"sitesp_DxfKe","description":"Six things teams use the agent for, the way you'd actually ask for each one, the command it runs underneath, and what you should see back.","breadcrumbs":[{"label":"Use"}]},{"id":"SCjGNbSaTNDlJb5t7WmJ","title":"Enhance your workflow with skills","pathname":"/use/enhance-your-workflow-with-skills","siteSpaceId":"sitesp_DxfKe","description":"Learn how to discover and install skills that enhance your agent's capabilities with procedural workflows","breadcrumbs":[{"label":"Use"}]},{"id":"pTqYBrDi2EihXU5RHBke","title":"Migrating from tiles to plugins","pathname":"/use/tile-to-plugin-migration","siteSpaceId":"sitesp_DxfKe","description":"Guide for migrating from the legacy tile.json format to the new plugin format","breadcrumbs":[{"label":"Use"}]},{"id":"Pjf0ugJgE6xfFXuJrCSe","title":"Understand your skill estate","pathname":"/use/understand-your-skill-estate","siteSpaceId":"sitesp_DxfKe","description":"How to use Tessl Skill Inventory to understand the skills you have across your org and the extent of your skill sprawl.","breadcrumbs":[{"label":"Use"}]},{"id":"hJn2GMVw0mdCHmQn0m32","title":"Overview","pathname":"/creating-skills-and-plugins/overview","siteSpaceId":"sitesp_DxfKe","description":"Create a skill or a plugin - the packaged, versioned context you share with your team and your agents.","breadcrumbs":[{"label":"Creating skills and plugins"}]},{"id":"CaMJBLgLFrQAcOzdbFY5","title":"Create a skill","pathname":"/creating-skills-and-plugins/create-a-skill","siteSpaceId":"sitesp_DxfKe","description":"Scaffold a skill, write its SKILL.md, and validate it before you share it.","breadcrumbs":[{"label":"Creating skills and plugins"}]},{"id":"fMSu6aoNsHUogyNElsTR","title":"Create a plugin","pathname":"/creating-skills-and-plugins/create-a-plugin","siteSpaceId":"sitesp_DxfKe","description":"Bundle skills, rules, and commands into one versioned plugin, and choose what each piece should be.","breadcrumbs":[{"label":"Creating skills and plugins"}]},{"id":"Gf9qutCRucDYfR5VgSuF","title":"Add an MCP server","pathname":"/creating-skills-and-plugins/add-an-mcp-server","siteSpaceId":"sitesp_DxfKe","description":"Ship an MCP server inside a plugin to give the agent live tools or data, not just instructions.","breadcrumbs":[{"label":"Creating skills and plugins"}]},{"id":"1m7FENyQuMinSMRCKs3c","title":"Develop and test locally","pathname":"/creating-skills-and-plugins/develop-and-test-locally","siteSpaceId":"sitesp_DxfKe","description":"Install a plugin straight from your filesystem so you can test and iterate before publishing.","breadcrumbs":[{"label":"Creating skills and plugins"}]},{"id":"O2nBLHs3OIBt3llmfqLC","title":"Publish and update","pathname":"/creating-skills-and-plugins/publish-and-update","siteSpaceId":"sitesp_DxfKe","description":"Publish a skill or plugin to the registry, control who can install it, and ship new versions.","breadcrumbs":[{"label":"Creating skills and plugins"}]},{"id":"U93y8VYwtVWy6H6aNllf","title":"Overview","pathname":"/improving-your-skills/overview-improving-skills-and-plugins","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Improving your skills"}]},{"id":"EJDiMh4wYLIuh8MBCttA","title":"Check a skill's quality using review","pathname":"/improving-your-skills/reviewing-skills","siteSpaceId":"sitesp_DxfKe","description":"Run a review to score how well a skill is written, read the result, and apply fixes.","breadcrumbs":[{"label":"Improving your skills"}]},{"id":"7FwXAVucylkTtFrw2hWC","title":"Migrate from skill review to Tessl Review","pathname":"/improving-your-skills/migrate-from-skill-review","siteSpaceId":"sitesp_DxfKe","description":"How to switch from tessl skill review to Tessl Review, and what to expect","breadcrumbs":[{"label":"Improving your skills"}]},{"id":"w4mCJWfNiA0DPJIGxaEJ","title":"Prove a skill works using evaluation","pathname":"/improving-your-skills/evaluate-skill-quality-using-scenarios","siteSpaceId":"sitesp_DxfKe","description":"Generate scenarios, run an evaluation, and read the score difference to see whether a skill actually changes what an agent produces.","breadcrumbs":[{"label":"Improving your skills"}]},{"id":"kAImEwdHv5Jpdky5bnXf","title":"Troubleshooting reviews and evaluations","pathname":"/improving-your-skills/troubleshooting-reviews-and-evals","siteSpaceId":"sitesp_DxfKe","description":"Most problems with reviews and evaluations come down to a few causes. Work through these when something does not behave as expected.","breadcrumbs":[{"label":"Improving your skills"}]},{"id":"Ijdc8piIkrY9oeRFiv8h","title":"Overview","pathname":"/codifying-and-enforcing-your-skill-standards/overview","siteSpaceId":"sitesp_DxfKe","description":"Gate skill quality automatically and define your organisation's standard for what a good skill looks like.","breadcrumbs":[{"label":"Codifying and enforcing your skill standards"}]},{"id":"3GjlctwyGE9ZL42EvKJO","title":"Gate skill quality in CI","pathname":"/codifying-and-enforcing-your-skill-standards/gate-skill-quality-in-ci","siteSpaceId":"sitesp_DxfKe","description":"Run a review on every pull request and fail the build when a skill scores below your threshold.","breadcrumbs":[{"label":"Codifying and enforcing your skill standards"}]},{"id":"EytBQf5xJ4S3BZD0mh2J","title":"Define your own quality standards","pathname":"/codifying-and-enforcing-your-skill-standards/define-your-own-quality-standards","siteSpaceId":"sitesp_DxfKe","description":"Fork the default review rubric to encode your organisation's quality bar, then apply it to every review.","breadcrumbs":[{"label":"Codifying and enforcing your skill standards"}]},{"id":"XGvzDVsQyf8oVObFOg9G","title":"Distributing via registry","pathname":"/distribute/distributing-via-registry","siteSpaceId":"sitesp_DxfKe","description":"Distribute, share, and maintain plugins through the Tessl Registry","breadcrumbs":[{"label":"Distribute"}]},{"id":"7spyL404RNvKHLzkJEZT","title":"Sharing with your team and publicly","pathname":"/distribute/sharing-plugins-publicly","siteSpaceId":"sitesp_DxfKe","description":"Making your plugins publicly discoverable in the Tessl Registry","breadcrumbs":[{"label":"Distribute"}]},{"id":"7vgdfTvnarJoB7v7RPOE","title":"Permissions","pathname":"/distribute/permissions","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Distribute"}]},{"id":"6PYYlqdTy3GAolkU6YhO","title":"Connect Tessl to GitHub","pathname":"/distribute/connect-tessl-to-github","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Distribute"}]},{"id":"ZkhzDiUtylK1bXFjoF5t","title":"Connect Tessl to GitLab","pathname":"/distribute/connect-tessl-to-gitlab","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Distribute"}]},{"id":"NvTUJujX7NRTQClx27PC","title":"Initialize a repository","pathname":"/distribute/initialize-a-repository","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Distribute"}]},{"id":"ToxLVoBlhnN2ItcJ6Gj6","title":"Distribute plugins across multiple repositories","pathname":"/distribute/distribute-plugins-across-multiple-repositories","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Distribute"}]},{"id":"lP4F7YEiQuDrXZgvXakO","title":"Removing the integration","pathname":"/distribute/removing-the-integration","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Distribute"}]},{"id":"mXO0Sv4QNwkQUELzyQDW","title":"Using plugins directly from your repo","pathname":"/distribute/repository-plugins","siteSpaceId":"sitesp_DxfKe","description":"Use plugins directly from your repository for codebase-specific context","breadcrumbs":[{"label":"Distribute"}]},{"id":"bozvgEafYEXF2lkti8fL","title":"Promote or claim a skill you have created","pathname":"/distribute/promote-or-claim-a-skill-you-have-created","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Distribute"}]},{"id":"64JJiXqjie4eoyxQ9uI0","title":"Review, lint & publish with GitHub Actions","pathname":"/distribute/review-and-publish-with-github-actions","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Distribute"}]},{"id":"Cy4ve1VBNbOgKzRr4Dlh","title":"Overview","pathname":"/projects/overview","siteSpaceId":"sitesp_DxfKe","description":"Understand what Tessl projects are and why we need them.","breadcrumbs":[{"label":"Projects"}]},{"id":"cslvD4MHRGP3gFZUcKzA","title":"Manage projects from the CLI","pathname":"/projects/manage-projects-from-the-cli","siteSpaceId":"sitesp_DxfKe","description":"Create, link, and repair project links from the Tessl CLI.","breadcrumbs":[{"label":"Projects"}]},{"id":"vLKkiECjR0PO5cz3hYrP","title":"Repairing projects","pathname":"/projects/repairing-projects","siteSpaceId":"sitesp_DxfKe","description":"Understand how to diagnose and fix issues with projects.","breadcrumbs":[{"label":"Projects"}]},{"id":"W36Qg5jsXlJdIBwQa0Wa","title":"Projects in the app","pathname":"/projects/projects-in-the-app","siteSpaceId":"sitesp_DxfKe","description":"Browse projects and review project-level evaluations in the Tessl app.","breadcrumbs":[{"label":"Projects"}]},{"id":"6gIaEe6VAbU1XgaPr3qA","title":"CLI commands","pathname":"/reference/cli-commands","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Reference"}]},{"id":"wpdogFLQtCeEnXfbelvK","title":"Configuration files","pathname":"/reference/configuration","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Reference"}]},{"id":"OoMJJXR8cu5tAuESD5Ea","title":"Skill schemas","pathname":"/reference/skill-schemas","siteSpaceId":"sitesp_DxfKe","description":"How a launchable skill declares typed input and output JSON Schemas, how `$ref`s are resolved, and the structured result a cloud launch returns.","breadcrumbs":[{"label":"Reference"}]},{"id":"SDoBKAOFpJPrThrvbvqs","title":"Custom agent setup","pathname":"/reference/custom-agent-setup","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Reference"}]},{"id":"wUEdhmDDsD6sz4Yqsg04","title":"OpenCode","pathname":"/reference/custom-agent-setup/opencode","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Custom agent setup"}]},{"id":"BSThf5E4fLhG0E0ZYrHW","title":"OpenClaw","pathname":"/reference/custom-agent-setup/openclaw","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Custom agent setup"}]},{"id":"W7cOirvPIZYH6aGUfcVe","title":"Workspaces","pathname":"/reference/workspaces","siteSpaceId":"sitesp_DxfKe","description":"Overview of creating and managing Tessl workspaces","breadcrumbs":[{"label":"Reference"}]},{"id":"l0vrGhfVwGt315coNR1Y","title":"MCP tools","pathname":"/reference/mcp-tools","siteSpaceId":"sitesp_DxfKe","description":"Overview of Tessl MCP tools for AI coding agents.","breadcrumbs":[{"label":"Reference"}]},{"id":"yO67j8EFtB5Abkd8Lmss","title":"MCP gateway","pathname":"/reference/mcp-gateway","siteSpaceId":"sitesp_DxfKe","description":"Create a workspace MCP gateway in Tessl and connect to it from any agent with `tessl mcp proxy`.","breadcrumbs":[{"label":"Reference"}]},{"id":"mDEUY9yvXnJyJHSuvkzp","title":"GitHub badges","pathname":"/reference/github-badges","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Reference"}]},{"id":"eID5HXPsI95xlqPK3us3","title":"Glossary","pathname":"/reference/glossary","siteSpaceId":"sitesp_DxfKe","description":"Key concepts and terminology used throughout Tessl.","breadcrumbs":[{"label":"Reference"}]},{"id":"LPs1h49WSKCmWfDL6LAD","title":"FAQs","pathname":"/support/faqs","siteSpaceId":"sitesp_DxfKe","description":"Find quick answers to the most common questions about Tessl.","breadcrumbs":[{"label":"Support"}]},{"id":"59mEnvdQdUW4XlD9G5EL","title":"Giving feedback","pathname":"/support/giving-feedback","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Support"}]},{"id":"MeiD4UdG9oZbsntBQrCB","title":"Supported platforms","pathname":"/support/supported-platforms","siteSpaceId":"sitesp_DxfKe","description":"This page lists the supported version. Even if your favorite platform is not listed, it might still work  as we support many industry standards.","breadcrumbs":[{"label":"Support"}]},{"id":"8SKMRVqrNRGbzbzHCOPC","title":"Troubleshooting","pathname":"/support/troubleshooting","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"Support"}]},{"id":"wp3ktyUBrkqHMPyu17AD","title":"CLI Changelog","pathname":"/changelog-cli","siteSpaceId":"sitesp_DxfKe","description":"Latest version = 0.98.0"},{"id":"mdsek8WJa4zXbqGOpNXA","title":"Web Changelog","pathname":"/changelog-web","siteSpaceId":"sitesp_DxfKe","description":"Release notes for the Web and API surfaces."},{"id":"gGVWluofRUtWxilOzZDD","title":"Sharing Usage Data","pathname":"/legal/sharing-usage-data","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"LEGAL"}]},{"id":"BxI6KKmQo3XEyQyi76dC","title":"Open Source Attribution","pathname":"/legal/open-source-attribution","siteSpaceId":"sitesp_DxfKe","description":"","breadcrumbs":[{"label":"LEGAL"}]}]}