Write a Learning Lab course

Use Learning Lab's strengths for fast feedback to author your own course.

Start Write a Learning Lab course Join 516 others!

Learning Lab helps people build real world skills through hands-on activities. This course streamlines the course building process, and gives you all the tools you need to help others learn.

Register for this course to get the starter files needed to build your Learning Lab course, or complete the course steps for a fully guided experience. If you choose to complete the course, you'll be able to:

  • Identify the structure of a Learning Lab course
  • Define a title and description for your course
  • Define a template repository
  • Create course steps
  • Create responses
  • Publish a course to GitHub Learning Lab
Steps to complete this course 31
  1. Choose a topic for your course

    Choose what you'd like to teach through Learning Lab, or borrow one of our suggestions for practice.

  2. Welcome

    Decide whether to complete a guided course, or use boilerplate as is.

  3. Break your course into smaller steps

    Break down what you'd like to teach into smaller learning objectives.

  4. Give your course a title

    Name your course so learners can find it.

  5. Add some descriptions to your course

    Give your course a description and tagline so learners can identify it.

  6. Merge your learning objectives

    Merge the pull request breaking down your course topic into smaller learning objectives.

  7. Approve the course metadata

    Approve the pull request containing the course's metadata.

  8. Reference the template

    Edit the config file to reference your chosen template repository.

  9. Map learning objectives to events

    Map the learning objectives you wrote to specific events from GitHub webhooks.

  10. Point to the template repo

    Designate a template repository from which to clone.

  11. Give the learner's repo a name

    Designate a name for the repository when it is created for the learner.

  12. Create an outline of learning objectives as events

    Using the same strategy of mapping learning objectives to events, create an outline of events for your course.

  13. Choose the example that shows the three phases

    Apply a label that corresponds to the example showing the three phases of a step.

  14. Approve the repo setup

    Approve the template repo information

  15. Create an issue using Learning Lab

    Use the `before` block to create an issue in the learner's repo.

  16. Create the first response

    Write the first response, phase 1, for the first step of your course.

  17. Write the first Learning Lab action

    Write the first Learning Lab action for a response into your course's configuration file.

  18. Create your first response

    Add content to the repo's first issue.

  19. Write a gate

    Write a gate to check the user's first step

  20. Name your first step and give it a description

    Identify the first step so the learner knows what's expected.

  21. Trigger your first step with a GitHub event

    Add a pull_request.opened event.

  22. Write feedback for the learner

    Write feedback into the feedback response for the learner to let them know they've done it right.

  23. Write the config logic

    Write the config logic for both responses to the learner in their first step.

  24. Validate a learner's pull request

    Add a gate to determine if the learner took the expected action.

  25. Use contextual information to validate

    Add options to the gate action.

  26. Create course metadata

    Add the course metadata like title and description to the configuration file.

  27. Respond to a learner's successful pull request

    Use a respond action when a learner opens their pull request.

  28. Import the course

    Import this repository as a course on GitHub Learning Lab.

  29. Close the issue

    To signal that you've tested your course, close this issue.

  30. Add a README to your course

    Write a longform description for your course.

  31. Approve the steps

    Submit an approval for the steps pull request.

Share Write a Learning Lab course
Average time to complete

38 minutes


All public courses on Learning Lab are free.

Latest release

Ready to start learning?