Agent skill
check-boundaries
Audit for convention violations and dependency boundary issues
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/check-boundaries
SKILL.md
Check Boundaries Skill
Audit the x4-mono codebase for convention violations and dependency boundary issues.
Workflow
- Run ESLint:
bun turbo lintto catch boundary violations - Check for console.log: Grep for
console.login production code (not test files) - Check for
anytype: Grep for: anyandas anyin TypeScript files - Check for hard-coded env vars: Grep for patterns like
process.env.outsideenv.ts - Check import paths: Verify no relative imports cross package boundaries
- Check file naming: Verify kebab-case for files, PascalCase for components
- Check for forbidden patterns: Items from the "Do NOT" list in CLAUDE.md
- Report all violations: Structured output with fix suggestions
Checks
1. Dependency Boundaries
packages/shared/types → imports NOTHING
packages/shared/utils → can import: shared/types
packages/database → can import: shared/types
packages/auth → can import: database, shared/types
packages/ai-integrations → can import: shared/types
apps/* → can import: any package
Critical: Never import from apps/* in packages/*.
2. No console.log
Search for console.log, console.warn, console.error in:
apps/api/src/(excluding test files)packages/(excluding test files)
Exceptions: apps/api/src/lib/env.ts (startup validation only)
3. No any Type
Search for : any, as any, <any> in .ts and .tsx files.
4. No Hard-coded Env Vars
Search for process.env. outside of apps/api/src/lib/env.ts.
5. Import Path Conventions
- Cross-package: Must use
@packages/*or@x4/* - Intra-workspace: Must use
@/* - No relative paths crossing package boundaries (e.g.,
../../../packages/)
6. File Naming
- Files: kebab-case (
user-profile.ts, notuserProfile.ts) - Components: PascalCase exports
- Constants: SCREAMING_SNAKE_CASE
7. Forbidden Patterns
- No Express imports
- No Prisma imports
- No NextAuth/Auth.js imports
- No jest imports (use
bun:test) - No API routes in
apps/web(API is inapps/api)
Output Format
## Boundary Check Results
### Summary
- Violations found: N
- Categories: [list]
### Violations
#### [CATEGORY] Description
**File**: path/to/file.ts:line
**Rule**: Which convention was violated
**Fix**: How to fix it
---
### Clean
- [x] ESLint passes
- [x] No console.log in production
- [x] No `any` types
- [x] No hard-coded env vars
- [x] Import paths correct
- [x] File naming correct
- [x] No forbidden patterns
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?