# Design to Development

## Creating Behave Test files based on your Design

For Skills to enter our official Marketplace they need to be testable. We use a Behavior Driven approach and write tests in a natural language style before any development begins. After the skill is developed the Behave tests will need to be updated with the appropriate Dialog files, and in many cases Steps will need to be created to incorporate the tests.

Small portion of an example Feature file:

```
Feature: mycroft-moon-phase

  Scenario Outline: The user asks for the current moon phase
    Given an english speaking user
      When the user asks for "<the current moon phase>"
      Then "skill-moon-phase" should reply with "Today’s moon is Waning Crescent with 55% illumination"

   Examples:
     | the current moon phase |
     | what’s the moon phase |
     | what's the phase of the moon |
     | what is the moon phase today |
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mycroft-ai.gitbook.io/docs/skill-development/voice-user-interface-design-guidelines/design-to-development.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
