Skills
Skills are like macros that you can write once and use over and over
What is a Skill?
A Skill is either an LLM macro (aka a "reusable prompt") or a call to an external API. It's a set of detailed instructions for Steve on how to do something, and can include variables like data from the current page or from the user. So any time you have a task that you do repetitively, that requires very detailed instructions that you don't want to type in every time, or that needs to interact with external systems or logic, make a Skill.
Here's an example LLM Skill that instructs Steve to suggest visuals for some text that was written.
Name: Suggest accompanying visuals
Instructions: I'm writing some text and I'd like you to suggest some visuals to accompany it that will help reinforce and illustrate my key concepts and messages.
Here is the text that I've written: [[Text to Analyze]]
Can you list some visuals (tables, graphs, infographics, etc.) that would add value and comprehensibility to this article. Describe each one in detail. Thanks!
Note that [[Text to Analyze]] is a variable that grabs the text selected on a page, or the whole page if there is no selected text, so you can use the same Skill on any page or selected text without having to edit it!
Make a Skill once and then you can access it from anywhere in Ask Steve including the Context Menu, the Chat, the Writing Helper, and Floating Skill Buttons.
Technically, an LLM Skill is just a set of instructions written to Steve in English. When writing an LLM Skill, you should treat Steve like you would a human intern, and provide very specific and detailed instructions.
To learn how to create API Skills, visit Calling APIs and Webhooks.
Steve has 100+ Skills in the Skill Library which you can access from the extension options. You can see all the Skills you have installed by clicking on the Ask Steve toolbar icon and then clicking ⚡Skills
in the sidepanel.
Adding Skills
- You can add more Skills from our Skill Library
- You can also install customized Packs of Skills
How do I Create a New Skill?
- From the ⚡Skills tab in the sidepanel, press the
NEW
button. - Type in a
Name
for your Skill - If you want the Skill to appear as a button on every page that you can trigger with 1 click, then check
Add Button
. - Add your
Instructions
. - Press the
RUN
button to try out your Skill on the current page or selection. If it doesn't do what you want, then change it and keep iterating until it works the way you want it to.
This ability to quickly iterate on your Skill until it does what you want is part of what makes Ask Steve so powerful! - Hit
SAVE
. Congratulations! Your Skill is now available to use.
Optional Skill details
- If you open the
Description
section, you can also add a description of what your skill does and assign it a Category. These can be useful to remind yourself what a Skill does, and are also helpful when sharing Skills with others. - If you have checked the
Add Button
checkbox and saved your Skill, a Button Settings tab will appear that enables you to configure a Floating Skill Button. Click here to learn more about these settings.
Editing a Skill
Select the Skill that you want to update, make your desired changes, then press the UPDATE
button.
Deleting a Skill
- Select the Skill you want to delete, press the trashcan icon and then confirm deletion.
- If you want to delete a bunch of Skills at once, you can do so from the Import/Export page.
- You should feel free to delete any Skills that you don't want or need! You can always add them back later from the Skill Library
Page Variables in Skills
Skills are most valuable when they're able to take information from the page that you're on and use it. The way we do that is with Page Variables. You can add a Page Variable to your Skill by typing in something surrounded by [[double brackets]]
. When Steve sees this, he knows that he needs to grab some information from the page - either whatever text is selected or the whole page if nothing is selected. See the simple example below:
Pretend that I'm a junior high school student and you are an award winning teacher. Explain the following to me in clear and understandable language: [[Text to explain]]
This Skill has one Page Variable, "Text to explain". You can have up to 10 Page Variables in a Skill. Here's a more complicated example where the Skill will need to grab multiple pieces of data from the page:
Write me a summary of this accident. Here are the details:
The car make is: [[Car Make]], the model is: [[Car Model]] and the year is: [[Car Year]]. The accident happened on [[Accident Date]] in the city of [[Accident City]]
This Skill will take 5 pieces of data from the page and use them to write a summary. Take a look at the various Skills that ship with Steve, and try adding your own!
NOTE: Any Skill with more than 1 Page Variable can only be used by Floating Skill Buttons. This is because only Skill Buttons can grab more than one piece of content from a page.
User Variables in Skills
Sometimes you will want to create a Skill that requests information from the user, and you can do that with User Variables. User Variables are surrounded by {{double curly braces}}
in your Skills. When you trigger the Skill, Steve will ask you to fill in the variable and then will execute the Skill. User Variables are free text by default, and you can have as many of them as you want.
A good example here would be a recruiter who is recruiting for multiple positions. They can create one "Write a candidate outreach" Skill and attach a Skill Button for it to a page. Then when they press the button, it can ask them for the specific Job Requisition, which they can paste in. That way they don't have to create a different Skill for each job they're trying to fill. Here's an example of what that might look like:
Your name is Riley Hunter and you're a recruiter at Roadrunner Software. You are reaching out to a candidate about a requisition that you're trying to fill.
This is the job requisition: {{Job Requisition}} and this is the candidate's resume page: [[Resume Page]]
Please write me a personalized outreach letter to the candidate that explains why they'd be a good fit for this job.
You can see in this example that the candidate's resume is being pulled from the current page, and then Steve will ask the recruiter for the Job Requisition.
Multiple Choice in User Variables
If you want to give users options to select from instead of a free text field, you can do so as follows:
- If you want the user to pick a single option, put them in a pipe-separated list inside parens after the User Variable, like this:
{{Pick a color}}(Red|Blue|Yellow|Green)
. If there are 5 or less options, Steve will show them as radio buttons. If there are more than 5, Steve will show the options in a dropdown list. The value of the User Variable will be whatever option was picked. - If you want the user to be able to pick multiple options, put them in a double-pipe-separated list, like this:
{{What days are you available?}}(Sunday||Monday||Tuesday||Wednesday||Thursday||Friday||Saturday)
. Steve will show the options as checkboxes. The value of the User Variable will be an array of the selected options.
Premium Features
Click on the Premium Features label to edit premium Skill features.
- PREMIUM PLAN ONLY: You can set whether this is a call to an LLM or a call to an API/Webhook. Calls to API/Webhooks work differently, as detailed on the API/Webhooks page.
- PREMIUM PLAN ONLY: If you have selected LLM, then you can select a different Model to power this particular Skill. This is useful when certain Models are better suited for Skills - because of their capability, or their cost, or some other reason.
- PREMIUM PLAN ONLY: If you have selected API / Webhook then you will need to enter a URL that can receive a POST request. You can also adjust the headers that are sent in case you need to send an authentication or API Key, add static variables to the body, and configure custom response and error paths. See more details on the API/Webhooks page.
Tips for Writing Good LLM Skills
- Look at all the Skills that Steve ships with and use those as a starting point.
- Tell Steve who he is, what he does, and that he's good at it. Even AI interns like positive reinforcement!
You are a superstar recruiter named Riley Hunter and you work at Roadrunner Software.
- Be very precise and descriptive with your instructions
- If you're writing a long or complex Skill, put the text that you want processed or analyzed near the beginning, then give the detailed instructions about what to do with it.
- If you can provide examples for Steve to learn from, that is ideal. Give Steve examples of the INPUT that you want to give him, and the kind of OUTPUT that each INPUT should generate.
- Experiment & iterate! Writing good Skills is about trying different things and approaches until Steve gives you the results that you want!
- If you really want to go deep on how to write good LLM prompts (which is basically what a Skill is), then there are plenty of online resources. Try this one!
How do I Use a Skill?
- By pinning the Skill so that it appears on every page as a Floating Skill Button and then pressing it.
- By selecting some text on a page and then bringing up the Chrome Context-Menu (right-click) and selecting
"Ask Steve to..."
and then a Skill. Or if you want Steve to help with the whole page, just right-click anywhere on the page. - From the Chat you can press the lightning bolt icon and then either select a Skill from the dropdown or start typing its name and then selecting it. (A shortcut is to click into the Chat field and press the
SPACE
key and then start typing the name of the Skill) - By bringing up the Writing Helper in an editable text field and either selecting the Skill from the dropdown or starting to type in its name and then selecting it.
Pro-Tips
- You can use emoji in Skill names. Floating Skill Buttons will try to use an emoji if there is one in the name, otherwise it will use the first number or letter in the name.
- When filling out the User Variables dialog, pressing
COMMAND-ENTER
(Mac) orCONTROL-ENTER
(Windows or ChromeOS) in a free text field will submit it.