agent-lintlisted
Install: claude install-skill broneq/bdk
> Relies on BDK foundation (STARTUP_INSTRUCTIONS.md). Assumes environment discovery has already run.
# Agent Lint
Verify BDK agent file meets portability and quality conventions.
## Determine target
- `$ARGUMENTS`: one or more space-separated paths.
- No arguments: ask user which file, or infer from context.
- Agents live at `agents/<name>.md` — flat file, no subdirectory.
Per path: read file, run all checks. Print **separate report block** per file.
## Run checks
Report each check as `PASS`, `FAIL`, or `WARN` with one-line reason.
### 1. Frontmatter present
- File must start with `---`
- Must contain `name:` and `description:` fields
### 2. Model field — REQUIRED for BDK agents
FAIL if missing or empty. Valid: `haiku`, `sonnet`, `opus`, `inherit`, or full model ID (e.g. `claude-sonnet-4-6`, `claude-haiku-4-5`).
- `inherit` = uses parent model (valid but WARN — pin for predictable cost/behavior)
- Omitting `model:` = defaults to `inherit` — FAIL for BDK agents
- WARN if not standard alias or known model ID
### 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: `src/foo.py`, `app/models/user.rb`, `internal/auth/handler.go`
- Exception: generic illustrative examples (e.g. `<your-file>`, `path/to/file`)
### 5. No project-specific instructions
WARN if file contains phrases tied to specific