agentCLAWHUBUnverified

qa-team-skills

QA 团队测试技能包:当用户提出测试相关需求——需求评审、测试用例设计、 AI/Agent 专项测试、缺陷根因分析、测试报告(日报/周报/阶段/季度)、 团队管理(进度/准出/漏测复盘)、探索性测试——时,按意图路由到对应 能力模块执行专业测试任务。典型触发如"评审这份 PRD""设计登录功能的 测试用例""对支付接口做全量回归并出缺陷报告"。 NOT for:与测试无关的闲聊、一般文档写作或其他非 QA 任务。

OpenClaw

Rank

62

Safety

84

Downloads

1.4k

Updated

Oct 10, 2026

Version

1.8.0

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.4K downloads reported by the source. Last updated 10/10/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 10, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 10, 2026
Adoption signal
1.4K downloadsadoption · observed Oct 10, 2026
Latest release
1.8.0release · observed Sep 29, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s170jw3s1atcj5jwhqb4r7v7eh8912kp:qa-team-skills
  1. Install using `clawhub skill install s170jw3s1atcj5jwhqb4r7v7eh8912kp:qa-team-skills` in an isolated environment before connecting it to live workloads.
  2. No published capability contract is available yet, so validate auth and request/response behavior manually.
  3. Review the upstream CLAWHUB listing at https://clawhub.ai/kokxi/qa-team-skills before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-team-skills/snapshot"

Documentation

CLAWHUB

160,000 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: qa-team-skills
slug: qa-team-skills
license: MIT
description: >-
  QA 团队测试技能包:当用户提出测试相关需求——需求评审、测试用例设计、
  AI/Agent 专项测试、缺陷根因分析、测试报告(日报/周报/阶段/季度)、
  团队管理(进度/准出/漏测复盘)、探索性测试——时,按意图路由到对应
  能力模块执行专业测试任务。典型触发如"评审这份 PRD""设计登录功能的
  测试用例""对支付接口做全量回归并出缺陷报告"。
  NOT for:与测试无关的闲聊、一般文档写作或其他非 QA 任务。
compatibility: 纯 Prompt 技能,日常使用仅需本地文件读写(skill 安装目录下 memory/data/products/);
  可选的评测脚本 ci/run_llm_eval.py 需 Python 及外部 LLM API Key。
metadata:
  displayName: QA 团队技能包
  version: v1.8.0
  author: Kokxi
  type: user
  tags: "testing,qa,test-case,bug-analysis,test-report,memory"
---

# 执行流程(必须遵循)

> **架构说明**:本 skill 是**单一 skill、多能力模块**的架构。qa-prd / qa-case / qa-agent / qa-bug / qa-report / qa-team / qa-explore 均为能力模块(对应 `references/` 下的指令文件),**不是独立 skill,也没有各自的 `/qa-xxx` 斜杠指令**——统一由本入口按意图路由加载。

本 skill 是软件测试团队能力的统一入口。收到用户测试相关请求后,按以下三步执行:

**第 1 步:意图路由** — 根据下表将用户意图映射到能力模块:

| 用户意图 | 能力模块 | 加载文件 |
|---------|---------|---------|
| 评审/分析需求文档,找需求问题 | 需求评审 | `references/qa-prd.md` |
| 设计/生成测试用例,"这个功能怎么测" | 用例设计 | `references/qa-case.md` |
| 测试 AI Agent / 智能体产品(幻觉/注入/工具权限) | Agent 专项 | `references/qa-agent.md` |
| 分析/定位 Bug 或缺陷的根因 | 缺陷分析 | `references/qa-bug.md` |
| 生成日报/周报/阶段/季度/专项测试报告 | 报告生成 | `references/qa-report.md` |
| 团队进度/准出检查/漏测复盘/质量评估/培训计划 | 团队管理 | `references/qa-team.md` |
| 无文档功能自由探索,发现未知问题 | 探索性测试 | `references/qa-explore.md` |

**第 2 步:加载模块指令** — 用文件读取工具读取上表对应的 references/ 文件,该文件包含该领域的完整角色设定、输入标准化、输出模板与质量规则。**必须先读取再执行,禁止跳过加载凭记忆生成。**

**第 3 步:按模块指令执行** — 严格遵循已加载模块的流程与格式要求完成用户任务。

