SKILL.md
Bootstrap Example
Use this skill when the user wants to copy, extract, bootstrap, or start an OAK project from an example in oak-examples.
Workflow
- Clarify the target app before choosing an example: task, required hardware, host-script vs standalone mode, UI needs, model/inference needs, streaming/output needs, and whether the user wants the smallest scaffold or closest production-shaped app.
- Before selecting an example, run the helper with
--print-indexto acquire the local checkout path andINDEX.mdpath. This command uses the current checkout when available; otherwise it shallow-cloneshttps://github.com/luxonis/oak-examples.gitinto a local cache with--depth 1from the default branchmain:
python3 scripts/bootstrap_from_example.py --print-index
- Read the printed
index:path and identify candidate examples. The index links are relative to the printedrepo:path; resolve those paths locally and read the candidateAGENTS.mdfiles before choosing. Prefer the closest task and hardware match first, then the closest execution shape. - Choose a new output directory for the generated project. For installable-skill usage, default to a new subdirectory under the user's current working directory, such as
./raw-stream-app; do not write directly into the current directory. The output directory must not already exist. - Run this skill's bundled helper.
python3 scripts/bootstrap_from_example.py <example-path> ./<new-project-dir>
- Use
--repo /path/to/oak-exampleswhen the user already has a preferred checkout, or when you need to clone into a specific location.
python3 scripts/bootstrap_from_example.py --repo /tmp/oak-examples <example-path> ./<new-project-dir>
- Inspect the generated project's
AGENTS.md,CLAUDE.md, andLICENSE; confirm they link toESSENTIAL_KNOWLEDGE.md, any## Related Exampleslinks use GitHubmainURLs, and whether bootstrap copied the repo root license or preserved example-specific license files. - If the copied example includes its own top-level license files or explicit third-party headers, keep those terms instead of assuming Apache-2.0 applies uniformly.
- Tell the user where the project was created, that
oakapp.tomlidentifier was changed if present, and that dependencies, hardware compatibility, runtime validation, and final license review still need to be handled separately.
Example
python3 scripts/bootstrap_from_example.py custom-frontend/raw-stream ./raw-stream-app
Available Scripts
scripts/bootstrapfromexample.py: finds or shallow-clonesoak-examples, prints the localINDEX.mdpath with--print-index, copies an example into a new project, writesAGENTS.mdandCLAUDE.md, copiesESSENTIAL_KNOWLEDGE.md, carries over the repo rootLICENSEwhen the example does not already provide a top-level license file, converts cross-example links to GitHubmainURLs, and rewritesoakapp.tomlidentifiers.
Selection Checklist
Task:detection, depth, streaming, frontend, ROS, C++, calibration, measurement, or integration.Hardware:RVC2/RVC4, stereo, ToF, thermal, IMU, autofocus, or multi-device requirements.Mode:host script, standalone OAK App, or both.Shape:minimal scaffold, packaged app, frontend/backend app, ROS workspace, C++ app, or evaluation tool.Inputs/outputs:camera/media input, model choice, visualization, service/API, stream protocol, or dataset/export target.
Safety
- Never overwrite an existing output directory. Ask the user for a new path instead.
- Do not edit the source example while bootstrapping unless the user separately asked for repository changes.
- Do not claim the generated project is runnable until dependencies and hardware requirements are checked.