leerness 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -124
- package/bin/harness.js +327 -905
- package/docs/AX_CONSISTENCY_GUIDE.md +9 -0
- package/docs/AX_MIGRATION_GUIDE.md +7 -27
- package/docs/AX_PLAN_GUIDE.md +6 -14
- package/package.json +8 -43
- package/skill-packs/ads-analytics/README.md +4 -22
- package/skill-packs/ai-verified-skill-publisher/README.md +4 -22
- package/skill-packs/appstore-review/README.md +4 -22
- package/skill-packs/commerce-api/README.md +4 -22
- package/skill-packs/crawling/README.md +4 -22
- package/skill-packs/firebase/README.md +4 -22
- package/skill-packs/office/README.md +4 -22
- package/docs/AX_NEW_PROJECT_GUIDE.md +0 -25
- package/docs/AX_SKILL_LIBRARY_GUIDE.md +0 -29
- package/skill-packs/ads-analytics/skill.json +0 -28
- package/skill-packs/ads-analytics/skills/conversion-attribution.md +0 -6
- package/skill-packs/ads-analytics/skills/ga4-debugging.md +0 -7
- package/skill-packs/ads-analytics/skills/roas-check.md +0 -7
- package/skill-packs/ai-verified-skill-publisher/skill.json +0 -31
- package/skill-packs/ai-verified-skill-publisher/skills/ai-verified-skill-upload.md +0 -16
- package/skill-packs/ai-verified-skill-publisher/skills/publish-auth-token-gate.md +0 -30
- package/skill-packs/ai-verified-skill-publisher/skills/skill-library-release-flow.md +0 -10
- package/skill-packs/ai-verified-skill-publisher/skills/skill-metadata-standard.md +0 -5
- package/skill-packs/appstore-review/skill.json +0 -28
- package/skill-packs/appstore-review/skills/privacy-labels.md +0 -6
- package/skill-packs/appstore-review/skills/review-response.md +0 -7
- package/skill-packs/appstore-review/skills/webview-app.md +0 -6
- package/skill-packs/commerce-api/skill.json +0 -32
- package/skill-packs/commerce-api/skills/common-auth.md +0 -22
- package/skill-packs/commerce-api/skills/coupang.md +0 -19
- package/skill-packs/commerce-api/skills/lotteon.md +0 -17
- package/skill-packs/commerce-api/skills/order-sync.md +0 -9
- package/skill-packs/commerce-api/skills/smartstore.md +0 -17
- package/skill-packs/crawling/skill.json +0 -28
- package/skill-packs/crawling/skills/browser-automation.md +0 -14
- package/skill-packs/crawling/skills/cloud-runtime.md +0 -7
- package/skill-packs/crawling/skills/download-automation.md +0 -9
- package/skill-packs/firebase/skill.json +0 -31
- package/skill-packs/firebase/skills/firestore-indexes.md +0 -6
- package/skill-packs/firebase/skills/functions-deploy.md +0 -13
- package/skill-packs/firebase/skills/secrets.md +0 -6
- package/skill-packs/office/skill.json +0 -28
- package/skill-packs/office/skills/excel-automation.md +0 -24
- package/skill-packs/office/skills/powerpoint-generation.md +0 -17
- package/skill-packs/office/skills/word-template.md +0 -15
|
@@ -1,29 +1,9 @@
|
|
|
1
|
-
# AX Migration Guide
|
|
1
|
+
# AX Migration Guide
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
마이그레이션은 비파괴가 원칙입니다.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
1. `leerness migrate --dry-run`으로 감지 목록을 확인합니다.
|
|
12
|
-
2. 기존 파일을 `.harness/archive/legacy-migration-*`에 백업합니다.
|
|
13
|
-
3. legacy 내용을 새 목적지로 분류합니다.
|
|
14
|
-
4. `context-routing.md`, `writeback-policy.md`, `task-type-map.md`를 생성합니다.
|
|
15
|
-
5. `AGENTS.md`가 새 라우팅 파일들을 보도록 갱신합니다.
|
|
16
|
-
6. 민감정보 값은 제거하고 변수명만 남깁니다.
|
|
17
|
-
7. `leerness verify`를 실행합니다.
|
|
18
|
-
8. `session-handoff.md`에 마이그레이션 결과와 다음 작업을 기록합니다.
|
|
19
|
-
|
|
20
|
-
## Legacy mapping
|
|
21
|
-
|
|
22
|
-
| Legacy content | New destination |
|
|
23
|
-
|---|---|
|
|
24
|
-
| 프로젝트 목적/방향 | project-brief.md |
|
|
25
|
-
| 현재 상태/작업 이력 | current-state.md, task-log.md |
|
|
26
|
-
| 구조/모듈/데이터 흐름 | architecture.md, context-map.md |
|
|
27
|
-
| 기존 AI 규칙 | AGENTS.md, guardrails.md, context-routing.md |
|
|
28
|
-
| 배포 이슈 | release-checklist.md |
|
|
29
|
-
| 성공한 반복 작업 | skill candidate 또는 .harness/skills/ |
|
|
5
|
+
- 기존 문서는 먼저 `.harness/archive/`에 보존합니다.
|
|
6
|
+
- `.env.example`과 `.gitignore`는 덮어쓰기보다 병합합니다.
|
|
7
|
+
- `.harness/`와 관련 지침 파일은 삭제하지 않습니다.
|
|
8
|
+
- 기존 designguide 계열 문서는 `.harness/design-system.md`로 병합합니다.
|
|
9
|
+
- 마이그레이션 후 `leerness verify .`, `leerness debug .`, `leerness session close .`를 실행합니다.
|
package/docs/AX_PLAN_GUIDE.md
CHANGED
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
# AX Plan Guide
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
AI 에이전트는 사용자 요청을 받으면 먼저 `plan.md`의 범위와 `progress-tracker.md`의 상태를 확인합니다.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## When to update
|
|
11
|
-
- New user-requested scope appears
|
|
12
|
-
- A milestone changes status or progress
|
|
13
|
-
- A user drops or excludes work
|
|
14
|
-
- A task moves between planned, in-progress, waiting, on-hold, blocked, incomplete, done, or dropped
|
|
15
|
-
|
|
16
|
-
## Rule
|
|
17
|
-
`guideline.md` defines how the plan is followed. It should reference `plan.md` and `progress-tracker.md`, but it should not be the primary place for detailed task progress.
|
|
5
|
+
1. 기존 계획의 일부인지 확인합니다.
|
|
6
|
+
2. 새 범위면 `plan.md`와 `progress-tracker.md`에 추가합니다.
|
|
7
|
+
3. 사용자가 제외한 작업은 삭제하지 않고 `dropped`로 기록합니다.
|
|
8
|
+
4. 완전히 신규 프로젝트라면 구현보다 계획표 작성이 우선입니다.
|
|
9
|
+
5. 작업 종료 시 `session close` 기준으로 완료/진행/미완료/예정/대기/보류/차단/드랍을 표시합니다.
|
package/package.json
CHANGED
|
@@ -1,54 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "leerness",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Leerness: AI
|
|
3
|
+
"version": "1.7.0",
|
|
4
|
+
"description": "Leerness: AI 에이전트의 장기 맥락, 계획, 작업 추적, 스킬 라이브러리, 디자인/기능 일관성, 세션 인수인계를 관리하는 AX 최적화 개발 하네스.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"leerness",
|
|
7
7
|
"ai",
|
|
8
8
|
"agent",
|
|
9
9
|
"harness",
|
|
10
|
-
"harness-engineering",
|
|
11
10
|
"context-engineering",
|
|
12
11
|
"skill-library",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"ai-skill-publisher",
|
|
19
|
-
"verified-skill-upload",
|
|
20
|
-
"skill-capabilities",
|
|
21
|
-
"context-routing",
|
|
22
|
-
"writeback-policy",
|
|
23
|
-
"task-type-map",
|
|
24
|
-
"ai-migration-guide",
|
|
25
|
-
"new-project-guide",
|
|
26
|
-
"project-memory-router",
|
|
27
|
-
"session-close",
|
|
28
|
-
"session-handoff",
|
|
29
|
-
"unfinished-task-tracking",
|
|
30
|
-
"anti-lazy-work",
|
|
31
|
-
"progress-tracker",
|
|
32
|
-
"end-of-session-report",
|
|
33
|
-
"direction-routing-debug",
|
|
34
|
-
"pending-work-tracking",
|
|
35
|
-
"language-policy",
|
|
36
|
-
"auto-language-detection",
|
|
37
|
-
"task-drop",
|
|
38
|
-
"harness-debug",
|
|
39
|
-
"plan-md",
|
|
40
|
-
"project-plan",
|
|
41
|
-
"plan-orchestration",
|
|
42
|
-
"plan-progress",
|
|
43
|
-
"guideline-policy",
|
|
44
|
-
"planning-router",
|
|
45
|
-
"project-roadmap",
|
|
46
|
-
"scope-drop",
|
|
47
|
-
"version-maintenance",
|
|
48
|
-
"npm-view",
|
|
49
|
-
"safe-migration",
|
|
50
|
-
"self-check",
|
|
51
|
-
"harness-upgrade"
|
|
12
|
+
"project-memory",
|
|
13
|
+
"task-tracking",
|
|
14
|
+
"planning",
|
|
15
|
+
"design-system",
|
|
16
|
+
"developer-tools"
|
|
52
17
|
],
|
|
53
18
|
"bin": {
|
|
54
19
|
"leerness": "./bin/harness.js"
|
|
@@ -62,7 +27,7 @@
|
|
|
62
27
|
"LICENSE"
|
|
63
28
|
],
|
|
64
29
|
"scripts": {
|
|
65
|
-
"test": "node ./bin/harness.js --help && node ./bin/harness.js init --yes --language ko --skills office,commerce-api
|
|
30
|
+
"test": "node ./bin/harness.js --help && node ./bin/harness.js init --yes --language ko --skills office,commerce-api ./tmp-harness-test && node ./bin/harness.js status ./tmp-harness-test && node ./bin/harness.js plan add '테스트 계획' --path ./tmp-harness-test && node ./bin/harness.js readme sync ./tmp-harness-test && node ./bin/harness.js consistency check ./tmp-harness-test && node ./bin/harness.js debug ./tmp-harness-test && node ./bin/harness.js verify ./tmp-harness-test",
|
|
66
31
|
"prepack": "node ./bin/harness.js --version"
|
|
67
32
|
},
|
|
68
33
|
"repository": {
|
|
@@ -1,24 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ads-analytics
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Leerness curated skill pack.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
GA4, 광고 전환, ROAS, UTM, 이벤트 추적 점검을 위한 스킬입니다.
|
|
8
|
-
|
|
9
|
-
## 가능한 작업
|
|
10
|
-
|
|
11
|
-
- GA4 이벤트/전환 점검
|
|
12
|
-
- 광고 매체별 ROAS 해석
|
|
13
|
-
- UTM/세션 소스 문제 분석
|
|
14
|
-
- 전환 매출 차이 원인 정리
|
|
15
|
-
|
|
16
|
-
## 민감정보 규칙
|
|
17
|
-
|
|
18
|
-
- 실제 토큰, 비밀번호, 쿠키, private key를 기록하지 않습니다.
|
|
19
|
-
- 필요한 값은 환경변수 이름만 기록합니다.
|
|
20
|
-
- 작업 후 current-state.md, task-log.md, session-handoff.md를 갱신합니다.
|
|
21
|
-
|
|
22
|
-
## 최종 업데이트
|
|
23
|
-
|
|
24
|
-
2026-04-29
|
|
5
|
+
- Sensitive data must be represented by environment variable names only.
|
|
6
|
+
- Add verified implementation patterns here after AI review.
|
|
@@ -1,24 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ai-verified-skill-publisher
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Leerness curated skill pack.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
검증된 스킬을 라이브러리화하고 npm/git에 안전하게 업로드하기 위한 스킬입니다.
|
|
8
|
-
|
|
9
|
-
## 가능한 작업
|
|
10
|
-
|
|
11
|
-
- 검증된 작업 흐름을 스킬 후보로 정규화
|
|
12
|
-
- 민감정보 스캔 후 업로드 차단
|
|
13
|
-
- AI 검증 메타데이터 기록
|
|
14
|
-
- npm/git dry-run 후 --execute 배포
|
|
15
|
-
|
|
16
|
-
## 민감정보 규칙
|
|
17
|
-
|
|
18
|
-
- 실제 토큰, 비밀번호, 쿠키, private key를 기록하지 않습니다.
|
|
19
|
-
- 필요한 값은 환경변수 이름만 기록합니다.
|
|
20
|
-
- 작업 후 current-state.md, task-log.md, session-handoff.md를 갱신합니다.
|
|
21
|
-
|
|
22
|
-
## 최종 업데이트
|
|
23
|
-
|
|
24
|
-
2026-04-29
|
|
5
|
+
- Sensitive data must be represented by environment variable names only.
|
|
6
|
+
- Add verified implementation patterns here after AI review.
|
|
@@ -1,24 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# appstore-review
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Leerness curated skill pack.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
App Store 심사 리젝, 개인정보 라벨, 웹뷰 앱 대응을 위한 스킬입니다.
|
|
8
|
-
|
|
9
|
-
## 가능한 작업
|
|
10
|
-
|
|
11
|
-
- 심사 메시지 원인 분류
|
|
12
|
-
- 개인정보 라벨 수정 가이드
|
|
13
|
-
- 웹 기반 앱 데이터 수집 범위 정리
|
|
14
|
-
- 심사 답변 초안 작성
|
|
15
|
-
|
|
16
|
-
## 민감정보 규칙
|
|
17
|
-
|
|
18
|
-
- 실제 토큰, 비밀번호, 쿠키, private key를 기록하지 않습니다.
|
|
19
|
-
- 필요한 값은 환경변수 이름만 기록합니다.
|
|
20
|
-
- 작업 후 current-state.md, task-log.md, session-handoff.md를 갱신합니다.
|
|
21
|
-
|
|
22
|
-
## 최종 업데이트
|
|
23
|
-
|
|
24
|
-
2026-04-29
|
|
5
|
+
- Sensitive data must be represented by environment variable names only.
|
|
6
|
+
- Add verified implementation patterns here after AI review.
|
|
@@ -1,24 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# commerce-api
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Leerness curated skill pack.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
쿠팡·롯데온·스마트스토어 등 커머스 API 연동 패턴을 위한 스킬입니다.
|
|
8
|
-
|
|
9
|
-
## 가능한 작업
|
|
10
|
-
|
|
11
|
-
- API 인증 구조 설계
|
|
12
|
-
- 상품/주문/매출 동기화 플로우 구현
|
|
13
|
-
- 환경변수 기반 민감정보 분리
|
|
14
|
-
- 오류·재시도·레이트리밋 대응
|
|
15
|
-
|
|
16
|
-
## 민감정보 규칙
|
|
17
|
-
|
|
18
|
-
- 실제 토큰, 비밀번호, 쿠키, private key를 기록하지 않습니다.
|
|
19
|
-
- 필요한 값은 환경변수 이름만 기록합니다.
|
|
20
|
-
- 작업 후 current-state.md, task-log.md, session-handoff.md를 갱신합니다.
|
|
21
|
-
|
|
22
|
-
## 최종 업데이트
|
|
23
|
-
|
|
24
|
-
2026-04-29
|
|
5
|
+
- Sensitive data must be represented by environment variable names only.
|
|
6
|
+
- Add verified implementation patterns here after AI review.
|
|
@@ -1,24 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# crawling
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Leerness curated skill pack.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
API가 없거나 제한된 관리자 화면 자동화 작업을 위한 스킬입니다.
|
|
8
|
-
|
|
9
|
-
## 가능한 작업
|
|
10
|
-
|
|
11
|
-
- Playwright 기반 다운로드 자동화
|
|
12
|
-
- 로그인 세션 storageState 관리
|
|
13
|
-
- 다운로드 파일 검증
|
|
14
|
-
- 실패 시 스크린샷/로그 수집
|
|
15
|
-
|
|
16
|
-
## 민감정보 규칙
|
|
17
|
-
|
|
18
|
-
- 실제 토큰, 비밀번호, 쿠키, private key를 기록하지 않습니다.
|
|
19
|
-
- 필요한 값은 환경변수 이름만 기록합니다.
|
|
20
|
-
- 작업 후 current-state.md, task-log.md, session-handoff.md를 갱신합니다.
|
|
21
|
-
|
|
22
|
-
## 최종 업데이트
|
|
23
|
-
|
|
24
|
-
2026-04-29
|
|
5
|
+
- Sensitive data must be represented by environment variable names only.
|
|
6
|
+
- Add verified implementation patterns here after AI review.
|
|
@@ -1,24 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# firebase
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Leerness curated skill pack.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Firebase Functions, Firestore, Cloud Run 배포·디버깅을 위한 스킬입니다.
|
|
8
|
-
|
|
9
|
-
## 가능한 작업
|
|
10
|
-
|
|
11
|
-
- Functions 배포 오류 점검
|
|
12
|
-
- Firestore rules/indexes 검토
|
|
13
|
-
- Cloud Run 권한/IAM 체크
|
|
14
|
-
- 환경변수와 secret 분리
|
|
15
|
-
|
|
16
|
-
## 민감정보 규칙
|
|
17
|
-
|
|
18
|
-
- 실제 토큰, 비밀번호, 쿠키, private key를 기록하지 않습니다.
|
|
19
|
-
- 필요한 값은 환경변수 이름만 기록합니다.
|
|
20
|
-
- 작업 후 current-state.md, task-log.md, session-handoff.md를 갱신합니다.
|
|
21
|
-
|
|
22
|
-
## 최종 업데이트
|
|
23
|
-
|
|
24
|
-
2026-04-29
|
|
5
|
+
- Sensitive data must be represented by environment variable names only.
|
|
6
|
+
- Add verified implementation patterns here after AI review.
|
|
@@ -1,24 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# office
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Leerness curated skill pack.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Word, Excel, PowerPoint 문서 생성·편집·검증 작업을 위한 스킬입니다.
|
|
8
|
-
|
|
9
|
-
## 가능한 작업
|
|
10
|
-
|
|
11
|
-
- DOCX 템플릿 기반 문서 생성
|
|
12
|
-
- PPTX 구조화 및 발표자료 생성
|
|
13
|
-
- XLSX 데이터 정리와 서식 유지
|
|
14
|
-
- 문서 산출물 검증 체크리스트 적용
|
|
15
|
-
|
|
16
|
-
## 민감정보 규칙
|
|
17
|
-
|
|
18
|
-
- 실제 토큰, 비밀번호, 쿠키, private key를 기록하지 않습니다.
|
|
19
|
-
- 필요한 값은 환경변수 이름만 기록합니다.
|
|
20
|
-
- 작업 후 current-state.md, task-log.md, session-handoff.md를 갱신합니다.
|
|
21
|
-
|
|
22
|
-
## 최종 업데이트
|
|
23
|
-
|
|
24
|
-
2026-04-29
|
|
5
|
+
- Sensitive data must be represented by environment variable names only.
|
|
6
|
+
- Add verified implementation patterns here after AI review.
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# AX New Project Installation Guide for AI Agents
|
|
2
|
-
|
|
3
|
-
진행 중인 프로젝트에 Leerness를 처음 적용할 때, AI가 프로젝트의 실제 내용을 하네스에 반영하기 위한 가이드입니다.
|
|
4
|
-
|
|
5
|
-
## 목표
|
|
6
|
-
|
|
7
|
-
템플릿을 그대로 두지 않고, 프로젝트 구조와 운영 방식이 반영된 하네스를 만듭니다.
|
|
8
|
-
|
|
9
|
-
## 절차
|
|
10
|
-
|
|
11
|
-
1. package.json, lockfile, framework config, routing, API, DB, deploy, test 파일을 확인합니다.
|
|
12
|
-
2. project-brief.md에 목적, 사용자, 성공 기준을 작성합니다.
|
|
13
|
-
3. architecture.md에 모듈, 경계, 데이터 흐름, 외부 서비스를 작성합니다.
|
|
14
|
-
4. context-map.md에 실제 파일 경로를 기록합니다.
|
|
15
|
-
5. design-system.md에 기존 UI 패턴을 기록합니다.
|
|
16
|
-
6. feature-contracts.md에 주요 기능의 입력/출력/상태/오류를 기록합니다.
|
|
17
|
-
7. release-checklist.md에 실제 배포/npm/git/CI/env 조건을 기록합니다.
|
|
18
|
-
8. testing-strategy.md에 실제 검증 방법을 기록합니다.
|
|
19
|
-
9. current-state.md와 session-handoff.md에 다음 정확한 작업을 기록합니다.
|
|
20
|
-
|
|
21
|
-
## 금지
|
|
22
|
-
|
|
23
|
-
- 확인하지 않은 구조를 추측해서 쓰지 않습니다.
|
|
24
|
-
- 실제 토큰, 쿠키, 비밀번호를 기록하지 않습니다.
|
|
25
|
-
- 모르는 항목은 `Unknown` 또는 `Needs confirmation`으로 표시합니다.
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# AX Skill Library Guide
|
|
2
|
-
|
|
3
|
-
AI가 검증된 스킬을 학습, 라이브러리화, 병합, 마이그레이션, 업로드할 때 따르는 기준입니다.
|
|
4
|
-
|
|
5
|
-
## 기본 원칙
|
|
6
|
-
|
|
7
|
-
- 스킬에는 실제 민감정보를 저장하지 않습니다.
|
|
8
|
-
- 환경변수 이름, secret manager key 이름, redacted 예시만 허용합니다.
|
|
9
|
-
- 스킬은 `displayNameKo`, `capabilities`, `lastUpdated`, `lastUpdatedAt`, `verification` 메타데이터를 가져야 합니다.
|
|
10
|
-
- `library publish`는 기본 dry-run이며, 실제 업로드는 `--execute`가 필요합니다.
|
|
11
|
-
- AI 검증 메타데이터가 없는 스킬은 업로드하지 않습니다.
|
|
12
|
-
|
|
13
|
-
## 표준 흐름
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
leerness skill learn my-skill --from ./validated-workflow
|
|
17
|
-
leerness library verify ./my-skill --ai --reviewer leerness-ai
|
|
18
|
-
leerness library validate ./my-skill --strict-ai
|
|
19
|
-
leerness library build ./my-skill
|
|
20
|
-
leerness library publish ./my-skill/dist/my-skill --target npm
|
|
21
|
-
leerness library publish ./my-skill/dist/my-skill --target npm --execute
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## 업데이트 시
|
|
25
|
-
|
|
26
|
-
- 변경 이유를 README 또는 changelog에 남깁니다.
|
|
27
|
-
- `lastUpdated`와 `lastUpdatedAt`을 갱신합니다.
|
|
28
|
-
- AI 검증을 다시 수행합니다.
|
|
29
|
-
- 민감정보 스캔을 통과해야 합니다.
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "ads-analytics",
|
|
3
|
-
"version": "1.3.0",
|
|
4
|
-
"title": "Ads and GA4 Analytics Skill Library",
|
|
5
|
-
"displayNameKo": "광고/GA4 분석 스킬 라이브러리",
|
|
6
|
-
"category": "analytics",
|
|
7
|
-
"categoryKo": "광고/분석",
|
|
8
|
-
"description": "GA4, 광고 전환, ROAS, UTM, 이벤트 추적 점검을 위한 스킬입니다.",
|
|
9
|
-
"capabilities": [
|
|
10
|
-
"GA4 이벤트/전환 점검",
|
|
11
|
-
"광고 매체별 ROAS 해석",
|
|
12
|
-
"UTM/세션 소스 문제 분석",
|
|
13
|
-
"전환 매출 차이 원인 정리"
|
|
14
|
-
],
|
|
15
|
-
"requiresEnv": [],
|
|
16
|
-
"files": [
|
|
17
|
-
"README.md"
|
|
18
|
-
],
|
|
19
|
-
"source": "bundled",
|
|
20
|
-
"lastUpdated": "2026-04-29",
|
|
21
|
-
"lastUpdatedAt": "2026-04-29T00:00:00.000Z",
|
|
22
|
-
"verification": {
|
|
23
|
-
"status": "passed",
|
|
24
|
-
"method": "ai-assisted-review",
|
|
25
|
-
"verifiedBy": "leerness-ai",
|
|
26
|
-
"verifiedAt": "2026-04-29T00:00:00.000Z"
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# Skill: GA4 Debugging
|
|
2
|
-
|
|
3
|
-
## Procedure
|
|
4
|
-
1. Identify event name, source, medium, campaign, and conversion mapping.
|
|
5
|
-
2. Compare realtime/debug view, BigQuery/export, and ad platform numbers when available.
|
|
6
|
-
3. Check cross-domain, consent mode, duplicate tags, and server/client duplication.
|
|
7
|
-
4. Record assumptions and unresolved gaps.
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# Skill: ROAS Sanity Check
|
|
2
|
-
|
|
3
|
-
## Procedure
|
|
4
|
-
1. Confirm spend, attributed revenue, attribution window, and conversion action.
|
|
5
|
-
2. Compare with actual order data where possible.
|
|
6
|
-
3. Flag suspiciously high ROAS for duplicate events or cross-store attribution.
|
|
7
|
-
4. Document likely causes and verification steps.
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "ai-verified-skill-publisher",
|
|
3
|
-
"version": "1.3.0",
|
|
4
|
-
"title": "AI Verified Skill Publisher Skill Library",
|
|
5
|
-
"displayNameKo": "AI 검증 스킬 업로드 스킬 라이브러리",
|
|
6
|
-
"category": "skill-library",
|
|
7
|
-
"categoryKo": "스킬 라이브러리/배포",
|
|
8
|
-
"description": "검증된 스킬을 라이브러리화하고 npm/git에 안전하게 업로드하기 위한 스킬입니다.",
|
|
9
|
-
"capabilities": [
|
|
10
|
-
"검증된 작업 흐름을 스킬 후보로 정규화",
|
|
11
|
-
"민감정보 스캔 후 업로드 차단",
|
|
12
|
-
"AI 검증 메타데이터 기록",
|
|
13
|
-
"npm/git dry-run 후 --execute 배포"
|
|
14
|
-
],
|
|
15
|
-
"requiresEnv": [
|
|
16
|
-
"LEERNESS_NPM_TOKEN",
|
|
17
|
-
"LEERNESS_GITHUB_TOKEN"
|
|
18
|
-
],
|
|
19
|
-
"files": [
|
|
20
|
-
"README.md"
|
|
21
|
-
],
|
|
22
|
-
"source": "bundled",
|
|
23
|
-
"lastUpdated": "2026-04-29",
|
|
24
|
-
"lastUpdatedAt": "2026-04-29T00:00:00.000Z",
|
|
25
|
-
"verification": {
|
|
26
|
-
"status": "passed",
|
|
27
|
-
"method": "ai-assisted-review",
|
|
28
|
-
"verifiedBy": "leerness-ai",
|
|
29
|
-
"verifiedAt": "2026-04-29T00:00:00.000Z"
|
|
30
|
-
}
|
|
31
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# Skill: AI 검증 스킬 업로드
|
|
2
|
-
|
|
3
|
-
## 목적
|
|
4
|
-
검증된 스킬 데이터를 npm 또는 git 라이브러리로 업로드한다.
|
|
5
|
-
|
|
6
|
-
## 절차
|
|
7
|
-
1. `leerness library validate <path> --strict-ai`로 구조와 민감정보를 검사한다.
|
|
8
|
-
2. `leerness library verify <path> --ai --reviewer leerness-ai`로 AI 검증 메타데이터를 기록한다.
|
|
9
|
-
3. `leerness library build <path>`로 배포본을 만든다.
|
|
10
|
-
4. `leerness library publish <built-path> --target npm|git`로 dry-run을 확인한다.
|
|
11
|
-
5. 토큰 소스를 확인한다.
|
|
12
|
-
6. `--execute`로 실제 업로드한다.
|
|
13
|
-
|
|
14
|
-
## 금지
|
|
15
|
-
- 실제 토큰을 스킬 문서에 저장하지 않는다.
|
|
16
|
-
- 검증 상태가 `passed`가 아닌 스킬은 업로드하지 않는다.
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# Skill: 업로드 인증 토큰 게이트
|
|
2
|
-
|
|
3
|
-
## npm 토큰 소스
|
|
4
|
-
- `--token-env <ENV_NAME>`
|
|
5
|
-
- `LEERNESS_NPM_TOKEN`
|
|
6
|
-
- `NPM_TOKEN`
|
|
7
|
-
- `NODE_AUTH_TOKEN`
|
|
8
|
-
- `.harness/skill-publish.local.json`의 `publishAuth.npmTokenEnv`
|
|
9
|
-
|
|
10
|
-
## Git/GitHub 토큰 소스
|
|
11
|
-
- `--token-env <ENV_NAME>`
|
|
12
|
-
- `LEERNESS_GIT_TOKEN`
|
|
13
|
-
- `LEERNESS_GITHUB_TOKEN`
|
|
14
|
-
- `GITHUB_TOKEN`
|
|
15
|
-
- `GH_TOKEN`
|
|
16
|
-
- `.harness/skill-publish.local.json`의 `publishAuth.gitTokenEnv`
|
|
17
|
-
|
|
18
|
-
## 로컬 설정 예시
|
|
19
|
-
|
|
20
|
-
```json
|
|
21
|
-
{
|
|
22
|
-
"publishAuth": {
|
|
23
|
-
"npmTokenEnv": "LEERNESS_NPM_TOKEN",
|
|
24
|
-
"gitTokenEnv": "LEERNESS_GITHUB_TOKEN",
|
|
25
|
-
"gitRemoteUrl": "https://github.com/gugu9999gu/leerness"
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
실제 토큰값은 환경변수 또는 Secret Manager에 둔다.
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "appstore-review",
|
|
3
|
-
"version": "1.3.0",
|
|
4
|
-
"title": "App Store Review Response Skill Library",
|
|
5
|
-
"displayNameKo": "앱스토어 심사 대응 스킬 라이브러리",
|
|
6
|
-
"category": "mobile",
|
|
7
|
-
"categoryKo": "앱스토어/모바일",
|
|
8
|
-
"description": "App Store 심사 리젝, 개인정보 라벨, 웹뷰 앱 대응을 위한 스킬입니다.",
|
|
9
|
-
"capabilities": [
|
|
10
|
-
"심사 메시지 원인 분류",
|
|
11
|
-
"개인정보 라벨 수정 가이드",
|
|
12
|
-
"웹 기반 앱 데이터 수집 범위 정리",
|
|
13
|
-
"심사 답변 초안 작성"
|
|
14
|
-
],
|
|
15
|
-
"requiresEnv": [],
|
|
16
|
-
"files": [
|
|
17
|
-
"README.md"
|
|
18
|
-
],
|
|
19
|
-
"source": "bundled",
|
|
20
|
-
"lastUpdated": "2026-04-29",
|
|
21
|
-
"lastUpdatedAt": "2026-04-29T00:00:00.000Z",
|
|
22
|
-
"verification": {
|
|
23
|
-
"status": "passed",
|
|
24
|
-
"method": "ai-assisted-review",
|
|
25
|
-
"verifiedBy": "leerness-ai",
|
|
26
|
-
"verifiedAt": "2026-04-29T00:00:00.000Z"
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# Skill: App Store Review Response
|
|
2
|
-
|
|
3
|
-
## Procedure
|
|
4
|
-
1. Identify guideline, issue description, reviewed version, device, and requested action.
|
|
5
|
-
2. Decide whether to reply, resubmit, or fix in next update.
|
|
6
|
-
3. Write a concise response with exact changes or clarification.
|
|
7
|
-
4. Keep tone factual and cooperative.
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "commerce-api",
|
|
3
|
-
"version": "1.3.0",
|
|
4
|
-
"title": "Commerce API Integration Skill Library",
|
|
5
|
-
"displayNameKo": "커머스 API 연동 스킬 라이브러리",
|
|
6
|
-
"category": "commerce-api",
|
|
7
|
-
"categoryKo": "커머스/API 연동",
|
|
8
|
-
"description": "쿠팡·롯데온·스마트스토어 등 커머스 API 연동 패턴을 위한 스킬입니다.",
|
|
9
|
-
"capabilities": [
|
|
10
|
-
"API 인증 구조 설계",
|
|
11
|
-
"상품/주문/매출 동기화 플로우 구현",
|
|
12
|
-
"환경변수 기반 민감정보 분리",
|
|
13
|
-
"오류·재시도·레이트리밋 대응"
|
|
14
|
-
],
|
|
15
|
-
"requiresEnv": [
|
|
16
|
-
"COMMERCE_CLIENT_ID",
|
|
17
|
-
"COMMERCE_CLIENT_SECRET",
|
|
18
|
-
"COMMERCE_VENDOR_ID"
|
|
19
|
-
],
|
|
20
|
-
"files": [
|
|
21
|
-
"README.md"
|
|
22
|
-
],
|
|
23
|
-
"source": "bundled",
|
|
24
|
-
"lastUpdated": "2026-04-29",
|
|
25
|
-
"lastUpdatedAt": "2026-04-29T00:00:00.000Z",
|
|
26
|
-
"verification": {
|
|
27
|
-
"status": "passed",
|
|
28
|
-
"method": "ai-assisted-review",
|
|
29
|
-
"verifiedBy": "leerness-ai",
|
|
30
|
-
"verifiedAt": "2026-04-29T00:00:00.000Z"
|
|
31
|
-
}
|
|
32
|
-
}
|