OpenSKILL lets you run SKILL locally, learn the language, and search an offline reference on your own computer without Cadence installed.
It gives EDA engineers, custom IC teams, chip design learners, and student-friendly lab environments a practical Cadence-free setup for EDA scripting: a standalone SKILL interpreter, REPL, desktop shell, and SKILL IDE for Linux or Windows. The interpreter logic and bundled reference content are original work created for this project.
If you are searching for a SKILL interpreter, SKILL REPL, offline SKILL reference, or a Cadence-free way to learn SKILL for custom IC and broader EDA workflows, this repository is built for that use case.
- User manual:
docs/user-manual.md - Command reference:
docs/command-reference.md - Runnable starter files:
examples/
- Download the latest build from GitHub Releases: https://github.com/sohamxda7/openskill/releases
- Run the binary for your platform:
- Linux CLI:
./openskill-<version>-linux - Windows CLI:
openskill-<version>-windows.exe - Linux IDE:
./openskill-ide-<version>-linux - Windows IDE:
openskill-ide-<version>-windows.exe
- Linux CLI:
- Start typing SKILL code and exploring the offline reference.
python3 -m pip install -e .
openskillFrom a checkout without installing:
PYTHONPATH=src python3 -m openskill.cliRun a starter script:
openskill examples/hello.ilLaunch the desktop shell from source:
openskill --gui
# or, from a checkout without installing
PYTHONPATH=src python3 -m openskill.ui.app- Run core SKILL scripts locally without a Cadence license checkout
- Learn SKILL syntax, control flow, lists, strings, tables, and file I/O in one place
- Search an offline SKILL reference while you code
- Try beginner-friendly runnable examples before moving to your own scripts
- Download single-file CLI and IDE binaries from GitHub Releases
- Use it as a teaching, experimentation, and scripting workbench for custom IC, chip design, and EDA workflows
Prebuilt binaries are published on GitHub Releases for Linux and Windows:
- CLI:
openskill-<version>-linux/openskill-<version>-windows.exe - Desktop IDE:
openskill-ide-<version>-linux/openskill-ide-<version>-windows.exe - Integrity file:
SHA256SUMS.txt
Download the latest release here:
https://github.com/sohamxda7/openskill/releases
Each push to main creates a new prerelease snapshot with commit-based versioning, and version tags create stable releases.
- Reader, parser, and evaluator for a growing standalone-safe core SKILL surface
- File execution, one-shot expressions, and a REPL
- Offline API catalog for the commands currently implemented
- Desktop shell with editor, console, REPL, API Finder, line numbers, bracket matching, rainbow brackets, and autocomplete
- Runnable examples for arithmetic, procedures, lists, strings, Fibonacci, and a simple state machine
- Core language areas including bindings, procedures, macros, conditionals, loops, lists, strings, tables, arrays, printing, file/port utilities, and a minimal SKILL++ object layer
- Prefix forms, classic immediate-paren calls such as
println("hello"), infix arithmetic with+ - * /, table helpers such astableToList, and object syntax such asdefclass,makeInstance, andobj->slot - Self-contained catalog examples that are exercised by the test suite against every documented symbol
OpenSKILL is not a full core-SKILL-complete environment yet, but it already covers a broad standalone-safe subset with 200+ documented commands/forms in the offline catalog.
- Virtuoso, OpenAccess, CDB, and layout/database APIs
- Cadence UI automation and live-session integration
- Any network dependency for help lookup
src/openskill/
interpreter/ Core reader, parser, evaluator, runtime
api/ Offline API catalog and search helpers
apifinder/ Offline API search helpers
ide/ Tk-based desktop shell
runtime/ REPL utilities
tests/ Unit coverage for interpreter/runtime behavior
scripts/ Packaging helpers
openskill [path/to/script.il]
openskill --expr '(println "hello")'
openskill --guiUse the manual for setup, workflow, language basics, and beginner examples, and use the command reference when you want the browsable catalog of currently documented symbols.
The shipped help text, signatures, and examples in this repository were written independently for this project. Publicly available reference material was used to study externally visible behavior and language surface area, but the bundled catalog content is original to this repository.
This project is distributed under GPL-3.0-or-later. See LICENSE for the full license text and NOTICE for project-specific legal notices and disclaimers.
- This project is an independent educational implementation and is not affiliated with, endorsed by, or sponsored by Cadence Design Systems, Inc.
- This repository does not contain, bundle, or redistribute proprietary Cadence source code, binaries, documentation, or data files.
- Names such as SKILL, Cadence, and Virtuoso are used only to describe compatibility goals and remain the property of their respective owners; such use does not imply certification, approval, or endorsement.
- This repository uses independently written documentation and examples, but it does not claim immunity from copyright, trademark, contract, DMCA, or other legal challenges.
- Contributors and users are responsible for ensuring that any source materials or scripts they contribute may be used lawfully.
python3 -m unittest discover -s testsThat suite now checks the interpreter/runtime behavior, starter examples, and every catalog example entry.