一键导入
settings-task
Task JSON 파일을 채널톡에 업로드(생성/수정). channelId, x-account, 파일 경로를 받아 ALF Task API를 직접 호출한다.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Task JSON 파일을 채널톡에 업로드(생성/수정). channelId, x-account, 파일 경로를 받아 ALF Task API를 직접 호출한다.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
This sop executes automated clustering and tagging of customer support chat data through a Python pipeline, producing clustered data, cluster tags, and a comprehensive analysis report for Stage 2 (Pattern Extraction). The agent orchestrates the Python clustering script, monitors execution, validates outputs, and generates an analysis report to guide subsequent extraction work. **Language:** Auto-detects Korean (한국어) or Japanese (日本語) from user input.
Generate an ALF implementation package from all pipeline outputs. Produces rules draft, RAG knowledge items, dialog type cross-analysis heatmap, automation feasibility analysis, ROI calculation, task flowcharts (05_sales_report/tasks/), API requirements doc, and final ALF implementation guide. **Language:** Auto-detects Korean (한국어) or Japanese (日本語) from user input.
Split rules_draft.md into individual rule files and expand rag_items.md into standalone RAG knowledge documents for direct ALF registration.
Generate a client-facing deployment scenario and QA set from pipeline outputs (Stages 1-6). Maps consultation categories to resolution methods (RAG/Task) and deployment steps, with test queries per category. Outputs HTML + Markdown, optionally publishes to Notion.
Complete end-to-end pipeline for transforming Excel customer support data into production-ready Agent SOP documents, flowcharts, ALF implementation package, individual ALF registration files, and client-facing deployment scenario through 7 stages.
Channel.io 봇의 RAG 응답 품질을 Playwright로 자동 테스트합니다.
| name | settings-task |
| description | Task JSON 파일을 채널톡에 업로드(생성/수정). channelId, x-account, 파일 경로를 받아 ALF Task API를 직접 호출한다. |
| user-invocable | true |
| argument-hint | <filePath> <channelId> <xAccount> [env] [taskId] |
Task JSON 파일을 채널톡 ALF Task API에 업로드합니다.
$ARGUMENTS를 아래 순서로 파싱한다. 누락된 필수 인자는 사용자에게 질문한다.
| 위치 | 이름 | 필수 | 설명 | 기본값 |
|---|---|---|---|---|
$0 | filePath | O | Task JSON 파일 경로 | — |
$1 | channelId | O | 채널 ID | — |
$2 | xAccount | O | 인증 토큰 (x-account) | — |
$3 | env | X | prod 또는 exp | prod |
$4 | taskId | X | 기존 Task 수정 시 Task ID | — |
| env | ALF Host |
|---|---|
prod | https://front-alf-desk-api.channel.io |
exp | https://front-alf-desk-api.exp.channel.io |
Read 도구로 filePath의 JSON 파일을 읽는다. 파일 구조가 아래 두 형태 중 하나인지 확인:
{"task": {...}, "taskEditorPosition": {...}} — 그대로 사용{"name": "...", "nodes": [...], ...} — wrapper로 감싼다:
{"task": <원본 JSON>, "taskEditorPosition": {"nodePositions": {}, "edgePositions": {}}}
taskEditorPosition이 원본에 포함되어 있으면 분리해서 wrapper에 넣는다.
taskId가 없으면 (신규 생성) folderId가 필요하다.
Task JSON에 folderId가 이미 있으면 그대로 사용. 없으면 조회:
curl -s -X GET \
"{ALF_HOST}/desk/channels/{channelId}/front-alf/v2/task/folders/root/contents" \
-H "Content-Type: application/json" \
-H "x-account: {xAccount}" \
-H "Cookie: x-account={xAccount}"
응답의 childFolders[0].id를 folderId로 사용. 폴더가 없으면:
curl -s -X POST \
"{ALF_HOST}/desk/channels/{channelId}/front-alf/v2/task/folders" \
-H "Content-Type: application/json" \
-H "x-account: {xAccount}" \
-H "Cookie: x-account={xAccount}" \
-d '{"name": "기본"}'
task 객체에 "folderId": "<조회한 ID>"를 추가한다.
신규 생성 (taskId 없음):
curl -s -X POST \
"{ALF_HOST}/desk/channels/{channelId}/front-alf/v2/tasks" \
-H "Content-Type: application/json" \
-H "x-account: {xAccount}" \
-H "Cookie: x-account={xAccount}" \
-d '<wrapper JSON>'
수정 (taskId 있음):
curl -s -X PUT \
"{ALF_HOST}/desk/channels/{channelId}/front-alf/v2/tasks/{taskId}" \
-H "Content-Type: application/json" \
-H "x-account: {xAccount}" \
-H "Cookie: x-account={xAccount}" \
-d '<wrapper JSON>'
frontAlfTask.id와 name을 사용자에게 알려준다.스킬 디렉토리의 upload-task.sh를 직접 실행할 수도 있다:
~/.claude/skills/settings-task/upload-task.sh <file_or_dir> <channel_id> <x_account> [env] [task_id]
*.json 전부 업로드taskEditorPosition 포함)targetMediums는 객체 배열: [{"mediumType": "native"}] (문자열 배열 아님)