mcpField
P
prompt-enhancer

prompt-enhancer

github.com/bear2uエージェントワークフロー93556 回インストール19 週間前に更新
リポジトリ

prompt-enhancer について

prompt-enhancerは、コーディングエージェント向けの開発要件整理スキルです。プロジェクトのファイルや規約を調べ、短い依頼を構造化した要件にまとめ、実装前に確認を求めます。

主な機能

  1. 01プロジェクト構成と技術スタックの確認
  2. 02依頼の種類・範囲・依存関係の特定
  3. 03構造化された実装要件の作成
  4. 04実装前の確認依頼

活用シーン

  1. 01既存プロジェクトで短い機能依頼を明確化
  2. 02プロジェクトの既存パターンに沿った変更計画
  3. 03実装前に不足するコンテキストを特定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bear2u/my-skills --skill prompt-enhancer

インストール後、Claude Code で/prompt-enhancerを入力して読み込まれたか確認します。

同梱ファイルreferences/enhancement-patterns.mdreferences/framework-guides.md

詳細

プロンプトエンハンサー

プロジェクトのコンテキストを分析し、簡潔な開発リクエストを明確で詳細な要件に変換します。実装に着手する前に、強化した要件をユーザーに提示して確認を求めます。

このスキルを使用するタイミング

次の場合にこのスキルを使用します:

  • ユーザーが「로그인 기능 만들어줘」、「API 추가해줘」のような簡潔な開発リクエストを提示した場合
  • リクエストに具体的な実装の詳細が不足している場合
  • ユーザーがプロジェクトファイルをアップロードした場合、または「the project」と述べた場合
  • タスクでプロジェクトのアーキテクチャを理解する必要がある場合

基本的なワークフロー

ステップ 1:プロジェクトのコンテキストを分析する

アップロードされたファイルを確認する:

view /mnt/user-data/uploads

重要な情報を収集する:

  • プロジェクトの構造と編成
  • 技術スタック(package.json、pubspec.yaml、requirements.txt など)
  • 既存のパターン(状態管理、API 呼び出し、ルーティング)
  • コード規約(命名、ファイル構成)
  • 類似する既存機能
ステップ 2:リクエストの意図を特定する

ユーザーの簡潔なリクエストから、以下を特定します:

  • 機能の種類:新機能、バグ修正、リファクタリング、API 連携
  • 範囲:単一画面、全体のフロー、バックエンド + フロントエンド
  • 依存関係:関連する機能やシステム
ステップ 3:強化した要件を作成する

次の内容を含む、構造化された要件ドキュメントを作成します:

# [기능명] 구현 요구사항

## 📋 프로젝트 컨텍스트
- Framework: [detected framework and version]
- Architecture: [detected pattern]
- State Management: [detected library]
- Key Libraries: [list relevant dependencies]

## 🎯 구현 범위

### 주요 기능
1. [Main feature 1]
2. [Main feature 2]
3. [Main feature 3]

### 파일 구조

[プロジェクトに基づく想定ファイル構成]


## 📝 상세 요구사항

### 1. [Layer/Component Name]
- **위치**: [File path]
- **목적**: [What it does]
- **구현 내용**:
  - [Specific requirement 1]
  - [Specific requirement 2]
- **기존 패턴 따르기**: [Reference to existing pattern]

### 2. [Next Layer/Component]
...

## ✅ 성공 기준
- [ ] [Acceptance criteria 1]
- [ ] [Acceptance criteria 2]
- [ ] [Acceptance criteria 3]
- [ ] 기존 코드 스타일 및 아키텍처 일관성 유지
- [ ] 모든 주요 기능에 대한 테스트 작성

## 🔍 확인 사항
- [Any questions or clarifications needed]
- [Assumptions made]

---
이 요구사항으로 진행할까요? 수정이 필요한 부분이 있다면 말씀해주세요.
ステップ 4:ユーザーに提示する

重要:強化した要件を作成したら、ユーザーに提示して確認を求めます:

위 요구사항을 분석해서 정리했습니다. 

이대로 진행해도 될까요? 
수정하거나 추가할 내용이 있으면 말씀해주세요!

ユーザーが確認するまで実装してはいけません。まず要件を明確にすることが目的です。

技術スタック別の分析パターン

Flutter プロジェクト

検出方法:pubspec.yaml、lib/ ディレクトリ

収集する重要なコンテキスト:

  • 状態管理(Riverpod、Bloc、Provider、GetX)
  • アーキテクチャ(クリーンアーキテクチャ、MVVM、MVC)
  • ナビゲーション(go_router、auto_route、Navigator)
  • ネットワーク(Dio、http)
  • ローカルストレージ(Hive、SharedPreferences、SQLite)

