From cogniac-skills
Query and manage the Cogniac computer vision platform. Use when working with Cogniac tenants, applications, subjects, media, EdgeFlow/CloudFlow appliances, cameras, deployments, or workflows — including uploading media, checking fleet status, reading aggregate stats, or monitoring EdgeFlow/CloudFlow clusters. Triggers on references to Cogniac, CloudCore, EdgeFlow, CloudFlow, visual apps, or cogniac cli/sdk.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cogniac-skills:cogniacThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Interact with the Cogniac enterprise AI computer vision platform.
references/api/README.mdreferences/api/app-replay-service-v2.mdreferences/api/application-core-api.mdreferences/api/authentication-api.mdreferences/api/consensus-release-core-api.mdreferences/api/deployment-group-core-api.mdreferences/api/edgeflow-core-api.mdreferences/api/ef-app-provisioning.mdreferences/api/ef-metrics-api.mdreferences/api/evaluation-metrics-api.mdreferences/api/feedback-service-api.mdreferences/api/integration-build-service.mdreferences/api/leaderboard-service-api.mdreferences/api/license-core-api.mdreferences/api/media-core-api.mdreferences/api/media-embedding-core-api.mdreferences/api/meraki-integration-core-api.mdreferences/api/message-core-api.mdreferences/api/network-camera-core-api.mdreferences/api/ops-review-core-api.mdInteract with the Cogniac enterprise AI computer vision platform.
Pick the right interface:
cogniac CLI — JSON output, designed for agent consumption. Use for any task it covers.cogniac Python SDK — for anything the CLI doesn't expose. See references/python-sdk.md.classification, box_detection, point_detection, point_count_detection, integration, http_input, camera_capture.api.cogniac.io.RM-ML80 and IPC-M20.target_workflow_id in any deployment group.camera_capture references its network_camera_id in app_type_config.camera_group_list.True, False, Sidelined, or None (undecided).The cogniac CLI ships in the cogniac PyPI package. If the command is not found, install or upgrade it:
pip install cogniac
Required environment variables:
COG_API_KEY (preferred) OR COG_USER + COG_PASSCOG_TENANT — required for all commands except cogniac tenants and cogniac authcogniac auth. Fail fast and ask the user to set COG_API_KEY if this errors.COG_TENANT is not set or the user didn't name one. List with cogniac tenants and ask which to use; filter by keyword with jq:
cogniac tenants | jq '.tenants[] | select(.name | test("keyword"; "i")) | {tenant_id, name}'
Then export COG_TENANT=<tenant_id> for the rest of the session.All commands output JSON. Pipe into jq to filter, project, or aggregate.
cogniac auth # validate credentials, show tenant count
cogniac tenants # list all authorized tenants (no COG_TENANT needed)
cogniac tenant # current tenant info
cogniac apps list # list all apps in tenant
cogniac apps get <application_id> # get app details
cogniac apps eval-metrics <application_id> # list active evaluation-metric configs (point_count_F1, etc.) with detection thresholds, subject weights, primary/active flags
cogniac apps leaderboard <application_id> # ranked candidate-model snapshot. Flags: --set-assignment {validation,training}, --snapshot-type {regular,int8}, --eval-metrics {primary,all}, --top N, --full
cogniac subjects list # list all subjects
cogniac subjects get <subject_uid> # get subject details
cogniac subjects search --name "exact name" # exact name match
cogniac subjects media <subject_uid> # list media associations
cogniac subjects media <subject_uid> --limit 10 --consensus True
cogniac subjects create "My Subject" --description "desc"
cogniac subjects associate <subject_uid> <media_id> --consensus True
cogniac media get <media_id> # get media metadata
cogniac media download <media_id> # download to <media_id>.<ext>
cogniac media download <media_id> -o out.jpg # download to specific path
cogniac media search --filename "img.jpg" # search by original filename
cogniac media search --external-media-id "EXT-001" # search by customer-supplied external ID
cogniac media search --domain-unit "SN-123" # search by domain unit (e.g. serial number / part ID the customer groups media under)
cogniac media upload /path/to/image.jpg # upload media
cogniac media upload /path/to/image.jpg --subject-uid <subject_uid> # upload and associate
external_media_id and domain_unit are customer-set fields on the media record. Use them when the user references their own identifier (e.g. a serial number, ticket ID) rather than a Cogniac media_id.
cogniac edgeflows list # list all EdgeFlow devices
cogniac edgeflows get <gateway_id> # get device details
cogniac edgeflows status <gateway_id> # recent status events (all subsystems)
cogniac edgeflows status <gateway_id> --subsystem gpus --limit 1 # latest GPU sample
--subsystem is an exact-match filter. Built-in subsystems include gpus, upload, and per-deployed-model detection counters named model_detections_<model_instance_id> (one per model). To see what a device is currently reporting, run cogniac edgeflows status <gateway_id> with no filter and inspect the subsystem field, then query a specific one — e.g. --subsystem model_detections_hawmlqhs --limit 5.
For deeper debugging beyond cogniac edgeflows status — pod logs, events, deployment state on the cluster itself — fetch a read-only kubeconfig via the SDK + Rancher and drive kubectl directly. Works for both EdgeFlow and CloudFlow clusters. See references/edgeflow-kubectl-access.md.
cogniac cameras list # list all network cameras
cogniac cameras get <network_camera_id> # get camera details
# All camera IDs referenced by camera_capture apps (i.e. cameras in use)
cogniac apps list | jq '[.[] | select(.type == "camera_capture") | .app_type_config.camera_group_list[]?] | unique'
# Count cameras in use
cogniac apps list | jq '[.[] | select(.type == "camera_capture") | .app_type_config.camera_group_list[]?] | unique | length'
cogniac deployments list # list all deployment groups
cogniac deployments get <deployment_group_id> # get specific deployment group
cogniac workflows get <workflow_id> # get workflow details
cogniac version # API version info
Substitute the real subject UID for s1a2b3c4d5:
cogniac apps list | jq --arg s "s1a2b3c4d5" '[.[] | select(.input_subjects[]? == $s or .output_subjects[]? == $s) | {application_id, name, type}]'
cogniac edgeflows list # inspect JSON to pick the fields you need
cogniac edgeflows status <gateway_id> --subsystem gpus --limit 1 # latest GPU sample for one device
cogniac media search --domain-unit "SERIAL-001" | jq '.[0].media_id'
cogniac media get <media_id> | jq '{media_id, filename, status}'
cogniac deployments list | jq -r '[.[].target_workflow_id // empty] | unique | .[]' | while read wid; do cogniac workflows get "$wid"; done
For anything the CLI doesn't cover, use the Python SDK. The full reference is in references/python-sdk.md.
cogniac packageThe cogniac PyPI package installs additional command-line utilities alongside the cogniac CLI:
cogupload)For uploading many files in parallel to an input subject:
cogupload <subject_uid> <directory_name>
cogupload uses sensible defaults for parallelism and retry. It does not set the consensus flag, so it is suitable for ingesting raw input data for training or inference, not for labeling correction.
cogstats)cogstats -t "$COG_TENANT" [-g <gateway_id>] [-s <start_ts>] [-e <end_ts>]
Reports pixel counts processed and detections emitted in the time window. Default window is the last five minutes. Note: cogstats requires the tenant as a -t flag — it does not read COG_TENANT from the environment automatically.
COG_TENANT (or tenant_id= in the SDK) on a user authorized for more than one tenant causes CogniacConnection() to raise ClientError(400): Unauthorized at construction. Always set it explicitly. (The CLI's cogniac auth and cogniac tenants are the exceptions — they don't need a tenant.)429 responses with backoff; the SDK does not retry rate-limited calls automatically.https://api.cogniac.io points at Cogniac CloudCore. Override COG_URL_PREFIX (or pass url_prefix= to CogniacConnection) when targeting a different deployment. Either https://host or https://host/ is accepted — the SDK strips trailing slashes and any /<version> suffix on load.cogupload for bulk ingestion over a custom loop; it handles parallelism and retries.references/api/README.md — service catalog, core concepts, and per-service endpoint documentation.references/python-sdk.md.references/user-guide/INDEX.md — tutorial- and concept-oriented docs (app types, deployments, best practices, FAQ).references/edgeflow-kubectl-access.md.This skill is meant to make Cogniac easy to drive from an agent. If anything got in your way — a command that didn't behave as documented, a field that wasn't explained, a workflow you couldn't accomplish from what's here, or guidance you wish existed — please open an issue at https://github.com/Cogniac/skills with a short note on what you were trying to do and where the skill fell short.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub cogniac/skills --plugin cogniac-skills