Overview
This article provides a basic overview of the skill development environment and resources to get you started with building skills. Please note that building custom skills requires the Andi Skills Builder product.
In this Article
Skill Coding Language
All skills are written in an online IDE using TypeScript, a coding language created by Microsoft as a superset of JavaScript. A few resources on TypeScript, as well as JavaScript are included below if needed for reference while writing your skills. For more information about the online IDE, please visit Creating a New Andi Skill.
Supported Language Versions
- TypeScript: v4.2.3
- JavaScript: ES2020 and prior
Unsupported Keywords
Keyword | Skill Support |
import/require |
Limited Allowed Packages: andiskills, @andi/powers, and custom packages |
clearImmediate/setImmediate | None |
clearInterval/setInterval | None |
Eval | None |
Resources
TypeScript
- TypeScriptlang by Microsoft
- TypeScript Tutorial by Tutorials Point
JavaScript
- Javascript Basics
- Intro to JavaScript -- Udacity
- JavaScript tutorial – W3 Schools
- General JavaScript
- Javascript Developer Resources -- Mozilla
Skill Writing Tips
IntelliSense
Andi Skills Builder includes IntelliSense which allows you to see possible suggestions for your function properties as you write skill code. Property suggestions should appear after you a ‘.’. Another way to trigger the possible properties is to select CTRL+Space on your keyboard. Once you find the property you need, you can either select it and hit enter or type the property.
Hover over a property, you can preview more information about it and potentially see examples. For a more in-depth view, you can:
- Place your cursor anywhere in that specific property’s name and select F12; OR
- Right-click on the property and select one of the following options from the menu:
- Go to Definition
- Peek Definition – this will generate a small pop-up window instead of a new tab
- Go to Type Definition
Editor Actions
The code editor supports several code actions that help to build skills more easily. You can open the Command Palette by selecting F1 on your keyboard to see all available actions. Rename, transform, and refactor actions will specifically help simplify code editing.
Internationalization
Andi skills support full International Components for Unicode (ICU). This allows you to easily format numbers, currency, dates, and other data based on your audience’s needs.
For a list of supported functions, please see Intl.
Documentation
While building skills the Andi support site can be helpful however, embedded documentation will help you find what you need more quickly. In the bottom right pane of the builder, select the arrow. You can view and search all code documentation that is available. For many functions and types, examples are available so you can more easily get up to speed!