Skip to content
Back to skills

Python And Cli

ASecurity

"Enables Porcupine Python SDK usage, low-level engine control, file

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
developmentpythonjavareactnodeapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill python-and-cli --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Python And Cli?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Python And Cli
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-python-and-cli/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-python-and-cli)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: python-and-cli
description: "Enables Porcupine Python SDK usage, low-level engine control, file
  and microphone demo patterns, device enumeration, and safe local checks."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# python-and-cli

Use this sub-skill when you need to:

- install `pvporcupine` and confirm the import
- create a Porcupine engine in Python
- inspect `version`, `frame_length`, or `sample_rate`
- process a `.wav` file for wake-word detections
- enumerate inference devices safely
- read `PorcupineError` and `message_stack` failures
- adapt the packaged Python file demo into a reusable checker

## Included workflow

- Python SDK install and import.
- Low-level engine creation, processing, and cleanup.
- Built-in keyword selection and custom keyword paths.
- Sensitivity handling and frame/sample-rate validation.
- File-based detection.
- Device enumeration and safe preflight checks.
- Reference-only microphone recipe.

## Excluded workflow

- Custom wake-word training and asset selection.
- Language/platform matching for `.ppn` and `.pv` files.
- Node, web, React Native, Android, iOS, Flutter, Java, .NET, or C SDK details.

If the task is about training or model/keyword asset selection, route it to `../custom-keywords-and-assets/SKILL.md`.

## Read first

- `references/python-api-reference.md` for verified signatures, object behavior, device strings, and exception classes.
- `references/python-workflows.md` for the file recipe, optional demo CLI notes, and the hardware-required microphone flow.
- `references/troubleshooting.md` for import, AccessKey, model, keyword, WAV, frame, device, and cleanup failures.

## Run the bundled helper

- `scripts/porcupine_file_check.py --help` shows the safe parser without requiring an AccessKey.
- `scripts/porcupine_file_check.py --list-devices` prints the inference devices advertised by the native library.
- `scripts/porcupine_file_check.py --access-key "$ACCESS_KEY" --input-wav sample.wav --keyword picovoice` scans a file with a built-in keyword.
- `scripts/porcupine_file_check.py --access-key "$ACCESS_KEY" --input-wav sample.wav --keyword-path /path/to/custom.ppn --model-path /path/to/porcupine_params.pv` scans a file with custom assets.

## Practical boundaries

- `pvporcupine.create` still needs a valid AccessKey at initialization.
- `Porcupine.process` only accepts 16-bit, single-channel PCM frames sized exactly to `frame_length`.
- `available_devices()` is the safe no-AccessKey check for loading the native library and discovering inference targets.
- If you need to choose `.ppn` / `.pv` assets or train a wake word, move to the sibling asset skill before coming back here.
- If a task only needs the packaged demo CLI, the bundled helper and workflow notes are usually enough; you do not need the original repository checkout.

## Quick routing guide

- Ask for `scripts/porcupine_file_check.py` when the user wants a file-based wake-word check, a parser/help smoke test, or a path-safe example for the Python binding.
- Ask for `references/python-workflows.md` when the user wants the microphone recipe, `available_devices()` usage, or a command-line comparison point.
- Ask for `references/troubleshooting.md` when the user reports an import failure, a bad AccessKey, a model or keyword path problem, a sensitivity mismatch, a WAV format issue, or an invalid device selector.
- Ask for `references/python-api-reference.md` when the user needs exact signatures, `Porcupine` attributes, or the `message_stack` behavior of `PorcupineError` subclasses.
- Prefer the helper script over ad hoc code when the task is only to confirm that Porcupine can load a file and emit detections.
- Keep cleanup explicit: if you create the engine yourself, delete it in `finally`.

Files in this skill

  • SKILL.md3.7 KB
  • references/python-api-reference.md5.9 KB
  • references/python-workflows.md4.5 KB
  • references/troubleshooting.md5.4 KB
  • scripts/porcupine_file_check.py9.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.