| name | trend |
| description | 최신 Android/Jetpack API 트렌드를 조사하여 STUDY_BACKLOG.md에 새 학습 항목 추가. KMP/CMP 제외. |
| allowed-tools | ["WebSearch","WebFetch","Read","Edit","Glob","Grep","Bash"] |
Trend Skill — 최신 Android API 트렌드 스카우터
최신 Android/Jetpack/Compose API 변경사항을 조사하고 STUDY_BACKLOG.md에 새 학습 항목을 추가합니다.
사용법
/trend # 최신 트렌드 조사 + 백로그 업데이트
/trend "Compose 1.11" # 특정 주제 범위 지정
실행 모드
수동 실행 (/trend)
사용자가 직접 호출. 현재 세션에서 포그라운드로 실행하고 결과를 대화에 출력한다.
자동 실행 (SessionStart 훅 트리거)
[TREND_UPDATE_NEEDED] 훅 메시지를 감지하면:
- 사용자에게 "백그라운드에서 최신 Android API 트렌드를 업데이트 중입니다" 안내
Task(subagent_type='general-purpose', run_in_background=true)로 아래 실행 단계(1~6)를 커밋 포함하여 전부 위임
- 사용자의 원래 요청을 즉시 처리 (블로킹하지 않음)
- 백그라운드 에이전트가 완료되면 결과를 요약해서 사용자에게 알림
중요: 백그라운드 에이전트는 반드시 6단계 커밋까지 완료해야 한다. 커밋이 되어야 다음 세션에서 훅이 staleness를 올바르게 판단할 수 있다.
실행 단계
1. 현재 백로그 분석
STUDY_BACKLOG.md 읽기
- 이미 등록된 주제 목록 추출 (중복 방지용)
- 마지막 트렌드 업데이트 날짜 확인
2. 최신 API 조사 (WebSearch)
다음 카테고리별로 최소 4개 이상 WebSearch 수행:
필수 검색 쿼리:
"Jetpack Compose latest release {current_year} new APIs stable"
"Android {latest_version} new platform APIs developer features"
"AndroidX library releases {current_year} changelog new"
"Jetpack ViewModel Lifecycle SavedStateHandle new APIs {current_year}"
"Android architecture components new {current_year}"
선택 검색 (변경사항이 있을 법한 영역):
"Jetpack Navigation new version {current_year}"
"Android Gradle Plugin new features {current_year}"
"Kotlin Android extensions new {current_year}"
"Jetpack Room Datastore WorkManager new APIs {current_year}"
제외 대상 (검색 결과에서 필터링):
- KMP (Kotlin Multiplatform)
- CMP (Compose Multiplatform)
- Flutter, React Native 등 크로스플랫폼
- 이미 deprecated된 API
3. 신규 항목 선별
검색 결과에서 다음 기준으로 필터링:
포함 기준:
- stable 또는 beta 이상으로 릴리즈된 신규 API
- 기존 API의 중요한 변경사항 (breaking change, 신규 함수 등)
- 개발자가 실무에서 알아야 할 변경
- 성능 개선 관련 새로운 메커니즘
제외 기준:
- 이미 STUDY_BACKLOG.md에 등록된 주제
- alpha 단계의 실험적 API (단, 주목도가 매우 높은 경우 예외)
- 단순 버그 수정, 마이너 패치
4. 백로그 업데이트
새 항목을 적절한 모듈 섹션의 기존 항목 아래에 추가.
항목 포맷:
| <주제명> | <우선순위> | 🆕 <YYYY-MM-DD>. <한줄 설명> |
우선순위 기준:
- 높음: stable 릴리즈된 신규 핵심 API, breaking change, 필수 대응
- 중: beta/RC 단계이나 주목할 만한 변경, 성능 관련
- 낮음: 알아두면 좋은 부가 API, 도구 변경
모듈 매핑:
| 주제 영역 | 대상 모듈 |
|---|
| Compose Runtime/State/Effect | compose-practice |
| Compose UI/Animation/Layout | compose-ui-practice |
| Lifecycle/ViewModel/SavedState | android-architecture |
| Android 플랫폼 API (알림, 권한 등) | android-libs-practice |
| 코루틴/Flow | coroutine |
| Kotlin 언어 기능 | kotlin-practice |
대상 모듈 섹션이 백로그에 없으면 새로 만든다.
5. 결과 보고
추가된 항목 요약을 사용자에게 출력:
## 🆕 트렌드 업데이트 결과 (YYYY-MM-DD)
| 주제 | 모듈 | 우선순위 | 추가 이유 |
|------|------|----------|----------|
| ... | ... | ... | ... |
Sources:
- [출처1](URL)
- [출처2](URL)
추가할 새 항목이 없는 경우:
현재 백로그가 최신 상태입니다. 새로 추가할 항목이 없습니다.
마지막 확인: YYYY-MM-DD
6. 커밋
docs: update STUDY_BACKLOG with latest API trends
- <추가된 항목 수>개 신규 학습 항목 추가
- 조사일: YYYY-MM-DD
- 주요 항목: <상위 2-3개 나열>
7. Slack 알림 전송
커밋 완료 후, /send-slack 스킬의 Webhook URL과 Block Kit 형식을 사용하여 결과를 Slack으로 전송한다.
Webhook URL: 환경변수 $SLACK_WEBHOOK_URL 사용 (.env 또는 셸 프로필에 설정)
메시지 형식:
curl -s -X POST "$SLACK_WEBHOOK_URL" \
-H 'Content-type: application/json' \
-d '{
"blocks": [
{ "type": "header", "text": { "type": "plain_text", "text": "STUDY_BACKLOG 트렌드 업데이트 완료", "emoji": true } },
{ "type": "divider" },
{ "type": "section", "text": { "type": "mrkdwn", "text": "*추가된 항목*\n• <항목1>\n• <항목2>\n• ..." } },
{ "type": "section", "fields": [
{ "type": "mrkdwn", "text": "*추가 수*\n`N개`" },
{ "type": "mrkdwn", "text": "*조사일*\n`YYYY-MM-DD`" }
]},
{ "type": "context", "elements": [{ "type": "mrkdwn", "text": "Murjune-Study-Test | /trend skill | 자동 실행" }] }
]
}'
추가할 항목이 없는 경우에도 Slack 알림:
{
"blocks": [
{ "type": "header", "text": { "type": "plain_text", "text": "STUDY_BACKLOG 트렌드 확인 완료", "emoji": true } },
{ "type": "section", "text": { "type": "mrkdwn", "text": "현재 백로그가 최신 상태입니다. 새로 추가할 항목이 없습니다." } },
{ "type": "context", "elements": [{ "type": "mrkdwn", "text": "Murjune-Study-Test | /trend skill | 자동 실행" }] }
]
}
규칙
- WebSearch 결과 기반만 — 추측이나 기억에 의존하지 않음
- 중복 금지 — 이미 백로그에 있는 주제는 절대 추가하지 않음
- 출처 필수 — 결과 보고 시 반드시 참고 URL 포함
- 날짜 기록 — 각 항목 메모에 추가 날짜 표기
- KMP/CMP 제외 — 크로스플랫폼 관련 항목 필터링
- 최대 10개 — 한 번 실행에 최대 10개 항목까지만 (과도한 항목 방지)
- 한국어 — 모든 출력과 백로그 항목은 한국어로 작성