关于 prompt-enhancer
prompt-enhancer 是面向编码 Agent 的需求澄清技能。它检查项目文件与既有规范,将简短请求整理为结构化要求,并在实现前征求确认。
主要功能
- 01检查项目结构与技术栈
- 02识别请求类型、范围和依赖
- 03编写结构化实现要求
- 04实现前请求确认
适用场景
- 01澄清现有项目中的简短功能请求
- 02依据项目既有模式规划变更
- 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 추가해줘”
- 请求缺少具体的实现细节
- 用户上传项目文件或提到“这个项目”
- 任务需要了解项目架构
核心工作流
步骤 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]
### 파일 구조
[Expected file structure based on project]
## 📝 상세 요구사항
### 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)
- 架构(Clean Architecture、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 路由、外部 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