易混淆场景按此判定:找需求问题 → 需求评审;设计用例 → 用例设计;测 AI Agent → Agent 专项(16 个专用维度);Bug 为什么出 → 缺陷分析;出了多少问题/出份报告 → 报告生成;团队"看看"情况 → 团队管理。意图仍不明确时,列出候选模块让用户选择。

**多模块组合**:用户一次提出多个需求(如"回归后出缺陷报告")时,按顺序依次加载执行对应模块。

# 能力与信任边界声明

本技能核心为纯 Prompt 文本,通过 agent 内置工具执行以下操作,特此声明以对齐信任边界:

| 能力 | 范围 | 说明 |
|------|------|------|
| **本地文件读取** | `references/*.md`、`memory/data/products/*` | 读取能力模块指令、历史用例/缺陷/规范/报告 |
| **本地文件写入** | `memory/data/products/*` | 持久化测试数据到本地 JSON 文件 |
| **本地文件删除** | `memory/data/products/*/v*.json` | 版本清理(保留最近 5 个版本),需用户确认 |
| **网络调用(可选)** | 外部 LLM API | 仅 `ci/run_llm_eval.py` 评测脚本使用,需用户自行配 Key |
| **环境变量读取** | `DS_KEY`, `OR_KEY` 等 | 仅评测脚本使用,不写入任何文件 |

> 用户安装后,日常使用仅涉及本地文件读写。评测脚本需显式运行才触发外部调用。

# 记忆库位置(所有模块统一遵循)

记忆库根路径 = **本 skill 的安装目录**下的 `memory/data/products/`。文中出现的 `memory/data/products/...` 均指 skill 安装目录下的路径,**不是**用户项目工作目录下的相对路径。首次读写前若目录不存在,先创建再操作(写入仍需用户确认)。

- 本技能会自动将你的测试数据(用例、缺陷、报告、规范)保存到本地 `memory/data/products/` 目录下
- 数据仅存储在本地文件系统,不会自动上传或同步到云端
- ✅ 删除对应 `memory/data/products/` 下的目录即可清除持久化数据
- ❗ **请勿在输入中粘贴真实的生产环境凭证、支付标识、客户个人信息或敏感截图**
- ❗ 使用 `ci/run_llm_eval.py` 前,请确保评测数据已脱敏
- 详见 `memory/README.md` 中的数据生命周期说明

# 角色限定
AI 以「资深测试专家」身份输出,专注于需求分析拆解、测试用例设计、缺陷根因分析、报告生成、团队管理。

# 定位
将 AI Agent 嵌入软件测试标准流程:
```
需求评审(qa-prd) → 用例设计(qa-case) → 缺陷分析(qa-bug) → 报告生成(qa-report) → 团队管理(qa-team)
                    ↓
              Agent专项(qa-agent)
```
合规与行业标准是**可选的增强项**,仅在用户明确提供时启用。

# 通用约束
- 用例步骤必须使用动词开头,每条步骤可独立验证
- 

examples/README.md

# 示例目录

> 所有示例均来自真实测试场景(脱敏处理),展示每个指令的完整输入输出。

## 示例索引

| 示例 | 指令 | 场景 | 亮点 |
|------|------|------|------|
| [qa-demo.md](./qa-demo.md) | `/qa` | 统一入口:支付接口全量回归 | 多步任务编排 + 步骤间数据自动传递 |
| [prd-demo.md](./prd-demo.md) | `qa-prd` | 订单改价功能需求评审 | 11 维度扫描 + 业务分层建议 |
| [login-demo.md](./login-demo.md) | `qa-case` | 登录功能用例设计 | 35 条用例,6 类型 × 9 方法 × 3 业务层 |
| [case-demo.md](./case-demo.md) | `qa-case` | 订单改价功能用例设计 | 评审问题→用例自动转化 |
| [agent-demo.md](./agent-demo.md) | `qa-agent` | 智能客服 Agent 测试 | 16 维度覆盖,含 RAG + 幻觉 + 偷懒 |
| [bug-demo.md](./bug-demo.md) | `qa-bug` | 支付超时缺陷分析 | 不达标被驳回 → 补全 → 根因分析 + 批量 |
| [report-demo.md](./report-demo.md) | `qa-report` | 三段话 → 日报/周报 | 演示非结构化输入的自动提取 |
| [team-demo.md](./team-demo.md) | `qa-team` | 迭代末团队管理 | 进度看板 + 缺陷趋势 + 成员产出 + 准出 |

## 快速场景速查

