Acacia Watch

We here at Roybot have designed an informative voice assistant to aid you in finding the best specialists for your needs.



Through using Acacia Watch, you can receive recommendations for:

  •          Plumbers
  •          Electricians
  •          Painters
  •          Carpenters
  •          Bricklayers
  •          Landscapers


To use Acacia Watch, say “Alexa, launch Acacia Watch!”

Blind Aid


We here at Roybot have developed a Skill specifically designed to help the visually impaired!

How do our Skills help aid the blind and visually impaired?

Our Skill relies on auditory queues to function, meaning it is suitable for those who are visually impaired to interact with our voice assistant. The app can help its users become independent by providing them the ability to access information on the charity without assistance.

You can ask our voice assistant about projects and contact details.


Other features include…

  •          Information on classes – Blind Aid run classes on subjects such as creative writing and IT. You can find more information through our Skill!
  •          Class booking – you can find out how to sign up for the classes run by Blind Aid
  •          Locations of classes – you can ask about the location classes are being held
  •          Class times – Find information on the times classes are held
  •          Assistant travelling – learn about how to get an assistant during travelling
  •          Receive a screenshot of the map – Get an image of the map of Blind Aid


To access our Skill, just say “Alexa, launch Blind Aid Unofficial!”



Who is BASIS?

BASIS is a charity to help those that are hard of sight and Roybot has partnered with them to develop a Skill that can be used by everyone!


As our Skills function off auditory cues, our Skill can be used by those that are hard of sight!


How do our Skills help aid the blind and visually impaired?

Our Skill relies on auditory queues to function, meaning it is suitable for those who are visually impaired to interact with our voice assistant. The app can help its users become independent by providing them the ability to access information on the charity without assistance.


Features include:

  •          Contact Us – access the phone number of the BASIS charity
  •          About Us – Learn all about the BASIS charity
  •          Activities – Find out what activities the charity is hosting
  •          Volunteering – hear information about volunteering for the charity
  •          Who is involved – learn about who is involved at BASIS


To activate the Skill, just say “Alexa, launch BASIS charity!”


Setting Image Themes for Your Custom Skill

How nicely you present the cards in your Custom Skill is just as important as the speech of your robot assistant – having the designs eye-catching and suitable will give your Skill that professional look!



Ensure that the images used match your Skill’s theme

Whilst Skills are highly customisable, it is essential to ensure that the images used are sensible and correctly matches the theme of your Skill. For example, it would look highly unprofessional for a Skill about the sea to only have images of the sky or trees.


Choose a background that stands out well but does not clash with the colour of your font

The type of background you use on ‘advanced cards’ should be considered carefully. You want your users to be able to clearly see the text on each card and to appreciate the design. For example, having a yellow background against white text would make the text hard to read and therefore be the wrong choice. A good example would be having a darker colour against white text, allowing the user to easily read the text.

You could choose or design a pattern of your own using the correct colour scheme to make your Skill more interesting to use.


Choose an image of high quality

It is best to avoid pixelated and blurry images as it can ruin the quality of your Skill overall. You can find images of high definition easily by using sites such as “Unsplash” and “Pexels”, which are also royalty free.


Keep all background images of similar colour

Keeping your background images of similar colour will make your Skill look more professional.


Don’t choose background images that are too distracting

Having backgrounds that are distracting makes it difficult for users to concentrate on your Skill and makes it look unprofessional.


Why Custom Skills are Perfect for Those Hard of Sight

Did you know that having a Custom Skill can also benefit people that are hard of sight?


Artificial Intelligence

Custom Skills use ‘Artificial Intelligence’ technology.


Voice assistants allow you to learn information without the need to read

‘Voice assistants’ provide a hands-free experience for all, without the need for a screen!


Roybot and BASIS

We have teamed up with BASIS, a charity for those who are blind or have sight impairment to develop a Custom Skill. If you would like to try out the Skill, say to your Alexa:

“Alexa, enable BASIS charity”.

Image source: BASIS

How to Debug

Debugging is an essential for any developer. Any problems that may arise when creating your Skill can be found and fixed through ‘debugging’. Often than not, these problems (also called ‘bugs’) can be solved quickly through this method.

Image: Edureka


Debugging Visual Studio Code via Postman

