Genie API Service Docs
qualcomm/qai-appbuilder
GenieAPIService technical documentation retrieval. An agent skill from qualcomm/qai-appbuilder.
RealSenseID face authentication SDK reference. An agent skill from realsenseai/RealSenseID.
$ npx skills add realsenseai/RealSenseID --skill rsid-sdk -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install realsenseai/RealSenseID rsid-sdk --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "rsid-sdk" agent skill from https://github.com/realsenseai/RealSenseID/tree/master into .claude/skills/rsid-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rsid-sdk", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add realsenseai/RealSenseID --skill rsid-sdk -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install realsenseai/RealSenseID rsid-sdk --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "rsid-sdk" agent skill from https://github.com/realsenseai/RealSenseID/tree/master into .agents/skills/rsid-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rsid-sdk", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add realsenseai/RealSenseID --skill rsid-sdk -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install realsenseai/RealSenseID rsid-sdk --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "rsid-sdk" agent skill from https://github.com/realsenseai/RealSenseID/tree/master into .cursor/skills/rsid-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rsid-sdk", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add realsenseai/RealSenseID --skill rsid-sdk -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install realsenseai/RealSenseID rsid-sdk --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "rsid-sdk" agent skill from https://github.com/realsenseai/RealSenseID/tree/master into .gemini/skills/rsid-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rsid-sdk", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install realsenseai/RealSenseID rsid-sdkInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add realsenseai/RealSenseID --skill rsid-sdk -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "rsid-sdk" agent skill from https://github.com/realsenseai/RealSenseID/tree/master into .github/skills/rsid-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rsid-sdk", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add realsenseai/RealSenseID --skill rsid-sdk -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install realsenseai/RealSenseID rsid-sdk --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "rsid-sdk" agent skill from https://github.com/realsenseai/RealSenseID/tree/master into .opencode/skills/rsid-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rsid-sdk", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
rsid-sdkRealSenseID face authentication SDK reference. An agent skill from realsenseai/RealSenseID.
Rsid SDK is an agent skill from realsenseai/RealSenseID. RealSenseID face authentication SDK reference. Use when writing code for face enrollment, authentication, host-mode faceprint extraction/matching, device configuration, user management, device discovery, camera preview, logging, or serial connection. Covers C++ (RealSenseID namespace), Python (rsidpy), and C (rsid).
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 671 other files, including scripts (for example `3rdparty/libuvc-0.0.7-custom/README.md`).
It sits in Backend & APIs, covering Authentication. It works with C++, C#, Python and Java. The licence is Apache-2.0.
10 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit a646592. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Rsid SDK loads about 4.1k tokens when it runs. Until then it costs about 82 tokens; SKILL.md has 737 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from realsenseai/RealSenseID at commit a646592, republished under its Apache-2.0 licence (© realsenseai). 737 words, ~4,117 tokens.
.claude/skills/rsid-sdk/SKILL.md (or your agent's skills folder). This skill also uses 666 other files; get the full folder from GitHub.MatchFaceprints()FaceAuthenticator — enroll, authenticate, host-mode faceprint extraction, matchingDeviceController — connect, reboot, query firmware version, serial number, ping, diagnosticsConnect() before any operation; destructor auto-disconnects (RAII).RealSenseID, Python rsid_py, C# rsid.samples/ for complete working examples (C, C++, Python, C#).Read these before generating any RealSenseID code — these are patterns AI models frequently get wrong.
Don't mix device mode and host mode.
Device mode uses Enroll, Authenticate, RemoveUser (device DB + device matcher).
Host mode uses ExtractFaceprints* + MatchFaceprints (host DB + host matcher).
Never combine them in the same flow.
Lifecycle: Connect → operate → destroy.
Always Connect() first. Cancel any running loop (AuthenticateLoop, detection loops) before shutdown. C++ auto-disconnects via RAII; Python uses context managers; C# uses IDisposable.
Always use DiscoverDevices() for connection.
Never hardcode serial ports like COM9 or /dev/ttyACM0. Use the discovery API to find connected devices and their types.
Adaptive updates in host mode are mandatory.
If MatchFaceprints returns should_update == true, persist the updated faceprints. Do not overwrite DB entries unconditionally.
F50x-only APIs.
DetectPersons, DetectPoses, DetectBodyParts, DecodeBarcodes are F50x-only. On F45x expect Status::NotSupported.
Don't memcpy faceprint internals unsafely. Treat faceprint struct layouts as SDK-defined and versioned. Only copy between documented fields.
Serial port name on Windows (COM10+).
High COM ports may require \\.\COM10 prefix. If Connect() fails with serial error, try this prefix.
Preview requires RSID_PREVIEW=ON.
If preview fails, confirm build flag, platform support, and correct camera index.
On VersionMismatch, check compatibility — don't retry.
Call IsFwCompatibleWithHost(...) to diagnose. Don't loop.
Linux serial permissions.
Ensure access to /dev/ttyACM* via udev rule or dialout group membership.
Always enumerate devices before connecting — never hardcode ports.
#include "RealSenseID/DiscoverDevices.h"
auto devices = RealSenseID::DiscoverDevices();
for (auto& dev : devices) {
// dev.serialPort, dev.deviceType, dev.serialNumber, dev.cameraNumber
}
auto type = RealSenseID::DiscoverDeviceType("/dev/ttyACM0");
auto captures = RealSenseID::DiscoverCapture(); // returns vector<int>import rsid_py
devices = rsid_py.discover_devices()
for dev in devices:
# dev.serial_port, dev.device_type, dev.serial_number, dev.camera_numbervar devices = rsid.Discover.DiscoverDevices();
foreach (var dev in devices) {
// dev.SerialPort, dev.DeviceType, dev.SerialNumber, dev.CameraNumber
}DeviceInfo fields: serial port path, DeviceType (F45x/F50x/Unknown), serial number string, camera number (0-based or -1).
{
auto devices = RealSenseID::DiscoverDevices();
if (devices.empty()) { /* handle no device */ return; }
auto& dev = devices.front();
RealSenseID::FaceAuthenticator authenticator(dev.deviceType);
auto status = authenticator.Connect({dev.serialPort});
if (status != RealSenseID::Status::Ok) { /* handle error */ }
// ... use authenticator ...
} // auto-disconnects on destructiondevices = rsid_py.discover_devices()
if not devices:
raise RuntimeError("No device found")
dev = devices[0]
with rsid_py.FaceAuthenticator(dev.device_type, dev.serial_port) as f:
f.authenticate(on_result=on_result)var devices = rsid.Discover.DiscoverDevices();
if (devices.Length == 0) throw new Exception("No device found");
var dev = devices[0];
using var auth = new rsid.Authenticator();
var status = auth.Connect(new rsid.SerialConfig { port = dev.SerialPort });class MyEnrollClbk : public RealSenseID::EnrollmentCallback {
public:
void OnResult(const RealSenseID::EnrollStatus status) override { /* handle */ }
void OnProgress(const RealSenseID::FacePose pose) override { /* handle */ }
void OnHint(const RealSenseID::EnrollStatus hint, float frameScore) override { /* handle */ }
};
MyEnrollClbk clbk;
auto status = authenticator.Enroll(clbk, "john");
// Optional overrides: OnFaceDetected, OnLandmarksDetected, OnFaceCroppedImagef.enroll(user_id="john", on_result=on_result, on_progress=on_progress, on_hint=on_hint)auth.Enroll(new rsid.EnrollArgs {
userId = "john", resultClbk = (s, ctx) => {}, progressClbk = (p, ctx) => {}, hintClbk = (h, sc, ctx) => {}
});Image enrollment (BGR24, exactly one face in image, face width and height each >= 144 px): EnrollImage("john", buf, w, h) / enroll_image(...) / auth.EnrollImage(...).
class MyAuthClbk : public RealSenseID::AuthenticationCallback {
public:
void OnResult(RealSenseID::AuthenticateStatus status, const char* userId, short score) override {
if (status == RealSenseID::AuthenticateStatus::Success)
std::cout << "Auth: " << userId << std::endl;
}
void OnHint(RealSenseID::AuthenticateStatus hint, float frameScore) override {}
};
MyAuthClbk clbk;
authenticator.Authenticate(clbk); // single attempt
authenticator.AuthenticateLoop(clbk); // continuous until Cancel()
authenticator.Cancel();
// Optional overrides: OnFaceDetected, OnLandmarksDetected, OnFaceDistances,
// OnPersonDetected, OnPoseDetected, OnBarcodeDecoded, OnFaceCroppedImagedef on_result(status, user_id):
if status == rsid_py.AuthenticateStatus.Success:
print('Auth:', user_id)
f.authenticate(on_result=on_result, on_hint=on_hint)
f.authenticate_loop(on_result=on_result, on_hint=on_hint)
f.cancel()var args = new rsid.AuthArgs {
resultClbk = (status, userId, score, ctx) => { /* handle */ },
hintClbk = (hint, score, ctx) => { /* handle */ }
};
auth.Authenticate(args);
auth.AuthenticateLoop(args);
auth.Cancel();C# marshalling helpers: Authenticator.MarshalFaces(), MarshalPersons(), MarshalPoses(), MarshalBarcodes().
Device extracts faceprints, host owns the database and performs matching. Pattern: extract → match → adaptive update.
// Step 1: Enroll — extract faceprints and store in DB
class EnrollExtractClbk : public RealSenseID::EnrollFaceprintsExtractionCallback {
public:
RealSenseID::Faceprints db_entry;
void OnResult(const RealSenseID::EnrollStatus status,
const RealSenseID::ExtractedFaceprints* fp) override {
if (status != RealSenseID::EnrollStatus::Success) return;
db_entry.data.version = fp->data.version;
db_entry.data.flags = fp->data.flags;
db_entry.data.featuresType = fp->data.featuresType;
::memcpy(db_entry.data.adaptiveDescriptorWithoutMask,
fp->data.featuresVector, sizeof(fp->data.featuresVector));
::memcpy(db_entry.data.enrollmentDescriptor,
fp->data.featuresVector, sizeof(fp->data.featuresVector));
}
void OnProgress(const RealSenseID::FacePose) override {}
void OnHint(const RealSenseID::EnrollStatus, float) override {}
};
EnrollExtractClbk enroll_clbk;
authenticator.ExtractFaceprintsForEnroll(enroll_clbk);
// Step 2: Auth — extract faceprints from probe face
class AuthExtractClbk : public RealSenseID::AuthFaceprintsExtractionCallback {
public:
RealSenseID::ExtractedFaceprints extracted;
void OnResult(const RealSenseID::AuthenticateStatus status,
const RealSenseID::ExtractedFaceprints* fp) override {
if (status == RealSenseID::AuthenticateStatus::Success) extracted = *fp;
}
void OnHint(const RealSenseID::AuthenticateStatus, float) override {}
};
AuthExtractClbk auth_clbk;
authenticator.ExtractFaceprintsForAuth(auth_clbk);
// Or continuous: authenticator.ExtractFaceprintsForAuthLoop(auth_clbk);
// Step 3: Match + adaptive update
RealSenseID::MatchElement scanned;
scanned.data.version = auth_clbk.extracted.data.version;
scanned.data.featuresType = auth_clbk.extracted.data.featuresType;
scanned.data.flags = RealSenseID::FaOperationFlagsEnum::OpFlagAuthWithoutMask;
::memcpy(scanned.data.featuresVector, auth_clbk.extracted.data.featuresVector,
sizeof(auth_clbk.extracted.data.featuresVector));
RealSenseID::Faceprints updated;
auto result = authenticator.MatchFaceprints(scanned, enroll_clbk.db_entry, updated);
if (result.success && result.should_update)
enroll_clbk.db_entry = updated; // persist adaptive updatedef on_enroll(status, extracted):
if status == rsid_py.EnrollStatus.Success:
db = rsid_py.Faceprints()
db.version, db.features_type, db.flags = extracted.version, extracted.features_type, extracted.flags
db.adaptive_descriptor_nomask = extracted.features
db.enroll_descriptor = extracted.features
faceprints_db.append(db)
f.extract_faceprints_for_enroll(on_result=on_enroll, on_progress=lambda p: None)
def on_auth(status, new_prints):
if status != rsid_py.AuthenticateStatus.Success: return
for db_item in faceprints_db:
updated = rsid_py.Faceprints()
result = f.match_faceprints(new_prints, db_item, updated)
if result.success:
if result.should_update: db_item = updated # adaptive update
break
f.extract_faceprints_for_auth(on_result=on_auth)auth.EnrollExtractFaceprints(new rsid.EnrollExtractArgs {
resultClbk = (status, fpHandle, ctx) => { /* marshal and store in DB */ },
progressClbk = (pose, ctx) => { }, hintClbk = (hint, score, ctx) => { }
});
auth.AuthExtractFaceprints(new rsid.AuthExtractArgs {
resultClbk = (status, fpHandle, ctx) => { /* marshal, match, adaptive update */ },
hintClbk = (hint, score, ctx) => { }
});Key types: ExtractedFaceprints (raw from device), Faceprints (DB element: adaptive + enrollment descriptors), MatchElement (input to match), MatchResultHost/MatchResult (success, should_update, score).
Adaptive update: When should_update is true, persist the updated faceprints. This improves recognition over time.
unsigned int count;
authenticator.QueryNumberOfUsers(count);
char* user_ids[100];
for (auto& ptr : user_ids) ptr = new char[31];
unsigned int num = 100;
authenticator.QueryUserIds(user_ids, num);
authenticator.RemoveUser("john");
authenticator.RemoveAll();users = f.query_user_ids() # returns list[str]
f.remove_user("john")
f.remove_all_users()auth.QueryUserIds(out string[] userIds);
auth.RemoveUser("john");
auth.RemoveAllUsers();| Field | Type | Default |
|---|---|---|
camera_rotation | CameraRotation | Rotation_0_Deg |
security_level | SecurityLevel | Low |
algo_flow | AlgoFlow | FaceDetectionOnly |
face_selection_policy | FaceSelectionPolicy | Single |
dump_mode | DumpMode | None |
frontal_face_policy | FrontalFacePolicy | None |
person_motion_mode | PersonMotionMode | Static |
distance_limit_cm | uint8 | 0 (no limit, 1-150 = cm) |
max_spoofs | uint8 | 0 (disabled) |
match_thresh | uint16 | 0 (device recommended) |
gpio_auth_toggling | int | 0 (disabled) |
manual_exposure_time_us | uint16 | 0 (auto) |
manual_gain | uint16 | 0 (auto) |
rect_enable | uint8 | 1 (enabled) |
landmarks_enable | uint8 | 0 (disabled) |
detection_roi | Roi | {0, 0, 1080, 1920} |
Rotation_0_Deg, Rotation_180_Deg, Rotation_90_Deg, Rotation_270_DegHigh, Medium, LowAll, FaceDetectionOnly, SpoofOnly, RecognitionOnlySingle (closest), All (up to 5)None, CroppedFace, FullFrame. Python: DumpMode.Disable (not None)None, Moderate, StrictStatic, Walkthrough0 = no limit, 1-150 = max distance in centimetersAPI: QueryDeviceConfig(config) / SetDeviceConfig(config). Python: query_device_config() / set_device_config(). C#: same names with out parameter.
Status: Ok, Error, SerialError, SecurityError, VersionMismatch, CrcError, TooManySpoofs, NotSupported, DatabaseFull, DuplicateUserId, DuplicateFaceprints, InvalidSettings
EnrollStatus: Success = Success. AuthenticateStatus: Success = Success.
All status enums have Description() (C++) and stream operator overload. Python enums print directly.
F50x-only APIs — returns Status::NotSupported on F45x. All accept a loop parameter; callback returns bool (true = continue). Use Cancel() to stop.
DetectPersons — bounding boxes with id, distance, body_partDetectPoses — bounding boxes + 17 body keypointsDetectBodyParts — body part detectionDecodeBarcodes — barcode reading| Method | Description |
|---|---|
Connect / Disconnect | Serial connection (RAII auto-disconnects) |
QueryFirmwareVersion | FW version string |
QuerySerialNumber | Device serial number |
Ping | Connectivity check |
Reboot | Restart device |
GetTemperature | SoC + board temps |
FetchLog | Device log (~128KB, ~12-14s) |
Get/SetColorGains | Camera color gains (0-511) |
QueryBspVer | BSP version string |
RealSenseID::DeviceController ctrl;
ctrl.Connect(RealSenseID::SerialConfig{dev.serialPort});
std::string fw_ver;
ctrl.QueryFirmwareVersion(fw_ver);
ctrl.Reboot(); // auto-disconnects on destructionwith rsid_py.DeviceController(port) as ctrl:
print(ctrl.query_firmware_version())
ctrl.reboot()Power management (via FaceAuthenticator): Standby() (low-power, auto-wakes), Hibernate() (deep sleep, GPIO 10 or power reset to wake), Unlock() (after TooManySpoofs lock).
Version: RealSenseID::Version(), CompatibleFirmwareVersion(deviceType), IsFwCompatibleWithHost(deviceType, fw_ver).
RSID_PREVIEW=ON)RealSenseID::PreviewConfig config;
config.deviceType = RealSenseID::DeviceType::F45x;
config.cameraNumber = -1; // auto-detect
config.previewMode = RealSenseID::PreviewMode::MJPEG_1080P; // or MJPEG_720P, RAW10_1080P
config.portraitMode = true;
RealSenseID::Preview preview(config);
MyPreviewClbk clbk; // implement PreviewImageReadyCallback::OnPreviewImageReady(const Image&)
preview.StartPreview(clbk);
// Image fields: buffer (RGB), width, height, stride, size, metadata (timestamp, exposure, gain)
preview.StopPreview();RealSenseID::SetLogCallback([](RealSenseID::LogLevel level, const char* msg) {
printf("[%d] %s\n", (int)level, msg);
}, RealSenseID::LogLevel::Debug, /*do_formatting=*/true);rsid_py.set_log_callback(callback, log_level, do_formatting=True)LogLevel: Trace, Debug, Info, Warning, Error, Critical, Off
© realsenseai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 666 other files (scripts) in the repository root of realsenseai/RealSenseID.
Open the folder on GitHubat commit a646592
Rsid SDK next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Rsid SDK this skillrealsenseai/RealSenseID | 122 | — | ~4.1k | Automated safety check: Pass | Apache-2.0 | |
| Genie API Service Docsqualcomm/qai-appbuilder | 247 | — | ~840 | Automated safety check: Pass | Custom licence | |
| Subspace Clientsdallison/subspace | 104 | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Fory Performance Optimizationapache/fory | 4.6k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Sokol Netelix22/Sokol.NET | 154 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Code Revieweralirezarezvani/claude-skills | 28k | 1 repos | ~1.6k | Automated safety check: Pass | MIT |
qualcomm/qai-appbuilder
GenieAPIService technical documentation retrieval. An agent skill from qualcomm/qai-appbuilder.
dallison/subspace
Write Subspace clients in C++, Python, Rust, or Java. An agent skill from dallison/subspace.
apache/fory
Run profile-driven bottleneck optimization across Apache Fory implementations (Java, C++, Python/Cython, Go, Rust, Swift, C, JavaScript/TypeScript, Dart, Kotlin, Scala).
elix22/Sokol.NET
Sokol.NET framework development — use for ANY work in this repo: creating or debugging examples, building/running for desktop/Android/iOS/Web, writing or compiling shaders, adding a new C/C++…
alirezarezvani/claude-skills
Code review automation for TypeScript, JavaScript, Python, Go, Swift, Kotlin, C, .NET, Java, C, C++, Rust, Ruby, PHP, and Dart/Flutter.
qualcomm/qai-appbuilder
QAI AppBuilder technical documentation retrieval. An agent skill from qualcomm/qai-appbuilder.
Categories
RealSenseID face authentication SDK reference. An agent skill from realsenseai/RealSenseID. Rsid SDK is an agent skill from realsenseai/RealSenseID. RealSenseID face authentication SDK reference.
Rsid SDK fits situations like: writing code for face enrollment; host-mode faceprint extraction/matching; device configuration; user management.
Run `npx skills add realsenseai/RealSenseID --skill rsid-sdk -a claude-code`. Or copy the skill folder (the realsenseai/RealSenseID repository) into .claude/skills/rsid-sdk in your project. Claude Code loads it when a task matches its description.
Run `npx skills add realsenseai/RealSenseID --skill rsid-sdk -a codex`. Or copy the skill folder (the realsenseai/RealSenseID repository) into .agents/skills/rsid-sdk in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add realsenseai/RealSenseID --skill rsid-sdk -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rsid-sdk, .gemini/skills/rsid-sdk, .github/skills/rsid-sdk and .opencode/skills/rsid-sdk in your project.
SKILL.md names no scripts, command-line tools or credentials: Rsid SDK is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Rsid SDK is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Rsid SDK: Genie API Service Docs (qualcomm/qai-appbuilder, 247 stars), Subspace Clients (dallison/subspace, 104 stars), Fory Performance Optimization (apache/fory, 4.6k stars) and Sokol Net (elix22/Sokol.NET, 154 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
realsenseai (a GitHub organization) maintains it in realsenseai/RealSenseID, which has 122 GitHub stars. The repository was last updated on October 7, 2026.
Source: realsenseai/RealSenseID on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.