Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/broneq-agent-lint
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/agent-lint
What's inside
- Skill name
agent-lint- Description
- Lint a BDK agent file for best practices and portability. Use when reviewing, creating, or editing an agent (agents/*.md) to verify it meets BDK conventions. Trigger on phrases like "check this agent", "verify agent", "lint agent", or when about to commit a new agent.
- License
- MIT
- Instructions
- 159 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
> 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 project:
- "in this project", "this repo", "our codebase", specific org/team names
- Hardcoded branch names, database names, service names
### 6. No language-specific commands
FAIL if file hardcodes language/framework tooling:
- Test runners: `pytest`, `go test`, `npm test`, `yarn test`, `cargo test`, `rspec`, `jest`, `mocha`
- Build tools: `mvn`, `gradle`, `cargo build`, `make` (as build command)
- Linters: `ruff`, `eslint`, `golangci-lint`, `rubocop`, `flake8`
Exception: agents explicitly scoped to one language (name contains language, or description states it).
### 7. Skill cross-references use full namespace
Refs to BDK skills must use `/bdk:` prefix.
- FAIL: `/commit`, `/debug`
- PASS: `/bdk:commit`, `/bdk:debug`
### 8. `name` format valid
Must match `^[a-z0-9-]{1,64}$`. FAIL on uppercase, underscores, spaces, or >64 chars.
### 9. `description` length
WARN if `description:` >250 chars.
### 10. Invalid frontmatter fields
FAIL if unsupported frontmatter fields used.
**Valid agent fields:** `name`, `description`, `model`, `tools`, `disallowedTools`, `permissionMode`, `maxTurns`, `skills`, `mcpServers`, `hooks`, `memory`, `background`, `isolation`, `color`, `initialPrompt`, `effort`
**Skill-only fields invalid in agents** (FAIL): `argument-hint`, `disable-model-invocation`, `user-invocable`, `allowed-tools`, `context`, `agent`, `paths`, `shell`
### 10a. Plugin-unsafe fields
If agent in plugin's `agents/` directory (not `.claude/agents/` or `~/.claude/agents/`):
- WARN if frontmatter uses `hooks`, `mcpServers`, or `permissionMode` — silently ignored in plugin agents. Tell user to copy to `.claude/agents/` if needed.
### 11. `tools` field format
If `tools:` present: must be string or YAML list of known tool names.
- Valid: `Bash`, `Read`, `Write`, `Edit`, `Glob`, `Grep`, `WebFetch`, `WebSearch`, `Agent`, `Agent(name)` syntax
- FAIL on any `mcp__*` entry in a plugin agent: BDK ships no MCP server (ADR-0001), and a tool the session does not have is dropped silently. `tests/unit/test_no_mcp_names.py` enforces this for plugin-namespaced names
- WARN on non-standard tool names
- PASS if absent (agent inherits default toolset)
- NOTE: `disallowedTools` can be used alongside or instead of `tools`
### 12. `$ARGUMENT` typo
FAIL if body uses `$ARGUMENT` (no S) — correct is `$ARGUMENTS` or `$ARGUMENTS[N]`.
### 13. Agent file placement
Must be flat `.md` directly under `agents/` — not in subdirectory.
- FAIL: `agents/foo/bar.md`
- WARN if filename doesn't match `name:` field
### 14. External agent dependencies
If agent invokes other agents by name:
1. Check `agents/<name>.md` exists in BDK repo.
2. Not found → WARN: unknown agent dependency, not shipped with BDK.
### 15. Safety rules declared
Read-only agents (analysis, review, exploration) should declare safety constraints.
- WARN if no file-modification tools in `tools:` AND body lacks "MUST NOT modify" or "read-only".
- PASS if `tools:` has only read-only tools (Read, Grep, Glob, WebFetch, WebSearch; Bash excluded).
### 16. Terminal output pattern
Agents with terminal output should define start/complete banners.
- WARN if no output format defined — hard to track in multi-agent workflows.
- PASS if body has output format block or states "no output required".
## Output format
One report block per file.
```
AGENT LINT: agents/test-runner.md
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PASS Frontmatter present (name, description)
PASS model: haiku defined
PASS No absolute paths
PASS No project-specific file references
PASS No project-specific instructions
WARN Language-specific command: pytest (line 31) — use "run the project's test suite" or scope agent to specific language
PASS Skill references use /bdk: namespace
PASS name format validFrom broneq/bdk, MIT.
More from broneq/bdk
- 0.592score
explain-complex-code
broneq
Generate comprehensive architecture documentation for complex code modules with Mermaid diagrams and examples.
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
design
broneq
Design partner for any feature.
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
pr-review
broneq
Review GitHub PRs from URLs - templated inline comments, summary, and a verdict you confirm/override before it posts via gh.
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
mermaid-drawer
broneq
BDK's shared Mermaid standard - diagram type selection, node budget, and a palette verified legible in light and dark themes.
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
cr
broneq
Run code review with dynamic agent scaling (3-13 agents based on change size).
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
debug
broneq
Debug issues through structured investigation, failing test creation, and targeted fixes.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
create-adr
broneq
Create Architecture Decision Records (ADRs) based on MADR template.
SkillAFreshness: A★ 1Claude Code +9 - 0.586score
create-plan
broneq
Create comprehensive implementation plan with exploration and trade-off analysis
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
bdk-lint-tools
broneq
Project-configured lint/format/typecheck commands from .bdk/settings.json.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
add-rule
broneq
Capture one lesson or convention as a properly-homed rule — routed to .claude/rules/, a doc comment, or a test signpost; dedupes and respects budgets.
SkillAFreshness: A★ 1Claude Code +9 - 0.583score
skill-lint
broneq
Lint a BDK skill or agent file for best practices and portability.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
bdk-test-tools
broneq
Project-configured test commands from .bdk/settings.json.
SkillAFreshness: A★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 6
- Last commit (this folder)
- Sep 25, 2026 (1 month ago)
- Last release
- Sep 25, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/broneq/bdk
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from broneq
- 0.592score
explain-complex-code
broneq
Generate comprehensive architecture documentation for complex code modules with Mermaid diagrams and examples.
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
pr-review
broneq
Review GitHub PRs from URLs - templated inline comments, summary, and a verdict you confirm/override before it posts via gh.
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
mermaid-drawer
broneq
BDK's shared Mermaid standard - diagram type selection, node budget, and a palette verified legible in light and dark themes.
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
cr
broneq
Run code review with dynamic agent scaling (3-13 agents based on change size).
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
design
broneq
Design partner for any feature.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
debug
broneq
Debug issues through structured investigation, failing test creation, and targeted fixes.
SkillAFreshness: A★ 1Claude Code +9
Cite this page
agent-lint skill. Agent Mart. https://agentmart.dev/skills/broneq-agent-lint (last updated 2026-10-24)