skill-lintlisted
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.