documentation
documentation copied to clipboard
Rework the Skill Development section
Mycroft has come a long way over the last few years and our documentation has not always kept up. Skill Development is certainly one of these areas. New methods and tooling are available for developers, but the documentation still encourages old (sometimes deprecated) practices.
We want to update this section of the documentation with a Skill Development series, that provides a really easy to follow tutorial for beginners, and progresses through the many components available in a logical and structured way.
This issue is an attempt to provide the bones of that structure. Dot points are listed as check boxes because each is a page of documentation that needs to be compiled from existing sources, or written from scratch.
Skill Development
Intro
- [x] Introduction to Mycroft Skill Development
- [x] Your first Skill - including using
msk createand a brief run through of what this generates - [x] Logging
- [x] Intents
- [x] Intro to intents - what are they, what are entities and overview of the built in intent parsers.
- [x] Padatious Intents
- [x] Adapt Intents
- [ ] Mycroft Intent Service
- [x] Skill lifecycle methods - init, initialize, stop, shutdown
- [x] Skill settings - why, how, best practices
- [x] Dependencies
- [ ] MycroftSkill methods available - directing to the technical docs
Managing interactions, follow-ups and conversations
- [ ] Asking question - intro to
get_response()and similar methods - [ ] Conversational context
- [ ] Converse()
- [ ] Communicating with a RASA instance
Automated Testing
- Replaced with Voight Kampff docs
Different Skill Types
- [x] Fallback Skill
- [x] Common Play Skill
- [x] Common Query Skills
- [ ] Common IoT Skill
GUI and Display Control
- [x] Mycroft GUI with Qt - 1, 2
- [ ] Controlling the Mark 1 display
Voice User Experience - Designing your Skill
- [x] VUX Design Guidelines
Language and internationalisation
- [ ] Skill translation process
- [ ] Best practices for enabling broad adoption of your Skill
Skill Submission
- [x] Skills Acceptance Process
- [ ] Required components for your Skill
- [x] README.md tips
- [ ] Upgrading a Skill
Other (where should these go?)
- [ ] Specific how-to's eg setting up Home Assistant, or getting HA notifications via Mycroft
If any of these topics interest you, please consider learning about the topic and solidifying that learning by updating the documentation for it :grinning:
I want to work