algokit-mcp 1.0.2 → 1.0.3

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.
Files changed (102) hide show
  1. package/README.md +138 -16
  2. package/dist/api/boj-scraper.js +1 -1
  3. package/dist/api/boj-scraper.js.map +1 -1
  4. package/dist/api/programmers-scraper.d.ts +0 -5
  5. package/dist/api/programmers-scraper.d.ts.map +1 -1
  6. package/dist/api/programmers-scraper.js +59 -90
  7. package/dist/api/programmers-scraper.js.map +1 -1
  8. package/dist/index.js +38 -35
  9. package/dist/index.js.map +1 -1
  10. package/dist/tools/boj/analyze-code-submission-boj.d.ts +67 -0
  11. package/dist/tools/boj/analyze-code-submission-boj.d.ts.map +1 -0
  12. package/dist/tools/boj/analyze-code-submission-boj.js +91 -0
  13. package/dist/tools/boj/analyze-code-submission-boj.js.map +1 -0
  14. package/dist/tools/boj/analyze-problem-boj.d.ts +48 -0
  15. package/dist/tools/boj/analyze-problem-boj.d.ts.map +1 -0
  16. package/dist/tools/boj/analyze-problem-boj.js +52 -0
  17. package/dist/tools/boj/analyze-problem-boj.js.map +1 -0
  18. package/dist/tools/boj/fetch-problem-content-boj.d.ts +49 -0
  19. package/dist/tools/boj/fetch-problem-content-boj.d.ts.map +1 -0
  20. package/dist/tools/boj/fetch-problem-content-boj.js +95 -0
  21. package/dist/tools/boj/fetch-problem-content-boj.js.map +1 -0
  22. package/dist/tools/boj/generate-hint-boj.d.ts +42 -0
  23. package/dist/tools/boj/generate-hint-boj.d.ts.map +1 -0
  24. package/dist/tools/boj/generate-hint-boj.js +82 -0
  25. package/dist/tools/boj/generate-hint-boj.js.map +1 -0
  26. package/dist/tools/boj/generate-review-template-boj.d.ts +48 -0
  27. package/dist/tools/boj/generate-review-template-boj.d.ts.map +1 -0
  28. package/dist/tools/boj/generate-review-template-boj.js +52 -0
  29. package/dist/tools/boj/generate-review-template-boj.js.map +1 -0
  30. package/dist/tools/boj/get-problem-boj.d.ts +22 -0
  31. package/dist/tools/boj/get-problem-boj.d.ts.map +1 -0
  32. package/dist/tools/boj/get-problem-boj.js +89 -0
  33. package/dist/tools/boj/get-problem-boj.js.map +1 -0
  34. package/dist/tools/boj/search-problems-boj.d.ts +42 -0
  35. package/dist/tools/boj/search-problems-boj.d.ts.map +1 -0
  36. package/dist/tools/boj/search-problems-boj.js +143 -0
  37. package/dist/tools/boj/search-problems-boj.js.map +1 -0
  38. package/dist/tools/boj/search-tags-boj.d.ts +22 -0
  39. package/dist/tools/boj/search-tags-boj.d.ts.map +1 -0
  40. package/dist/tools/boj/search-tags-boj.js +70 -0
  41. package/dist/tools/boj/search-tags-boj.js.map +1 -0
  42. package/dist/tools/get-problem-boj.d.ts +22 -0
  43. package/dist/tools/get-problem-boj.d.ts.map +1 -0
  44. package/dist/tools/get-problem-boj.js +89 -0
  45. package/dist/tools/get-problem-boj.js.map +1 -0
  46. package/dist/tools/programmers/analyze-code-submission-programmers.d.ts +60 -0
  47. package/dist/tools/programmers/analyze-code-submission-programmers.d.ts.map +1 -0
  48. package/dist/tools/programmers/analyze-code-submission-programmers.js +85 -0
  49. package/dist/tools/programmers/analyze-code-submission-programmers.js.map +1 -0
  50. package/dist/tools/programmers/analyze-problem-programmers.d.ts +48 -0
  51. package/dist/tools/programmers/analyze-problem-programmers.d.ts.map +1 -0
  52. package/dist/tools/programmers/analyze-problem-programmers.js +53 -0
  53. package/dist/tools/programmers/analyze-problem-programmers.js.map +1 -0
  54. package/dist/tools/programmers/fetch-problem-content-programmers.d.ts +46 -0
  55. package/dist/tools/programmers/fetch-problem-content-programmers.d.ts.map +1 -0
  56. package/dist/tools/programmers/fetch-problem-content-programmers.js +76 -0
  57. package/dist/tools/programmers/fetch-problem-content-programmers.js.map +1 -0
  58. package/dist/tools/programmers/generate-hint-programmers.d.ts +42 -0
  59. package/dist/tools/programmers/generate-hint-programmers.d.ts.map +1 -0
  60. package/dist/tools/programmers/generate-hint-programmers.js +80 -0
  61. package/dist/tools/programmers/generate-hint-programmers.js.map +1 -0
  62. package/dist/tools/programmers/generate-review-template-programmers.d.ts +48 -0
  63. package/dist/tools/programmers/generate-review-template-programmers.d.ts.map +1 -0
  64. package/dist/tools/programmers/generate-review-template-programmers.js +53 -0
  65. package/dist/tools/programmers/generate-review-template-programmers.js.map +1 -0
  66. package/dist/tools/programmers/get-problem-programmers.d.ts +53 -0
  67. package/dist/tools/programmers/get-problem-programmers.d.ts.map +1 -0
  68. package/dist/tools/programmers/get-problem-programmers.js +163 -0
  69. package/dist/tools/programmers/get-problem-programmers.js.map +1 -0
  70. package/dist/tools/programmers/search-problems-programmers.d.ts +73 -0
  71. package/dist/tools/programmers/search-problems-programmers.d.ts.map +1 -0
  72. package/dist/tools/programmers/search-problems-programmers.js +173 -0
  73. package/dist/tools/programmers/search-problems-programmers.js.map +1 -0
  74. package/dist/tools/search-problems-boj.d.ts +42 -0
  75. package/dist/tools/search-problems-boj.d.ts.map +1 -0
  76. package/dist/tools/search-problems-boj.js +143 -0
  77. package/dist/tools/search-problems-boj.js.map +1 -0
  78. package/dist/tools/search-tags-boj.d.ts +22 -0
  79. package/dist/tools/search-tags-boj.d.ts.map +1 -0
  80. package/dist/tools/search-tags-boj.js +70 -0
  81. package/dist/tools/search-tags-boj.js.map +1 -0
  82. package/dist/utils/agent-skill-installer.d.ts +9 -0
  83. package/dist/utils/agent-skill-installer.d.ts.map +1 -0
  84. package/dist/utils/agent-skill-installer.js +94 -0
  85. package/dist/utils/agent-skill-installer.js.map +1 -0
  86. package/dist/utils/claudecode-skill-installer.d.ts +6 -0
  87. package/dist/utils/claudecode-skill-installer.d.ts.map +1 -0
  88. package/dist/utils/claudecode-skill-installer.js +70 -0
  89. package/dist/utils/claudecode-skill-installer.js.map +1 -0
  90. package/dist/utils/skill-installer.d.ts +6 -0
  91. package/dist/utils/skill-installer.d.ts.map +1 -0
  92. package/dist/utils/skill-installer.js +70 -0
  93. package/dist/utils/skill-installer.js.map +1 -0
  94. package/dist/utils/tier-converter.d.ts.map +1 -1
  95. package/dist/utils/tier-converter.js +3 -0
  96. package/dist/utils/tier-converter.js.map +1 -1
  97. package/package.json +3 -4
  98. package/skills/algo:code-review/SKILL.md +134 -0
  99. package/skills/algo:fetch/SKILL.md +102 -0
  100. package/skills/algo:hint/SKILL.md +111 -0
  101. package/skills/algo:review/SKILL.md +123 -0
  102. package/skills/algo:search/SKILL.md +122 -0
