Files
pikasTech-HWLAB/skills/hwpod-cli/SKILL.md
T
2026-06-08 11:29:37 +08:00

3.1 KiB

name, description
name description
hwpod-cli Use HWLAB HWPOD from a code agent runner for hardware-development tasks. The hwpod-cli skill reads workspace-local hwpod-spec, calls hwpod-compiler-cli, submits hwpod-node-ops through hwlab-api, and waits for hwpod-node results.

hwpod-cli

This skill follows Skill(cli-spec). It is the standard task entry for operating an HWPOD from the HWLAB v0.2 Code Agent workspace.

Standard Path

hwpod from PATH
  -> tools/hwpod-cli.ts
    -> tools/hwpod-compiler-cli.ts
      -> /v1/hwpod-node-ops on hwlab-api
        -> hwpod-node on the host side

The HWPOD spec is code-agent-side state. The default path is .hwlab/hwpod-spec.yaml; pass --spec <path> only when a task explicitly uses another workspace-local spec.

Commands

  • Inspect the HWPOD path: hwpod inspect --spec .hwlab/hwpod-spec.yaml.
  • Workspace search/read/edit: use hwpod workspace ls|cat|read|rg|grep|search|write|replace|insert-after|apply-patch --spec .hwlab/hwpod-spec.yaml. read is an alias for cat; grep and search are aliases for rg; --file and --remote-path are accepted as path aliases for file-oriented commands.
  • For symbol lookup or ARM-2D header hunting, prefer hwpod workspace rg <pattern> [path] --context 3 --spec .hwlab/hwpod-spec.yaml instead of cat | grep.
  • Build/download/reset: use hwpod build, hwpod download, and hwpod reset; the compiler must translate these through existing file ops and cmd.run where possible.
  • Keil async status: after build/download returns a job id, use separate short hwpod job status <jobId> --spec .hwlab/hwpod-spec.yaml calls instead of shell polling wrappers such as sleep &&, timeout, watch, head, pipes, or loops.
  • UART read: use hwpod uart read --spec .hwlab/hwpod-spec.yaml --port uart1; the compiler runs the configured serial-monitor CLI through cmd.run.
  • For early debug bindings, put command bindings in .hwlab/hwpod-spec.yaml with spec.workspace.buildCommand, spec.debugProbe.downloadCommand, or spec.debugProbe.resetCommand.

Boundaries

  • Do not pass manual API URLs in locked AgentRun runtimes. Let HWLAB_RUNTIME_API_URL / HWLAB_RUNTIME_NAMESPACE select the current lane.
  • Do not put full hwpod-spec on hwpod-node. The node only accepts hwpod-node-ops.
  • Treat cmd.run as the full-capability host execution op. Do not request new hwpod-node ops for build, download, job status, UART, PowerShell/cmd passthrough, or tool maintenance; improve hwpod-compiler-cli / hwpod-cli combinations first.
  • Use workspace file operations for subject text edits. Do not use PowerShell/cmd heredocs for normal source edits unless debugging cmd.run itself.
  • For multi-line edits, prefer hwpod workspace apply-patch with a Codex/UniDesk apply_patch v2 envelope from stdin or --patch-content. Put file paths in *** Update File: / *** Add File: / *** Delete File: headers. Do not pass raw unified diff (---, +++, @@ -N) as the whole patch; HWPOD deliberately rejects that format with a clear hint.
  • If HWPOD returns a blocker, report and fix that blocker in this path.