← ClaudeAtlas

skill-lintlisted

Lint a BDK skill or agent file for best practices and portability. Use when reviewing, creating, or editing a skill (skills/*.md) or agent (agents/*.md) to verify it meets BDK conventions. Trigger on phrases like "check this skill", "verify agent", "does this follow best practices", "lint skill", or when about to commit a new skill/agent.
broneq/bdk · ★ 0 · Code & Development · score 75
Install: claude install-skill broneq/bdk
> Relies on BDK foundation (STARTUP_INSTRUCTIONS.md). Assumes environment discovery has already run (language, test runner, build tool are known). # Skill Lint Verify BDK skill or agent file meets portability and quality conventions. ## Determine target - `$ARGUMENTS` may be one or more space-separated paths. - No arguments: ask user which file, or infer from recent context. Per path: 1. Read file. 2. List all files in skill directory (recursively). Every file other than `SKILL.md` is supporting file. 3. Each supporting file: lint too (checks 3–6 only — portability checks), regardless of whether referenced in SKILL.md. Print **separate report block** per file linted. ## Run checks Report each check as `PASS`, `FAIL`, or `WARN` with one-line reason. ### 1. Frontmatter present - File must start with `---` - Must contain `name:` field - Must contain `description:` field ### 2. Model field - **Agent files** (`agents/`): `model:` **required** — FAIL if missing - **Skill files** (`skills/`): `model:` recommended — WARN if missing (some skills intentionally inherit) ### 3. No absolute paths Fail if file contains: - `/Users/`, `/home/`, `/root/`, `/opt/`, `/var/`, `C:\` - Any hardcoded filesystem path ### 4. No project-specific file references Warn if file refs files only in one project: - Patterns: specific filenames like `src/foo.py`, `app/models/user.rb`, `internal/auth/handler.go` - Exception: generic illustrative examples (e.g. `<your-file>`, `path/to/file`) ### 5.