Proposed checklist/workflow skill #360
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'm a fan of checklists. I do many things that need to be done right every time, whether that's remembering my desk keys when I go to work each morning or whether that's remembering all the steps to bake a cherry pie. I find that voice checklists are especially useful whenever I'm doing something where my hands are not free, but when I last did my research, I was unable to find any voice checklist tools of acceptable quality that work on Android.
To solve this problem, I built out a "checklist" skill back in February that I've iterated on and I'd like to contribute back to Dicio upstream. I've used this skill probably 3 or 4 times a day on average since then. I think some additional refinement and testing will be required before it's ready to merge, but I'd like to get a first pass at the review.
Interactions with the "checklist" skill work as follows:
It's worth noting that this is not the same thing as a "reminder" skill or a "TODO list" skill. Since there is no voice interface for changing a checklist, and since items are not deleted on completion, this skill is primarily useful for standardizable checklists, recipes, or workflows. I intentionally left out the voice interface for changing a checklist, because I didn't want it to be easy to mess up a previously working checklist if Dicio misinterpreted a sentence. For that reason, I've second-guessed whether "checklist skill" is really the right name for what this does; another option might be to call it a "workflow" skill.
Please note that I do not have any meaningful experience with Kotlin or Android development. I'm happy to make changes to improve the quality of this code, but I would need pointers in the right direction.