An Alexa skill that counts the number of days until special events.
View the published skill here: https://www.amazon.com/dp/B0759KJ8D2
You: "Alexa, ask Days Until to create a new countdown for the end of the world
on May 21."
Alexa: "Okay, I'll start a new countdown for the end of the world on May 21, 2011. Does that sound right?"
Later that day...
You: "Alexa, ask Days until, 'How long until the end of the world?'"
Alexa: "17 days!"
Days Until helps you keep track of the number of days until special events. Set up a count down with any of these:
- "Alexa, open Days Until"
- "Alexa, ask Days Until to start a new countdown"
- "Alexa, ask Days Until to create a countdown for the first day of school"
- "Alexa, ask Days Until to create a new countdown for the first day of school on August 21"
Alexa will then confirm the date with you before the count down is saved.
After you've created a count down, you can ask Alexa how many days there are until the event:
- "Alexa, ask Days Until, 'How many days until the first day of school?'"
- "Alexa, ask Days Until, 'How long until the first day of school?'"
Alexa will then calculate the number of days from today until the event's date and report back to you.
If you're having trouble getting Alexa to recognize your event name, try something a bit simpler. For example, instead of "John Smith's retirement party at the lakehouse", try "the retirement party", or even just "the party".
- Clone this repo
scripts section of
lambda/package.json for a
complete list of commands that can be used during development.
Additionally, this project uses the ASK
deployment and testing. You can install the CLI globally using
yarn global add ask-cli, and then run CLI commands at the root of this project, e.g.
ask dialog. See ASK CLI's documentation for a complete list of available commands.
Building the model
This skill's model is generated using the Alexa Skill Utterance and Schema
Generator library. This
outputs en-US.json. To run
this process, run
yarn model. Note that you will need a JDK installed for this
command to run; it executes
which is included in this repository.
This project uses
i18next for internationalization
used to extract the strings directly from the source into this project's i18n
directory. You can run this extraction
process by running
To make this skill available in all English-speaking Amazon stores, a utility
can be run to copy the appropriate
en-US files/sections to
This project uses Prettier and
ESLint to help keep the codebase consistent. You can run
all linting checks using
yarn lint. Many of the more tedious errors can be
fixed automatically; to do this, run
yarn lint --fix.
Deployment of the skill is handled by this project's GitLab
pipeline. Any new commits added to
master will trigger a
redeploy of the skill (to its "development" stage).
The GitLab pipeline relies on a few environment variables:
||The AWS access key ID of the IAM user that executes the deployment|
||The AWS secret access key of the user mentioned above|
||The ASK vendor ID associated with the Alexa Developer account that owns the skill|
||The OAuth 2.0 refresh token of the Alexa Developer account mentioned above|
||The Sentry API token used to upload sourcemaps to Sentry|
||Token used to commit and push changes back to GitLab inside the pipeline. A project-level access token with
||Name of the AWS S3 bucket that stores and hosts assets (e.g. images, sound effects) used by the skill|
More info on these variables and how to generate their values can be found in this blog post.
Icons from www.flaticon.com were made by the following authors: