agentsclimarketplace

Line limit

Skill aiskillstore/marketplace/skills/doyajin174/line-limit

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.From its SKILL.md

Install
npx -y skills add aiskillstore/marketplace --skill line-limit

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.3 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

Line Limit Enforcement

코드 구현 파일에 대한 라인 수 제한을 강제하는 스킬입니다.

Scope

이 스킬은 코드 구현 파일에만 적용됩니다.

✅ 적용 대상

파일 유형확장자
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스타일시트

Rules

상태라인 수조치
✅ OK0-200정상
⚠️ WARNING201-300권장 리팩토링
🔴 VIOLATION301+필수 분리

When This Skill Activates

  • 새 파일 작성 시 라인 수 체크
  • 코드 리뷰 요청 시
  • "파일이 너무 길어", "모듈화 해줘" 등 요청 시
  • 300줄 초과 파일 발견 시

Enforcement Workflow

1. 라인 수 체크

wc -l <file>

2. 상태 판정

if lines <= 200: ✅ OK
elif lines <= 300: ⚠️ WARNING - 리팩토링 권장
else: 🔴 VIOLATION - 분리 필수

3. 위반 시 조치

🔴 300줄 초과 파일 발견 시 반드시:

  1. 파일 구조 분석 (함수/클래스/섹션 파악)
  2. 분리 가능한 단위 식별:
    • 유틸리티 함수 → utils/ 또는 helpers/
    • 타입 정의 → types/ 또는 *.types.ts
    • 상수/설정 → constants/ 또는 config/
    • 하위 컴포넌트 → components/
    • 훅 → hooks/
  3. 분리 계획 제시
  4. 사용자 승인 후 리팩토링 실행

Modularization Patterns

React/TypeScript

# 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

General Functions

# 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

Examples

Example 1: 코드 리뷰 시

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 - 헬퍼 함수 추출

분리를 진행할까요?

Example 2: 새 파일 작성 시

User: 대시보드 컴포넌트 만들어줘

Claude: [작성 중 200줄 도달 시]
⚠️ WARNING: 200줄 도달 - 분리 권장

현재 구조:
- DashboardHeader (40 lines)
- DashboardStats (60 lines)
- DashboardChart (80 lines)
- hooks (20 lines)

각 섹션을 별도 파일로 분리하면서 계속 진행할까요?

Example 3: 모듈화 요청

User: 이 파일 너무 길어, 정리해줘

Claude: [line-limit 스킬 활성화]
📊 현재: 456 lines
🔴 VIOLATION: 156줄 초과

[분석 및 분리 계획 제시...]

References

상세 모듈화 가이드: references/modularization-guide.md

What ships with it: 2 files

35.8 KB alongside SKILL.md

references/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.