Based on what I have learned, it is perfectly acceptable to answer a Yes/No question with just that. Here are ways you can answer both questions?
"Bist du aus Deutschland?" "Kommst du aus Deustchland?" = "Are you from Germany?" "Do you come from Germany"
Both ways of asking are fine and to answer, all you have to do is change the subject and verb and their order.
"Ja, ich komme/bin aus Deutschland." "Nein, ich komme/bin aus _______."
"Kannst du Deutsch sprechen?" = "Can you speak German?" You can certainly use a form of the verb "können" in this case. Here is another way to ask:
"Sprichst du Deutsch?" = "Do you speak German" The answers might be:
"Ja ich kann Deutsch sprechen."/ "Ja, ich spreche Deutsch." Either of these are fine. To sound more natural, you might shorten your answer to a simple "ja/nein." It's not necessary to say the full sentence, since the context is already known.
I hope this helps. Please let me know if you have further questions.