Rules / Format and vendor rules

field-type

A frontmatter field has the wrong type.

error by default Format and vendor rules Fix offered, for review Inline suppression allowed

Source: Claude Code docs: Skills (code.claude.com), read 14 October 2026.

On GitHub: the rule doc and the tests.

All rules73

What it catches#

A frontmatter field has the wrong type.

A frontmatter field whose value has the wrong shape for the tool that reads it: a boolean written as a quoted string, a list given as a number, tools given as a map, paths given as a map. The message names the field and the type it needs.

Why it matters#

A boolean given as a word the tool does not accept, or a list given as a number, is ignored or rejected by the tool that reads it.

Bad example#

---
description: Project conventions
globs: src/**/*.ts
alwaysApply: "true"
---

In a Cursor .mdc rule, alwaysApply must be a YAML boolean. "true" in quotes is a string, which Cursor does not treat as true, so the rule only applies to files matching globs. In a skill, disable-model-invocation: "nope" and allowed-tools: 3 are the same class of mistake.

Good example#

---
description: Project conventions
globs: src/**/*.ts
alwaysApply: true
---

How to fix#

Booleans are unquoted true or false (Claude Code skills also accept yes, no, on, off, 1 and 0). allowed-tools, disallowed-tools, paths, globs and subagent tools take a string or a list of strings. description is a string.

asitis can propose this edit. asitis lint --fix-preview prints a unified diff that git apply accepts, and the suggest_fixes MCP tool returns the same diff; nothing is written to disk by either. The fix for this rule needs review before you apply it, because it changes or removes content.

Suppress or configure#

For one finding, put a comment on the line above it. The reason after -- is optional but worth writing:

<!-- asitis-disable-next-line field-type -- why this one is fine -->

For a whole file:

<!-- asitis-disable-file field-type -- why this file is an exception -->

For every file, turn it off or change its severity in .asitisrc.json:

{ "rules": { "field-type": "off" } }

A .asitisrc.json overrides entry limits a change to some paths, and a baseline (asitis lint --format json --write-baseline) accepts today's findings so only new ones fail the build.

Source#

Claude Code docs: Skills, read on 14 October 2026.

This page is generated from the plugin's rule registry. Edit it on GitHub. False positive? Open an issue with the line it fired on.