Skip to content
AI & Agents
Skill

/blink

Read Blink camera and video-doorbell state, list motion clips, and prepare guarded home-security control requests without exposing Blink credentials.

BOOST
From plugin
hybridclaw
15989 skills
Install
$ npx -y skills add HybridAIOne/hybridclaw --skill blink --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/blink

Context preview

The summary Claude sees to decide when to auto-load this skill.

Read Blink camera and video-doorbell state, list motion clips, and prepare guarded home-security control requests without exposing Blink credentials.

SKILL.md

blink.SKILL.md
name: blink
description: "Read Blink camera and video-doorbell state, list motion clips, and prepare guarded home-security control requests without exposing Blink credentials."
user-invocable: true
requires:
  bins:
    - node
credentials:
  - id: blink-email
    kind: api_key
    required: true
    secret_ref:
      source: store
      id: BLINK_EMAIL
    scope: "Blink account email for OAuth v2 login"
    how_to_obtain: "Set `BLINK_EMAIL` through browser admin at the active `/admin/secrets` route; if browser admin is unavailable, use `/secret set BLINK_EMAIL \"<account email>\"` in browser `/chat` or TUI; local console fallback: `hybridclaw secret set BLINK_EMAIL \"<account email>\"`."
  - id: blink-password
    kind: api_key
    required: true
    secret_ref:
      source: store
      id: BLINK_PASSWORD
    scope: "Blink account password for OAuth v2 login"
    how_to_obtain: "Set `BLINK_PASSWORD` through browser admin at the active `/admin/secrets` route; if browser admin is unavailable, use `/secret set BLINK_PASSWORD \"<account password>\"` in browser `/chat` or TUI; local console fallback: `hybridclaw secret set BLINK_PASSWORD \"<account password>\"`."
  - id: blink-auth-token
    kind: bearer
    required: false
    secret_ref:
      source: store
      id: BLINK_AUTH_TOKEN
    scope: "Blink OAuth bearer token captured after login or refresh"
    how_to_obtain: "Captured by `node skills/blink/blink.cjs --format json run account-login`."
  - id: blink-refresh-token
    kind: bearer
    required: false
    secret_ref:
      source: store
      id: BLINK_REFRESH_TOKEN
    scope: "Blink OAuth refresh token captured after login"
    how_to_obtain: "Captured by `node skills/blink/blink.cjs --format json run account-login`."
metadata:
  hybridclaw:
    category: home-automation
    short_description: "Blink camera, video doorbell, motion clip, and guarded privacy-control workflows."
    logo_path: logo.webp
    tags:
      - blink
      - camera
      - video-doorbell
      - home-security
      - smart-home
    stakes_tiers:
      green:
        - account-login
        - account-refresh
        - devices-list
        - networks-list
        - network-status-read
        - sync-modules-list
        - cameras-list
        - camera-config-read
        - camera-signals-read
        - doorbells-list
        - motion-events-list
        - clips-list
        - clip-download
        - thumbnail-download
      amber:
        - pin-verify
        - network-arm
        - network-disarm
        - camera-motion-set
        - camera-thumbnail-refresh
        - clip-watched-mark
      red:
        - clip-delete
        - camera-live-view-start
    escalation:
      writes: confirm-each
      route: f14
    cost_measurement:
      system: UsageTotals
      sub_limit_key: blink

Blink

Use this skill for Blink camera, video doorbell, network arm-state, motion event, and clip-metadata workflows. Blink does not publish an official public API; this skill follows the bounded community API surface used by BlinkPy, BlinkMonitorProtocol, and Home Assistant. Treat endpoint behavior as best-effort and stop on the first authentication or verification failure.

Core Contract

  • Build and run all Blink API calls with `skills/blink/blink.cjs`; do not handcraft Blink URLs, auth headers, or JSON bodies when the helper supports the operation.
  • Use `run` for live Blink calls. The helper sends its own request objects through the gateway `/api/http/request` path, so the model does not reconstruct endpoint details.
  • Use `http-request` only as dry-run JSON for inspection or fallback direct `http_request` execution when helper live execution is unavailable. Pass emitted `httpRequest` fields as structured JSON; do not stringify nested fields such as `captureResponseFields` or `secretHeaders`.
  • Never call `http_request` against guessed Blink hosts or paths. Use only the exact structured request emitted by the helper in this turn. If the helper lacks an operation, say the skill does not support that operation instead of probing.
  • For ordinary operator requests, do not read or grep `skills/blink/blink.cjs` to debug the helper. Trust the helper output. Source inspection is for maintainers changing this skill, not for listing devices.
  • Helper operations use subject-verb names (`devices-list`, `account-login`, `camera-motion-set`). Legacy aliases are accepted, but prefer the canonical names shown below.
  • Credentials and tokens must stay in the SecretRef-backed runtime secret store; never ask the operator to paste `BLINK_PASSWORD` or `BLINK_AUTH_TOKEN` into chat, and never include either value in prose.
  • Do not run `hybridclaw secret get`, call `/api/secret`, inspect `env`, or use `curl`/ad hoc scripts to fetch Blink secrets. If the helper reports missing session secrets such as `BLINK_TIER`, run `run account-refresh` once, then `run account-login` if refresh cannot recover the session; email/password may already be stored.
  • `account-login` is implemented as OAuth v2 Authorization Code + PKCE in the helper. Run `node skills/blink/blink.cjs --format json run account-login`; do not call old password login endpoints and do not web-search or endpoint-probe inside the user task.
  • The Blink-specific implementation lives under `skills/blink/`; the gateway pieces this skill relies on are generic `http_request` primitives for nested response capture, explicit token bind-domain capture, secret-backed headers, manual redirect inspection, and response-body suppression.
  • The helper owns all Blink host and path selection; arbitrary host/path passthrough is not supported.
  • Clip downloads must go through the gateway artifact path; return artifact handles or metadata only, and rely on the helper-emitted `suppressResponseBody: true` so raw video bytes do not enter model context.
  • Live-view requests are red and operator-UI-only; the helper emits `suppressResponseBody: true`, and RTSP/HLS/session handles must not be copied int
Read more
Ships withhybridclaw

Enterprise-ready self-hosted AI assistant runtime with sandboxed execution, secure credentials, approvals, and memory

Get the whole plugin
Stats
159
Stars
17
Forks
Active
Maintenance
TypeScript
Language
MIT
License
13h ago
Last commit
8mo ago
Created
3h ago
Added

Repo: HybridAIOne/hybridclaw

Other skills on hybridclaw.