Skill name: skill-email-client
User story:
As a user I want this Skill to have complete email functionality on Mycroft so I can listen, search, compose, answer, classify and delete emails
Besides that, I will be able to set IMAP flags and following marks
What third party services, data sets or platforms will the Skill interact with?
Any IMAP-enabled server
Are there similar Mycroft Skills already?
Google-gmail
What will the user Speak to trigger the Skill?
A complete email assistant can be as complete as desired, here there are some examples:
- “Do i have any new email [from my contacts]?” (specifying “from my contacts” will exclude mailing lists and so)
- “Please, notify me when [a|next] mail from {{email_contact}} arrives”
- “What emails do I have [from my contacts]?”
- “List my emails”
- “Compose an email for [{{email_address}}|{{email_contact}}] with subject {{email_subject}}”
- “{{email_action}} all emails from {{email_contact}}” (where email action can be move, delete, flag, tag…
- “Read [latest|next] unreaded email”
Once “inside” the email (the one Mycroft just readed), the user can say the following:
- “Answer this email [to everybody]”
- “Delete this email”
- “Move this email to folder {{IMAP_folder}}”
- “Flag this email as [important|following|todo|etc]”
- “Mark this sender as spammer”
- “Unsubscribe me for this mailing list”
- “Create a new rule {{rule_name}} on new incoming emails where {{rule_condition}}, do {{rule_action}}”
What phrases will Mycroft Speak?
- “You have [no|X] new emails”
- “Hey, Angel, a new email from John Doe has arrived, should I continue notifying new emails from him?” (Here user should answer yes or no to continue or cancel monitoring)
- “You have X emails from {{email_contact}}”
- “Mail from {{email_sender}} with subject {{email_subject}} received at {{email_time}} starts with {{email_summary}}” (email summary can be the first 50 characters) Mycroft then will read the next email, unless user says it will want to know the full content of the email or if the sender is flagged as favourite or conversation is flagged as important, so Mycroft will read the complete email by default.
-
“Say the content of the email, when done, say stop dictation”
…
What Skill Settings will this Skill need to store?
- Document directory path
- Custom dictation start and stop phrases
Other comments?
I know this is a very complex skill. Doing it well could show the power of the AI behind Mycroft by converting it into an assistant for the most basic everyday use: checking the email.
It should know what the user wants in every situation, doing it fluent and saving time to the user, reminds me to SARAH (from Eureka): an AI coming from the future.