‘Visual Studio Code’ is a code editor that is available to download for free. It is compatible with the ‘Alexa Skills Kit’ and can be used to debug with ‘Postman’, a free debugging software.


  1.        Launch Visual Studio Code

The first thing that you will have to do is launch ‘Visual Studio Code’. You can do this by double clicking on the icon on your Desktop or by searching for it in the search bar.


  1.        Select the section of your code for debugging

Select the ‘start point’ of your debugging. This is where the debugging will begin. You can do this by moving your cursor to the left-hand side of your code, beside the line number. You will see a small, red circle appear beneath. Click this to turn the marker on. To change the starting point, you will have to click it again to make the red circle de-select.

You now need to select the ‘end point’ of your debugging. This is where the system will stop running the debugger. Just like with the ‘start point’, select the ‘end point’ by clicking beside the desired row of your coding to activate the red marker.


  1.        Enter the debugging command into the Terminal

At the bottom of ‘Visual Studio Code’, there will be a box with a few tabs. One of these tabs will read ‘Terminal’. Select it by clicking on it. It should open a blank box. You will then need to type the following code:

‘node --inspect-brk=28448 local-debugger.js --portNumber 3001 --skillEntryFile index.js --lambdaHandler [ENTER YOUR FILE HERE]Handler’

Please note that you will have to replace the ‘BOLD, CAPITAL TEXT’ with your own file name. For example: ‘LaunchRequestHandler’.

Press the ‘enter’ key on your keyboard.

The screen should now read: ‘Debugger listening’.


  1.        Toggle ‘Debugging Mode’ on

Press the ‘F5’ key on your keyboard to toggle ‘Debugging Mode’ on. There should be orange outlines around your code on Visual Studio Code.

The ‘Debug Console’ (located beside the ‘Terminal’ tab) should now read: “Starting on server port 3001”.


  1.        Start the debugger

There should now be a small toolbar located at the top of the screen. It will look like this:

Click the ‘II’ button to start the debugger.


  1.        Step into your code

Press ‘F10’ on your keyboard to step into your code. The text will be highlighted.


  1.        Open ‘Postman’

Double click on the ‘Postman’ icon on your desktop or type in the search bar ‘Postman’ and click it to open it.


  1.        Use the ‘Alexa Tester’ on Visual Studio Code

In ‘Visual Studio Code’, go to the ‘Alexa Tool Kit’ and open the simulator. Type in the prompt that you want to debug and press ‘enter’ on your keyboard. Wait for the response to return.

On the right-hand side of the screen, there will be two boxes of code. You need to highlight and copy the text from the ‘JS’ code box. This should be the box on the far left of the two.


  1.        Use Postman to debug the code

In ‘Postman’, click ‘+’ and set it to ‘Post’. The bar beside this should read: http://localhost: 3001.

Select ‘Body’ and ‘Raw’. Paste the code that you copied from Visual Studio Code there and click on ‘send’, making sure that you are on the ‘Index’ page of Visual Studio Code.

What it Means to Have Your Skill Go ‘Live’

Once you have completed developing your Skill, you can choose to make it go ‘live’.

What exactly is going ‘live’ and why should you choose to make your Skill ‘Live’?

Image source: Amazon Alexa


What is ‘Live’?

‘Live’ is the term used for publishing your Skill to the Amazon Alexa store. This is the final step to the completion of your Skill.


Going ‘Live’ gets your Skill on the market

When your Skill goes ‘Live’, it is added to the ‘Alexa Skills Store’ and will be available for downloading by users. If your Skill is permanently left in the development stage, other users will not be able to access it.


Users will be able to interact with your Skill

Once a user downloads your Skill via the ‘Alexa Skills Store’, they will be able to launch and interact with your Skill, making it more likely to be discovered by others.


Users can review and rate your Skill

After a user has interacted with your Skill, they will be able to rate your Skill from one to five stars and leave a review. This is great for your Skill, as it opens you up to both productive criticism and praise. When other users see that your Skill is highly rated, they will be more likely to launch your Skill!


Users can subscribe to purchases within your Skill

If your Skill has any packs available for purchase, the users can subscribe and pay for it.


Your Skill is more likely to get publicity

A ‘Live’ Skill is more likely to be seen by users. Some of these users may spread the word about your Skill by sharing your Skill on their social media and blog sites.