| 你想做什么 | 看哪个示例 |
|-----------|-----------|
| 通过自然语言下达完整测试任务 | [qa-demo.md](./qa-demo.md) |
| 评审一份 PRD,找问题 | [prd-demo.md](./prd-demo.md) |
| 设计测试用例,覆盖全面 | [login-demo.md](./login-demo.md) |
| 拿到评审问题,转化为用例 | [case-demo.md](./case-demo.md) |
| 测试一个 AI 智能体产品 | [agent-demo.md](./agent-demo.md) |
| 分析一个 Bug 的根因 | [bug-demo.md](./bug-demo.md) |
| 写今天的工作日报 | [report-demo.md](./report-demo.md) |
| 作为测试经理看团队全局 | [team-demo.md](./team-demo.md) |

## 示例结构

每个示例包含三个部分:

```
## 原始输入        ← 用户实际输入了什么
## AI 输出         ← AI 返回了什么(完整、未删减)
## 使用技巧        ← 这个场景下的最佳实践
```

所有示例均可直接复制输入部分到 Claude Code 中验证输出效果。

memory/README.md

# 记忆模块(Memory Module)

## 定位

记忆模块是 qa-team-skills 的**长期记忆体**,负责在多次迭代间持续沉淀和复用测试资产,让技能越用越好:

- **用例库**:每轮迭代的用例不断累积,按产品模块组织,支持继承和进化
- **缺陷库**:历史缺陷分析结果持久化,支持根因归类、复发检测、趋势分析
- **评审库**:历史需求评审结果,问题清单可跨迭代转化为用例。评审产物双形态并存:结构化 JSON 存 `data/products/{module}/reviews/`(记忆数据,需确认写入);完整 Markdown 报告由 `/qa-prd` 自动导出到当前项目 `docs/reviews/review-{module}-{YYYYMMDD}.md`(交付物,无需确认)
- **报告库**:历史测试报告,支持同比/环比趋势
- **规范库**:团队测试规范、Checklist、经验教训——从缺陷中自动沉淀

## 架构

```
memory/
├── README.md              ← 本文件:模块说明
├── schema/                 ← 数据模型定义
│   ├── review.json         ← 评审记录模型
│   ├── test-case.json      ← 测试用例模型
│   ├── bug.json            ← 缺陷记录模型
│   ├── report.json         ← 报告记录模型
│   ├── task-session.json   ← 任务会话模型
│   ├── standard.json       ← 测试规范模型
│   └── summary.json        ← 产品索引模型(v1.4.0 P2 新增)
└── data/
    └── products/            ← 按产品/模块组织(由 AI 自动创建)
        ├── payment/         ← 支付模块
        │   ├── test-cases/
        │   │   ├── v1.0.json    ← 第一轮迭代用例
        │   │   ├── v1.1.json    ← 第二轮(增量追加)
        │   │   └── latest.json  ← 汇总快照(自动合并去重)
        │   ├── bugs/
        │   │   ├── v1.0.json
        │   │   └── v1.1.json
        │   ├── reviews/        ← 评审记录(JSON 记忆数据 + 项目 docs/reviews/ 下另有 Markdown 报告文档)
        │   ├── reports/
        │   ├── standards.json   ← 本模块沉淀的规范/checklist
        │   └── summary.json     ← **索引文件**(自动维护,用于快速加载+趋势分析)
        │
        └── login/           ← 登录模块(同上结构)
            └── ...
```

> `data/` 目录不在版本库中。每个产品模块的目录由 AI 在首次写入时自动创建。

## 数据模型

每个库的 JSON Schema 定义了存储结构。所有库共有以下核心字段:

| 字段 | 类型 | 说明 |
|------|------|------|
| `id` | string | 唯一标识,格式:`{库前缀}-{日期}-{序号}` |
| `created_at` | string | 创建时间(ISO 8601) |
| `module` | string | 所属产品/模块 |
| `source` | string | 来源 session_id |
| `tags` | string[] | 自定义标签,方便检索 |
| `iteration` | string | 所属迭代版本(如 v1.0、v1.1) |

### 各库特有字段

详见 `schema/` 目录下各 JSON Schema 文件。

## 数据隐私须知

- 记忆模块会在本地文件系统持久化你的测试数据(用例、缺陷、报告、规范等)
- **数据仅存储在本地**,不会自动上传或同步到任何外部服务
- 每个产品模块的数据独立存储在 `data/products/{模块名}/` 目录下
- ✅ 删除对应产品目录即可清除该模块的全部记忆数据
- ❗ **请勿在测试数据中包含真实的生产环境凭证、客户个人信息或敏感截图**
- 记忆数据长期保留在本地,直到你手动删除

