Claude Code에 Aside를 붙여 내 자동화 과제를 고르고, 첫 과제를 매월 자동화하기까지

Claude Code 자동화 소개

시도하고자 했던 것과 그 이유

24기 에이전트하네스에서 Aside를 배우면서 계속 든 질문이 있었어요. "Aside로 뭘 자동화해야 나한테 진짜 도움이 될까?"

저는 중소 제조기업에서 제조부문과 연구소를 맡고 있어요. 성과관리, 운영 개선, 생산성 향상이 주 업무예요. 평소 Claude Code로 사내 자동화를 많이 만들어 왔는데, Aside는 아직 "로그인된 웹 일을 맡기는 브라우저" 정도로만 쓰고 있었어요.

그래서 이번에는 순서를 바꿔 봤어요.

  1. Claude Code에 Aside를 연결한다.

  2. Aside로 지피터스의 Aside 사례글을 전부 모아 분석한다.

  3. Aside 메모리에 쌓인 제 정보(직무, 쓰는 시스템, 돌리고 있는 루틴)를 읽혀 저에게 맞는 자동화를 추천받는다.

  4. 그중 첫 번째 추천을 실제로 끝까지 자동화한다.

남이 잘한 사례를 따라 하는 대신, 사례 100여 편과 내 맥락을 겹쳐서 내 일에 맞는 과제를 고르게 하는 것이 목표였어요.

Claude Code 자동화 진행 방법

사용한 도구

  • Claude Code: 판단·설계·코드 작성·검증·예약 등록까지 전체 진행

  • Aside (MCP 연결): 로그인된 브라우저에서 지피터스 자료 수집, Aside 메모리 검색

  • Aside 메모리: 제 직무와 업무 맥락의 출처

  • LibreOffice: 엑셀 수식 재계산·오류 검사

  • macOS launchd: 매월 자동 실행

1단계: Claude Code에 Aside 연결하기

처음 입력한 프롬프트예요.

Open optionsauto

이곳에서 aside를 활용한 자동화를 진행하려고해. 너가 aside를 연결할 수 있는지부터 점검해줘

Claude가 Aside 앱 설치, CLI 로그인 상태, 공식 개발자 문서를 차례로 확인했어요. 그다음 aside mcp를 직접 띄워 도구 목록을 받아 보니 세 개가 있었어요.

  • exec: Aside 브라우저 에이전트에게 일 맡기기

  • repl: Playwright 방식으로 Aside 브라우저를 직접 조작

  • memory_search: Aside 메모리 검색

Open optionsauto

MCP 등록해줘

Open optionsauto

claude mcp add aside -- /Users/[사용자]/.local/bin/aside mcp
claude mcp list
# aside: /Users/[사용자]/.local/bin/aside mcp - ✔ Connected

새 세션을 열고 확인을 부탁했어요.

Open optionsauto

aside 도구 확인해줘

세 도구 모두 실제 호출에 성공했어요. 이때 REPL 안에서 aside.routines.list()로 제 루틴 목록까지 읽을 수 있다는 것도 알게 됐어요. 반대로 루틴을 만들거나 고치는 API는 없다는 것도 확인했어요.

2단계: 지피터스 Aside 사례 104편 수집·분석

Open optionsauto

https://www.gpters.org/ai-study-post
지피터스 스터디 게시글에서 aside 혹은 어사이드 가 제목 혹은 태그에 들어간 사례글들을 읽고 목록화 및 분석을해서, 어떤 부분에서 어사이드를 통한 자동화가 유용한지? 분석해주고, 나에게 어사이드를 이용한 자동화를 추천해줘

재밌었던 부분은 수집 방법이에요. 스터디 목록 페이지는 "더 보기"를 수백 번 눌러야 해서 브라우저 클릭으로는 비효율적이었어요. Claude는 Aside REPL 안에서 지피터스 페이지 구조를 살펴보더니, 사이트가 쓰는 검색 API를 찾아 거기서 바로 목록과 본문을 받아 왔어요.

