| name | project-init |
| description | Use when a non-developer user wants to create a new automation tool project. Sets up Python environment, project structure, and CLAUDE.md context file. Guides through environment setup → context gathering → structure initialization in user's preferred language. |
Project Init
Overview
This skill initializes new automation tool projects for non-developers. It guides users through Python installation, gathers project context, and sets up a standardized documentation-driven project structure.
Use this skill when:
- User wants to start a new automation project
- User mentions creating a tool for their work
- User asks how to begin with AI-assisted coding
Workflow
Step 1: Check Python Installation
Goal: Ensure Python 3.12+ is installed before proceeding.
Process:
Ask user about their operating system (if not already known):
- "어떤 운영체제를 사용하시나요? (Windows / macOS / Linux)"
- "Which operating system are you using? (Windows / macOS / Linux)"
Check if Python is installed:
python --version # or python3 --versionIf Python is NOT installed or version < 3.12:
- Read the appropriate setup guide based on OS:
- macOS:
assets/SETUP-python-macos.md - Windows:
assets/SETUP-python-windows.md - Linux:
assets/SETUP-python-linux.md
- macOS:
- Present the setup instructions in user's preferred language
- Guide user through installation step by step
- Wait for user to complete installation and verify
- Read the appropriate setup guide based on OS:
If Python 3.12+ is installed:
- Confirm version: "Python 3.12.x가 설치되어 있습니다. 다음 단계로 진행하겠습니다."
- Proceed to Step 2
Important:
- Language constraint explanation: Explain to user in their preferred language why we use Python:
- Best for data processing and automation
- Easy to install and use
- Rich ecosystem for common tasks
- TypeScript support can be added later if needed (e.g., n8n workflows)
Step 2: Gather User Context
Goal: Understand user's background, work domain, and project goals to personalize guidance.
Process:
Load the question reference:
Read: references/user-context-questions.mdAsk questions naturally (don't interrogate, have a conversation):
- Preferred communication language
- Work domain and tool purpose
- Technical background
- Confirm project type (Python-based local execution)
Example conversation flow:
AI: 안녕하세요! 어떤 분야에서 일하시나요? 그리고 이 도구로 무엇을 자동화하고 싶으신가요? User: 마케팅팀에서 일하고, 매일 리포트 만드는 걸 자동화하고 싶어요. AI: 좋습니다! 프로그래밍 경험이 있으신가요? User: 엑셀 함수는 쓸 줄 알지만 코딩은 처음이에요. AI: 알겠습니다. Python 기반으로 컴퓨터에서 직접 실행되는 도구를 만들게 됩니다. 먼저 프로젝트 구조를 만들겠습니다...Store answers mentally (you'll use them in Step 3)
Reference: references/user-context-questions.md contains detailed question flow and examples.
Step 3: Create CLAUDE.md
Goal: Create a project-specific context file that will guide all future AI interactions.
Process:
Load the template:
Read: assets/CLAUDE.md.templateFill in placeholders with answers from Step 2:
{{PREFERRED_LANGUAGE}}→ e.g., "한국어" or "English"{{WORK_DOMAIN}}→ e.g., "마케팅"{{TOOL_PURPOSE}}→ e.g., "매일 하는 리포트 자동화"{{TECHNICAL_BACKGROUND}}→ e.g., "엑셀 함수는 쓸 줄 알지만 코딩은 처음"{{PROJECT_TYPE}}→ "Python automation tool"{{DETAILED_TOOL_PURPOSE}}→ More detailed explanation if user provided{{KEY_REQUIREMENTS}}→ Specific requirements mentioned by user{{CONSTRAINTS}}→ Any constraints (time, resources, etc.)
Write CLAUDE.md to project root:
Write: CLAUDE.md (with filled template)Confirm with user:
- "CLAUDE.md 파일을 생성했습니다. 이 파일은 앞으로 AI가 프로젝트를 이해하는 데 사용됩니다."
- "Created CLAUDE.md file. This will help AI understand your project context."
Step 4: Initialize Project Structure
Goal: Create standardized directory structure for documentation-driven development.
Process:
Run the initialization script:
python scripts/init_structure.pyOr if user wants a specific directory:
python scripts/init_structure.py /path/to/projectThe script creates:
├── docs/ │ ├── knowledge-base/ # Domain knowledge, setup guides, API docs │ ├── plans/ # Implementation plans (PLN-XXX-YYYY-MM-DD-name.md) │ └── architecture/ # Component descriptions (how things work) ├── src/ # Source code ├── tests/ # Test files └── .gitignoreCreate .gitignore:
The
init_structure.pyscript automatically copies the gitignore template.Template includes:
- Python artifacts (pycache, *.pyc, etc.)
- Virtual environments (venv/, env/, etc.)
- IDE files (.vscode/, .idea/, etc.)
- Environment variables (.env, .env.local)
- Configuration files (config.yaml, config.json, credentials.json) ← Security!
- Test artifacts (.pytest_cache/, .coverage, etc.)
Initialize git repository (if not already initialized):
git init git add . git commit -m "Initial project structure"Explain the structure to user in their preferred language:
docs/- 모든 지식은 여기에 문서로 저장됩니다docs/plans/- 구현 계획이 PLN-001, PLN-002 형식으로 저장됩니다src/- 실제 코드가 들어갑니다tests/- 테스트 파일이 들어갑니다
Step 5: Next Steps Guidance
Goal: Guide user to the next skill (plan) and set expectations.
Process:
Explain the overall workflow:
프로젝트 초기화 완료! ✅ 다음 단계: 1. [plan] - 무엇을 만들지 구체적으로 계획하기 2. [implement] - 계획을 코드로 구현하기 3. [debug] - 문제가 생기면 해결하기 "plan 스킬을 사용하고 싶습니다" 라고 말씀해주세요.Remind about CLAUDE.md:
- "CLAUDE.md 파일은 프로젝트 루트에 있습니다"
- "앞으로 모든 AI 대화에서 이 파일을 참고합니다"
- "필요하면 언제든 수정할 수 있습니다"
Set expectations about Documentation = Source of Truth:
- 모든 지식은 문서(docs/)에 저장됩니다
- 코드는 블랙박스 구현입니다
- 변경사항은 문서에 먼저 또는 동시에 반영됩니다
Key Principles
Documentation-Driven Development
All knowledge lives in docs, code is black box implementation.
docs/knowledge-base/- Domain knowledge, setup guides, API referencesdocs/plans/- Implementation plans with Plan IDs (PLN-001, PLN-002, ...)docs/architecture/- How components work
Why?
- Non-developers understand documentation better than code
- AI can read docs to understand context without parsing code
- Changes are tracked in human-readable format
Plan ID System
- Format:
PLN-001-YYYY-MM-DD-name.md - Auto-incremented (PLN-001, PLN-002, ...)
- Used in git commit messages for traceability
- Example:
PLN-001-2025-10-26-daily-report-automation.md
Language Constraint (Python)
Month 1: Python only (TypeScript deferred based on demand)
Reasons explained to user:
- Best for data processing and automation (primary use case)
- Easy to install and use
- Rich ecosystem for common automation tasks
- TypeScript support can be added as an extension if needed (e.g., n8n workflows)
Communication Language
All communication with user must be in their preferred language (stored in CLAUDE.md).
- If user starts in Korean → Korean
- If user starts in English → English
- If unclear → Ask: "어떤 언어로 대화하는 것이 편하세요? (한국어 / English)"
Troubleshooting
Python installation fails
macOS:
- Homebrew permission issues → Don't use sudo, run
brew doctor - Command not found → Restart terminal, check PATH
Windows:
- "python not recognized" → Check "Add Python to PATH" was selected
- Permission denied → Run as Administrator or change execution policy
Linux:
- python3.12 not found → Add deadsnakes PPA (Ubuntu/Debian)
- venv module missing → Install python3.12-venv package
Solution: Refer user to the appropriate SETUP guide and walk through step-by-step.
User has existing project structure
Don't overwrite!
Ask user if they want to:
- Create in new directory
- Merge with existing structure (careful!)
- Skip structure creation (only create CLAUDE.md)
If merging:
- Check for conflicts
- Ask permission before creating each directory
- Don't overwrite existing files
User wants TypeScript instead of Python
Explain the constraint:
- Current version supports Python only
- TypeScript can be added later as an extension
- For n8n workflows, TypeScript can be integrated when needed
If user insists:
- Acknowledge the limitation
- Offer to proceed with Python and note TypeScript as future extension
- Or defer to program facilitator for special cases
Resources Used
assets/
CLAUDE.md.template- Project context templateSETUP-python-macos.md- macOS Python 3.12 installation guideSETUP-python-windows.md- Windows Python 3.12 installation guideSETUP-python-linux.md- Linux Python 3.12 installation guidegitignore-python.template- Python project .gitignore template
scripts/
init_structure.py- Cross-platform project structure initialization (Python)
references/
user-context-questions.md- Detailed user context gathering guide with examples
Example Session
User: 새 프로젝트 시작하고 싶어요
AI: [Loads project-init skill]
AI: 좋습니다! 먼저 Python이 설치되어 있는지 확인하겠습니다.
어떤 운영체제를 사용하시나요? (Windows / macOS / Linux)
User: macOS요
AI: [Checks Python version]
Python 3.12.2가 설치되어 있습니다. ✅
이제 프로젝트에 대해 몇 가지 여쭤볼게요.
어떤 분야에서 일하시나요? 그리고 이 도구로 무엇을 자동화하고 싶으신가요?
User: 마케팅팀에서 일하고, 매일 여러 플랫폼에서 데이터 모아서
리포트 만드는데 이걸 자동화하고 싶어요
AI: 좋은 프로젝트네요! 프로그래밍 경험이 있으신가요?
User: 엑셀 함수는 쓸 줄 아는데 코딩은 처음이에요
AI: 알겠습니다. Python 기반으로 진행됩니다.
- 데이터 처리와 자동화에 최적화되어 있어요
- 설치와 사용이 쉽습니다
- 나중에 필요하면 TypeScript도 추가할 수 있습니다
[Creates CLAUDE.md with context]
[Runs init_structure.py]
[Creates .gitignore]
[Initializes git]
프로젝트 초기화 완료! ✅
다음 단계:
1. [plan] - 무엇을 만들지 구체적으로 계획하기
2. [implement] - 계획을 코드로 구현하기
3. [debug] - 문제가 생기면 해결하기
"plan 스킬을 사용하고 싶습니다" 라고 말씀해주세요.