一键导入
helix-iscompleted-bucketing
Completion-safe bucketing for Helix work items with nullable exit codes
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Completion-safe bucketing for Helix work items with nullable exit codes
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Investigate .NET CI failures using the hlx CLI tool via bash. USE FOR: checking Helix job status, searching build logs, downloading test results, AzDO build timeline analysis — when MCP tools aren't loaded, when the MCP server isn't configured or fails to start, or when scripting with JSON output and jq. DO NOT USE FOR: tasks where Helix/AzDO MCP tools are already available in context (prefer ci-analysis skill when MCP server is loaded). INVOKES: bash (hlx CLI commands with --json output).
{what this skill teaches agents}
Audit pattern for comparing WorkItemSummary (list API) fields against WorkItemDetails (per-item API) after a Helix.Client SDK bump
Domain-layer normalizer + JSON-stable cache key pattern for filter types with server-side defaults and case-insensitive fields.
Strict unknown-parameter rejection for MCP tools: Stage A (UnmappedMemberHandling.Disallow) + Stage B (did-you-mean CallToolFilter).
Audit MCP/CLI tool parameter surface against underlying REST API capabilities to find silently-dropped params.
| name | helix-iscompleted-bucketing |
| description | Completion-safe bucketing for Helix work items with nullable exit codes |
| domain | helix |
| confidence | high |
| source | issue-70 |
Use this pattern when mapping Helix work item details into pass/fail/in-progress results.
details.ExitCode.HasValue as the completion signal.details.ExitCode ?? -1 as the existing sentinel value for incomplete items.isCompleted && exitCode != 0.IsCompleted to callers when an API still exposes the -1 sentinel so consumers can distinguish sentinel from a real exit code.var exitCode = details.ExitCode ?? -1;
bool isCompleted = details.ExitCode.HasValue;
FailureCategory? category = isCompleted && exitCode != 0
? ClassifyFailure(exitCode, details.State, duration, workItem)
: null;
WorkItemResult): PR #66.WorkItemDetail): issue #70.