Skip to main content

SN-Skipera

Auto-complete ServiceNow NowLearning course videos via browser automation.

Opens your Firefox/Zen browser (with your existing Okta session), plays each course video to completion, and moves to the next item. Handles SSO re-authentication automatically.

What it does

  • Videos — Detects <video-js> Brightcove players, seeks to the last 15 seconds, plays to end, waits 5s for server confirmation.
  • Knowledge checks — Same video-based approach (these are also video items).
  • Quizzes — If you provide a Gemini API key, the tool can answer quiz questions automatically via --gemini-key.
  • Labs — Lab exercises are not automated (hands-on instance work). The tool skips non-video items gracefully.

Items are completed sequentially (prerequisite-locked items unlock automatically as earlier items finish).

Prerequisites

  • Python 3.10+
  • Firefox (or Zen Browser, any Firefox-based browser)
  • geckodriverDownload and place in your PATH
  • An active Okta session in your browser profile — You must be logged into learning.servicenow.com via Okta in your browser before running the tool. The tool reuses your existing session; it does not handle login from scratch.

Install

From GitHub:

pip install git+https://github.com/YOUR_USER/sn-skipera.git

# Or with uv:
uv tool install git+https://github.com/YOUR_USER/sn-skipera.git

From source:

git clone https://github.com/YOUR_USER/sn-skipera.git
cd sn-skipera
uv tool install .

Usage

Quick start

sn-skipera "https://learning.servicenow.com/lxp/en/pages/learning-course?id=learning_course&course_id=..." --browser
  1. Copy the full course URL from your browser's address bar.
  2. Run the command above.
  3. The tool opens your browser, navigates to the course, and starts completing items one by one.

Headless mode (no visible window)

sn-skipera "COURSE_URL" --browser --headless

Answer quizzes with Gemini

# Save your API key once:
sn-skipera --set-gemini-key

# Then run normally — quizzes are answered automatically:
sn-skipera "COURSE_URL" --browser

Or pass the key each time:

sn-skipera "COURSE_URL" --browser --gemini-key "YOUR_KEY"

Or set GEMINI_API_KEY environment variable.

Specify a browser profile

sn-skipera "COURSE_URL" --browser --profile /path/to/profile

Or set SN_PROFILE_PATH environment variable.

Debug mode

sn-skipera "COURSE_URL" --browser --debug

Saves page source and state dumps to ~/.sn-skipera/ for troubleshooting.

Configuration

Environment variable Purpose
SN_BROWSER_BINARY Path to Firefox/Zen browser binary
SN_GECKODRIVER_PATH Path to geckodriver executable
SN_PROFILE_PATH Path to browser profile directory
GEMINI_API_KEY Gemini API key for quiz answering

How it works

  1. Launches Firefox/Zen with your browser profile (preserves Okta SSO session).
  2. Loads the course page and extracts all items from the Angular scope.
  3. For each incomplete item:
    • If it's a video: seeks to duration - 15s, plays muted to the end, waits 5s.
    • If it's a quiz and Gemini key is available: scrapes questions, calls Gemini API, clicks answers, submits.
    • Otherwise: skipped (labs, etc.).
  4. Refreshes the course page to unlock subsequent items.
  5. Repeats until all items are complete.

Limitations

  • Labs are not automated. The tool skips lab items (they require hands-on interaction in a ServiceNow instance).
  • Only works with ServiceNow NowLearning (learning.servicenow.com).
  • You must be logged in via Okta before running. The tool reuses your existing session.
  • Quiz support is experimental. Works best with multiple-choice and true/false questions.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sn_skipera-1.0.1.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sn_skipera-1.0.1-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file sn_skipera-1.0.1.tar.gz.

File metadata

  • Download URL: sn_skipera-1.0.1.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for sn_skipera-1.0.1.tar.gz
Algorithm Hash digest
SHA256 d7f2dee2ea4980680799c2c11d93ae6aba535ded9c9e40d889ac5bb6e73abf00
MD5 7da6c295633919d70f8f2b26df41f4c1
BLAKE2b-256 deeb6a81d6ff41617b560031f850be72464244a5ba9955c9414cd1f99edd15bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for sn_skipera-1.0.1.tar.gz:

Publisher: publish.yml on medakshchoudhary/sn-skipera

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sn_skipera-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: sn_skipera-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for sn_skipera-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e27caf6f1a47eb91cdd82d6d1b20bccfdd2a6f2a8a0c3e2a79da3e46c66ef996
MD5 1a94b6ea2b3a03a0e75f4d67abdf85ad
BLAKE2b-256 226785a811ac9fa45a6f5895a68f6b6c3a2619d6502b2aa8256bb058cc22ae3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sn_skipera-1.0.1-py3-none-any.whl:

Publisher: publish.yml on medakshchoudhary/sn-skipera

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page