Skills and features from GitHub projects: use, and what contributing would take

State 24.10.2026. Decision of the user (24.10.2026): use only. We use GitHub projects as dependencies or as references; we open no pull requests; our repository stays private as it is. Section 3 keeps the analysis of contributing for a later decision.

1. Sources in use or evaluated

ProjectLicenceHow we use it
pyRevit (pyrevitlabs/pyRevit)GPL-3.0the only way to Revit: pyrevit mcp, agent runtime (pyRevit 7)
ifcopenshellLGPL-3.0reads IFC in scan2revit/ifc/
plan-extract (bbl-dres/plan-extract)MITraster plans: its results into Revit (plans/fpx.py); the model weights are not published
shapely, numpy, scipy, scikit-image, ezdxf, pdfplumber, pypdfium2, pye57, laspyBSD / MIT / Apachegeometry, readers
Skill collections (DDC skills, Bonsai skill package, revit toolkits)mixed, some without licenceread as references only (research log)
Cloud2BIM, manicotti, 3d-data-materialsmixedmethods compared, no code taken

2. Rules for taking a skill or a feature from GitHub

1. Licence first: MIT, BSD, Apache: code may be taken with the notice. LGPL: use as a library, do not copy code into ours. GPL / AGPL: run as a separate program or library only (pyRevit, PyMuPDF); no code copied into scan2revit. No licence: read only, take nothing. 2. Security check before use: every skill or script is read in full before it is installed or run: does a Markdown file or a hook make Claude execute code, download, install packages or call external services (as done for the geopogo skill folder). Skills go into .claude/skills/ only after that check. 3. Pinned: a dependency at a fixed version, a copied file at a commit hash, recorded with its licence in scan2revit/third_party/README.md (to create when the first file is copied). 4. Adapted, not trusted: a taken method gets our tests and the measured result in scoring.md before it replaces our own; no data from GitHub examples in our tests unless its licence allows it. 5. No customer data out: issues, questions or forks never contain project data, names or paths.

3. Contributing to the GitHub projects: what it would take (not decided)

Candidates (things we fixed or built that would help others):

What would be necessary

NeedDetail
Rightsclear whether the work belongs to the user privately or to the employer (the Revit user name is a company account); written permission if the employer holds the rights
GitHub account and forksthe user's account; a fork per project; their contribution rules (pyRevit: CONTRIBUTING, code style, Python 2.7 compatibility in the IronPython parts)
Issue firstdescribe the problem with a minimal, synthetic reproduction; agree on the solution with the maintainers
Generic codethe contribution cut out of scan2revit: no project paths, no Swiss-template specifics unless optional
Tests and docs in their styletheir test setup, not ours
Licence fitour code is MIT; contributing to GPL projects puts that part under GPL there (fine, but final)
Timereview rounds of days to months; follow-up questions; keeping the PR current with their main branch

Benefit

Downside

A lighter form (also not decided): bug reports as issues with a synthetic reproduction, no code. Low cost, most of the benefit for the pyRevit runtime findings.