強化した要件に含める内容:

## 구현 범위

### Presentation Layer
- 화면: lib/presentation/[feature]/[screen]_screen.dart
- 상태: [StateNotifier/Bloc/Controller] with [state pattern]
- 위젯: 재사용 가능한 컴포넌트

### Domain Layer
- Entity: lib/domain/entities/[name].dart
- UseCase: lib/domain/usecases/[action]_usecase.dart
- Repository Interface: lib/domain/repositories/

### Data Layer
- Model: lib/data/models/[name]_model.dart (fromJson/toJson)
- Repository Implementation: lib/data/repositories/
- DataSource: lib/data/datasources/

### Navigation
- Route: [route path]
- Navigation method: [context.go/push based on router]

## 성공 기준
✅ [State management]로 상태 관리
✅ [Existing widget] 스타일 일관성 유지
✅ API 응답 에러 처리
✅ 로딩 상태 표시
✅ Widget test 작성
Next.js/React プロジェクト

検出方法:「next」または「react」を含む package.json

収集する重要なコンテキスト:

  • Next.js のバージョン(App Router と Pages Router のどちらか)
  • 状態管理(Zustand、Redux、Context)
  • スタイリング(Tailwind、CSS Modules、styled-components)
  • API の方式(Next.js API routes、外部 API)
  • TypeScript の使用状況

強化した要件に含める内容:

## 구현 범위

### UI Components
- 컴포넌트: [path]/[ComponentName].tsx
- Props interface: [existing pattern]
- Styling: [Tailwind classes/CSS modules]

### State Management
- Store: [existing state structure]
- Actions: [action naming convention]

### API Layer
- Endpoint: [app/api or external]
- Method: [GET/POST/PUT/DELETE]
- Response type: [TypeScript interface]

### Routing
- Route: [app/[route] or pages/[route]]
- Dynamic segments: [if needed]

## 성공 기준
✅ TypeScript 타입 안정성
✅ [Existing components] 재사용
✅ 반응형 디자인 (모바일/데스크톱)
✅ SEO 최적화 (메타데이터)
✅ Unit test + Integration test
Python(Django/FastAPI)プロジェクト

検出方法:requirements.txt、manage.py、main.py

収集する重要なコンテキスト:

  • フレームワーク(Django、FastAPI、Flask)
  • ORM(SQLAlchemy、Django ORM、Tortoise)
  • 認証方式
  • API ドキュメント(OpenAPI/Swagger)

強化した要件に含める内容:

## 구현 범위

### Models/Schema
- Model: [app]/models.py or schemas/[name].py
- Fields: [field definitions with types]
- Relationships: [ForeignKey/relationships]

### Views/Endpoints
- Route: [path]
- Method: [HTTP method]
- Request/Response schema: [Pydantic models]

### Business Logic
- Service: [if applicable]
- Validation: [input validation]

### Database
- Migration: [migration command]

## 성공 기준
✅ API documentation 자동 생성
✅ Request validation
✅ Error handling with proper status codes
✅ Unit test + Integration test
✅ [Authentication] 적용

要件を強化する例

ユーザー入力:

로그인 기능 구현해줘

スキルの出力:

# 로그인 기능 구현 요구사항

## 📋 프로젝트 컨텍스트
- Framework: Flutter 3.16.0 with null safety
- Architecture: Clean Architecture
- State Management: Riverpod (StateNotifier pattern)
- Network: Dio 5.3.0
- Storage: flutter_secure_storage
- Navigation: go_router

## 🎯 구현 범위

### 주요 기능
1. 이메일/비밀번호 로그인 폼
2. JWT 토큰 기반 인증
3. 로그인 성공 시 홈 화면 이동
4. 에러 처리 및 사용자 피드백

### 파일 구조

lib/ ├── presentation/ │ └── auth/ │ ├── login_screen.dart │ ├── login_notifier.dart │ └── login_state.dart ├── domain/ │ ├── entities/user.dart │ ├── usecases/login_usecase.dart │ └── repositories/auth_repository.dart └── data/ ├── models/ │ ├── user_model.dart │ └── login_response.dart ├── repositories/auth_repository_impl.dart └── datasources/auth_remote_datasource.dart


## 📝 상세 요구사항

### 1. Presentation Layer - 로그인 화면
- **위치**: lib/presentation/auth/login_screen.dart
- **목적**: 사용자 로그인 UI 제공
- **구현 내용**:
  - ConsumerStatefulWidget 사용
  - Email TextFormField (이메일 형식 검증)
  - Password TextFormField (8자 이상, obscureText)
  - 로그인 PrimaryButton
  - 회원가입 링크
  - 로딩 상태 시 오버레이 표시
