本文へ移動
cccskills
無料GitHub で公開

bench-xref

Sync benchmark cross-reference blocks onto GitHub Issue bodies via `yarn bench:xref`, manage `tests/external/bench/issue-xref.config.ts` mappings, and run the pre-release checklist. Use when adding / removing / updating a primary or secondary mapping, when an issue closes upstream, when the xref CLI's output disagrees with what's on the issue body, or before cutting a release that touches a rule the benchmark covers. Trigger keywords: bench-xref, issue-xref, xref CLI, GitHub issue body, primary mapping, secondary mapping, umbrella block, pre-release checklist, bench-xref-audit workflow, marker version.

日本語の概要は準備中です。原文の説明を表示しています。

markuplint/markuplintスター 630(GitHub 630 + cccskills 0)
連携ツールGitHub

実行スコア 未検証

インストール方法を見る

含まれるファイル(1)

  • SKILL.md3.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

nu-validator Bench Cross-Reference Sync Skill

Configured GitHub issues carry a <!-- bench-xref:begin v1 --> ... <!-- bench-xref:end --> block at the end of their body. The block lists every fixture matching the issue's scope (filter regex) and the current verdict tally. Block content is generated from snapshots/diff/* and is idempotent — re-running only updates when the underlying numbers change.

Mappings live in tests/external/bench/issue-xref.config.ts.

Commands

Flags (--issue, --filter, --all, --write, --dry-run, --audit, --json) are parsed in tests/external/bench/xref-issue.ts — read it when unsure. Without --write, output goes to stdout and no network call is made.

Prerequisite: gh installed and authenticated.

Routine after a yarn bench:update:

yarn bench:xref --all --dry-run --write   # review intended diffs
yarn bench:xref --all --write             # apply

composeBody is idempotent and collapses multiple marker pairs into one block.

The block does not adjudicate who is right between markuplint and nu — that is a spec read per bench-triage.

Updating issue-xref.config.ts

EventAction
New Issue this bench can verifyAdd a primary mapping with a focused filter. Confirm with yarn bench:xref --issue <N>.
New Issue with no matching fixtureAdd a secondary mapping with a reason. Internal-bug Issues go here too.
Existing Issue closesRemove the entry. The umbrella block auto-derives from remaining primary mappings.
Issue scope shiftsAdjust filter. Rerun yarn bench:xref --issue <N>.
Body claim becomes inaccurate after bench rerunsAdd or edit a bodyOverride factory. The recommended pattern (see its JSDoc in issue-xref.config.ts) is reading a co-located .md under tests/external/bench/issue-xref/ — create that directory if it does not exist.

Pre-release checklist

Before cutting a markuplint release that touches any rule the benchmark covers:

yarn bench:xref --audit                   # prune CLOSED issues from the config
yarn bench:update                         # regenerate coverage.json (Docker required)
yarn bench:xref --all --dry-run --write   # preview the new issue bodies

--write edits GitHub Issue bodies: show the preview to the user and get their go-ahead, then run yarn bench:xref --all --write.

--audit is the cheapest gate; running it first prevents stale xref blocks from being pushed to issues that closed between releases.

CI: Bench xref audit workflow

.github/workflows/bench-xref-audit.yml runs the audit on relevant PRs and a weekly cron; it exits non-zero on any CLOSED entry, blocking PR merge until the mapping is removed.

Marker version

The v1 literal is hard-coded in the composeBody regex. To break format compat: bump BEGIN_MARKER / END_MARKER in xref-issue.ts, temporarily widen the regex to accept both versions, run yarn bench:xref --all --write once, then drop the old version from the regex.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Maintenance of the nu-validator coverage benchmark: defend the invariants (nu-only = 0, xref audit green), follow up a nu-validator upstream update (submodule bump / Docker image drift), and regression-check after markuplint rule or spec changes. Use when updating the validator submodule, when a bench refresh surfaces new nu-only entries, when excluded-ids entries go stale, or for the periodic health check. Trigger keywords: bench maintain, bench maintenance, nu update, submodule bump, validator update, bench refresh, nu-only regression, stale excluded-ids, image digest.

日本語の概要は準備中です。原文の説明を表示しています。

markuplint/markuplint6302026年10月26日 更新

Enable an existing or newly-added markuplint rule on the nu-validator bench by editing tests/external/bench/config.ts. Covers the flat-rule case (rules: { '<name>': true }) and the severity override case (rules: { '<name>': { severity: 'error' } }) that bench-virtual-rule does not. Use when a rule exists in the registry but the relevant nu fixtures stay nu-only because the rule is not enabled in the bench config, or when a rule's default severity is warning but the spec text it mirrors is a MUST / MUST NOT. Trigger keywords: enable bench rule, bench config flat rule, severity override bench, rule not flagging on bench, warning vs error in bench, escalate severity bench, no-contradictory-aria-prop bench, bench coverage missing rule.

日本語の概要は準備中です。原文の説明を表示しています。

markuplint/markuplint6302026年10月26日 更新

Set up the nu-validator benchmark environment — initialise the validator submodule, ensure Docker is running, populate the gitignored raw snapshots via yarn bench:update. Also covers Docker / nu-runner troubleshooting. Use when bench commands fail with "no snapshots found", "Docker daemon not reachable", port 28888 conflicts, or healthcheck timeouts; or when refreshing the bench after a long break. Trigger keywords: bench setup, bench Docker, validator submodule, no snapshots found, Docker daemon not reachable, healthcheck times out, port 28888, yarn bench:update first time, bench install, fresh clone bench.

日本語の概要は準備中です。原文の説明を表示しています。

markuplint/markuplint6302026年10月26日 更新

Triage one nu-only fixture from tests/external/snapshots/diff/nu-only.json by reading the spec, then drive its verdict to match-error, match-clean, or nu-over by either fixing markuplint or recording an excluded-ids.json entry. The core per-fixture operation of the nu-validator coverage benchmark. Use when a bench refresh surfaces new nu-only entries, when checking a coverage-claim ("markuplint misses X" / "over-detects Y") against the bench, or when classifying a specific fixture. Trigger keywords: nu-only, ml-only, coverage gap, bench triage, verdict, match-error, match-clean, nu-over, excluded-ids, declare nu over-detection, claim audit, audit fixture, mark-up valid per spec, spec-cited exclusion.

日本語の概要は準備中です。原文の説明を表示しています。

markuplint/markuplint6302026年10月26日 更新

Mirror a preset virtual rule (selectors under `nodeRules` in preset.html-standard.jsonc and similar) into bench/config.ts so the benchmark exercises it. Use when a new disallowed-element / similar selector lands in a preset and the matching nu fixtures remain stuck at nu-only despite the new rule existing in markuplint. Trigger keywords: virtual rule, nodeRules, disallowed-element, preset html-standard, bench config mirror, rule does not fire on bench, preset rule not exercised.

日本語の概要は準備中です。原文の説明を表示しています。

markuplint/markuplint6302026年10月26日 更新

Investigate a problem to its root cause and file it as a GitHub Issue with the right labels and an As is / To be / Why / How body backed by primary sources. Use when asked to file, create, or open an issue, or when the `impl` skill hands over a carry-over. Trigger keywords: create issue, file an issue, open an issue, report a bug as an issue.

日本語の概要は準備中です。原文の説明を表示しています。

markuplint/markuplint6302026年10月26日 更新

markuplint のスキルをすべて見る

このスキルの問題を報告する