## 生命周期

### 跨会话历史加载(/qa Step 0)

每次 `/qa` 任务开始时,先扫描历史:

```
Step 0: 历史加载
├─ 解析 scope = "支付接口"
├─ 扫描 data/products/{scope}/ 是否存在
│   ├─ 存在 → 读取 summary.json → 生成记忆简报
│   └─ 不存在 → 首次使用,跳过后面的历史步骤
│
└─ 记忆简报注入到后续所有步骤的上下文
```

记忆简报格式由各能力模块指令(`references/*.md`)的「第零步:历史加载」承载。

### 增量写入(每个指令步骤完成后)

每步执行完成后,按 module 追加到对应产品目录:

```
输出 → 按 Schema 结构化
     → 定位 data/products/{module}/{库名}/
     → 创建新版本文件(如 v1.2.json)
     → 更新 summary.json(增删统计)
```

### 汇总快照(qa-case 写入后必执行)

每次 `qa-case` 或 `qa-agent` 写入新版本后,必须做一次合并:

```
① 先读现有 latest.json 作为基线(保留被清理版本的唯一用例,避免早期数据丢失)
② 再并入 data/products/payment/test-cases/ 下的各版本文件
   ├─ v1.0.json(12 条)← 首次(若已被清理则跳过,其数据在 latest 基线中)
   ├─ v1.1.json(+6 条)← 增量
   └ v1.2.json(+5 条)← 本次新增

合并逻辑:
├─ 去重:以标题 hash 为键(同标题保留最早版本,硬保护绕过大小写/标点差异)
├─ 优选:同场景更优的用例保留新版本
├─ 警告:连续 2 轮未覆盖

README.md

# qa-team-skills

> 为测试团队设计的统一 AI 辅助能力——单个标准 Skill 内置 7 个能力模块(需求评审/用例设计/Agent 专项/缺陷分析/报告/团队管理/探索性测试)+ 记忆模块 + 完整验证体系,AI 按用户意图路由、按需加载,覆盖需求评审到团队管理。

[![Version](https://img.shields.io/badge/version-v1.8.0-blue)](./VERSION)
[![License](https://img.shields.io/badge/license-MIT-green)](./LICENSE)
[![skills.sh](https://skills.sh/b/Kokxi/qa-team-skills)](https://skills.sh/Kokxi/qa-team-skills)

***

## 为什么有这个项目?

测试团队普遍面临一个困境:**每个人用 AI 的方式不一样,输出的质量不一样**。

同样是需求评审,张三把 PRD 粘贴给 AI 得到 3 个问题,李四用另一种问法得到 15 个——不是需求本身差异大,是每个人的 Prompt 水平差异大。用例设计更是重灾区:有人只写 Happy Path,有人忘了边界值,新人完全不知道该问 AI 什么。团队越大,这个问题越严重。评审会上的精力不是花在"讨论问题"上,而是花在"对齐标准"上。

**qa-team-skills 解决的就是这个问题**:把测试团队最核心的 8 个工作环节——需求评审、用例设计、Agent 专项测试、缺陷分析、报告生成、团队管理、探索性测试——封装成 8 个标准化的 AI 指令。团队成员输入一样的东西,得到一样结构的输出。评审时的讨论对象从"格式对不对"变成了"问题有没有道理"。

***

## 设计思想

### 1. 嵌入流程,而非替代流程

qa-team-skills 不是一个"全自动测试平台"。它是一套嵌入现有研发流程的 AI 辅助工具。你仍然用 Jira 管理需求、用禅道跟踪缺陷、开评审会、写周报——这些不变。变的是**每个环节的 AI 辅助有了一致的标准**。

```
需求评审(qa-prd) → 用例设计(qa-case) → 缺陷分析(qa-bug) → 报告生成(qa-report) → 团队管理(qa-team)
                    ↓
              Agent专项(qa-agent)
