skill-lint
Lint a BDK skill or agent file for best practices and portability.
Skill by broneq
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-skill-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/skill-lint
What's inside
- Skill name
skill-lint- Description
- 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.
- License
- MIT
- Instructions
- 243 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- files: referenced but missing: scripts/inject.py
Files (1)
- SKILL.md
SKILL.md (first lines)
> 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. 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`
Use generic phrasing: "run the project's test suite", "run the linter".
### 7. BDK foundation header (skills only)
Skills must start body (after frontmatter) with:
```
> Relies on BDK foundation (STARTUP_INSTRUCTIONS.md)...
```
FAIL if missing.
### 8. Skill cross-references use full namespace
Refs to other BDK skills must use `/bdk:` prefix.
- FAIL on: `/commit`, `/debug`, `/create-plan` (bare names)
- PASS on: `/bdk:commit`, `/bdk:debug`
### 9. `name` format valid
If `name:` present: must match `^[a-z0-9-]{1,64}$`.
- FAIL on uppercase, underscores, spaces, or >64 chars.
### 10. `description` length
If `description:` present: WARN if >250 chars (truncated in skill listing).
### 11. Invalid frontmatter fields
FAIL if file uses unsupported/obsolete frontmatter fields:
- `arguments:` (list of objects) — replaced by `argument-hint:`
- Any field not in: `name`, `description`, `argument-hint`, `disable-model-invocation`, `user-invocable`, `allowed-tools`, `disallowed-tools`, `model`, `effort`, `context`, `agent`, `background`, `hooks`, `paths`, `shell`
### 12. `effort` valid value
If `effort:` present: must be one of `low`, `medium`, `high`, `xhigh`, `max`.
- FAIL on any other value.
### 13. `context` + `agent` combo
If `agent:` present but `context: fork` missing: WARN — `agent:` only applies with `context: fork`.
### 14. Dead skill combo
If both `disable-model-invocation: true` AND `user-invocable: false`: FAIL — skill inaccessible.
### 15. `$ARGUMENT` typo
If body uses `$ARGUMENT` (no S): FAIL — correct variable is `$ARGUMENTS` or `$ARGUMENTS[N]`.
### 16. External skill/agent references
BDK skills depend only on BDK-owned skills. Flag `/slash-command` and agent name invocations NOT prefixed `/bdk:`.
**Slash command refs** (`/name` in body):
- WARN on bare `/name` refs (e.g. `/commit`, `/debug`) — ambiguous, may resolve to wrong skill
- WARN on `/other-plugin:name` — hard dep on external plugin not guaranteed present
- PASS on `/bdk:name` — BDK namespace, expected
**Agent refs** (backtick or plain `agent-name` in body, e.g. `` `test-runner` ``):
1. Check if `agents/<name>.md` exists in BDK repo.
2. If exists → WARN: bare name found, use `/bdk:<name>` prefix.
3. If not exists → WARN: unknown agent dependency, not shipped with BDK.
### 17. Skill directory format
Per Claude Code skills spec, each skill must live at `<skill-name>/SKILL.md`.
- FAIL if filename not exactly `SKILL.md` (case-sensitive)
- WARN if parent dir name doesn't match `name` field in frontmatter (causes confusing dual identities)
### 18. Artifacts go to `.bdk/`
Skills producing file output must write to `.bdk/` in project root, not arbitrary dirs.
- FAIL if skill body instructs writing to `docs/`, `output/`, `tmp/`, `reports/`, or other non-`.bdk` paths
- PASS if output path is `.bdk/...` or no file output produced
- Exception: skills writing code/config into project structure as part of code-gen task (not report/artifact output)
### 19. No unused files in skill directory
List all files in skill directory (recursively). Every file other than `SKILL.md` must be referenced in skill body (markdown link, inline code mention, or explicit filename reference).
- WARN for each file present but not referenced anywhere in `SKILL.md`
- Exception: `SKILL.md` itself always exemptFrom 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
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
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
cr
broneq
Run code review with dynamic agent scaling (3-13 agents based on change size).
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.587score
debug
broneq
Debug issues through structured investigation, failing test creation, and targeted fixes.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
agent-lint
broneq
Lint a BDK agent file for best practices and portability.
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.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)
- Aug 21, 2026 (2 months 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
cr
broneq
Run code review with dynamic agent scaling (3-13 agents based on change size).
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
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
skill-lint. Agent Mart. https://agentmart.dev/skills/broneq-skill-lint (last updated 2026-10-24)