Open optionsauto

// Aside REPL 안에서 실행 (요약본)
const tok = await gql('query { tokens(networkDomain: "www.gpters.org") { accessToken } }');
for (const q of ['aside', '어사이드', 'Aside 스킬', 'Aside 루틴', 'Aside CLI', 'Aside MCP']) {
  const s = await gql('query($q:String!){ search(input:{query:$q}) { hits { hits { entityId title } } } }', { q }, token);
  // 검색어마다 100건 상한이라 검색어를 늘려 합집합을 만들었다
}
// 후보 517편 → 제목·태그에 aside/어사이드/어싸이드가 있는 104편 → 본문 약 44만 자 수집

결과는 9개 유형으로 분류됐어요.

유형

편수

예시

로그인 뒤 업무 데이터 추출·정리

11

ERP 인건비, 쿠팡 Wing 정산, 광고주 리포트

보고 있는 화면에서 바로 처리

8

스마트스토어 문의 답변, 메일 선별·전달

조사·수집 후 정리·저장

10

SNS 레퍼런스, 네이버지도 저장

반복 작업의 스킬화·루틴

10

포인트 수집, 도서 예약 스킬

콘솔·설정·행정 대행

9

서치콘솔·GA4, 앱 제출

다른 에이전트와 협업(CLI·MCP·REPL)

17

Claude Code·Hermes·OpenClaw에서 Aside 호출

앱·도구 제작과 검증

13

해루질GO 시리즈, 대시보드

하네스 설정·측정

16

USER·SOUL·AGENTS 정비

소개·후기·학습 기록

15

크레딧 후기, 윈도우 출시

그리고 Aside 메모리에 있는 제 정보(제조부문 총괄, 공장 설비 모니터링 대시보드, 평일 08시 KRX 브리핑 루틴, Claude Code·Hermes 병행)를 읽어 이렇게 추천했어요.

  1. 사내 시스템 월별 지표 추출 → 엑셀 누적 (로그인 뒤 데이터형)

  2. 공장 대시보드 아침 점검을 기존 KRX 브리핑에 합치기

  3. 스케줄은 Claude Code 쪽에 두고 실행은 Aside MCP로 (루틴 3개 제한 회피)

3단계: 첫 번째 추천 실행 - 공장 대시보드 자료로 성과관리 엑셀 만들기

Open optionsauto

제조부문 성과관리를 위한 엑셀양식은 따로 없어. https://dashboard.[사내도메인]/ [공장]대시보드에 있는 자료들을 활용하여 너가 성과관리를 위한 적절한 지표들을 추출하고 엑셀관리 자료를 만들어줘

여기서 계획이 한 번 바뀌었어요.

  • Aside로 대시보드를 열어 보니 로그인 화면이었어요. 비밀번호 입력은 AI에게 맡기지 않는다는 원칙이라 여기서 멈췄어요.

  • 대신 Claude가 이 Mac에 있는 대시보드 소스 코드를 찾아 읽었어요. 생산계획 달성률, 출하량, 공정별 불량률(PPM), 코팅 합격률이 어떤 식으로 계산되는지 코드에서 그대로 가져왔어요.

  • 대시보드에 들어가는 원천 데이터가 이미 NAS에 엑셀 파일로 매일 자동 추출되고 있다는 것도 찾았어요. 화면을 긁을 필요 없이 원본 파일을 읽는 쪽이 더 정확했어요.

그래서 Claude가 원천 파일들을 대시보드 적재 로직과 같은 방식("날짜 구간 교체")으로 합치고, 대시보드와 같은 정의로 지표를 계산하는 엑셀을 만들었어요.

