agentleFS
terrysoterryso/ego-skills/skills/teambition-ego/SKILL.md

teambition-ego

Skill34 starsChanged 11 days agoMITView on GitHub

Read and update Teambition test plans and single test cases through the Ego Lite browser session (www.teambition.com). Login-check first. Phase 2a writes are create, update title/precondition/steps, set-status, and archive (delete --yes). Use when the user mentions Teambition 测试用例, 用例库, 测试计划, testplan, or case steps. Do not use teambition_cli, an Open API token, or the task search API for this module.

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Test plans and cases are not tasks.

    line 39

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

teambition-ego

通过 Ego 里已经登录的浏览器会话管理 Teambition 测试计划 / 测试用例。读请求走 https://www.teambition.com/testcase/api/。Phase 2a 只增加四条单用例写操作,路径以 references/testcase-api.md 和 references/testcase-write-capture.md 里已经抓到的浏览器接口为准。

Reads and Phase 2a single-case writes use the logged-in Ego browser session on https://www.teambition.com. Do not invent POST or PUT paths.

完整技能的方向是 Teambition 管理(项目、任务、测试计划、用例)。task 和 project 以后挂到同一个 scripts/tb.mjs 注册表上,不改路由器。本阶段不做分组创建 / 移动(Phase 2b)和批量(Phase 2c),也不把点页面当主要手段。

先装 Ego

先装 Ego Lite,保证 ego-browser 在 PATH。缺失则 soft-fail / 告知用户去装,不要硬调浏览器。

Install Ego Lite and put ego-browser on PATH. If either is missing, soft-fail and tell the user. Do not hard-require the browser.

在 Ego 里登录 teambition.com 之后才能读或改测试计划。每次调用前把这句话告诉用户。

不要用 Open API token

测试计划 / 用例不在任务体系里。teambition_cli 和 MCP 的 Open API token(open.teambition.com)不要用于这个模块,读和写都一样。Open 文档里的 create / flowStatus 不是这里的浏览器路径。

Test plans and cases are not tasks. Do not use teambition_cli or an MCP Open API token for this module.

每次读取或写入前:登录闸门(必做)

Agent 在调用 testcase 命令之前必须跑:

node scripts/check-login.mjs
# 需要把窗口留给人登录时:
node scripts/check-login.mjs --keep
退出码含义Agent 做什么
0已登录把 login_tip 告诉用户,继续
2未登录 / 无 ego-browser展示 how_to_login / how_to_login_zh,停。请人在 Ego 登录 teambition.com 后再跑
1其它错误报告 JSON error,不要假装已经读到或写过用例

详见 references/login.md。不要另做 cookie-healthcheck 技能。不要代填密码,不要粘贴 Cookie。

默认 finish({ keep: [] })。--keep 才把登录页留着并 handOff()。

命令

仓库根目录:

node skills/teambition-ego/scripts/check-login.mjs
node skills/teambition-ego/scripts/tb.mjs testcase parse-url "<testplan-url>"
node skills/teambition-ego/scripts/tb.mjs testcase plan <projectId> <planId>
node skills/teambition-ego/scripts/tb.mjs testcase groups <projectId> <planId>
node skills/teambition-ego/scripts/tb.mjs testcase cases <projectId> <planId> [--group <groupId>]
node skills/teambition-ego/scripts/tb.mjs testcase get <projectId> <planId> <uniqueId>
node skills/teambition-ego/scripts/tb.mjs testcase flow-statuses <projectId>
node skills/teambition-ego/scripts/tb.mjs testcase create <projectId> <planId> --title "<title>" [--group <groupId>] [--precondition "<text>"] [--steps-json '<json>'] [--priority <n>] [--executor-id <id>] [--case-type <type>] [--scenario-field-config-id <id>]
node skills/teambition-ego/scripts/tb.mjs testcase update <projectId> <planId> <caseId|uniqueId> [--title "<title>"] [--precondition "<text>"] [--steps-json '<json>']
node skills/teambition-ego/scripts/tb.mjs testcase set-status <projectId> <planId> <caseId|uniqueId> --flow-status-id <id>
node skills/teambition-ego/scripts/tb.mjs testcase delete <projectId> <planId> <caseId|uniqueId> --yes
node skills/teambition-ego/scripts/tb.mjs testcase cleanup

