본문으로 건너뛰기
cccskills
무료GitHub에 공개

markuplint-configure

Add, remove, or adjust Markuplint rules for specific files or elements. Analyzes violations, proposes scope-appropriate configuration changes, and confirms with the user.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

markuplint/markuplint스타 630(GitHub 630 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md5.4 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

markuplint-configure

Add, remove, or adjust Markuplint rules.

When to Use

  • "Add a rule for ..." / "Enable the ... rule"
  • "Disable this warning" / "Ignore this error"
  • "Configure markuplint for this file"
  • "This markuplint warning is wrong"
  • "Apply ... rule only to this section"
  • User points to a specific file/line and asks about a Markuplint violation

Steps

1. Understand the Context

Determine the documentation site based on the installed markuplint version:

npx markuplint --version
  • If the version contains alpha, beta, or rc (e.g., 5.0.0-alpha.1) → use https://next.markuplint.dev as the doc base
  • Otherwise (stable release) → use https://markuplint.dev as the doc base

Use the determined doc base for all documentation URLs in subsequent steps.

If $ARGUMENTS contains a file path or line reference, read that file first.

Run Markuplint on the target to see current violations:

npx markuplint "path/to/file.html" --format JSON

If no specific file, run on the project and summarize.

2. Identify What the User Wants

Determine the intent:

  • Add a rule — enable a new rule or change its value
  • Disable a rule — turn off a rule globally or for specific elements
  • Adjust scope — change where a rule applies

If unclear, use AskUserQuestion to clarify.

3. Determine the Scope

Use AskUserQuestion to confirm the intended scope.

User intentScopeWhere to configure
"I don't want this rule anywhere"Project-widerules in config
"I don't want this in certain files"File-levelexcludeFiles or overrides
"I don't want this on specific elements"Element-levelnodeRules or childNodeRules

Important distinction for file-level scope — ask the user:

  • excludeFiles: Markuplint completely ignores the file. VS Code extension won't show warnings either. Use when the file should never be linted.
  • overrides with overrideMode: "merge": Markuplint still processes the file but with different rules. VS Code shows remaining warnings. Use when you want partial coverage.
  • npm script glob: Only affects CLI/CI runs. VS Code still lints everything. Use when VS Code warnings are acceptable but CI should skip certain files.

4. Determine Element-Level Configuration

If the scope is element-level, choose between:

  • nodeRules — applies to the matched element itself
  • childNodeRules — applies to children of the matched element. Add "inheritance": true to affect all descendants, not just direct children.

The AI agent should propose a CSS selector based on the code context. Use the element's class, ID, tag name, or attributes to build the selector.

For rule details, fetch the rule's documentation: {doc-base}/docs/rules/{rule-id} (where {doc-base} is determined in Step 1)

5. Propose the Change

Show the user the exact configuration change before applying.

Always explain:

  • What the change does
  • What the trade-off is
  • If there's a better alternative

Example proposals:

Disable a named rule from a preset

{
  "rules": {
    "a11y/specific-rule": false
  }
}

Element-specific rule with nodeRules

{
  "nodeRules": [
    {
      "selector": ".legacy-component",
      "rules": {
        "class-naming": false
      }
    }
  ]
}

Descendants of a section with childNodeRules

{
  "childNodeRules": [
    {
      "selector": ".legacy-section",
      "inheritance": true,
      "rules": {
        "no-unknown-role": false
      }
    }
  ]
}

File-level exclusion

{
  "excludeFiles": ["./src/legacy/**/*"]
}

File-level override

{
  "overrideMode": "merge",
  "overrides": {
    "./src/legacy/**/*": {
      "rules": {
        "no-unescaped-char": false,
        "no-malformed-character-reference": false
      }
    }
  }
}

6. Confirm with AskUserQuestion

Never modify the config file without user confirmation.

7. Apply and Verify

  1. Update .markuplintrc using Edit tool
  2. Run lint again on the same target
  3. Report the before/after violation count to confirm the change worked

Quick Reference: Common Configurations

These are frequently requested. Propose them directly when relevant:

OGP (Open Graph Protocol)

{
  "nodeRules": [
    {
      "selector": "meta[property]",
      "rules": {
        "no-unknown-attr": {
          "options": {
            "allowAttrs": ["property"]
          }
        },
        "no-disallowed-attr": {
          "options": {
            "allowAttrs": ["property"]
          }
        },
        "no-invalid-attr-value": {
          "options": {
            "allowAttrs": ["property"]
          }
        }
      }
    }
  ]
}

Allow custom data attributes

{
  "rules": {
    "no-unknown-attr": {
      "options": {
        "allowAttrs": ["data-testid"]
      }
    }
  }
}

Selector tips

  • Ancestor matching: use :is(nav *) (NOT :closest() — it is deprecated)
  • For selector syntax details: {doc-base}/docs/guides/selectors
  • For all config properties: {doc-base}/docs/configuration/properties

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 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일 업데이트

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/markuplint6302026년 10월 26일 업데이트

markuplint의 스킬 모두 보기

이 스킬의 문제 신고