엑셀 구성 (26개 시트)

  • 요약: 월별 스코어카드. 생산(건수 달성률·수량 충족률·부서별), 출하(품목별 출하량·외주비율·수주잔량), 품질(5개 품목군 공정/검사 불량률·목표·달성률), 코팅(합격률·재코팅 비율)

  • 지표정의 / 데이터범위: 계산식, 가정, 원천 파일, 적재 방식

  • 계산 시트: 공정별 PPM, 월별 적용 품질목표

  • 피벗 시트: 미달유형, 협력사별, 불량유형별

  • 원천 데이터 시트 17개: 행을 추가하면 요약이 자동 재계산

수식은 하드코딩 없이 전부 원천 시트를 참조하게 했어요. 예를 들어 품질 불량률은 대시보드처럼 "공정별 PPM을 각각 구해 더하는" 방식이에요.

Open optionsauto

공정 실적수량 = SUMIFS(D_품질실적!실적수량, D_품질실적!공정키, "검사1", D_품질실적!월, "2026-10", D_품질실적!집계대상, "Y")
공정 PPM     = IF(실적=0, "", 불량/실적*1000000)
불량률 합계   = 공정불량률(비검사 공정 PPM 합) + 검사불량률(검사 공정 PPM 합)
목표 달성률   = 품질목표 ÷ 불량률 합계

검증은 두 겹으로 했어요.

  • LibreOffice로 수식 약 5,900개를 재계산해 오류 0건 확인

  • 같은 지표를 파이썬으로 따로 계산해 엑셀 값과 일치 확인

4단계: 매월 자동 생성

Open optionsauto

이 엑셀을 매월 자동으로 생성하는 루틴 만들어줘

처음엔 Aside 루틴을 떠올렸는데, Claude가 다른 방식을 권했어요.

  • Aside 루틴은 앱 화면에서만 만들 수 있다(MCP·CLI로는 생성 불가)

  • 이 작업은 AI 판단 없이 스크립트만 돌리면 된다

  • 이미 쓰고 있는 사내 자동화들이 macOS launchd로 돌고 있다

그래서 기존 자동화와 같은 방식으로 등록했어요.

Open optionsauto

<!-- ~/Library/LaunchAgents/com.[사용자].kpi-monthly.plist (요약) -->
<key>ProgramArguments</key>
<array>
  <string>/bin/bash</string>
  <string>/Users/[사용자]/aside/scripts/run-kpi-monthly.sh</string>
</array>
<!-- 매월 1일 12:30. 품질·출하·생산계획 자동추출이 모두 끝난 뒤라 지난달 말일 자료까지 들어온다 -->
<key>StartCalendarInterval</key>
<dict><key>Day</key><integer>1</integer><key>Hour</key><integer>12</integer><key>Minute</key><integer>30</integer></dict>

Open optionsauto