已安装的技能目录里用相对路径:node scripts/check-login.mjs、node scripts/tb.mjs testcase …。

URL 形如 https://www.teambition.com/project/{projectId}/testplan/{planId}/group/{groupId}。parse-url 不打开浏览器。其余命令在名为 tb-testcase api 的任务空间里用 page.fetch。cleanup 只关闭这个本机空间,不改 Teambition 数据。

命令作用
parse-url从测试计划 URL 打出 projectId、planId、groupId(没有分组时第三列为空)
plan计划名称、状态、用例数、创建人
groups分组 id、用例数、名称
cases自动翻页列出用例。--group 可选。stderr 打出总数
get按计划内编号看一条用例(前置条件、步骤、预期、实际、截图)
flow-statuses只读。列出本项目 testcase 任务流的状态 id,给 set-status 用
create在计划里新建一条执行用例
update改标题、前置条件、步骤。打到用例库 usercase,不是执行用例整包更新
set-status改流程状态。Body 键是 _flowStatusId
delete移到回收站(archive)。必须 --yes
cleanupfinish({ keep: [] }) 关掉常驻空间

--json 打出原始 JSON。没有这个 flag 时,多条用例用 编号 / 完成标记 / 分组 / 标题。Agent 展示给用户时:两条及以上用表格;单条用段落。完成标记:✓ 是 isDone,✗ 是未完成或未通过。

--steps-json 是 JSON 数组,例如 [{"desc":"打开页面","expected":"列表可见"}]。

退出码含义
0成功
1参数、HTTP、或浏览器执行错误。未登录时 stderr 会要求在 Ego 打开 teambition.com
2本机没有 ego-browser(soft-fail)。check-login 未登录也是 2

Phase 2a 写白名单

只允许下面这些已抓包路径。分组移动、批量、回写步骤执行结果都不在本阶段。

操作方法与路径
创建POST /testcase/api/v1/projects/{projectId}/testplans/{planId}/testcases
改标题PUT /testcase/api/v1/projects/{projectId}/testhubs/{testhubId}/usercases/{usercaseId}/title
改前置PUT …/usercases/{usercaseId}/precondition
改步骤PUT …/usercases/{usercaseId}/steps
改状态PUT …/testplans/{planId}/testcases/{testcaseId}/flowStatusId,body { "_flowStatusId": "…" }
移到回收站POST /api/testcases/{testcaseId}/archive,空 body。不在 /testcase/api/ 下

testhubId 用 GET /testcase/api/v1/projects/{projectId}/testhub(单数)。更新正文的路径 id 是执行用例的 _fromHubTestcaseId,不是 _id,也不是展示用的 uniqueId。改状态和 archive 用执行用例 _id。

CLI 接受 uniqueId 或执行用例 _id。脚本在计划内查出记录后再写。创建成功后把 _id、uniqueId、_fromHubTestcaseId 告诉用户。

delete 没有 --yes 时直接拒绝,不发请求。Agent 必须先向用户复述 uniqueId 和标题,得到明确同意后才能加 --yes。对用户说「移到回收站」,不要说成永久删除。

401 时让人重新登录。不要自动重试写请求,也不要改用 Open token。

沙箱(只作文档示例,CI 不访问):project 6743cee04ca487d085597f8c,plan 6aeaa22dba3464a24b6c30d4。

传输

scripts/lib/session.mjs 是浏览器 page.fetch 门面。Open API 传输调用会失败并说明原因。说明见 references/transports.md。字段和坑见 references/testcase-api.md、references/pitfalls.md。

测试

npm test

单测 mock 会话,不打真实 Teambition。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.