Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add TestAny-io/testany-agent-skills --skill team-workspacegit clone --depth 1 https://github.com/TestAny-io/testany-agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/testany-io/testany-agent-skills/team-workspace)<a href="https://agentmods.dev/skills/testany-io/testany-agent-skills/team-workspace"><img src="https://agentmods.dev/badge/skills/testany-io/testany-agent-skills/team-workspace/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/testany-io/testany-agent-skills/team-workspace"><img src="https://agentmods.dev/badge/skills/testany-io/testany-agent-skills/team-workspace.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00057 | $0.01702 |
| Opus 5.5 | $0.00023 | $0.00681 |
| Sonnet 5.5 | $0.00011 | $0.00340 |
| Haiku 4.5 | $0.00006 | $0.00170 |
Grade A, and why
team-workspace scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 22d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 58 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TeamDesk 团队工作台
TeamDesk 0.3.0 面向本机现有 Codex Desktop,支持 32 位在职员工及任意部门、岗位、技能流程。员工始终在原生任务中工作。
首次安装
首次安装使用仓库根目录 install-teamdesk.sh,一次检查依赖、通过原生 CLI 安装插件、生成并核验图标;详见 插件安装说明。从 clone 运行使用本地来源,下载独立脚本使用 GitHub main。缺失编译工具时按提示补装并重跑;不以克隆、缓存存在或创建图标代替完整安装验证。hook 信任仍由人类明确确认。
打开工作台
解析本文件目录,执行 scripts/launch.sh start,用 open_in_codex 打开输出的本机 URL。默认端口 4322。不能把工作台部署到公网,不复制完整对话或创建独立模型执行环境。
用户要求专用启动图标时,执行 scripts/launch.sh install-icon,生成用户 Applications 下的 TeamDesk.app 与桌面链接。通过原生应用工具打开该图标,可同时启动/复用工作台和共享 Codex Desktop,再明确用 Safari 打开;每次解析当前 Codex 与唯一的本机 TeamDesk 安装目录;无需先运行 Codex CLI 查询插件。已有普通模式 Codex 只提示正常退出,不强制关闭、不改全局启动项。构建要求 Xcode Command Line Tools;日常启动不依赖编译器。
首次启动为空团队。在员工页新建员工或绑定已有 Codex 任务。业务编号、名称、类别、阶段由指定负责人维护;验收由人类操作。
按需接入与入职
- 读 连接说明。工作台直接连接桌面实际使用的同一个 App Server;启动前核对进程归属、桌面连接及服务进程 ID。仅共享本地历史不算连接成功。
- GUI 提交即派发,不创建或恢复模型 heartbeat。旧的 connection-next/register/ack CLI 已停用;迁移时旧待派请求保留待核对。
- 若桌面尚未使用共享连接,让用户正常退出 Codex,然后在「团队设置」点击「以共享接入启动 Codex」。不强行关闭其他正在工作的任务。不改全局启动配置;正常打开 Codex 可恢复默认连接。
- 插件自带 Stop hook。人类可在工作台审查配置和脚本,再明确点击信任;后端只向原生 config/batchWrite 提交显示过的当前定义摘要,并重新读取核验。不能由 agent 代替用户点击、写任意信任或默认批准新定义。同一已信任定义直接复用。
- 添加员工自动配置绑定并发起原生轮次检查。只有当前版本 hook 记录与对应原生完成事件一致,才标记记账就绪;不把配置或脚本单测冒充触发成功。
- 离线或缺少信任时保留输入。FIFO 进入原生队列;steer 校验当前轮次和业务关联。回执不确定时先核对,不盲目重复派发。
员工模型与运行偏好
员工详情可查看和设置模型、思考深度与速度。默认值以其关联 Codex 会话为准,新建或换绑继承原生配置;TeamDesk 只同步 metadata,不持续覆盖原生设置。只通过原生 thread/settings/update 修改这三个字段,保存须读回核验。修改影响后续轮次(含排队中),不切换当前执行轮次,不触发新业务、不修改工具或权限。断线显示最近同步值,未确认的写入先读回核对,禁止自动重试。新建任务的临时覆盖入口保留 Coming soon。
员工工作
收到业务或探测输入时,读 员工协议。使用宿主 CODEX_THREAD_ID 和本次 requestId 读取 inbox;不伪造身份。按技能流程工作并通过原生 codex-app-tools 交接,遵守协议中的发送、接收、回传可见性要求。
原生结构化问题及时显示在决策箱,回答保留 questionItemId。原生审批只由真实人类选择并回传当前回调;私密输入和失效回调仍在 Codex 中处理。TeamDesk 不改变原生任务的权限。
部门与共享资料
员工所属部门、部门职责和联系人由工作台维护。每位员工最多属于一个部门,也可未分配;支持移出、转部门及部门删除/恢复,保留会话、任务和历史。使用 CLI query me / departments / department / employee 按需找人,同部门读取技能描述,跨部门读取岗位与部门职责。query resources 是团队/本部门的生效资料索引,query resource ID 读取指定版本;界面草案不作为员工规则。普通资料先编辑保存草案、确认发布后生效;删除停止员工查询,恢复先回到草案并需重新发布。系统内置协议在资料库中只读。每次 inbox 必须指定当前 requestId,不展开全员目录或全部历史任务。
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/app/package.json 301 B
- assets/app/public/app.js 84 KB runs code
- assets/app/public/collaboration-ui.js 21 KB runs code
- assets/app/public/collaboration.js 2.6 KB runs code
- assets/app/public/connection-ui.js 2.4 KB runs code
- assets/app/public/delivery.js 9.8 KB runs code
- assets/app/public/employee-models.js 9.1 KB runs code
- assets/app/public/index.html 811 B
- assets/app/public/styles.css 72 KB
- assets/app/public/task-progress.js 4.4 KB runs code
- assets/app/public/workspace-ui.js 15 KB runs code
- assets/app/public/writing-ui.js 20 KB runs code
- assets/app/src/app-server-client.mjs 3.4 KB runs code
- assets/app/src/bridge.mjs 7.3 KB runs code
- assets/app/src/capabilities.mjs 1.9 KB runs code
- assets/app/src/cli.mjs 2.2 KB runs code
- assets/app/src/collaboration-view.mjs 6.2 KB runs code
- assets/app/src/db.mjs 6.7 KB runs code
- assets/app/src/employee-models.mjs 9.0 KB runs code
- assets/app/src/fingerprint.mjs 689 B runs code
- assets/app/src/hook-core.mjs 3.4 KB runs code
- assets/app/src/hook-trust.mjs 6.4 KB runs code
- assets/app/src/metadata-history.mjs 5.7 KB runs code
- assets/app/src/native-gateway.mjs 33 KB runs code
- assets/app/src/native-questions.mjs 5.7 KB runs code
- assets/app/src/native.mjs 9.7 KB runs code
- assets/app/src/server.mjs 21 KB runs code
- assets/app/src/service.mjs 38 KB runs code
- assets/app/src/shared-connection.mjs 10 KB runs code
- assets/app/src/startup-evidence.mjs 1.2 KB runs code
- assets/app/src/version.mjs 253 B runs code
- assets/app/src/workspace.mjs 14 KB runs code
- assets/app/src/writing-assistant.mjs 27 KB runs code
- assets/app/src/writing-sources.mjs 17 KB runs code
- assets/app/tests/adapter.test.mjs 5.6 KB runs code
- assets/app/tests/codex-version.test.mjs 1.4 KB runs code
- assets/app/tests/collaboration-http.test.mjs 1.6 KB runs code
- assets/app/tests/collaboration.test.mjs 11 KB runs code
- assets/app/tests/core.test.mjs 25 KB runs code
- assets/app/tests/delivery.test.mjs 4.4 KB runs code
- assets/app/tests/employee-models.test.mjs 9.7 KB runs code
- assets/app/tests/fixtures/collaboration.mjs 3.9 KB runs code
- assets/app/tests/fixtures/employee-form.mjs 2.0 KB runs code
- assets/app/tests/fixtures/launcher-resolver.swift 556 B
- assets/app/tests/fixtures/model-connection.mjs 2.0 KB runs code
- assets/app/tests/fixtures/native-connection.mjs 3.1 KB runs code
- assets/app/tests/fixtures/topology.mjs 4.4 KB runs code
- assets/app/tests/fixtures/writing-connection.mjs 6.1 KB runs code
- assets/app/tests/fixtures/writing-ui.mjs 2.2 KB runs code
- assets/app/tests/history.test.mjs 7.9 KB runs code
- assets/app/tests/installation.test.mjs 14 KB runs code
- assets/app/tests/launcher-compatibility.test.mjs 3.5 KB runs code
- assets/app/tests/launcher-resolver.test.mjs 4.4 KB runs code
- assets/app/tests/on-demand.test.mjs 16 KB runs code
- assets/app/tests/one-click.test.mjs 4.5 KB runs code
- assets/app/tests/questions.test.mjs 9.7 KB runs code
- assets/app/tests/recovery.test.mjs 8.5 KB runs code
- assets/app/tests/service-launch.test.mjs 2.6 KB runs code
- assets/app/tests/task-progress.test.mjs 6.9 KB runs code
- assets/app/tests/task-writing.test.mjs 8.7 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 22d ago First seen · 58 lines · 57 tokens per session scan A 55b8dd395db8
team-workspace is a skill published in the GitHub repository TestAny-io/testany-agent-skills (82 stars, last pushed 4d ago), licensed MIT. It adds 57 tokens to every session and 1,702 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-25.
Other skills, from other repositories
kanban
Use when work has several deliverables, tickets, or delegates: board, WIP 1 writer + 2 review, pull rule, Definition of Done, findings fixed or filed.
jira_integration
Skill tích hợp Jira/Xray — lấy requirements từ Jira, xác thực Xray, và đẩy kết quả test lên Xray Cloud/Server.
stack-sync
Manage stacked PRs in scylla-cluster-tests using the gh-stack CLI extension (GitHub's native stacked PR support, public preview since 2026-07-31). Use when asked to split a large change into a chain of small reviewable PRs, check stack status, add/push/sync/rebase/merge stack layers, or navigate between stack…
user-story-static-verifier
Skill for static verification and analysis of user stories in agile development, ensuring they meet best practices like INVEST criteria and detecting common defects (ambiguity, omission, inconsistency, inaccuracy, non-testability, scope creep).
workthreads
SpecStory Workthreads - a weekly work-thread rollup across a team's repos from SpecStory coding histories (any agent - Claude Code, Codex, Cursor, Gemini, and more). It groups the window's sessions into threads of work per project and labels each new / open / recently closed, so a lead sees what shipped, what is still…
subsystem-compile
A generator for 1C subsystems, which are sections of a 1C business-application configuration. It turns a JSON definition into the XML files and folder structure needed for a new subsystem.