# Workflow

> >-

- **Type:** Skill
- **Install:** `agentstack add skill-zhinkgit-embeddedskills-workflow`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [zhinkgit](https://agentstack.voostack.com/s/zhinkgit)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [zhinkgit](https://github.com/zhinkgit)
- **Source:** https://github.com/zhinkgit/embeddedskills/tree/main/workflow

## Install

```sh
agentstack add skill-zhinkgit-embeddedskills-workflow
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Workflow 编排层

本 skill 不重复实现底层逻辑，只做发现、选择、串联和聚合。

支持 **Keil** / **GCC** / **EIDE** 三种构建后端，以及 **jlink** / **openocd** / **probe-rs** 三种 flash/debug/observe 后端。

`observe` 阶段当前会给出 `jlink:rtt`、`jlink:swo`、`openocd:semihosting`、`openocd:itm`、`probe-rs:rtt` 这几类候选观测后端。

## 命令

```bash
python /scripts/workflow_plan.py --json
python /scripts/workflow_run.py plan --json
python /scripts/workflow_run.py build --json
python /scripts/workflow_run.py build-flash --json
python /scripts/workflow_run.py build-debug --json
python /scripts/workflow_run.py observe --json
python /scripts/workflow_run.py diagnose --json
```

## 配置说明

workflow 不再维护独立的工程配置结构，所有工程参数统一从 `.embeddedskills/config.json` 读取。

### 配置结构

`.embeddedskills/config.json` 中的 `workflow` 段仅包含首选后端配置：

```json
{
  "workflow": {
    "preferred_build": "auto",
    "preferred_flash": "auto",
    "preferred_debug": "auto",
    "preferred_observe": "auto"
  }
}
```

workflow 通过读取 `.embeddedskills/config.json` 中其他 skill 的配置段来获取工程参数（如 `keil.project`、`eide.project`、`eide.config`、`jlink.device`、`probe-rs.chip` 等）。

### 参数解析顺序

按以下决策树依次判断，命中即停止：

1. **CLI 参数**（优先级最高）
   - 条件：用户在命令行传入 `--build-backend`、`--flash-backend` 等参数
   - 示例：`workflow_run.py build-flash --build-backend=keil --flash-backend=jlink`
   - `--build-backend` 可选值：`auto` / `keil` / `gcc` / `eide`
   - 行为：直接使用该参数指定的后端，跳过后续步骤

2. **配置文件**（次优先）
   - 条件：CLI 未指定，且 `.embeddedskills/config.json` 的 `workflow` 段中对应 `preferred_*` 字段不为 `"auto"`
   - 示例：`"preferred_build": "keil"` → 使用 keil 作为构建后端
   - 行为：读取配置值并使用，跳过自动发现

3. **自动发现**（兜底）
   - 条件：CLI 未指定，且配置中 `preferred_*` 为 `"auto"` 或字段缺失
   - 示例：`"preferred_flash": "auto"` → 扫描 workspace 自动推断可用 flash 后端
   - 行为：枚举候选后端列表；若唯一则直接使用，若多个则返回列表请用户确认

成功执行后，实际使用的后端会自动写回 `.embeddedskills/config.json` 的 `workflow` 段。

## 规则

- 发现多个工程或多个候选后端时，只返回候选列表，不自动猜测
- 构建、烧录、调试、观测之间优先通过 `.embeddedskills/state.json` 串联
- `observe` 只生成推荐命令，不在 workflow 内直接长时间占用观测通道
- 失败时优先返回哪个阶段失败，以及底层脚本的结构化错误
- workflow 与其他 Skill 的协同只通过 `.embeddedskills/config.json`、`.embeddedskills/state.json` 和子进程调用底层 Skill

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [zhinkgit](https://github.com/zhinkgit)
- **Source:** [zhinkgit/embeddedskills](https://github.com/zhinkgit/embeddedskills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-zhinkgit-embeddedskills-workflow
- Seller: https://agentstack.voostack.com/s/zhinkgit
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