You can consistently continue to update your Skill whilst ‘Live’

Just because your Skill is now ‘Live’ doesn’t mean that you can no longer update!

You can constantly add new features and alter your coding to your Skill and then ‘Promote to Live’ when pushing your edits. Frequent updating usually leads to a happier audience when interacting with your Skill!

How to Publish Your Custom Skill

You have spent many weeks coding and now your Skill has been completed but how do you go about publishing it?


In order to publish your Skill, it must first be submitted in order to ‘pass certification’ on Amazon.


Firstly, sign into your Amazon Alexa account and then navigate to your Skill.



Once you are on your developer’s page, click on ‘Certification’ on the toolbar at the top of the page.


You will be sent to a ‘Validation’ screen. This will quickly scan through your Skill for any problems and may take a few minutes. You must click on the ‘Run’ button in the top right of the page to start the validation check. Once the scan has completed, you will be presented with either a cross with red highlighted text or a tick with green highlighted text. Red highlighted text represents a problem with your Skill. There will be a compiled list of problems that you must fix on your skill before you are able to continue with ‘Submission’. Green highlighted text means that there are no problems with your Skill and it is ready for the next step.


The ‘Submission’ page is the final part of publishing your Skill. You need to update your ‘publishing preference’ to either set it to automatic publishing or manual publishing. Once that has been selected, you can add a ‘version message’ so that you can see what has changed in the past when it comes to selecting between different versions of your Skill. To submit, you will have to click on ‘Submit for review’ which is in the top right of the screen.

Your ‘Skill status’ can be seen at the very bottom of the page.


Once it has been submitted for a review, the Amazon team will allocate you a date in which your Skill status is due to be reviewed. This can take anything from a few hours up to a few weeks, depending on how heavy the traffic is and how many other Skills have been submitted.

You will receive via email whether the Skill has been promoted to ‘Live’ or not. If it did not pass the checks, the team will send you a list with instructions on how to correct your Skill. After correcting the problems, you will be able to re-submit your Skill.

Session Attributes


Session attributes can be treated like special variables which you can use to store and retreive information across various intents.

Why is this important?

Variables declared inside your intents using 'var', 'const' or 'let' are scoped within those intents, meaning you can no longer call those variables once the intent is over.

Session attributes are global, meaning you can retreive their data from within any intent.

How do I use them?

The first recommended step is to get the sessionAttributes path using the following line:

const sessionAttributes = handlerInput.attributesManager.getSessionAttributes();

This line essentially just saves you from typing the entire path every time. The location it points to is where you can get existing session attributes, or make new ones.

Now you can make a new session attribute and set its value.

sessionAttributes.<VARIABLE NAME> = <VALUE HERE>;


sessionAttributes.myVariable = "test string"; // remember this variable -- we will call it later!

This is similar to declaring a variable using 'var', 'const' or 'let'.

The value can be anything you want. You should set the value to be something which you want the skill to remember and use across various intents.

Finally, you need to set the session attributes which you have declared. Do so using this line of code:


This line always comes next, and is necessary for your session attributes to be saved.

To call sessionAttributes from within a different intent, you first need to get sessionAttributes again:

const sessionAttributes = handlerInput.attributesManager.getSessionAttributes();

Now you can recall any of your session attributes like this:

sessionAttributes.<VARIABLE NAME>



To test this, you could use console.log() to check the value of myVariable.

console.log(sessionAttributes.myVariable); // output: "test string"

Practical example

Get, then set.

const sessionAttributes = handlerInput.attributesManager.getSessionAttributes();

sessionAttributes.forename = "john";

sessionAttributes.surname = "smith";

sessionAttributes.favColour = "blue";


The next step is retreiving your session attributes from a different intent.

First, get the sessionAttributes.

const sessionAttributes = handlerInput.attributesManager.getSessionAttributes();

Now you can retreive your sessionAttributes like this:

console.log(sessionAttributes.forename); // output: "john"

console.log(sessionAttributes.surname); // output: "smith"

console.log(sessionAttributes.favColour); // output: "blue"

Further reading

The Gloucester Park Skill

We have worked hard on a skill made for the community of Gloucester Park and for those who wish to visit. Please check the video below to see some of the features that this skill has:


We are now going to begin posting regularly on our social media accounts so please check them out.