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 agentmods add commands/awesome-embedded-learning-studio/cfdesktop/testinggit clone --depth 1 https://github.com/Awesome-Embedded-Learning-Studio/CFDesktopWhat 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 | $0.00000 | $0.00924 |
| Opus 5 | $0.00000 | $0.00462 |
| Sonnet 5 | $0.00000 | $0.00185 |
| Haiku 4.5 | $0.00000 | $0.00092 |
Grade A, and why
testing 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 yesterday.
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 — 130 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/testing — 测试覆盖建议
为新增或修改的代码建议测试用例,参考现有测试模式。
触发方式
/testing <模块路径>— 建议测试用例/next-step或/optimize衔接
工作流程
Step 1: 分析目标代码
-
读取源文件,识别公共 API 接口:
- 公共方法(public methods)
- 信号和槽(signals/slots)
- 枚举和常量
- 模板函数/类
-
识别边界情况:
- 空输入、零值、最大值
- 无效输入、越界访问
- 资源限制(内存、文件句柄)
-
识别线程安全问题:
- 锁自由数据结构
- 异步操作
- 共享状态访问
Step 2: 检查现有测试覆盖
- 在
test/<module>/<component>/查找已有测试文件 - 读取已有测试,理解当前覆盖范围
- 识别未覆盖的代码路径
Step 3: 参考现有测试模式
文件模式 (test/<module>/<component>/<component>_test.cpp):
/**
* @file <component>_test.cpp
* @brief Test coverage for <Component>.
*/
#include <gtest/gtest.h>
#include "<component>.h"
TEST(<Component>Suite, BasicFunctionality) {
// Arrange
// Act
// Assert
}
CMake 模式 (test/<module>/CMakeLists.txt):
add_gtest_executable(<component>_test
<component>/<component>_test.cpp
LINK_LIBRARIES <target> GTest::gtest GTest::gtest_main
LABELS "module;unit;component"
)
Step 4: 测试建议分级
P0 — 必须有 (Critical Path)
- 构造函数/析构函数基本功能
- 主要用例(happy path)
- 错误处理(无效输入)
P1 — 应该有 (Boundary)
- 空输入、零值、最大值
- Off-by-one 边界
- 资源限制
P2 — 可选有 (Integration/Regression)
- Qt 框架交互(Signal/Slot)
- 跨组件交互
- 线程安全测试
- 性能回归测试
Step 5: 输出格式 (中文)
# 测试建议: <module/component>
## 现有测试状态
- 已有测试文件: (列出或 "无")
- 覆盖率评估: X%
- 未覆盖的关键路径: ...
## 建议新增测试
### P0 — 必须
```cpp
// TEST(<Component>Suite, ConstructorInitializesCorrectly)
TEST(<Component>Suite, ConstructorInitializesCorrectly) {
// Arrange & Act
<Component> obj{/* params */};
// Assert
EXPECT_EQ(obj.<getter>(), expected);
}
P1 — 应该
(测试用例骨架)
P2 — 可选
(测试用例骨架)
测试文件位置
- 建议路径:
test/<module>/<component>/<component>_test.cpp - CMakeLists.txt 修改:
add_gtest_executable(<component>_test ...)
预估工作量
- P0 测试数量: N
- P1 测试数量: N
- P2 测试数量: N
- 预估耗时: X minutes
## 模块特定注意事项
- **base/ 工具库**: header-only,链接 `cfbase_headers` + `GTest`
- **ui/ 控件**: 需要 `QApplication`,链接 `cfui` + `Qt6::Widgets` + `Qt6::Gui`
- **desktop/**: 需要完整 `CFDesktop_shared` + `Qt6::Widgets`
- **Signal/Slot 测试**: 需要 `Qt6::Test`,使用 `QSignalSpy`
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.
- yesterday First seen · 130 lines · 0 tokens per session scan A 349b5a8ac3c4
testing is a command published in the GitHub repository Awesome-Embedded-Learning-Studio/CFDesktop (10 stars, last pushed 1mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 924 tokens. 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-08-31.
Other commands, from other repositories
gui-anything
Build a complete GUI harness for any software application.
validate
Validate a GUI harness against HARNESS.md standards and best practices.
refine
Expand and improve an existing GUI harness with additional coverage.
test
Run tests for a GUI harness and update TEST.md with results.
list
List all GUI-Anything harnesses in the current repository.
fix_board
Automatically diagnose and fix PlatformIO board upload/monitor issues.