mcpbeat Sign in

Dart Skills Lint Validation Agent Skill

|- Use this skill when you need to validate AI agent skills with dart_skills_lint — running the linter, interpreting failures, fixing violations, and authoring custom rules.

811 tokens
context cost
SKILL.md, read when the skill is used
2
files
plus reference files
0
copies elsewhere
how many repositories repackaged it
2 776
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/flutter/agent-plugins --skill dart-skills-lint-validation

What comes with it

3 120 bytes besides the instruction
evals/evals.json

The instruction itself

6 sections, as written by the author

Validating Skills with dart_skills_lint

This skill covers day-to-day use: running the linter, walking

through a failing run, and writing a custom rule when defaults

aren't enough. For first-time wiring (adding the dep, creating the

config file, generating a baseline) see

dart-skills-lint-setup. The

full rule reference (default severities, diagnostic shapes,

fixability) lives in RULES.md.

Running the linter

If dart_skills_lint is in pubspec.yaml:

dart run dart_skills_lint:cli -d .agents/skills

If it's installed globally with dart pub global activate:

dart pub global run dart_skills_lint:cli -d .agents/skills

Run dart run dart_skills_lint:cli --help for the full flag list

(skip the inline duplicate so it never goes stale).

Workflow for a failing run

  • Run the validator.
  • Read the errors. Each diagnostic names the rule that fired,

the offending value, and a suggested fix when one applies.

  • Fix the violations. For fixable rules

(check-absolute-paths, check-trailing-whitespace,

invalid-skill-name), pass --fix to write the corrections

to disk; add --dry-run to preview the diff first.

  • Re-run to confirm the run is clean.

Task progress

  • [ ] Run validator
  • [ ] Read errors
  • [ ] Fix violations (manual or --fix / --fix --dry-run)
  • [ ] Verify clean run

Authoring a custom rule

Extend SkillRule and pass the rule into validateSkills:

import 'package:dart_skills_lint/dart_skills_lint.dart';

class DeprecatedSkillRule extends SkillRule {
  @override
  final String name = 'deprecated-skill';

  @override
  final AnalysisSeverity severity = AnalysisSeverity.warning;

  @override
  Future<List<ValidationError>> validate(SkillContext context) async {
    final errors = <ValidationError>[];
    final yaml = context.parsedYaml;
    if (yaml == null) return errors;

    if (yaml['metadata']?['deprecated'] == true) {
      errors.add(ValidationError(
        ruleId: name,
        severity: severity,
        file: 'SKILL.md',
        message: 'This skill is marked as deprecated.',
      ));
    }
    return errors;
  }
}

Wire it up in a Dart test:

import 'package:dart_skills_lint/dart_skills_lint.dart';
import 'package:test/test.dart';

void main() {
  test('skills pass with deprecated-skill custom rule', () async {
    final config = await ConfigParser.loadConfig();
    expect(
      config.directoryConfigs,
      isNotEmpty,
      reason: 'Configuration directoryConfigs should not be empty.',
    );
    await validateSkills(
      config: config,
      customRules: [DeprecatedSkillRule()],
    );
  });
}
  • dart-skills-lint-setup —

first-time wiring.

  • RULES.md — canonical rule reference.
  • README.md — installation, configuration,

integration recipes.

Other skills for the same job

different authors, same section of the catalogue
Gemini
by softaworks
×2

Use when the user asks to run Gemini CLI for code review, plan review, or big context (>200k) processing. Ideal for comprehensive analysis requiring large context windows. Uses Gemini 3 Pro by default for state-of-the-art reasoning and coding.

2.5k tokens
Claude Skills
by ComeOnOliver
×2

Claude Skills meta-skill: extract domain material (docs/APIs/code/specs) into a reusable Skill (SKILL.md + references/scripts/assets), and refactor existing Skills for clarity, activation reliability, and quality gates.

2k tokens scripts
Backend Atomic Commit
by ComeOnOliver
×1

> Pedantic backend pre-commit and atomic commit Skill for Django/Optimo-style repos. Enforces local AGENTS.md / CLAUDE.md, pre-commit hooks, .security/* helpers, and Monty’s backend engineering taste – with no AI signatures in commit messages.

5.3k tokens
Safe Edit
by ComeOnOliver
×1

Automatically backs up files, saves diffs, uses agents/skills, and ensures modular code (<200 lines) before any implementation. Use this skill for ALL code changes to ensure safe, reversible, and clean implementations.

1.8k tokens
Sharing Skills
by ComeOnOliver
×1

Use when you've developed a broadly useful skill and want to contribute it upstream via pull request - guides process of branching, committing, pushing, and creating PR to contribute skills back to upstream repository

1.2k tokens
Od Code Migration
by nexu-io

Default reference pipeline for the code-migration taskKind — code-import → design-extract → token-map → rewrite-plan → patch-edit ↔ build-test devloop → diff-review → handoff.

384 tokens
Review Agent Setup
by wshobson

Configure human-in-the-loop gating for AI agent review actions in Claude Code. Use when setting up a project where an agent may post PR reviews, comments, merges, or edit CI configuration, and you want a cryptographically auditable approval trail with Cedar-enforced gates.

1.4k tokens
Auto Updater
by anthropics
vendor

> Check installed community skills for updates. Shows a diff and requires explicit approval before applying. Use when the user says "check for updates", "update my skills", "anything new for my installed skills", or when invoked from the registry-sync agent.

2.2k tokens

How to use it

Copy the folder

Take flutter/dart-skills-lint-validation from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.