Repository: opsdroid/opsdroid

Issue:
Rename skills submodule
When writing a skill you need to import a match function to decorate your function with. 

```python
from opsdroid.skills import match_regex

@match_regex("what is your name?")
async def botname(opsdroid, message)
    await message.respond("My name is {0}".format(opsdroid.bot_name))
```

This could potentially be confusing as the function you're importing isn't a skill, its a helper function for creating skills.

It should probably be renamed to one of the following:
* `opsdroid.matchers`
* `opsdroid.match`
* `opsdroid.skill-helpers`
* `opsdroid.skill-decorators`
* `opsdroid.triggers`


Discussion:

Resolving patch:
diff --git a/opsdroid/skills.py b/opsdroid/matchers.py
similarity index 100%
rename from opsdroid/skills.py
rename to opsdroid/matchers.py


Test patch:
diff --git a/tests/test_core.py b/tests/test_core.py
--- a/tests/test_core.py
+++ b/tests/test_core.py
@@ -8,7 +8,7 @@
 from opsdroid.core import OpsDroid
 from opsdroid.message import Message
 from opsdroid.connector import Connector
-from opsdroid.skills import match_regex, match_apiai_action
+from opsdroid.matchers import match_regex, match_apiai_action
 
 
 class TestCore(unittest.TestCase):
diff --git a/tests/test_parser_apiai.py b/tests/test_parser_apiai.py
--- a/tests/test_parser_apiai.py
+++ b/tests/test_parser_apiai.py
@@ -5,7 +5,7 @@
 from aiohttp import helpers
 
 from opsdroid.core import OpsDroid
-from opsdroid.skills import match_apiai_action
+from opsdroid.matchers import match_apiai_action
 from opsdroid.message import Message
 from opsdroid.parsers import apiai
 from opsdroid.connector import Connector
diff --git a/tests/test_parser_crontab.py b/tests/test_parser_crontab.py
--- a/tests/test_parser_crontab.py
+++ b/tests/test_parser_crontab.py
@@ -3,7 +3,7 @@
 import asynctest.mock as amock
 
 from opsdroid.core import OpsDroid
-from opsdroid.skills import match_crontab
+from opsdroid.matchers import match_crontab
 from opsdroid.parsers.crontab import parse_crontab
 
 
diff --git a/tests/test_parser_regex.py b/tests/test_parser_regex.py
--- a/tests/test_parser_regex.py
+++ b/tests/test_parser_regex.py
@@ -3,7 +3,7 @@
 import asynctest.mock as amock
 
 from opsdroid.core import OpsDroid
-from opsdroid.skills import match_regex
+from opsdroid.matchers import match_regex
 from opsdroid.message import Message
 from opsdroid.parsers.regex import parse_regex
 
diff --git a/tests/test_skills.py b/tests/test_skills.py
--- a/tests/test_skills.py
+++ b/tests/test_skills.py
@@ -3,7 +3,7 @@
 import unittest.mock as mock
 
 from opsdroid.core import OpsDroid
-from opsdroid import skills
+from opsdroid import matchers
 
 
 class TestSkillDecorators(unittest.TestCase):
@@ -13,7 +13,7 @@ def test_match_regex(self):
         with OpsDroid() as opsdroid:
             regex = r"(.*)"
             mockedskill = mock.MagicMock()
-            decorator = skills.match_regex(regex)
+            decorator = matchers.match_regex(regex)
             decorator(mockedskill)
             self.assertEqual(len(opsdroid.skills), 1)
             self.assertEqual(opsdroid.skills[0]["regex"], regex)
@@ -23,13 +23,13 @@ def test_match_apiai(self):
         with OpsDroid() as opsdroid:
             action = "myaction"
             mockedskill = mock.MagicMock()
-            decorator = skills.match_apiai_action(action)
+            decorator = matchers.match_apiai_action(action)
             decorator(mockedskill)
             self.assertEqual(len(opsdroid.skills), 1)
             self.assertEqual(opsdroid.skills[0]["apiai_action"], action)
             self.assertIsInstance(opsdroid.skills[0]["skill"], mock.MagicMock)
             intent = "myIntent"
-            decorator = skills.match_apiai_intent(intent)
+            decorator = matchers.match_apiai_intent(intent)
             decorator(mockedskill)
             self.assertEqual(len(opsdroid.skills), 2)
             self.assertEqual(opsdroid.skills[1]["apiai_intent"], intent)
@@ -39,7 +39,7 @@ def test_match_crontab(self):
         with OpsDroid() as opsdroid:
             crontab = "* * * * *"
             mockedskill = mock.MagicMock()
-            decorator = skills.match_crontab(crontab)
+            decorator = matchers.match_crontab(crontab)
             decorator(mockedskill)
             self.assertEqual(len(opsdroid.skills), 1)
             self.assertEqual(opsdroid.skills[0]["crontab"], crontab)