@@ -0,0 +1,123 @@
1
+ ---
2
+ name: algo:review
3
+ description: 백준(BOJ) 또는 프로그래머스 풀이 후 복습 문서 생성. 풀이를 마친 뒤 학습 내용을 정리하고 싶을 때 사용.
4
+ ---
5
+
6
+ # algo:review - 알고리즘 풀이 복습 템플릿
7
+
8
+ 백준(BOJ)과 프로그래머스 문제 풀이 후 복습 문서를 생성하는 스킬입니다.
9
+
10
+ ## 사용법
11
+
12
+ ```
13
+ /algo:review <문제식별자>
14
+ ```
15
+
16
+ **예시:**
17
+ - `/algo:review 1003` - 숫자만 입력 → 플랫폼 질문
18
+ - `/algo:review https://school.programmers.co.kr/learn/courses/30/lessons/42748` - URL → 프로그래머스 확정
19
+ - `/algo:review https://www.acmicpc.net/problem/1003` - URL → BOJ 확정
20
+
21
+ ## 플랫폼 판별 규칙
22
+
23
+ | 입력 패턴 | 플랫폼 | 예시 |
24
+ |-----------|--------|------|
25
+ | `acmicpc.net` URL | BOJ | `https://www.acmicpc.net/problem/1003` |
26
+ | `school.programmers.co.kr` URL | Programmers | `https://school.programmers.co.kr/...` |
27
+ | **숫자만 입력** | **→ 반드시 되묻기** | `1003`, `42748` |
28
+
29
+ 단, **대화 맥락에서 플랫폼이 이미 확인된 경우** (예: "프로그래머스 풀었어", 직전에 특정 플랫폼 문제를 함께 논의 중)에는 되묻지 않고 그 플랫폼으로 진행합니다.
30
+
31
+ > ⚠️ **맥락이 없는 숫자 입력은 절대 임의로 플랫폼을 추정하지 않습니다.**
32
+
33
+ ## 동작 방식
34
+
35
+ 1. **플랫폼 판별**: 위 규칙 적용 → 불명확하면 즉시 되묻기
36
+ 2. **MCP 도구 호출**: 플랫폼별 `generate_review_template_*` 실행
37
+ 3. **템플릿 및 가이드 수신**:
38
+ - 마크다운 복습 템플릿
39
+ - 문제 분석 정보 (난이도, 태그/카테고리, 설명)
40
+ - 복습 가이드 프롬프트
41
+ - 관련 문제 추천
42
+ 4. **대화형 복습 작성**: 사용자와 함께 섹션별 작성
43
+
44
+ ## MCP 도구 사용
45
+
46
+ ### BOJ
47
+
48
+ ```
49
+ algokit/generate_review_template_boj { problem_id: 1003 }
50
+ ```
51
+
52
+ ### 프로그래머스
53
+
54
+ ```
55
+ algokit/generate_review_template_programmers { problem_id: 42748 }
56
+ ```
57
+
58
+ ## 복습 문서 구조
59
+
60
+ ```markdown
61
+ # [문제번호] 문제 제목
62
+
63
+ ## 문제 요약
64
+ - **플랫폼**: BOJ / 프로그래머스
65
+ - **난이도**: Silver III (BOJ) / 레벨 2 (프로그래머스)
66
+ - **알고리즘**: DP, Memoization
67
+ - **풀이 날짜**: YYYY-MM-DD
68
+
69
+ ## 핵심 아이디어
70
+ <!-- 사용자와 대화하며 작성 -->
71
+
72
+ ## 내 풀이
73
+
74
+ ### 코드
75
+ ```python
76
+ # 사용자 코드 삽입
77
+ ```
78
+
79
+ ### 시간복잡도
80
+ <!-- 분석 결과 작성 -->
81
+
82
+ ## 배운 점
83
+ <!-- 학습 내용 정리 -->
84
+
85
+ ## 개선 방향
86
+ <!-- 개선 포인트 제안 -->
87
+
88
+ ## 관련 문제
89
+ <!-- 유사 문제 목록 -->
90
+ ```
91
+
92
+ ## 저장 위치 제안
93
+
94
+ - BOJ: `reviews/BOJ/{문제번호}_REVIEW.md`
95
+ - 예: `reviews/BOJ/1003_REVIEW.md`
96
+ - 프로그래머스: `reviews/Programmers/{문제번호}_REVIEW.md`
97
+ - 예: `reviews/Programmers/42748_REVIEW.md`
98
+
99
+ ## 대화형 작성 프로세스
100
+
101
+ 1. **코드 확인**: "풀이 코드를 보여주세요"
102
+ 2. **분석 및 질문**:
103
+ - "어떤 접근법을 사용하셨나요?"
104
+ - "어려웠던 부분은 무엇인가요?"
105
+ 3. **복습 문서 작성**: 템플릿 기반 섹션별 작성
106
+ 4. **저장 위치 제안**
107
+
108
+ ## 주의사항
109
+
110
+ - ✅ 사용자와 대화하며 단계별 작성
111
+ - ✅ 가이드 프롬프트로 자연스러운 질문 생성
112
+ - ✅ 사용자 코드 기반 맞춤형 피드백
113
+ - ✅ 플랫폼별 난이도 표기 방식 준수 (BOJ: 티어명, Programmers: 레벨)
114
+ - ✅ 숫자만 입력된 경우 플랫폼 확인 후 진행
115
+ - ✅ 대화 맥락에서 플랫폼이 이미 확인된 경우 그 맥락 활용
116
+ - ❌ 단순 템플릿 덤프 금지
117
+ - ❌ 맥락 없이 플랫폼 임의 추정 금지
118
+
119
+ ## 관련 스킬
120
+
121
+ - `/algo:hint` - 문제 힌트 생성
122
+ - `/algo:code-review` - 코드 상세 분석
123
+ - `/algo:search` - 관련 문제 검색
@@ -0,0 +1,122 @@
1
+ ---
2
+ name: algo:search
3
+ description: 백준(BOJ) 또는 프로그래머스 알고리즘 문제 검색 및 추천. 난이도/태그/키워드로 문제를 찾거나 추천받을 때 사용.
4
+ ---
5
+
6
+ # algo:search - 알고리즘 문제 검색
7
+
8
+ 백준(BOJ)과 프로그래머스 문제를 검색하고 추천하는 스킬입니다.
9
+
10
+ ## 사용법
11
+
12
+ ```
13
+ /algo:search [옵션]
14
+ ```
15
+
16
+ **예시:**
17
+ - `/algo:search` - 대화형 검색 시작 (플랫폼 질문)
18
+ - `/algo:search 백준 DP 골드` - BOJ DP 골드 검색
19
+ - `/algo:search 프로그래머스 레벨 2` - 프로그래머스 레벨 2 검색
20
+
21
+ ## 플랫폼 판별 규칙
22
+
23
+ | 입력 패턴 | 플랫폼 | 예시 |
24
+ |-----------|--------|------|
25
+ | "백준", "boj" 키워드 포함 | BOJ | `백준 DP 골드` |
26
+ | BOJ 티어명 포함 (브론즈/실버/골드/플래티넘/다이아/루비) | BOJ | `골드 5`, `실버 3` |
27
+ | "프로그래머스", "pg", "lv", "레벨" 키워드 포함 | Programmers | `프로그래머스 레벨 2` |
28
+ | **플랫폼 키워드 없음** | **→ 반드시 되묻기** | `DP 문제 추천해줘` |
29
+
30
+ > ⚠️ **플랫폼을 특정할 수 없는 입력은 절대 임의로 추정하지 않습니다.**
31
+
32
+ ## 동작 방식
33
+
34
+ 1. **플랫폼 판별**: 위 규칙 적용 → 불명확하면 즉시 되묻기
35
+ 2. **검색 의도 파악**: 난이도, 태그, 키워드 추출
36
+ 3. **MCP 도구 호출**
37
+ 4. **결과 제공**: 정렬된 문제 목록
38
+ 5. **후속 작업 제안**: `/algo:hint`, `/algo:review` 연계
39
+
40
+ ## MCP 도구 사용
41
+
42
+ ### BOJ 문제 검색
43
+
44
+ ```
45
+ # 난이도 검색 (골드 5 = level 11)
46
+ algokit/search_problems_boj { level_min: 11, level_max: 11, page: 1 }
47
+
48
+ # 태그 + 난이도 검색
49
+ algokit/search_problems_boj { tags: ["dp"], level_min: 11, level_max: 15 }
50
+
51
+ # 태그 검색 (키워드 → 태그 변환)
52
+ algokit/search_tags_boj { query: "다이나믹" }
53
+
54
+ # 특정 문제 상세 조회
55
+ algokit/get_problem_boj { problem_id: 1003 }
56
+ ```
57
+
58
+ ### 프로그래머스 문제 검색
59
+
60
+ ```
61
+ # 레벨 검색
62
+ algokit/search_problems_programmers { levels: [2], order: "popular", limit: 10 }
63
+
64
+ # 복수 레벨
65
+ algokit/search_problems_programmers { levels: [1, 2], order: "recent", limit: 20 }
66
+
67
+ # 특정 문제 상세 조회
68
+ algokit/get_problem_programmers { problem_id: 42748 }
69
+ # 또는 URL로 조회
70
+ algokit/get_problem_programmers { problem_id: "https://school.programmers.co.kr/learn/courses/30/lessons/42748" }
71
+ ```
72
+
73
+ ## BOJ 난이도(티어) 매핑
74
+
75
+ | 레벨 | 티어 | 레벨 | 티어 |
76
+ |------|------|------|------|
77
+ | 1-5 | Bronze V-I | 16-20 | Platinum V-I |
78
+ | 6-10 | Silver V-I | 21-25 | Diamond V-I |
79
+ | 11-15 | Gold V-I | 26-30 | Ruby V-I |
80
+
81
+ ## 대화형 검색 프로세스
82
+
83
+ 1. **의도 파악**:
84
+ ```
85
+ 사용자: "DP 문제 추천해줘"
86
+ AI: 어떤 플랫폼의 문제를 찾으시나요? (백준 / 프로그래머스)
87
+ ```
88
+ 단, 직전 대화에서 이미 플랫폼이 확인된 경우(예: "백준 문제 풀고 있어")에는 되묻지 않고 그대로 활용합니다.
89
+
90
+ 2. **조건 확인**:
91
+ ```
92
+ AI: 난이도는 어느 정도가 좋으신가요?
93
+ 사용자: "골드 정도"
94
+ ```
95
+
96
+ 3. **검색 실행 및 결과 제시**:
97
+ ```
98
+ 찾은 문제 목록:
99
+ | 번호 | 제목 | 난이도 |
100
+ |------|------|--------|
101
+ | 1003 | 피보나치 함수 | Silver III |
102
+ ```
103
+
104
+ 4. **후속 작업 제안**:
105
+ ```
106
+ 힌트가 필요하시면 /algo:hint 1003 을 실행하세요
107
+ ```
108
+
109
+ ## 주의사항
110
+
111
+ - ✅ 플랫폼 불명확 시 반드시 확인 후 진행
112
+ - ✅ 직전 대화에서 플랫폼이 이미 언급된 경우 그 맥락을 활용
113
+ - ✅ 사용자 레벨에 맞는 난이도 추천
114
+ - ✅ 다른 스킬과 연계 제안 (`/algo:hint`, `/algo:review`)
115
+ - ❌ 결과 과다 반환 금지 (limit: 10~20 권장)
116
+ - ❌ 플랫폼 임의 추정 금지 (맥락이 없는 경우)
117
+
118
+ ## 관련 스킬
119
+
120
+ - `/algo:hint` - 검색한 문제의 힌트 생성
121
+ - `/algo:fetch` - 문제 본문 상세 확인
122
+ - `/algo:review` - 풀이 후 복습 문서 생성