Skill name: skill-document-writting
User story:
As a user I want this Skill to easily dictate to a LibreOffice document so that it can help to impaired users (or lazies ones) to write a document of any lenght.
You could use directly from the Mark/pycroft, generating a odt file or as an assistant to LibreOffice Writer (through the Plasmoid?), where you can launch more advanced options and commands and look at them visually (e.g.: select last word and put it in italics, insert a heading title, justify all text/X paragraph, etc)
What third party services, data sets or platforms will the Skill interact with?
LibreOffice Writer
Are there similar Mycroft Skills already?
The parrot skill has some useful code, as it listen and repeat all said by the user, instead of repeating, it should send it to a document until the user says something like "Hey Mycroft, stop dictation"
There is also a Jarbas skill, skill-dictation, which sends to you an email with the text you previously dictate. I think that skill is more a TODO/memo/reminder skill rather than a type assistant, but is the most similar skill at the moment.
What will the user Speak to trigger the Skill?
The two minimum words would be:
Start dictation {{document_name}}: should open for editing a document
Stop dictation: should save and close the document
It could be enhanced with many cool features:
Edit {{document_name}}: Open for editing an existing doument placed on {{document_path}}
Select last letter(s)/word(s)/paragraph(s): should select the last letter/word/paragraph and would wait
for an action (format text, delete text, copy/cut/paste text, change to capital letters, etc)
Undo: should undo last action done
Send {{document_name}} by email at {{email}}
Print {{document_name}} on [default] printer {{printer}}
and so…
What phrases will Mycroft Speak?
“Ok, tell me sentence by sentence what you want in the text. And say “Hey, Mycroft, stop dictation when you’re done.””
“Document {{document_name}}.odt stored at {{document_path}}”
What Skill Settings will this Skill need to store?
- Document directory path
- Any custom works or phrases that are not mainstream - such as medical terminology
- Custom dictation start and stop phrases
Other comments?
This skill would be the hardest to develop and the most feature-rich, but it could help 3rd party devs to develop others simpler skills like sending emails and chats, creating TODO and remember the milk lists, and so on. And it would help Mycroft to become a helpful assistant.
Further reading
https://wiki.documentfoundation.org/Development/Extension_Development/Python_Extensions_Development