skills/doyajin174/line-limit/SKILL.md
Enforce file line count limits (200 recommended, 300 max) for CODE IMPLEMENTATION files only. Use this when reviewing code, creating files, or when files exceed line limits and need modularization.
npx skillsauth add aiskillstore/marketplace line-limitInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
코드 구현 파일에 대한 라인 수 제한을 강제하는 스킬입니다.
이 스킬은 코드 구현 파일에만 적용됩니다.
| 파일 유형 | 확장자 |
|----------|--------|
| JavaScript/TypeScript | .js, .ts, .jsx, .tsx |
| Python | .py |
| Go | .go |
| Rust | .rs |
| Java/Kotlin | .java, .kt |
| C/C++ | .c, .cpp, .h |
| 기타 실행 코드 | 언어별 소스 파일 |
| 파일 유형 | 확장자/위치 | 사유 |
|----------|------------|------|
| Jupyter Notebook | .ipynb | 셀 기반 구조, 출력 포함 |
| 스킬 파일 | SKILL.md | 문서/가이드 (500줄까지 허용) |
| 문서 파일 | .md, .mdx | 문서는 길어도 무방 |
| 설정 파일 | .json, .yaml, .toml | 구조적 데이터 |
| 테스트 픽스처 | fixtures/, __mocks__/ | 테스트 데이터 |
| 자동 생성 파일 | *.generated.*, *.g.* | 수동 관리 X |
| 타입 정의 | .d.ts | 선언 파일 |
| CSS/스타일 | .css, .scss | 스타일시트 |
| 상태 | 라인 수 | 조치 | |------|---------|------| | ✅ OK | 0-200 | 정상 | | ⚠️ WARNING | 201-300 | 권장 리팩토링 | | 🔴 VIOLATION | 301+ | 필수 분리 |
wc -l <file>
if lines <= 200: ✅ OK
elif lines <= 300: ⚠️ WARNING - 리팩토링 권장
else: 🔴 VIOLATION - 분리 필수
🔴 300줄 초과 파일 발견 시 반드시:
utils/ 또는 helpers/types/ 또는 *.types.tsconstants/ 또는 config/components/hooks/# Before (500 lines)
src/components/Dashboard.tsx
# After
src/components/Dashboard/
├── index.tsx # Main component (< 200 lines)
├── DashboardHeader.tsx
├── DashboardStats.tsx
├── DashboardChart.tsx
├── hooks/
│ └── useDashboardData.ts
├── types.ts
└── constants.ts
# Before (400 lines)
src/utils/helpers.ts
# After
src/utils/
├── index.ts # Re-exports
├── string.utils.ts
├── date.utils.ts
├── array.utils.ts
└── validation.utils.ts
User: 이 파일 리뷰해줘 - src/services/api.ts
Claude: [파일 읽기 후]
📊 라인 수 체크: 342 lines
🔴 VIOLATION: 300줄 초과 - 모듈화 필요
분석 결과:
- API 엔드포인트 함수: 15개 (240 lines)
- 타입 정의: 12개 (45 lines)
- 헬퍼 함수: 5개 (57 lines)
권장 분리:
1. api/endpoints/ - 엔드포인트별 분리
2. api/types.ts - 타입 정의 추출
3. api/helpers.ts - 헬퍼 함수 추출
분리를 진행할까요?
User: 대시보드 컴포넌트 만들어줘
Claude: [작성 중 200줄 도달 시]
⚠️ WARNING: 200줄 도달 - 분리 권장
현재 구조:
- DashboardHeader (40 lines)
- DashboardStats (60 lines)
- DashboardChart (80 lines)
- hooks (20 lines)
각 섹션을 별도 파일로 분리하면서 계속 진행할까요?
User: 이 파일 너무 길어, 정리해줘
Claude: [line-limit 스킬 활성화]
📊 현재: 456 lines
🔴 VIOLATION: 156줄 초과
[분석 및 분리 계획 제시...]
상세 모듈화 가이드: references/modularization-guide.md
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.