Install any skill in seconds. Free to start, no credit card required.
Get Started Free →6-Phase 스킬 생성 워크플로우. revfactory/harness 방법론을 기반으로 체계적으로 새 스킬을 생성합니다. 요구사항 분석부터 최종 검증까지 전체 생명주기를 관리합니다. 다음과 같은 요청 시 반드시 이 스킬을 사용하세요: - "새 스킬 만들어줘", "스킬 생성", "skill-builder" - "이 기능 스킬로 만들고 싶어", "스킬 제작" - "Vibe 스킬 추가", "새 플러그인 스킬" - skill-template으로 시작한 스킬의 체계적 생성이 필요할 때 - /harness 커맨드의 new 단계로 진입할 때
.claude/skills/modu-ai-skill-builder/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 85% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 278% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 79% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 134% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 138% | 0% |
> moai-core | revfactory/harness 방법론 기반 스킬 생성
harness 오픈소스의 6-Phase 스킬 생성 워크플로우를 MoAI cowork-plugins 컨텍스트에 맞게 변환한 스킬입니다. 수작업 스킬 작성의 품질 편차를 줄이고, 체계적인 생성 프로세스를 통해 일관된 품질의 스킬을 생산합니다.
> 이름 이력: v1.3.x까지 skill-forge로 제공되던 스킬이 v1.5.x에서 skill-builder로 이름 변경되었습니다. 별칭은 유지되지 않으며 모든 참조는 skill-builder로 갱신해야 합니다.
스킬 생성 스킬 제작 skill-builder 새 스킬 만들기 스킬 추가 신규 스킬 harness 워크플로우
Phase 1: Requirements → 사용자 의도 분석, 트리거 키워드 정의
Phase 1.5: Research → 공식 자료·베스트 프랙티스 외부 조사 (WebSearch + Context7) ★ v1.6.0
Phase 2: Architecture → 에이전트 패턴 선택 (6종 중 매핑)
Phase 3: Skill Draft → skill-template 기반 SKILL.md 초안 + ## 출처 섹션
Phase 4: Test Gen → 테스트 프롬프트 2-3개 + 기대 출력 정의
Phase 5: Validation → 4차원 루브릭 스코어링 (skill-tester 본문 §스코어링 루브릭)
Phase 6: Review → 품질 게이트 통과 확인, 파일 배치사용자의 자연어 요청에서 스킬 요구사항을 추출합니다.
필수 수집 항목:
| 항목 | 질문 | 예시 | |------|------|------| | 목적 | "이 스킬이 해결할 문제는?" | "영업 제안서를 자동 생성하고 싶다" | | 타겟 플러그인 | "어느 플러그인에 배치할까?" | moai-business | | 입력 | "사용자가 무엇을 입력하나?" | 회사명, 타겟 산업, 제품 정보 | | 출력 | "어떤 산출물을 기대하나?" | 제안서 DOCX 파일 | | 복잡도 | "스킬이 얼마나 복잡한가?" | Standard (50-150줄) |
출력물: 요구사항 문서 (인메모리, AskUserQuestion으로 확인)
스킬 도메인의 공식 자료·표준 양식·베스트 프랙티스를 조사하여 SKILL.md의 정확성과 권위를 확보합니다.
조사 트리거 (다음 중 하나라도 해당하면 Phase 1.5 의무):
조사 절차:
"<도메인> <핵심 키워드> <연도>" 형식 (예: "한국 채용절차법 NCS 2026")"<topic> best practice <year>" 형식resolve-library-id → get-library-docs 순서| 도메인 | 1차 권장 출처 | |---|---| | 한국 세무·재무 | 국세청 nts.go.kr, 홈택스 hometax.go.kr, DART dart.fss.or.kr | | 한국 노무·채용 | 고용노동부 moel.go.kr, NCS ncs.go.kr, 한국노동연구원 kli.re.kr | | 한국 의료·건강 | 식약처 mfds.go.kr, 보건복지부 mohw.go.kr, 건강보험공단 nhis.or.kr | | 한국 정부지원 | K-Startup k-startup.go.kr, BIZINFO bizinfo.go.kr | | 한국 통계·시장 | KOSIS kosis.kr, 한국은행 ECOS ecos.bok.or.kr | | 한국 법률 | 국가법령정보센터 law.go.kr, 대법원 종합법률정보 glaw.scourt.go.kr | | 글로벌 회계 표준 | K-IFRS, IFRS Foundation ifrs.org | | 글로벌 채용 규제 | EEOC eeoc.gov, NYC Local Law 144, ISO 42001:2023 | | 글로벌 SaaS BP | 제품 공식 문서(HubSpot·Salesforce·Greenhouse 등) + 업계 리딩 블로그 |
## 출처 섹션에 markdown hyperlink 형식으로 인용[추정] 태그 강제산출물: research notes (인메모리, Phase 3 입력으로 전달)
금지:
[추정] 태그)스킵 조건 (Phase 1.5 생략 가능):
--skip-research 플래그 지정6개 에이전트 패턴 중 최적 패턴을 선택합니다.
| 패턴 | 적용 시나리오 | 스킬 예시 | |------|-------------|-----------| | Pipeline | 순차 처리, 각 단계 출력이 다음 입력 | docx-generator, blog | | Fan-out/Fan-in | 병렬 분석 후 결과 통합 | ux-designer, market-analysis | | Expert Pool | 다 도메인 전문 지식 결합 | consulting-brief, startup-launchpad | | Producer-Reviewer | 생성 + 품질 검토 순환 | sales-playbook, copywriting | | Supervisor | 다수 전문 스킬 오케스트레이션 | moai-business:ai-diagnostic, project | | Hierarchical Delegation | 복잡 작업 계층적 분해 | startup-launchpad |
선택 기준: 스킬의 워크플로우 단계 수, 병렬성 여부, 품질 검증 필요성을 기준으로 판단합니다.
출력물: 선택된 패턴 + 근거 (1-2문장)
skill-template 템플릿을 기반으로 SKILL.md 초안을 생성합니다.
필수 적용:
name, description만 포함 (metadata 금지)## 출처 섹션 의무: Phase 1.5에서 수집한 URL·인용을 markdown hyperlink로 명시 (Phase 1.5 적용 스킬)[추정] 태그참조: moai-core/skills/skill-tester/SKILL.md §스코어링 루브릭 (품질 기준 single source) 참조: moai-core/skills/skill-template/SKILL.md (템플릿)
출력물: <target-plugin>/skills/<skill-name>/SKILL.md 초안
스킬 검증용 테스트 케이스를 생성합니다.
테스트 구성:
yamltests: - name: "happy-path" prompt: "<대표적인 사용 프롬프트>" expected_output: format: "<출력 형식>" contains: ["<필수 포함 내용>"] not_contains: ["<금지 내용>"] - name: "edge-case" prompt: "<경계 조건 프롬프트>" expected_output: handles_gracefully: true fallback_behavior: "<설명>" - name: "complex-input" prompt: "<복잡한 입력 프롬프트>" expected_output: completeness: "모든 요구사항 충족"
출력물: <skill-dir>/tests/test-cases.yaml
4차원 루브릭으로 스킬을 평가합니다.
| 차원 | 가중치 | 평가 | |------|--------|------| | Correctness | 30% | 목적 달성 여부 | | Completeness | 25% | 에지 케이스 커버 | | Clarity | 25% | 사용자 이해 가능성 | | Efficiency | 20% | 토큰 대비 품질 |
통과 기준: 가중 평균 >= 0.70, 모든 차원 >= 0.50
미달 시: Phase 3으로 돌아가서 부족한 차원을 보완합니다. 최대 3회 반복.
참조: moai-core/skills/skill-tester/SKILL.md §스코어링 루브릭 (anchor 점수표 + 평가 절차)
배포 전 최종 체크리스트를 실행합니다.
체크리스트:
## 출처 섹션 존재 (Phase 1.5 적용 스킬, --skip-research 미지정 시)[추정] 태그 (Phase 1.5 적용 스킬)배치: <target-plugin>/skills/<skill-name>/SKILL.md 에 최종 파일을 배치합니다.
예시 1: 신규 스킬 생성 > "moai-business에 영업 제안서 자동 생성 스킬을 만들어줘. 회사명과 타겟 기업 입력하면 제안서 DOCX가 나오게"
예시 2: Vibe 갭 스킬 생성 > "skill-builder로 moai-product에 UX 디자인 분석 스킬을 만들어줘. Vibe Designing 기능 참고해서"
| 산출물 | 위치 | 설명 | |--------|------|------| | SKILL.md | <plugin>/skills/<name>/SKILL.md | 완성된 스킬 정의 | | test-cases.yaml | <plugin>/skills/<name>/tests/ | 테스트 케이스 | | score-report | 인메모리 | 루브릭 스코어 보고서 |
moai-*)가 존재하는지 사전 확인이 필요합니다| 스킬 | 관계 | 설명 | |------|------|------| | skill-template | before | 템플릿 구조를 제공하는 기반 스킬 | | skill-tester | after | 생성된 스킬의 테스트 실행 + 루브릭 스코어링 | | ai-slop-reviewer | after | 스킬 본문의 AI 패턴 검수 (선택) |
| 커맨드 | 설명 | |--------|------| | /harness | new→test→review 자동 연쇄 (이 스킬 + skill-tester + ai-slop-reviewer 오케스트레이션) |
Source: revfactory/harness 6-Phase workflow (Apache 2.0) + MoAI adaptation
## 출처 섹션 의무화 + 정량 수치 출처/[추정] 태그 강제| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-13 | pass→pass | 22,848 | 39,103 | +71% | 1 | 1 | 0% | 4,064 | 8,419 | +107% | 0 | 0 | — |
case-01 | fail→fail | 29,957 | 34,412 | +15% | 1 | 1 | 0% | 5,992 | 9,113 | +52% | 0 | 0 | — |
case-02 | fail→fail | 20,111 | 23,163 | +15% | 1 | 1 | 0% | 3,791 | 6,775 | +79% | 0 | 0 | — |
case-03 | fail→pass | 21,045 | 20,876 | -1% | 1 | 1 | 0% | 3,781 | 7,010 | +85% | 0 | 0 | — |
case-04 | fail→fail | 14,964 | 3,330 | -78% | 1 | 1 | 0% | 2,656 | 3,878 | +46% | 0 | 0 | — |
case-05 | fail→fail | 9,651 | 12,339 | +28% | 1 | 1 | 0% | 1,724 | 5,625 | +226% | 0 | 0 | — |
case-06 | fail→fail | 11,267 | 8,329 | -26% | 1 | 1 | 0% | 2,122 | 4,890 | +130% | 0 | 0 | — |
case-07 | fail→pass | 11,031 | 22,633 | +105% | 1 | 1 | 0% | 1,935 | 7,309 | +278% | 0 | 0 | — |
case-08 | pass→fail | 22,885 | 7,955 | -65% | 1 | 1 | 0% | 4,498 | 4,007 | -11% | 0 | 0 | — |
case-09 | fail→fail | 17,729 | 22,519 | +27% | 1 | 1 | 0% | 3,333 | 7,680 | +130% | 0 | 0 | — |
case-10 | pass→pass | 12,730 | 11,772 | -8% | 1 | 1 | 0% | 2,432 | 5,699 | +134% | 0 | 0 | — |
case-11 | fail→pass | 19,864 | 25,242 | +27% | 1 | 1 | 0% | 3,932 | 7,051 | +79% | 0 | 0 | — |
case-12 | pass→pass | 16,792 | 23,855 | +42% | 1 | 1 | 0% | 3,191 | 7,810 | +145% | 0 | 0 | — |
case-14 | fail→fail | 17,008 | 28,299 | +66% | 1 | 1 | 0% | 3,639 | 7,200 | +98% | 0 | 0 | — |
case-15 | fail→pass | 13,555 | 11,538 | -15% | 1 | 1 | 0% | 2,278 | 5,327 | +134% | 0 | 0 | — |
case-16 | fail→pass | 13,757 | 9,473 | -31% | 1 | 1 | 0% | 2,093 | 4,975 | +138% | 0 | 0 | — |
case-17 | fail→pass | 12,848 | 7,613 | -41% | 1 | 1 | 0% | 2,076 | 4,790 | +131% | 0 | 0 | — |
case-18 | pass→pass | 8,719 | 15,655 | +80% | 1 | 1 | 0% | 1,423 | 6,161 | +333% | 0 | 0 | — |
case-19 | fail→pass | 14,193 | 23,637 | +67% | 1 | 1 | 0% | 2,482 | 7,571 | +205% | 0 | 0 | — |
case-20 | pass→pass | 15,379 | 9,890 | -36% | 1 | 1 | 0% | 2,421 | 5,130 | +112% | 0 | 0 | — |
case-21 | fail→pass | 11,815 | 10,634 | -10% | 1 | 1 | 0% | 1,950 | 5,252 | +169% | 0 | 0 | — |
case-22 | fail→pass | 13,134 | 3,183 | -76% | 1 | 1 | 0% | 2,113 | 3,879 | +84% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +36 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.