extension-oql
82Expose Canister Data Through OQL
Structured canister data is difficult for intelligence agents to query safely. This skill adds OQL entities, schema discovery, query execution, relationships, and per-entity authorization.
Build Caffeine AI Core Infrastructure
Connecting React applications to Internet Computer backends requires coordinated authentication, actor, query, and storage setup. This skill provides proven integration and migration guidance for that foundation.
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ Π² ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΠ³Π΅Π½ΡΠ°. ΠΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Skill ΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ.
Review the Skillstore skill "extension-core-infrastructure" from https://skillstore.io/skills/caffeinelabs-extension-core-infrastructure.md and its manifest at https://skillstore.io/api/skills/caffeinelabs-extension-core-infrastructure/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.ΠΠ°Ρ ΠΠ³Π΅Π½Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΠ»Π°Π½ ΠΈ Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ, ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΈ ΡΡΡΠ»ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° AI-Π°Π³Π΅Π½ΡΡ, crawler ΠΈΠ»ΠΈ script Π½ΡΠΆΠ΅Π½ ΡΠΈΡΡΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Β«extension-core-infrastructureΒ». Explain which authentication state should control protected UI after a page reload.
ΠΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
Use isAuthenticated for protected UI. A restored session can be authenticated while the interactive login success state remains false.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Β«extension-core-infrastructureΒ». Summarize the v1 dependency migration.
ΠΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Β«extension-core-infrastructureΒ». What happens to backend actors after login or logout?
ΠΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
The actor is recreated with the new identity. Dependent queries are then invalidated and fetched again.
All 38 static findings are false positives. The command findings are Markdown formatting, the URL is a documentation link, and the reconnaissance hit is a documented boolean. A low-severity privacy concern remains because verified email is requested by default unless applications opt out.
ΠΠ΅Π»ΠΈΡΠ΅ΡΡ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΡΠΌ ΠΎΡΡΠ΅ΡΠΎΠΌ ΠΎΠ± ΠΎΡΠ΅Π½ΠΊΠ΅, Π½Π΅ΠΉΡΡΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠΊΠΎΠΌ, Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΠΎΠΉ ΠΈ ΡΠΈΡΠ°ΡΠ°ΠΌΠΈ. Skillstore ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅Ρ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π°, Π½Π΅ ΡΠ΅ΡΠ°Ρ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ Π»ΠΈ ΡΡΠΎΡ Skill.
https://skillstore.io/skills/caffeinelabs-extension-core-infrastructure/audits/1?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_report[](https://skillstore.io/skills/caffeinelabs-extension-core-infrastructure?utm_source=security_passport_badge)<a href="https://skillstore.io/skills/caffeinelabs-extension-core-infrastructure?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/caffeinelabs-extension-core-infrastructure/security.svg" alt="Skillstore security assessment" loading="lazy"></a><iframe src="https://skillstore.io/embed/skills/caffeinelabs-extension-core-infrastructure.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>caffeinelabs. (2026). extension-core-infrastructure security audit report (audit version 1) [Author version 1.1.0]. Skillstore. https://skillstore.io/skills/caffeinelabs-extension-core-infrastructure/audits/1@techreport{caffeinelabs-caffeinelabs-extension-core-infrastructure-2026,
author = {caffeinelabs},
title = {extension-core-infrastructure security audit report (audit version 1)},
institution = {Skillstore},
year = {2026},
number = {1},
url = {https://skillstore.io/skills/caffeinelabs-extension-core-infrastructure/audits/1},
note = {Author version 1.1.0}
}cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "extension-core-infrastructure security audit report (audit version 1)"
version: "1.1.0"
type: report
authors:
- name: "caffeinelabs"
date-released: "2026-07-23"
url: "https://skillstore.io/skills/caffeinelabs-extension-core-infrastructure/audits/1"
identifiers:
- type: other
value: "skillstore:caffeinelabs-extension-core-infrastructure:audit:1"
description: "Skillstore immutable audit report identifier"
Set up shared providers, authentication state, and typed backend access for a new Caffeine AI React application.
Replace legacy DFINITY packages, update imports, adjust Vite deduplication, and review the new attribute verification default.
Verify UI gating, login lifecycle handling, actor recreation, and dependent query refresh behavior.
Explain how this core infrastructure supports authentication, backend actors, React Query, and storage dependencies. Define each component for a new React developer.
Create an integration plan for my React application using this skill. Include dependencies, provider order, authentication states, actor loading, and verification steps.
Review my authentication flow against this skill. Identify incorrect use of login success, missing initialization handling, and unsafe authenticated UI gating.
Design a v0 to v1 migration for my project. Map dependencies and imports, assess verified email requirements, update Vite deduplication, and define tests.
ΠΠ²ΡΠΎΡ
caffeinelabsΠΠΈΡΠ΅Π½Π·ΠΈΡ
MIT
ΠΠ΅ΡΡΠΈΡ Π°Π²ΡΠΎΡΠ°
v1.1.0
Π Π΅Π²ΠΈΠ·ΠΈΡ Skillstore
r1
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
https://github.com/caffeinelabs/skills/tree/10fb452613c797633b8cb33639fc9a754a138039/skills/extension-core-infrastructureΠ‘ΡΡΠ»ΠΊΠ°
f32f934280aa94e399d875d7cf7b2ed16d1b82a3
ΠΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ
23.07.2026
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
0 Π·Π°Π³ΡΡΠ·ΠΎΠΊ Β· 0 ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠ²
Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²
Expose Canister Data Through OQL
Structured canister data is difficult for intelligence agents to query safely. This skill adds OQL entities, schema discovery, query execution, relationships, and per-entity authorization.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Caffeine AI
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄ΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π΄ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ. ΠΡΠΎΡ Π½Π°Π²ΡΠΊ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° Π±ΡΠΊΠ΅Π½Π΄Π΅ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π΅.
Add Object Storage to Caffeine AI Apps
Large files need storage beyond Internet Computer canister limits. This skill guides Caffeine AI projects through backend integration, browser uploads, cached display, downloads, and troubleshooting.
Query OQL Canisters with the ICP CLI
Writing OQL queries requires exact schema names, JSON types, Candid escaping, and careful pagination. This skill provides practical patterns for reliable, read-only canister queries.
Add Camera Capture to React Apps
Web camera integration requires permission handling, preview state, and device controls. This skill guides Claude, Codex, and Claude Code through the provided React hook.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ HTTP-Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈΠ· Π±ΡΠΊΠ΅Π½Π΄Π° Π² Caffeine AI
ΠΡΠΊΠ΅Π½Π΄-ΠΊΠ°Π½ΠΈΡΡΡΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ. ΠΡΠΎΡ Π½Π°Π²ΡΠΊ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ GET- ΠΈ POST-Π²ΡΠ·ΠΎΠ²Ρ Ρ callback-ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ REST ΠΈ GraphQL API
ΠΎΡ AutumnsGrove
ΠΠΎΠΌΠ°Π½Π΄Π°ΠΌ API Π½ΡΠΆΠ½Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΠ΅ endpoints, Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. ΠΡΠΎΡ skill ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ REST, GraphQL, OpenAPI, Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ fullstack-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌΠΈ senior-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
ΠΎΡ alirezarezvani
Fullstack-ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Π²ΡΠ±ΠΎΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°. ΠΡΠΎΡ Π½Π°Π²ΡΠΊ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΊΡΠΈΠΏΡΡ ΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ React, Next.js, Node.js, GraphQL ΠΈ PostgreSQL.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ React View Transitions
ΠΎΡ vercel-labs
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ React Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΡΠΌ ΠΈΠ»ΠΈ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠΌ Π°Π½ΠΈΠΌΠ°ΡΠΈΡΠΌ. ΠΡΠΎΡ Π½Π°Π²ΡΠΊ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΌΠ°ΡΡΡΡΡΠΎΠ², Suspense, ΡΠΏΠΈΡΠΊΠΎΠ² ΠΈ ΠΎΠ±ΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² React
ΠΎΡ softaworks
Π Π°Π±ΠΎΡΠ° Ρ React ΠΈ TypeScript ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΎΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ, Ρ ΡΠΊΠΎΠ² ΠΈ ΠΌΠ°ΡΡΡΡΡΠΎΠ². ΠΡΠΎΡ skill ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ Π΄Π»Ρ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², API React 19 ΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³ΠΎΡΠΎΠ²ΡΡ ΠΊ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΉ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΡΠΎΠ½ΡΠ΅Π½Π΄-ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΎΡ davila7
Π€ΡΠΎΠ½ΡΠ΅Π½Π΄-ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ React ΠΈ Next.js Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΡΠΎΡ Π½Π°Π²ΡΠΊ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π°.
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Next.js
ΠΎΡ Atman36
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Next.js ΠΌΠΎΠ³ΡΡ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡΡΡ ΠΈΠ·-Π·Π° Π±ΠΎΠ»ΡΡΠΈΡ Π±Π°Π½Π΄Π»ΠΎΠ², ΡΠ»Π°Π±ΠΎΠ³ΠΎ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π΅ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΠ΅Π΄ΠΈΠ°. ΠΡΠΎΡ Π½Π°Π²ΡΠΊ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Claude, Codex ΠΈ Claude Code Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ΅Π»Π΅Π²ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.