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:
bashpython --version # or python3 --version
- •
If 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:
codeRead: references/user-context-questions.md
- •
Ask 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:
codeAI: 안녕하세요! 어떤 분야에서 일하시나요? 그리고 이 도구로 무엇을 자동화하고 싶으신가요? 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:
codeRead: assets/CLAUDE.md.template
- •
Fill 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:
codeWrite: 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:
bashpython scripts/init_structure.py
Or if user wants a specific directory:
bashpython scripts/init_structure.py /path/to/project
- •
The script creates:
code├── 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 └── .gitignore
- •
Create .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):
bashgit 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:
code프로젝트 초기화 완료! ✅ 다음 단계: 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 references - •
docs/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 template - •
SETUP-python-macos.md- macOS Python 3.12 installation guide - •
SETUP-python-windows.md- Windows Python 3.12 installation guide - •
SETUP-python-linux.md- Linux Python 3.12 installation guide - •
gitignore-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 스킬을 사용하고 싶습니다" 라고 말씀해주세요.