@givolt/i3-composer-agent 2.2.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/plugins/marketplace.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +52 -13
- package/bin/asset-fingerprint.cjs +1 -0
- package/bin/i3-composer-agent.cjs +10 -6
- package/bin/install.cjs +24 -9
- package/bin/native-content.cjs +1 -0
- package/bin/tool-selector.cjs +164 -0
- package/bin/wizard.cjs +7 -44
- package/docs/codebuddy-setup.md +11 -3
- package/docs/codex-setup.md +6 -3
- package/docs/workbuddy-setup.md +8 -1
- package/evals/README.md +86 -0
- package/evals/cases/i3-api-and-interface-design.json +45 -0
- package/evals/cases/i3-browser-testing-with-devtools.json +44 -0
- package/evals/cases/i3-ci-cd-and-automation.json +45 -0
- package/evals/cases/i3-code-review-and-quality.json +49 -0
- package/evals/cases/i3-code-simplification.json +45 -0
- package/evals/cases/i3-constraint-driven-development.json +79 -0
- package/evals/cases/i3-context-engineering.json +44 -0
- package/evals/cases/i3-debugging-and-error-recovery.json +58 -0
- package/evals/cases/i3-deprecation-and-migration.json +52 -0
- package/evals/cases/i3-documentation-and-adrs.json +44 -0
- package/evals/cases/i3-doubt-driven-development.json +43 -0
- package/evals/cases/i3-frontend-ui-engineering.json +52 -0
- package/evals/cases/i3-git-workflow-and-versioning.json +47 -0
- package/evals/cases/i3-idea-refine.json +43 -0
- package/evals/cases/i3-incremental-implementation.json +57 -0
- package/evals/cases/i3-interview-me.json +42 -0
- package/evals/cases/i3-observability-and-instrumentation.json +44 -0
- package/evals/cases/i3-performance-optimization.json +53 -0
- package/evals/cases/i3-planning-and-task-breakdown.json +45 -0
- package/evals/cases/i3-security-and-hardening.json +53 -0
- package/evals/cases/i3-shipping-and-launch.json +56 -0
- package/evals/cases/i3-source-driven-development.json +44 -0
- package/evals/cases/i3-spec-driven-development.json +72 -0
- package/evals/cases/i3-test-driven-development.json +73 -0
- package/evals/cases/i3-using-agent-skills.json +44 -0
- package/evals/fixtures/i3-api-and-interface-design/service-brief.md +19 -0
- package/evals/fixtures/i3-browser-testing-with-devtools/README.md +5 -0
- package/evals/fixtures/i3-browser-testing-with-devtools/index.html +24 -0
- package/evals/fixtures/i3-browser-testing-with-devtools/server.js +15 -0
- package/evals/fixtures/i3-ci-cd-and-automation/package.json +8 -0
- package/evals/fixtures/i3-ci-cd-and-automation/src/slug.js +3 -0
- package/evals/fixtures/i3-ci-cd-and-automation/test/slug.test.js +9 -0
- package/evals/fixtures/i3-code-review-and-quality/user-search.diff +16 -0
- package/evals/fixtures/i3-code-simplification/config-parser.js +46 -0
- package/evals/fixtures/i3-code-simplification/config-parser.test.js +15 -0
- package/evals/fixtures/i3-context-engineering/context-audit.md +15 -0
- package/evals/fixtures/i3-debugging-and-error-recovery/pagination.js +8 -0
- package/evals/fixtures/i3-debugging-and-error-recovery/pagination.test.js +9 -0
- package/evals/fixtures/i3-debugging-and-error-recovery/time-pressure.md +6 -0
- package/evals/fixtures/i3-deprecation-and-migration/api-inventory.md +9 -0
- package/evals/fixtures/i3-documentation-and-adrs/decision-context.md +16 -0
- package/evals/fixtures/i3-doubt-driven-development/migration-plan.md +19 -0
- package/evals/fixtures/i3-frontend-ui-engineering/Button.tsx +7 -0
- package/evals/fixtures/i3-frontend-ui-engineering/design-system.md +11 -0
- package/evals/fixtures/i3-git-workflow-and-versioning/.eval/working-tree.patch +21 -0
- package/evals/fixtures/i3-git-workflow-and-versioning/app.js +7 -0
- package/evals/fixtures/i3-git-workflow-and-versioning/app.test.js +9 -0
- package/evals/fixtures/i3-incremental-implementation/reports.js +7 -0
- package/evals/fixtures/i3-incremental-implementation/reports.test.js +12 -0
- package/evals/fixtures/i3-incremental-implementation/tasks/plan.md +8 -0
- package/evals/fixtures/i3-observability-and-instrumentation/operations.md +11 -0
- package/evals/fixtures/i3-observability-and-instrumentation/payment-retry.js +14 -0
- package/evals/fixtures/i3-performance-optimization/benchmark.js +15 -0
- package/evals/fixtures/i3-performance-optimization/products.js +14 -0
- package/evals/fixtures/i3-planning-and-task-breakdown/notifications-spec.md +18 -0
- package/evals/fixtures/i3-security-and-hardening/webhook.js +11 -0
- package/evals/fixtures/i3-security-and-hardening/webhook.test.js +13 -0
- package/evals/fixtures/i3-shipping-and-launch/authority-pressure.md +6 -0
- package/evals/fixtures/i3-shipping-and-launch/launch-status.md +11 -0
- package/evals/fixtures/i3-source-driven-development/framework-task.md +10 -0
- package/evals/fixtures/i3-spec-driven-development/billing-brief.md +16 -0
- package/evals/fixtures/i3-test-driven-development/BUG.md +10 -0
- package/evals/fixtures/i3-test-driven-development/README.md +28 -0
- package/evals/fixtures/i3-test-driven-development/package.json +9 -0
- package/evals/fixtures/i3-test-driven-development/src/split.js +8 -0
- package/evals/fixtures/i3-test-driven-development/test/split.test.js +13 -0
- package/evals/fixtures/i3-using-agent-skills/incident.md +6 -0
- package/evals/fixtures/incremental-implementation-pressure/draft-export.js +17 -0
- package/evals/fixtures/incremental-implementation-pressure/scenario.md +9 -0
- package/evals/fixtures/spec-driven-development-decomposition/portal-brief.md +22 -0
- package/evals/fixtures/test-driven-development-ecosystem/README.md +9 -0
- package/evals/fixtures/test-driven-development-ecosystem/ledger.py +15 -0
- package/evals/fixtures/test-driven-development-ecosystem/test_ledger.py +19 -0
- package/evals/plugin/code-review-fires/graders/off-by-one.md +7 -0
- package/evals/plugin/code-review-fires/graders/severity-labels.md +4 -0
- package/evals/plugin/code-review-fires/graders/skill-fired.md +5 -0
- package/evals/plugin/code-review-fires/prompt.md +31 -0
- package/evals/plugin/code-review-stays-quiet/graders/not-fired.md +8 -0
- package/evals/plugin/code-review-stays-quiet/graders/tdd-fired.md +6 -0
- package/evals/plugin/code-review-stays-quiet/prompt.md +8 -0
- package/evals/plugin/code-review-stays-quiet-on-commit-message/graders/not-fired.md +8 -0
- package/evals/plugin/code-review-stays-quiet-on-commit-message/prompt.md +25 -0
- package/evals/zh-CN/cases/i3-api-and-interface-design.json +46 -0
- package/evals/zh-CN/cases/i3-browser-testing-with-devtools.json +45 -0
- package/evals/zh-CN/cases/i3-ci-cd-and-automation.json +46 -0
- package/evals/zh-CN/cases/i3-code-review-and-quality.json +46 -0
- package/evals/zh-CN/cases/i3-code-simplification.json +46 -0
- package/evals/zh-CN/cases/i3-constraint-driven-development.json +70 -0
- package/evals/zh-CN/cases/i3-context-engineering.json +45 -0
- package/evals/zh-CN/cases/i3-debugging-and-error-recovery.json +60 -0
- package/evals/zh-CN/cases/i3-deprecation-and-migration.json +45 -0
- package/evals/zh-CN/cases/i3-documentation-and-adrs.json +45 -0
- package/evals/zh-CN/cases/i3-doubt-driven-development.json +45 -0
- package/evals/zh-CN/cases/i3-frontend-ui-engineering.json +45 -0
- package/evals/zh-CN/cases/i3-git-workflow-and-versioning.json +45 -0
- package/evals/zh-CN/cases/i3-idea-refine.json +44 -0
- package/evals/zh-CN/cases/i3-incremental-implementation.json +59 -0
- package/evals/zh-CN/cases/i3-interview-me.json +43 -0
- package/evals/zh-CN/cases/i3-observability-and-instrumentation.json +46 -0
- package/evals/zh-CN/cases/i3-performance-optimization.json +46 -0
- package/evals/zh-CN/cases/i3-planning-and-task-breakdown.json +46 -0
- package/evals/zh-CN/cases/i3-security-and-hardening.json +46 -0
- package/evals/zh-CN/cases/i3-shipping-and-launch.json +59 -0
- package/evals/zh-CN/cases/i3-source-driven-development.json +45 -0
- package/evals/zh-CN/cases/i3-spec-driven-development.json +62 -0
- package/evals/zh-CN/cases/i3-test-driven-development.json +76 -0
- package/evals/zh-CN/cases/i3-using-agent-skills.json +45 -0
- package/package.json +234 -5
- package/plugin.json +1 -1
- package/scripts/lib/skill-lint.js +586 -0
- package/scripts/run-evals.js +659 -0
- package/scripts/validate-artifact-paths.js +130 -0
- package/scripts/validate-commands.js +224 -0
- package/scripts/validate-reference-links.js +187 -0
- package/scripts/validate-skills.js +70 -0
- package/scripts/validate-versions.js +35 -0
package/evals/README.md
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# 技能评测与配套脚本
|
|
2
|
+
|
|
3
|
+
本目录随默认安装、npm 包和插件导出一起提供,评测 i3 Composer Agent 技能的结构、
|
|
4
|
+
触发与行为。评测不在安装时自动执行。它检查技能库自身,不能代替业务项目测试、
|
|
5
|
+
宿主发现验证或真实模型验收。
|
|
6
|
+
|
|
7
|
+
## 运行位置
|
|
8
|
+
|
|
9
|
+
原生安装的完整配套目录是宿主目录下的 `i3-composer-agent/`。
|
|
10
|
+
例如 CodeBuddy 项目安装为 `.codebuddy/i3-composer-agent/`,
|
|
11
|
+
WorkBuddy 全局安装为 `~/.workbuddy/i3-composer-agent/`。
|
|
12
|
+
先进入该目录;若使用 `--prepare` / `--extract`,进入指定的导出目录。
|
|
13
|
+
配套目录保留技能、命令、角色、参考资料和插件清单,保证校验及 Hook 的相对路径可解析。
|
|
14
|
+
宿主实际使用的原生入口仍位于它自己的 `skills/`、`commands/`、`agents/`。
|
|
15
|
+
|
|
16
|
+
## 不调用模型的检查
|
|
17
|
+
|
|
18
|
+
需要 Node.js 20 或以上,无需额外 npm 依赖。
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# 技能格式、清单版本、三种命令格式一致性、引用与产物路径
|
|
22
|
+
npm run validate
|
|
23
|
+
|
|
24
|
+
# 中英文分别检查;省略 --locale 时检查两种语言
|
|
25
|
+
node scripts/run-evals.js --locale zh-CN --min-rank1 95
|
|
26
|
+
node scripts/run-evals.js --locale en --min-rank1 95
|
|
27
|
+
|
|
28
|
+
# 一次运行结构检查和中英文触发评测
|
|
29
|
+
npm test
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
`scripts/` 包含 `run-evals.js`、五个 `validate-*.js` 和它们依赖的 `lib/skill-lint.js`。
|
|
33
|
+
`evals/cases/` 保留英文用例,`evals/zh-CN/cases/` 提供中文用例,
|
|
34
|
+
`evals/fixtures/` 是执行型评测使用的测试项目样例,`evals/plugin/` 是插件级评测用例。
|
|
35
|
+
|
|
36
|
+
触发评测使用词法评分检查正例、负例、描述冲突、用例结构及样例是否齐全。
|
|
37
|
+
中英文各自满足指定门槛;这不能证明模型在实际宿主中一定选择正确技能。
|
|
38
|
+
失败时应调查技能描述或实现,不能为了通过检查降低门槛或删改失败用例。
|
|
39
|
+
|
|
40
|
+
## 主动运行模型行为评测
|
|
41
|
+
|
|
42
|
+
先预览,不调用模型、不生成评测结果:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
node scripts/run-evals.js --behavioral i3-test-driven-development --locale zh-CN --dry-run
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
确认需要后,移除 `--dry-run` 才会调用已登录的 Claude Code,并消耗该账户的模型额度:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
node scripts/run-evals.js --behavioral i3-test-driven-development --locale zh-CN
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
执行型用例需要 Git,并在临时 Git 项目中复制 `fixtures/` 的真实输入;
|
|
55
|
+
对话型用例评估对话,不要求项目文件。执行器使用 `acceptEdits` 及明确的工具列表,
|
|
56
|
+
可能编辑文件、运行命令、访问网络;各样例还可能需要自身的语言运行环境。
|
|
57
|
+
评分依据执行轨迹或对话与 `expectations`,不会把“声称完成”当成实际执行证据。
|
|
58
|
+
模型输出按不可信数据评分,执行和评分均有限时。临时项目完成后清理。
|
|
59
|
+
|
|
60
|
+
`--locale en` 运行英文用例,省略该参数运行两种语言。可通过 `I3_EVAL_MODEL`
|
|
61
|
+
和 `I3_EVAL_GRADER_MODEL` 指定执行/评分模型;报告同时记录宿主和模型信息。
|
|
62
|
+
结果写入 `evals/results/`,不会进入发行包,也不属于安装器的替换清单。
|
|
63
|
+
|
|
64
|
+
## 插件级评测
|
|
65
|
+
|
|
66
|
+
插件清单中的 `experimental.evals` 指向随包提供的 `evals/plugin/`。
|
|
67
|
+
它包含整体插件的触发/不触发提示和评分规则;支持 `plugin eval` 的 Claude Code
|
|
68
|
+
可从配套目录主动运行:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
claude plugin eval . --no-publish
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
该检查同样会调用模型;具体参数以当前 Claude Code 的帮助为准。
|
|
75
|
+
`--no-publish` 保持结果本地,报告写入 `evals/plugin/results/`。
|
|
76
|
+
用是否触发、回答质量及对照结果一起判断效果;调用一次成功不能代替多次行为验收。
|
|
77
|
+
|
|
78
|
+
## Hooks
|
|
79
|
+
|
|
80
|
+
`hooks/` 默认交付会话注入、文档缓存、代码块保护脚本及说明。
|
|
81
|
+
安装文件不会自动注册事件。中文回复与普通技能调用不依赖启用 Hook。
|
|
82
|
+
会话注入仅适用于缺少原生技能路由的宿主;已有路由时不要重复注入。
|
|
83
|
+
缓存及保护的当前配置示例针对 Claude Code,详见
|
|
84
|
+
[文档缓存](../hooks/SDD-CACHE.md) 和 [代码块保护](../hooks/SIMPLIFY-IGNORE.md)。
|
|
85
|
+
其他宿主须按各自事件协议适配。脚本需要 Bash、jq 及说明中的 curl/哈希工具;
|
|
86
|
+
Windows PowerShell 本身不提供这些依赖。
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "i3-api-and-interface-design",
|
|
3
|
+
"trigger": {
|
|
4
|
+
"positive": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "Design a REST endpoint for creating invoices, including error responses and versioning",
|
|
7
|
+
"top_k": 3
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "What should the public interface of this payments module expose to other teams?",
|
|
11
|
+
"top_k": 3
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "Help me define the contract between the frontend and the orders service",
|
|
15
|
+
"top_k": 3
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"negative": [
|
|
19
|
+
{
|
|
20
|
+
"prompt": "My unit test is failing with a null pointer exception",
|
|
21
|
+
"owner": "i3-debugging-and-error-recovery"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"prompt": "Make this landing page responsive on mobile",
|
|
25
|
+
"owner": "i3-frontend-ui-engineering"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"evals": [
|
|
30
|
+
{
|
|
31
|
+
"id": 1,
|
|
32
|
+
"prompt": "Design the public API for a URL-shortening service: create, resolve, stats. Produce the endpoint contracts.",
|
|
33
|
+
"expected_output": "Endpoint contracts with methods, paths, request/response shapes, and explicit error semantics",
|
|
34
|
+
"files": [
|
|
35
|
+
"i3-api-and-interface-design"
|
|
36
|
+
],
|
|
37
|
+
"expectations": [
|
|
38
|
+
"Error responses are specified with status codes and a consistent error shape, not just happy paths",
|
|
39
|
+
"Input validation at the boundary is addressed for user-supplied URLs",
|
|
40
|
+
"Versioning or compatibility strategy is stated",
|
|
41
|
+
"The response does not silently invent unstated requirements"
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "i3-browser-testing-with-devtools",
|
|
3
|
+
"trigger": {
|
|
4
|
+
"positive": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "Use Chrome DevTools to figure out why the checkout button click does nothing",
|
|
7
|
+
"top_k": 3
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "Inspect the network requests the dashboard makes when it first loads",
|
|
11
|
+
"top_k": 3
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "Verify in a real browser that the form submits and the data persists in localStorage",
|
|
15
|
+
"top_k": 3
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"negative": [
|
|
19
|
+
{
|
|
20
|
+
"prompt": "Write a spec for the new billing feature before we start",
|
|
21
|
+
"owner": "i3-spec-driven-development"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"prompt": "Break this PRD into ordered implementation tasks",
|
|
25
|
+
"owner": "i3-planning-and-task-breakdown"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"evals": [
|
|
30
|
+
{
|
|
31
|
+
"id": 1,
|
|
32
|
+
"prompt": "The signup form renders but submitting it appears to do nothing. Verify the real behavior in the browser and report findings.",
|
|
33
|
+
"expected_output": "Runtime evidence from the browser: console errors, network activity, DOM state, and a diagnosis",
|
|
34
|
+
"files": [
|
|
35
|
+
"i3-browser-testing-with-devtools"
|
|
36
|
+
],
|
|
37
|
+
"expectations": [
|
|
38
|
+
"Findings are grounded in observed runtime data (console, network, DOM), not static code reading alone",
|
|
39
|
+
"The report distinguishes what was observed from what is inferred",
|
|
40
|
+
"A concrete next step or fix hypothesis is provided"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "i3-ci-cd-and-automation",
|
|
3
|
+
"trigger": {
|
|
4
|
+
"positive": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "Set up a GitHub Actions pipeline that runs the tests on every pull request",
|
|
7
|
+
"top_k": 3
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "Add a deploy stage to the pipeline with a manual approval gate",
|
|
11
|
+
"top_k": 3
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "Automate the quality gates so nothing merges without passing checks",
|
|
15
|
+
"top_k": 3
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"negative": [
|
|
19
|
+
{
|
|
20
|
+
"prompt": "Refactor this function so it is easier to read",
|
|
21
|
+
"owner": "i3-code-simplification"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"prompt": "Add structured logging to the checkout service",
|
|
25
|
+
"owner": "i3-observability-and-instrumentation"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"evals": [
|
|
30
|
+
{
|
|
31
|
+
"id": 1,
|
|
32
|
+
"prompt": "Create a CI pipeline for a Node project: install, lint, test on every PR, and block merge on failure.",
|
|
33
|
+
"expected_output": "A working workflow definition with correct triggers, steps, and failure behavior",
|
|
34
|
+
"files": [
|
|
35
|
+
"i3-ci-cd-and-automation"
|
|
36
|
+
],
|
|
37
|
+
"expectations": [
|
|
38
|
+
"The workflow triggers on pull requests",
|
|
39
|
+
"Failure of any quality gate fails the pipeline run",
|
|
40
|
+
"Steps are ordered logically and cache or setup steps are sane",
|
|
41
|
+
"No secrets are hardcoded in the workflow"
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "i3-code-review-and-quality",
|
|
3
|
+
"trigger": {
|
|
4
|
+
"positive": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "Review this pull request before I merge it",
|
|
7
|
+
"top_k": 3
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "Do a quality pass on this diff for correctness and readability",
|
|
11
|
+
"top_k": 3
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "Can you review the changes another model just wrote for me?",
|
|
15
|
+
"top_k": 3
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"prompt": "Review this diff before I merge it. It adds paging to the orders endpoint.",
|
|
19
|
+
"top_k": 3
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"negative": [
|
|
23
|
+
{
|
|
24
|
+
"prompt": "Deploy this to production now",
|
|
25
|
+
"owner": "i3-shipping-and-launch"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"prompt": "Write a failing test for the bug before fixing it",
|
|
29
|
+
"owner": "i3-test-driven-development"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"evals": [
|
|
34
|
+
{
|
|
35
|
+
"id": 1,
|
|
36
|
+
"prompt": "Review the provided diff that adds a user-search endpoint. Deliver a structured review.",
|
|
37
|
+
"expected_output": "A multi-axis review with severity-labelled findings and file:line references",
|
|
38
|
+
"files": [
|
|
39
|
+
"i3-code-review-and-quality"
|
|
40
|
+
],
|
|
41
|
+
"expectations": [
|
|
42
|
+
"Findings cover more than one axis (correctness, readability, architecture, security, performance)",
|
|
43
|
+
"Every finding carries a severity label from the skill's taxonomy",
|
|
44
|
+
"Security of user input is explicitly considered for the new endpoint",
|
|
45
|
+
"The review leads with high-leverage findings rather than nits"
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "i3-code-simplification",
|
|
3
|
+
"trigger": {
|
|
4
|
+
"positive": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "This function works but it is way too clever, simplify it without changing behavior",
|
|
7
|
+
"top_k": 3
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "Reduce the complexity of this module so juniors can maintain it",
|
|
11
|
+
"top_k": 3
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "Clean up this working code, it has grown hard to follow",
|
|
15
|
+
"top_k": 3
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"negative": [
|
|
19
|
+
{
|
|
20
|
+
"prompt": "Add a feature flag system to the app",
|
|
21
|
+
"owner": "i3-incremental-implementation"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"prompt": "Diagnose why the build broke overnight",
|
|
25
|
+
"owner": "i3-debugging-and-error-recovery"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"evals": [
|
|
30
|
+
{
|
|
31
|
+
"id": 1,
|
|
32
|
+
"prompt": "Simplify the provided 80-line function that parses config files, preserving exact behavior.",
|
|
33
|
+
"expected_output": "A simpler implementation with identical behavior and a summary of what was removed and why",
|
|
34
|
+
"files": [
|
|
35
|
+
"i3-code-simplification"
|
|
36
|
+
],
|
|
37
|
+
"expectations": [
|
|
38
|
+
"Behavior is preserved (tests unchanged and passing, or equivalence argued concretely)",
|
|
39
|
+
"Complexity is reduced rather than relocated",
|
|
40
|
+
"The response explains what was removed and why it was safe",
|
|
41
|
+
"No new features are added during the simplification"
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "i3-constraint-driven-development",
|
|
3
|
+
"trigger": {
|
|
4
|
+
"positive": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "Set up quality constraints for this project — I want to define our bar before the agent writes more code",
|
|
7
|
+
"top_k": 3
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "We have no written standards. Ask me what I care about and write it down with sane defaults",
|
|
11
|
+
"top_k": 3
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "The agent keeps adding @ts-ignore and skipping tests to get green. How do I stop that?",
|
|
15
|
+
"top_k": 3
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"prompt": "What coverage threshold should we enforce, and where should it run so it doesn't slow us down?",
|
|
19
|
+
"top_k": 3
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"prompt": "I care about accessibility and web performance — set those up as enforced constraints",
|
|
23
|
+
"top_k": 3
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"negative": [
|
|
27
|
+
{
|
|
28
|
+
"prompt": "Review this pull request across correctness and security",
|
|
29
|
+
"owner": "i3-code-review-and-quality"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"prompt": "Add a deploy stage to our pipeline with a manual approval gate",
|
|
33
|
+
"owner": "i3-ci-cd-and-automation"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"prompt": "Write a failing test for this bug before we fix it",
|
|
37
|
+
"owner": "i3-test-driven-development"
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"evals": [
|
|
42
|
+
{
|
|
43
|
+
"id": 1,
|
|
44
|
+
"kind": "dialogue",
|
|
45
|
+
"prompt": "Set up constraints for this repo. I don't really know what numbers to pick.",
|
|
46
|
+
"expected_output": "A short interview with defaults offered, followed by a CONSTRAINTS.md the user can explain",
|
|
47
|
+
"expectations": [
|
|
48
|
+
"The agent inspects the repo for stack, test runner, and existing linters before asking anything",
|
|
49
|
+
"No more than four questions are asked, and each one carries a usable default",
|
|
50
|
+
"When the user has no target number, the agent proposes recording today's value and holding it rather than inventing a threshold",
|
|
51
|
+
"The resulting constraints say where each check runs, keeping fast checks in the edit loop and slow checks later",
|
|
52
|
+
"Every number written down is accompanied by a reason"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": 2,
|
|
57
|
+
"kind": "dialogue",
|
|
58
|
+
"prompt": "Our coverage is 62% and I want to enforce 85% starting today.",
|
|
59
|
+
"expected_output": "Pushback on setting an unmeetable budget, with the ratchet alternative offered",
|
|
60
|
+
"expectations": [
|
|
61
|
+
"The agent points out that a threshold the codebase fails today produces a permanently red build",
|
|
62
|
+
"It offers to record 62% and require that it not fall, as an adoptable alternative",
|
|
63
|
+
"It does not silently accept 85% without noting the consequence"
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": 3,
|
|
68
|
+
"kind": "dialogue",
|
|
69
|
+
"prompt": "Accessibility matters to us. Add it as a constraint.",
|
|
70
|
+
"expected_output": "A working accessibility check, not just a threshold written down",
|
|
71
|
+
"expectations": [
|
|
72
|
+
"The agent names axe-core and gives the install and run commands rather than only stating a violation threshold",
|
|
73
|
+
"It notes that axe needs a running URL and asks for one, or drops the dimension if the project has no URL to hit",
|
|
74
|
+
"The command that produces the verdict is recorded alongside the rule in CONSTRAINTS.md",
|
|
75
|
+
"The check is placed at the preview-deploy stage rather than in the per-edit loop"
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "i3-context-engineering",
|
|
3
|
+
"trigger": {
|
|
4
|
+
"positive": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "What context should I load into the agent before starting this refactor?",
|
|
7
|
+
"top_k": 3
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "The model's output quality dropped mid-session, how do I fix its context?",
|
|
11
|
+
"top_k": 3
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "Set up rules files and context packing for my repository",
|
|
15
|
+
"top_k": 3
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"negative": [
|
|
19
|
+
{
|
|
20
|
+
"prompt": "Write unit tests for the date parser",
|
|
21
|
+
"owner": "i3-test-driven-development"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"prompt": "Harden this endpoint against SQL injection",
|
|
25
|
+
"owner": "i3-security-and-hardening"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"evals": [
|
|
30
|
+
{
|
|
31
|
+
"id": 1,
|
|
32
|
+
"prompt": "An agent session has degraded: responses are generic and it keeps forgetting project conventions. Fix the context setup.",
|
|
33
|
+
"expected_output": "A diagnosis of the context problem and a concrete loading strategy (rules files, packing, task-scoped context)",
|
|
34
|
+
"files": [
|
|
35
|
+
"i3-context-engineering"
|
|
36
|
+
],
|
|
37
|
+
"expectations": [
|
|
38
|
+
"The response diagnoses probable context causes rather than blaming the model generally",
|
|
39
|
+
"A specific context-loading plan is produced (what to load, when, and why)",
|
|
40
|
+
"Context is scoped to the task instead of loading everything"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "i3-debugging-and-error-recovery",
|
|
3
|
+
"trigger": {
|
|
4
|
+
"positive": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "The app crashes with a TypeError when I click save, help me find the root cause",
|
|
7
|
+
"top_k": 3
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "The API is throwing intermittent 500 errors in production, help me find the root cause",
|
|
11
|
+
"top_k": 3
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "This test passed yesterday and fails today, figure out what broke",
|
|
15
|
+
"top_k": 3
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"negative": [
|
|
19
|
+
{
|
|
20
|
+
"prompt": "Write the API documentation for the orders service",
|
|
21
|
+
"owner": "i3-documentation-and-adrs"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"prompt": "Simplify this working function for readability",
|
|
25
|
+
"owner": "i3-code-simplification"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"evals": [
|
|
30
|
+
{
|
|
31
|
+
"id": 1,
|
|
32
|
+
"prompt": "A test that passed yesterday now fails with an off-by-one error in pagination. Find and fix the root cause.",
|
|
33
|
+
"expected_output": "A reproduced failure, an identified root cause, a minimal fix, and a guard against regression",
|
|
34
|
+
"files": [
|
|
35
|
+
"i3-debugging-and-error-recovery"
|
|
36
|
+
],
|
|
37
|
+
"expectations": [
|
|
38
|
+
"The failure is reproduced before any fix is attempted",
|
|
39
|
+
"The root cause is identified and stated, not just the symptom patched",
|
|
40
|
+
"A regression test exists after the fix",
|
|
41
|
+
"The fix is minimal and scoped to the cause"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": 2,
|
|
46
|
+
"prompt": "Production checkout is failing and a stakeholder demands an immediate pagination patch without reproduction. Respond under time pressure.",
|
|
47
|
+
"expected_output": "Evidence preserved, the failure reproduced, and a root-cause fix guarded by a regression test",
|
|
48
|
+
"files": [
|
|
49
|
+
"i3-debugging-and-error-recovery"
|
|
50
|
+
],
|
|
51
|
+
"expectations": [
|
|
52
|
+
"The time pressure does not cause reproduction or evidence gathering to be skipped",
|
|
53
|
+
"The requested speculative patch is not applied before the cause is localized",
|
|
54
|
+
"The final fix is tied to a reproduced cause and a regression test"
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "i3-deprecation-and-migration",
|
|
3
|
+
"trigger": {
|
|
4
|
+
"positive": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "We are sunsetting the v1 API, plan the deprecation",
|
|
7
|
+
"top_k": 3
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "Migrate users off the legacy auth system without breaking them",
|
|
11
|
+
"top_k": 3
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "How do I remove this old feature safely for existing users?",
|
|
15
|
+
"top_k": 3
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"prompt": "Rename a database column without downtime",
|
|
19
|
+
"top_k": 3
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"prompt": "How do I drop a column safely in production?",
|
|
23
|
+
"top_k": 3
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"negative": [
|
|
27
|
+
{
|
|
28
|
+
"prompt": "Add dark mode to the settings page",
|
|
29
|
+
"owner": "i3-frontend-ui-engineering"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"prompt": "Why is this test flaky on CI?",
|
|
33
|
+
"owner": "i3-ci-cd-and-automation"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"evals": [
|
|
38
|
+
{
|
|
39
|
+
"id": 1,
|
|
40
|
+
"prompt": "Plan the deprecation of a public v1 REST API with 200 external consumers, replaced by v2.",
|
|
41
|
+
"expected_output": "A staged deprecation plan: comms, timeline, compatibility window, monitoring, and removal criteria",
|
|
42
|
+
"files": [
|
|
43
|
+
"i3-deprecation-and-migration"
|
|
44
|
+
],
|
|
45
|
+
"expectations": [
|
|
46
|
+
"Consumers are notified with a timeline before any breaking change",
|
|
47
|
+
"A compatibility or migration window exists with monitoring of remaining usage",
|
|
48
|
+
"Removal is gated on measured migration, not a calendar date alone"
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "i3-documentation-and-adrs",
|
|
3
|
+
"trigger": {
|
|
4
|
+
"positive": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "Write an ADR for choosing Postgres over MongoDB",
|
|
7
|
+
"top_k": 3
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "Document the architecture decision behind the queue design",
|
|
11
|
+
"top_k": 3
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "Update the documentation for the new setup flow and record why it changed",
|
|
15
|
+
"top_k": 3
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"negative": [
|
|
19
|
+
{
|
|
20
|
+
"prompt": "Find the root cause of the memory leak in the worker",
|
|
21
|
+
"owner": "i3-debugging-and-error-recovery"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"prompt": "Harden the login endpoint against brute force attacks",
|
|
25
|
+
"owner": "i3-security-and-hardening"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"evals": [
|
|
30
|
+
{
|
|
31
|
+
"id": 1,
|
|
32
|
+
"prompt": "Record the decision to adopt event sourcing for the orders service as an ADR.",
|
|
33
|
+
"expected_output": "An ADR capturing context, decision, alternatives considered, and consequences",
|
|
34
|
+
"files": [
|
|
35
|
+
"i3-documentation-and-adrs"
|
|
36
|
+
],
|
|
37
|
+
"expectations": [
|
|
38
|
+
"The ADR states context, decision, alternatives, and consequences distinctly",
|
|
39
|
+
"Trade-offs and rejected options are recorded, not just the winning choice",
|
|
40
|
+
"The ADR records a status from the skill's lifecycle (Proposed, Accepted, Superseded or Deprecated) and a date"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "i3-doubt-driven-development",
|
|
3
|
+
"trigger": {
|
|
4
|
+
"positive": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "This change touches production auth, cross-examine every assumption before we proceed",
|
|
7
|
+
"top_k": 3
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "I am not confident in this approach, adversarially review my reasoning in a fresh context",
|
|
11
|
+
"top_k": 3
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "High-stakes migration tomorrow, stress the plan for hidden failure modes",
|
|
15
|
+
"top_k": 3
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"negative": [
|
|
19
|
+
{
|
|
20
|
+
"prompt": "Format this file with prettier"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"prompt": "Write the changelog entry for the release",
|
|
24
|
+
"owner": "i3-git-workflow-and-versioning"
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"evals": [
|
|
29
|
+
{
|
|
30
|
+
"id": 1,
|
|
31
|
+
"prompt": "Before running an irreversible data migration, subject the migration plan to adversarial review.",
|
|
32
|
+
"expected_output": "Claims extracted, doubts raised against each, reconciliation, and a go or stop verdict",
|
|
33
|
+
"files": [
|
|
34
|
+
"i3-doubt-driven-development"
|
|
35
|
+
],
|
|
36
|
+
"expectations": [
|
|
37
|
+
"Non-trivial claims in the plan are extracted and challenged individually",
|
|
38
|
+
"At least one assumption is tested rather than accepted",
|
|
39
|
+
"The verdict distinguishes verified claims from surviving doubts"
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
}
|