Overview
Lab instructions can be edited in two ways, depending on how the Lab Profile is configured:
- In GitHub (default behavior)
- In Skillable Studio using Edit Locally
Understanding how each workflow operates, and when to use it, helps prevent lost changes and keeps content in sync.
Edit in GitHub (Default)
Use this workflow when Edit Locally is OFF. GitHub is the source of truth, and Studio is read-only.
How It Works
- A change is made to the instruction file in GitHub.
- The change is committed to the primary branch.
- GitHub triggers a webhook to notify Skillable of the update.
- Skillable retrieves the updated file and stores it locally.
- The next time the lab or editor is opened, the updated instructions are displayed.
In Studio, the Instructions Editor is read-only. A banner indicates that the lab uses an external Instructions Source. The content reflects the latest synced version from GitHub.
Key Considerations
- All edits must be made in GitHub
- Updates are applied automatically via webhook
- Studio cannot override or modify the content
If you need to pull the latest content from GitHub immediately (without waiting for a webhook), use the Resync option in the Instructions Source section of the Lab Profile.
Resync manually retrieves the latest version of the configured instruction file from GitHub. It is useful when a webhook may have been missed or when no recent commits have triggered an update.
GitHub webhooks trigger on every push to the repository, regardless of which file changed. Skillable only imports the configured Markdown file.
Edit in Skillable Studio (Edit Locally)
Use this workflow when Edit Locally is ON. Edit in Studio and sync changes back to GitHub.
How It Works
- Edit Locally is enabled on the Lab Profile.
- The Instructions Editor becomes writable.
- Changes are saved in Skillable as you edit.
- Labs immediately reflect the updated content.
- When ready, sync your changes to GitHub by creating a Pull Request (PR).
- The PR is reviewed and merged into GitHub.
In Studio, the Instructions Editor is fully editable. Changes are saved automatically. A Sync Changes option is available when you make edits.
GitHub webhooks still fire when changes are committed. However, incoming updates don't overwrite local edits while Edit Locally is enabled.
Key Considerations
- Skillable temporarily holds the working version of your content
- GitHub remains the system of record after changes are merged
- You are responsible for syncing changes back to GitHub
Mode Switching and Data Loss
Switching between workflows changes how content is managed. If done incorrectly, it can result in permanent data loss.
Disabling Edit Locally
If you turn off Edit Locally while there are unsynced edits:
- Your local changes are permanently lost
- The lab reverts to the version stored in GitHub
You will see a warning before confirming this action.
Always sync your changes to GitHub before disabling Edit Locally.
Summary
Lab instructions can be managed either in GitHub or Studio, depending on your workflow. GitHub provides a structured, version-controlled process. Edit Locally in Studio provides flexibility and faster iteration.
Choosing the right workflow, and switching between them carefully, ensures your content stays consistent and avoids data loss.
Related Resources
- GitHub Instructions Source
- GitHub Repository
- Editing Locally for GitHub Instructions
- Troubleshooting GitHub Instructions
If you’re experiencing an issue with a lab, platform feature, or your account, please submit a ticket to Skillable Support. Our Support team can help you troubleshoot errors, resolve access issues, and answer questions specific to your environment.
If you noticed an error or have suggestions for improving this documentation, use the Was this article helpful? section below. Your input helps us keep our documentation accurate and up to date.
Was this article helpful?
Please note that this feedback is for documentation only. Be sure to log in to your Skillable account when leaving feedback so we can respond directly.