```

对应的流程嵌入指南见 [`docs/process-integration.md`](./docs/process-integration.md)。

### 2. 防幻觉,不防思考

每个指令都内置了三层防御:

- **注入防护声明**:防止用户输入中的对抗性指令修改 AI 行为
- **约束规则**:必填字段缺失时拒绝输出,禁止 AI 自行编造
- **输出前自检清单**:AI 必须在输出前逐条核对,不通过不输出

但防御不等于限制——每条用例的设计方法仍是 AI 根据黑盒测试方法论自动选配的,评审维度仍是 AI 逐条扫描的。防的是幻觉,不是思考。

### 3. 业务分层:让测试优先级回归用户价值

传统的 P0-P3 优先级解决的是"这个用例不执行风险多大"。但我们团队引入了一个商业视角的维度——**业务分层**:

| 层级      | 定义              | 示例                |
| ------- | --------------- | ----------------- |
| **核心层** | 做不到这个,产品就没有存在价值 | 订单能否提交、支付能否成功     |
| **体验层** | 能用,但好不好用        | 错误提示是否清晰、操作步骤是否合理 |
| **增值层** | 锦上添花            | 动画效果、深色模式、社交分享    |

铅笔能不能写字是核心层,握笔舒不舒服是体验层,好不好看是增值层。在 `qa-case` 中,每条用例同时标注业务分层和优先级——两个维度独立但互补,让测试资源分配不再拍脑袋。

### 4. 通用于任何行业

本技能不绑定安全、金融、ERP 等任何特定行业。核心流程 100% 通用。合规要求是可选输入——只有当你明确提供了行业标准(如 ISO 27001、GDPR、SOX),AI 才会在用例中追加密合检查点。行业配置参考文件(`team/roles.json`、`team/standards.json`)可自由定制。

### 5. 管理者视角:AI 用错了比不用更危险

SKILL.md 中专门有一章「人工校验规则」,不是给 AI 看的——是给人看的。P0 用例必须人工审阅、置信度"中/低"的根因分析必须有第二人复核、自动生成的报告数据必须与原始系统抽样核对。AI 的输出是辅助,最终的测试决策由人做出。

***

## 7 大 Skill

| Skill           | 做什么        | 适合谁        | 核心亮点                             |
| ------------ | ---------- | ---------- | -------------------------------- |
| `qa-prd`     | 需求评审       | 测试工程师、测试经理 | 11 维度系统扫描 + 业务分层建议 + 澄清问题清单      |
| `qa-case`    | 测试用例设计     | 测试工程师      | 6 测试类型 × 9 黑盒方法 + 业务分层,自动交叉匹配    |
| `qa-agent`   | AI 智能体专项测试 | 测试工程师      | 16 维度(含 RAG),覆盖幻觉/偷懒/稳定性/可控性     |
| `qa-bug`     | 缺陷分析       | 测试工程师、开发   | 先评估描述质量 → 再分析根因,标注置信度,支持批量       |
| `qa-report`  | 报告生成       | 测试工程师      | 日报/周报/阶段/季度/专项,支持 Jira/禅道等系统数据 |
| `qa-team`    | 团队管理       | 测试经理       | 11 项子能力,含进度看板/产出统计/准入准出/质量评估     |
| `qa-explore` | 探索性测试     | 测试工程师      | 三阶段设计(Session 笔记→疑似 Bug/学习经验分流→Debrief 沉淀) |

> AI 会根据你的自然语言输入自动挑选并加载对应 Skill,无需手动指定(如"帮我设计登录功能的测试用例"→ 自动加载 qa-case)。

***

_meta.json

{
  "ownerId": "kn71y9b23csfx0ykgm55d5m9x5891zt8",
  "slug": "qa-team-skills",
  "version": "1.8.0",
  "publishedAt": 1790680822339
}
Github ReposUpdated 21h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/kokxi/skills/qa-team-skills",
      "sourceUrl": "https://clawhub.ai/kokxi/skills/qa-team-skills",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T14:32:01.620Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-team-skills/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-team-skills/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-10T14:32:01.620Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.4K downloads",
      "href": "https://clawhub.ai/kokxi/qa-team-skills",
      "sourceUrl": "https://clawhub.ai/kokxi/qa-team-skills",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T14:32:01.620Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.8.0",
      "href": "https://clawhub.ai/kokxi/qa-team-skills",
      "sourceUrl": "https://clawhub.ai/kokxi/qa-team-skills",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-09-29T11:20:22.339Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-team-skills/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-kokxi-qa-team-skills/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.8.0",
      "description": "v1.8.0:",
      "href": "https://clawhub.ai/kokxi/qa-team-skills",
      "sourceUrl": "https://clawhub.ai/kokxi/qa-team-skills",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-09-29T11:20:22.339Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to qa-team-skills and adjacent AI workflows.