line-limit
コード実装ファイルの行数を制限し、レビューや作成時、またはファイルが長すぎる場合に、可読性や保守性を高めるためにモジュール分割を促すSkill。
📜 元の英語説明(参考)
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.
🇯🇵 日本人クリエイター向け解説
コード実装ファイルの行数を制限し、レビューや作成時、またはファイルが長すぎる場合に、可読性や保守性を高めるためにモジュール分割を促すSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o line-limit.zip https://jpskill.com/download/18876.zip && unzip -o line-limit.zip && rm line-limit.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/18876.zip -OutFile "$d\line-limit.zip"; Expand-Archive "$d\line-limit.zip" -DestinationPath $d -Force; ri "$d\line-limit.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
line-limit.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
line-limitフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 2
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
行数制限の強制
コード実装ファイルに対する行数制限を強制するスキルです。
適用範囲
このスキルはコード実装ファイルにのみ適用されます。
✅ 適用対象
| ファイルタイプ | 拡張子 |
|---|---|
| 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.* |
手動管理しないため |
| 型定義 | .d.ts |
宣言ファイル |
| CSS/スタイル | .css, .scss |
スタイルシート |
ルール
| 状態 | 行数 | 措置 |
|---|---|---|
| ✅ OK | 0-200 | 正常 |
| ⚠️ WARNING | 201-300 | リファクタリングを推奨 |
| 🔴 VIOLATION | 301+ | 必須の分割 |
このスキルがアクティブになるタイミング
- 新規ファイル作成時に行数をチェック
- コードレビューリクエスト時
- 「ファイルが長すぎる」「モジュール化してほしい」などのリクエスト時
- 300行を超えるファイルが発見された場合
強制ワークフロー
1. 行数チェック
wc -l <file>
2. 状態判定
if lines <= 200: ✅ OK
elif lines <= 300: ⚠️ WARNING - リファクタリング推奨
else: 🔴 VIOLATION - 分割必須
3. 違反時の措置
🔴 300行を超えるファイルが発見された場合は必ず:
- ファイル構造を分析 (関数/クラス/セクションの把握)
- 分割可能な単位を識別:
- ユーティリティ関数 →
utils/またはhelpers/ - 型定義 →
types/または*.types.ts - 定数/設定 →
constants/またはconfig/ - サブコンポーネント →
components/ - フック →
hooks/
- ユーティリティ関数 →
- 分割計画を提示
- ユーザーの承認後、リファクタリングを実行
モジュール化パターン
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
一般的な関数
# 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
例
例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 - ヘルパー関数を抽出
分割を進めますか?
例2: 新規ファイル作成時
User: ダッシュボードコンポーネントを作成してほしい
Claude: [作成中に200行に達した場合]
⚠️ WARNING: 200行に達しました - 分割を推奨します
現在の構造:
- DashboardHeader (40 lines)
- DashboardStats (60 lines)
- DashboardChart (80 lines)
- hooks (20 lines)
各セクションを別ファイルに分割しながら続行しますか?
例3: モジュール化リクエスト
User: このファイルが長すぎるので、整理してほしい
Claude: [line-limit スキルがアクティブ化]
📊 現在: 456 lines
🔴 VIOLATION: 156行超過
[分析と分割計画の提示...]
参照
詳細なモジュール化ガイド: references/modularization-guide.md
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
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
| 상태 | 라인 수 | 조치 |
|---|---|---|
| ✅ OK | 0-200 | 정상 |
| ⚠️ WARNING | 201-300 | 권장 리팩토링 |
| 🔴 VIOLATION | 301+ | 필수 분리 |
When This Skill Activates
- 새 파일 작성 시 라인 수 체크
- 코드 리뷰 요청 시
- "파일이 너무 길어", "모듈화 해줘" 등 요청 시
- 300줄 초과 파일 발견 시
Enforcement Workflow
1. 라인 수 체크
wc -l <file>
2. 상태 판정
if lines <= 200: ✅ OK
elif lines <= 300: ⚠️ WARNING - 리팩토링 권장
else: 🔴 VIOLATION - 분리 필수
3. 위반 시 조치
🔴 300줄 초과 파일 발견 시 반드시:
- 파일 구조 분석 (함수/클래스/섹션 파악)
- 분리 가능한 단위 식별:
- 유틸리티 함수 →
utils/또는helpers/ - 타입 정의 →
types/또는*.types.ts - 상수/설정 →
constants/또는config/ - 하위 컴포넌트 →
components/ - 훅 →
hooks/
- 유틸리티 함수 →
- 분리 계획 제시
- 사용자 승인 후 리팩토링 실행
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
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (4,394 bytes)
- 📎 references/modularization-guide.md (3,051 bytes)