| name | Obsidian Add Content |
| description | Obsidian vault에 새로운 Frontend 지식 또는 Team Sparta 프로젝트를 템플릿 기반으로 추가합니다. 폴더 존재 여부를 확인하고 필요시 생성합니다. |
Obsidian Add Content Skill
이 Skill은 Obsidian vault에 새로운 콘텐츠를 템플릿 기반으로 추가합니다.
Vault 경로
/Users/teamsparta/Library/Mobile Documents/iCloud~md~obsidian/Documents/for-dev
템플릿 경로
- Information 템플릿:
/Users/teamsparta/Library/Mobile Documents/iCloud~md~obsidian/Documents/for-dev/template/Information.md - Repository 템플릿:
/Users/teamsparta/Library/Mobile Documents/iCloud~md~obsidian/Documents/for-dev/template/Repository.md - Code 템플릿:
/Users/teamsparta/Library/Mobile Documents/iCloud~md~obsidian/Documents/for-dev/template/Code.md
사용 시나리오
1. Frontend 라이브러리/기능 추가
사용자 입력 예시:
- "React의 useEffect 추가해줘"
- "Next의 getServerSideProps 추가"
- "Vanilla의 Event Delegation 추가"
동작:
- 입력에서 라이브러리명(React/Next/Vanilla 등)과 기능명 추출
Frontend/{라이브러리}/폴더 확인- 없으면: 폴더 생성 +
{라이브러리}.md폴더 노트 생성 (Information 템플릿) - 있으면: 기존 폴더 사용
- 없으면: 폴더 생성 +
Frontend/{라이브러리}/{기능명}.md생성 (Information 템플릿)- Frontmatter 자동 설정:
created-at: 오늘 날짜 (YYYY-MM-DD)tags: 자동 추천 (아래 로직 참고)color: 빈 문자열
- 제목과 기본 섹션 구조 생성
2. Team Sparta 프로젝트 추가
사용자 입력 예시:
- "모두AI 프로젝트 추가해줘"
- "아카데미아 repo 추가"
동작:
- 입력에서 프로젝트명 추출
Team Sparta/repo/{프로젝트명}/폴더 생성Team Sparta/repo/{프로젝트명}/{프로젝트명}.md생성 (Repository 템플릿)- Frontmatter 자동 설정:
created-at: 오늘 날짜tags:[team-sparta, project]color: 빈 문자열tech-stack: 빈 배열 (사용자가 채움)project-type: 빈 문자열 (사용자가 채움)description: 빈 문자열 (사용자가 채움)
- 제목과 기본 섹션 구조 생성
3. Repo 코드 파일 추가
사용자 입력 예시:
- "dev_proxy의 config 추가"
- "모두AI의 utils 추가"
- "/Users/teamsparta/repo/modoo-ai-frontend/src/features/product-tour 의 스켈레톤 만들어줘"
동작:
A. 단일 파일 추가 (간단한 입력)
- 프로젝트 폴더 확인 (없으면 생성)
{프로젝트}/{파일명}.md생성 (Code 템플릿)- frontmatter:
created-at: 현재 날짜tags:[team-sparta, code]color: 빈 문자열file-path: 빈 문자열 (사용자가 채움)language: 입력에서 추론 (config.js → javascript, utils.py → python)
- 제목: 파일명
- "## 코드" 섹션: 해당 언어의 빈 코드 블록 생성
- frontmatter:
- 사용자가 "## 코드" 섹션에 실제 코드 작성
- 코드 분석이나 설명 작성은 하지 않음 - 이는
obsidian-refine-contentSkill의 역할
B. 디렉토리 구조 기반 스켈레톤 생성 (경로 입력)
사용자가 실제 파일 시스템 경로를 입력한 경우:
예시: /Users/teamsparta/repo/modoo-ai-frontend/src/features/product-tour
동작:
경로 파싱:
/Users/teamsparta/repo/이후의 경로 추출- 프로젝트명 식별:
modoo-ai-frontend - 하위 경로 추출:
src/features/product-tour
프로젝트 폴더 생성:
Team Sparta/repo/{프로젝트명}/폴더 생성{프로젝트명}.md프로젝트 문서 생성 (Repository 템플릿)
실제 디렉토리 구조 스캔:
- 입력된 경로의 모든 소스 파일 탐색 (
.ts,.tsx,.js,.jsx,.py등) - 각 파일의 상대 경로 파악
- 입력된 경로의 모든 소스 파일 탐색 (
Obsidian 디렉토리 구조 재현:
- 원본 프로젝트의 폴더 구조를 Obsidian vault에 완전히 동일하게 재현
- 예시:
원본: /repo/modoo-ai-frontend/src/features/product-tour/contexts/context.ts 생성: Team Sparta/repo/modoo-ai-frontend/src/features/product-tour/contexts/context.md 원본: /repo/modoo-ai-frontend/src/features/product-tour/components/button.tsx 생성: Team Sparta/repo/modoo-ai-frontend/src/features/product-tour/components/button.md - 중요: 전체 경로를 그대로 유지!
src/features/product-tour/같은 중간 경로도 모두 포함 - 실제 레포와 동일한 문서 구조를 만드는 것이 목표
각 파일에 대해 Code 템플릿 기반 문서 생성:
- frontmatter:
created-at: 현재 날짜tags:[team-sparta, code]file-path: 실제 파일의 절대 경로language: 파일 확장자에서 추론 (.tsx→tsx,.ts→typescript)
- 제목: 파일명 (확장자 제외)
- "## 코드" 섹션: 실제 파일의 코드를 읽어서 삽입 (Read tool 사용)
- frontmatter:
폴더별 그룹화:
- 동일한 폴더의 파일들은 같은 Obsidian 하위 폴더에 생성
- 예:
contexts/,components/,hooks/,helpers/등
생성 예시:
Team Sparta/repo/modoo-ai-frontend/
├── modoo-ai-frontend.md (프로젝트 문서)
└── src/
└── features/
└── product-tour/
├── contexts/
│ └── product-tour-context.md
├── constants/
│ ├── product-tour-status.md
│ └── product-tour-config.md
├── components/
│ ├── product-tour.md
│ └── tooltip/
│ └── product-tour-tooltip.md
├── hooks/
│ └── use-product-tour-handlers.md
└── helpers/
└── product-tour-cookie-helpers.md
코드 파일 예시:
# product-tour-context
## 개요
## 코드
\`\`\`typescript
// 실제 파일에서 읽어온 코드가 여기에 들어갑니다
import { createContext } from 'react';
...
\`\`\`
## 주요 함수/클래스
## 사용 방법
태그 자동 추천 로직
Frontend 파일의 태그 추천
기본 태그 (항상 포함):
front-end- 라이브러리명을 소문자로 (예:
react,next,vanilla-js)
추가 태그 (키워드 기반):
use로 시작하는 이름 (useEffect, useState 등) →hooks추가routing,router,route포함 →routing추가form,input,validation포함 →forms추가context,zustand,redux,state포함 →state-management추가component포함 →components추가seo,meta,head포함 →seo추가
기존 파일 참고:
- 같은 폴더의 기존 .md 파일들을 검색
- 공통 태그가 있으면 참고하여 추가
예시:
useEffect.md→tags: [front-end, react, hooks]Hash Routing.md→tags: [front-end, vanilla-js, routing]Controlled Form.md→tags: [front-end, react, forms]Context Api.md→tags: [front-end, react, state-management]
Repository 파일의 태그 추천
기본 태그:
team-spartaproject
출력 형식
성공 시:
✅ 새 파일 생성 완료!
📁 경로: Frontend/React/useEffect.md
🏷️ 태그: front-end, react, hooks
이제 파일을 열어서 내용을 작성하세요.
작성 후 `obsidian-refine-content` Skill로 정리/보완할 수 있습니다.
폴더도 생성한 경우:
✅ 새 라이브러리 폴더 및 파일 생성 완료!
📁 폴더: Frontend/Next/
📄 폴더 노트: Frontend/Next/Next.md
📄 기능 파일: Frontend/Next/getServerSideProps.md
🏷️ 태그: front-end, next
이제 파일들을 열어서 내용을 작성하세요.
단일 코드 파일 추가 시:
✅ 코드 문서 생성 완료!
📄 파일: Team Sparta/repo/dev_proxy/config.md
🏷️ 태그: team-sparta, code
💻 언어: javascript
이제 config.md를 열어서 "## 코드" 섹션에 코드를 작성하세요.
작성 후 `obsidian-refine-content` Skill로 코드 분석 및 설명이 자동 생성됩니다.
디렉토리 구조 기반 스켈레톤 생성 시:
✅ product-tour 스켈레톤 생성 완료!
📁 프로젝트 경로: Team Sparta/repo/modoo-ai-frontend/
생성된 파일 목록 (총 14개)
1. 프로젝트 문서
- modoo-ai-frontend.md
2. src/features/product-tour/contexts/ (1개)
- product-tour-context.md
3. src/features/product-tour/constants/ (2개)
- product-tour-status.md
- product-tour-config.md
4. src/features/product-tour/components/ (5개)
- product-tour.md
- tooltip/product-tour-tooltip.md
...
🏷️ 태그: team-sparta, code
💻 전체 디렉토리 경로가 원본과 동일하게 유지됨
각 파일의 "## 코드" 섹션에 실제 코드를 작성한 후,
`obsidian-refine-content` Skill로 자동 분석 및 설명을 생성하세요.
예외 처리
파일이 이미 존재하는 경우:
- 메시지: "⚠️ 파일이 이미 존재합니다: {경로}. 덮어쓰시겠습니까?"
- 사용자 확인 후 진행
라이브러리명/프로젝트명을 파싱할 수 없는 경우:
- 사용자에게 명확한 입력 요청
- 예: "라이브러리명과 기능명을 명확히 입력해주세요. 예: 'React의 useEffect 추가'"
업무일지 폴더에 추가하려는 경우:
- 메시지: "❌ 업무일지 폴더는 자동 생성 대상이 아닙니다. 수동으로 작성해주세요."
중요 지시사항
- 날짜 형식:
created-at은 항상YYYY-MM-DD형식 (예: 2025-12-18) - 태그 형식: 배열 형식, kebab-case 사용 (예:
front-end,state-management) - 파일명: 사용자 입력 그대로 사용, 공백 포함 가능 (예:
Context Api.md,Hash Routing.md) - 폴더 노트: 라이브러리 폴더 생성 시 폴더 노트도 함께 생성
- 템플릿 정확히 따르기: Information, Repository, Code 템플릿의 구조를 정확히 따라야 함
- Code 템플릿 사용 시:
- .md 파일만 생성 (실제 코드 파일은 만들지 않음)
- "## 코드" 섹션에 빈 코드 블록 생성
- 언어는 사용자 입력에서 추론 (config.js → javascript)
- 코드 분석/설명은 작성하지 않음 (Skill 2의 역할)
작업 순서
A. 단일 파일 추가
- 사용자 입력 파싱
- 대상 경로 결정
- 폴더 존재 확인 → 필요시 생성
- 템플릿 파일 읽기
- 태그 자동 추천
- 새 파일 생성 (템플릿 + 메타데이터)
- 성공 메시지 출력
B. 디렉토리 스켈레톤 생성 (경로 입력 시)
- 입력된 실제 파일 시스템 경로 파싱
- 프로젝트명 추출 (
/Users/teamsparta/repo/이후 첫 번째 폴더) - 프로젝트 폴더 및 문서 생성 (
Team Sparta/repo/{프로젝트명}/) - 입력된 경로의 모든 소스 파일 스캔 (
.ts,.tsx,.js,.jsx등) - 각 파일의 전체 상대 경로 추출 (예:
src/features/product-tour/contexts/context.ts) - Obsidian vault에 전체 경로를 동일하게 재현:
Team Sparta/repo/{프로젝트명}/src/features/product-tour/contexts/context.md- 모든 중간 폴더 생성 필요
- 각 파일에 대해 Code 템플릿 기반 문서 생성:
file-path에 원본 파일의 절대 경로 기록language는 확장자에서 자동 추론- Read tool로 실제 파일 내용 읽기
- 읽은 코드를 "## 코드" 섹션에 삽입
- 성공 메시지 출력 (생성된 파일 개수 및 경로 구조 표시)