- **기존 패턴 따르기**: core/widgets/custom_text_field.dart 스타일 사용

### 2. State Management
- **위치**: lib/presentation/auth/login_notifier.dart
- **목적**: 로그인 상태 관리
- **구현 내용**:
  - StateNotifier<LoginState> 상속
  - login(email, password) 메서드
  - 성공 시 토큰 저장 후 상태 업데이트
  - 에러 시 에러 메시지 상태 설정
- **기존 패턴 따르기**: 다른 notifier들과 동일한 패턴

### 3. Domain Layer - 엔티티
- **위치**: lib/domain/entities/user.dart
- **목적**: 사용자 도메인 모델
- **구현 내용**:
  - Freezed로 불변 클래스 생성
  - id, email, name, profileImageUrl 필드
- **기존 패턴 따르기**: 다른 entity들과 동일한 구조

### 4. Domain Layer - UseCase
- **위치**: lib/domain/usecases/login_usecase.dart
- **목적**: 로그인 비즈니스 로직
- **구현 내용**:
  - call(LoginParams) 메서드
  - Either<Failure, User> 반환
  - repository 의존성 주입
- **기존 패턴 따르기**: 단일 책임 UseCase 패턴

### 5. Data Layer - API 통신
- **위치**: lib/data/datasources/auth_remote_datasource.dart
- **목적**: 로그인 API 호출
- **구현 내용**:
  - POST /api/auth/login
  - Request: {"email": string, "password": string}
  - Response: LoginResponse (accessToken, refreshToken, user)
  - Dio instance 재사용
- **기존 패턴 따르기**: 기존 datasource들의 에러 처리 방식

### 6. Data Layer - Repository 구현
- **위치**: lib/data/repositories/auth_repository_impl.dart
- **목적**: Repository 인터페이스 구현
- **구현 내용**:
  - login 메서드 구현
  - 토큰 저장 (TokenStorage 사용)
  - DioException 처리
  - UserModel을 User entity로 변환
- **기존 패턴 따르기**: try-catch-Either 패턴

### 7. Navigation 설정
- **위치**: lib/core/router/app_router.dart
- **목적**: 로그인 라우트 추가
- **구현 내용**:
  - /login 라우트 추가
  - 로그인 성공 시 /home으로 리다이렉트
  - 인증 가드 로직
- **기존 패턴 따르기**: 기존 go_router 설정 방식

## ✅ 성공 기준
- [ ] 사용자가 이메일과 비밀번호 입력
- [ ] 로그인 버튼 클릭 시 API 호출
- [ ] 성공 시 토큰 저장 및 홈 화면 이동
- [ ] 실패 시 적절한 에러 메시지 표시 (SnackBar)
- [ ] 로딩 중 버튼 비활성화 및 로딩 인디케이터
- [ ] 이메일 형식 및 비밀번호 길이 검증
- [ ] 기존 코드 스타일 및 아키텍처 일관성 유지
- [ ] Widget test 작성 (로그인 화면)
- [ ] Repository test 작성 (mock API)
- [ ] UseCase test 작성

## 🔍 확인 사항
- API 엔드포인트 주소가 `https://api.example.com`이 맞나요?
- 토큰 만료 시 자동 갱신 기능이 필요한가요?
- 소셜 로그인(구글, 애플 등)도 함께 구현할까요?
- "비밀번호 찾기" 기능이 필요한가요?

---
위 요구사항으로 진행할까요? 수정이 필요한 부분이 있다면 말씀해주세요!

効果的に要件を強化するためのヒント

必ず確認を求める

プロジェクトのコンテキストが不明確、または不十分な場合:

프로젝트 파일을 업로드해주시면 더 정확한 요구사항을 만들 수 있습니다.
또는 다음 정보를 알려주세요:
- 사용 중인 프레임워크
- 상태 관리 라이브러리
- 기존 프로젝트 구조
視覚的な例を含める

役立つ場合は、既存の画面やコンポーネントに言及します:

기존 ProfileScreen과 유사한 레이아웃으로 구현
- AppBar 스타일 동일
- TextFormField 디자인 재사용
- PrimaryButton 컴포넌트 사용
依存関係を明確にする
## 🔗 연관 기능
- UserRepository: 사용자 정보 조회에 재사용
- TokenStorage: 기존 토큰 저장 로직 활용
- ErrorHandler: 공통 에러 처리 적용

参考ファイル

詳細なパターンについては、以下を参照してください:

  • 要件強化パターン:references/enhancement-patterns.md
  • フレームワークガイド:references/framework-guides.md

コメント