# run-kpi-monthly.sh 흐름 (요약)
REPORT_MONTH="${1:-$(date -v-1m +%Y-%m)}"           # 인자 없으면 지난달
ensure-mount.sh 공장공유폴더 || fail "NAS 마운트 실패"
node extract.js "$WORK" "$STORE"                     # 누적 저장소 위에 원천 파일을 구간 교체로 얹기
python3 build_xlsx.py "$WORK" "$TMP_OUT" "$REPORT_MONTH"
python3 recalc.py "$TMP_OUT"                         # 수식 오류 0이 아니면 실패 처리
mv "$TMP_OUT" "reports/성과관리_${REPORT_MONTH}.xlsx" # 성공했을 때만 결과·저장소 교체
cp "$WORK"/*.json "$STORE"/

수동 실행(약 2분)과 launchd 즉시 실행 모두 성공했고, 두 번 연속 돌려도 행 수가 같아 중복 적재가 없는 것까지 확인했어요.

결과와 배운 점

결과

  • 지피터스 Aside 사례 104편 목록과 9개 유형 분석, 제 맥락에 맞춘 추천 3가지

  • 공장 대시보드와 같은 정의로 계산하는 성과관리 엑셀 (요약·정의·계산·피벗·원천 26개 시트)

  • 매월 1일 지난달 보고서를 자동으로 만드는 예약 작업과 이력 누적 저장소

배운 점과 나만의 꿀팁

  1. 추천은 "사례 × 내 메모리"로 받으니 훨씬 내 일 같았어요. 사례만 보면 남의 일이고, 내 정보만 넣으면 뻔한 답이 나와요. Aside 메모리에 쌓인 맥락을 같이 읽히니 "이미 돌고 있는 KRX 브리핑에 얹자" 같은 구체적인 제안이 나왔어요.

  2. "로그인 벽 뒤"라고 생각한 일이 사실은 "파일 처리"였어요. Aside를 쓰려고 시작했는데, 막상 데이터는 NAS에 파일로 있었어요. 그래서 이 과제는 Claude가 거의 다 했고, Aside는 접근 확인과 사례 수집에서 손발 역할을 했어요. Aside를 억지로 끼우지 않은 게 오히려 정확하고 안정적인 결과를 냈어요.

  3. 지표 정의는 대시보드 코드에서 가져오기. 엑셀 숫자가 대시보드와 다르면 아무도 안 믿어요. Claude가 소스 코드의 계산식(공정별 PPM 합, "예상" 출하 제외, OK÷(OK+NG) 등)을 그대로 옮겨서 두 화면이 같은 숫자를 보게 됐어요.

  4. "됐다"는 보고 대신 두 번 검증. 수식 재계산 오류 0과, 파이썬 독립 계산 대조를 같이 했어요.

  5. 자동화 수단은 일의 성격으로 고르기. AI 판단이 필요 없는 정기 작업은 launchd 같은 단순한 스케줄러가 더 튼튼했어요.

시행착오

  • 지피터스 목록 페이지는 "더 보기"를 누르다 글로 들어가면 목록이 초기화돼서 클릭 수집에 부적합했어요. 사이트가 쓰는 검색 API로 바꿔 해결했어요.

  • 대시보드 DB 키는 보안상 가려져 있어 직접 조회가 안 됐어요. 원천 파일로 우회했어요.

  • NAS 한글 파일명이 맥에서 자소 분리 형태로 저장돼 패턴 매칭이 안 됐어요. 유니코드 정규화로 해결했어요.

  • 엑셀을 AppleScript로 열어 검증하려다 파일 접근 허용 창에 막혔어요. LibreOffice로 바꿨어요.

  • 처음 스크립트에 연도(2026)·기준일·코팅 파일 버전이 박혀 있어서 다음 달이면 틀어질 상황이었어요. 자동화 전에 전부 실행 시점 기준으로 바꿨어요.

  • 테스트 중 수주잔량 스냅샷이 엉뚱한 달 열에도 찍히는 버그를 찾아 고쳤어요.

  • 재코팅 F/R 의미를 AI가 추측하지 못했어요. 현장 용어는 사람이 알려줘야 해요.

도움이 필요한 부분

  • NAS 입력 폴더에는 최근 자료만 있어서, 그 이전 이력은 대시보드 DB에만 있어요. 로그인된 대시보드에서 과거 자료를 안전하게 한 번 가져오는 좋은 방법이 있으면 알려주세요.

  • Aside 루틴을 외부(MCP·CLI)에서 만들 방법이 생기면 정기 작업을 어디에 둘지 다시 고민해 보고 싶어요.

앞으로의 계획

  • 두 번째 추천: 공장 대시보드 아침 점검을 기존 KRX 브리핑에 합치기

  • Aside 브라우저로 대시보드에 로그인해 과거 이력을 한 번 채우기

  • 월간 보고서 완료 알림을 사내 텔레그램 봇으로 보내기

도움 받은 글

2
1개의 답글
지피터스 뉴스레터

이번 주 AI, 딱 쓸 것만

매주 월요일 오후,
읽고 바로 써먹을 AI 소식만