본문으로 건너뛰기
gh-setup 플러그인  /  스킬 설명서

add-ai-metrics

GitHub Issue / PR 메트릭 푸터 백필

한 줄 요약

자동 캡처가 도입되기 전에 만들어진 GitHub Issue / PR 본문에 tokens · human-h · ai-min 메트릭 푸터를 소급해서 붙인다.

3가지
배타적 실행 모드
4단계
동작 흐름
8개
플래그
100건
확인 요구 임계
01

무엇을 만들어 내는가

대상 카드의 본문 하단에 추가된 접이식 메트릭 블록이 산출물이다. 블록은 두 마커 사이에 세 값을 담는다.

tokens토큰 수
human-h사람 작업 시간 (h)
ai-minAI 작업 시간 (min)

불변 마커 바깥의 바이트는 절대 바뀌지 않는다.

02

언제 쓰고 언제 안 쓰는가

나머지 셋이 "repo 를 세우는" 작업인 데 비해 이것만 "repo 의 과거를 메우는" 백필이다. 한 repo 에 대해 대개 한 번만 돌린다.

예전 이슈 / PR 에 푸터를 소급 부착한다

이 스킬이 담당한다.

지금 새로 만드는 이슈 / PR 에 푸터를 넣는다

대신 → gh-issue:create / gh-pr:create 가 생성 시점에 이미 붙인다.

라벨 / 보드 / docs 골격이 필요하다

대신 → 나머지 세 형제 스킬
03

호출 형식

위치인자와 플래그의 전체 형태. 아래 표는 검색해서 좁힐 수 있다.

/gh-setup:add-ai-metrics [<targets>] [--type issue|PR] [--date <date>]
                         [--pace <dur>] [--limit <N>] [--budget <dur>]
                         [--dry-run] [--force] [--remote <name>]
9개 표시 중
인자기본값의미
issue#N / pr#M
(위치인자)
— 대상 카드. 접두사는 대소문자를 가리지 않고 여러 개 나열할 수 있다.
--type issue|PR 양쪽 날짜 필터 모드를 한 종류로 제한한다.
--date <date> — 날짜 필터 모드 트리거. 하루, 한 달(YY-MM), 반열린 범위(A..B / A~B) 를 받는다.
--pace <dur> 0 쓰기 성공마다 <dur> 만큼 쉰다. 마지막 카드와 skip 경로에서는 쉬지 않는다.
--limit <N> 없음 카드 N 개를 수정한 뒤 멈춘다. skip 은 세지 않는다.
--budget <dur> 없음 벽시계 시간 <dur> 를 넘기기 전에 멈춘다. --limit 과 OR 로 결합된다.
--dry-run off 아무것도 쓰지 않고 분류만 한다. 상태 판정을 위해 view 호출은 한다.
--force off 기존 푸터를 재계산해서 교체한다. 기본은 건너뛰기.
--remote <name> origin 대상 원격을 바꾼다.
04

세 가지 모드

모드는 배타적이며 먼저 맞는 것이 이긴다.

explicit-list 위치인자가 있으면 이 모드.
date-filter 위치인자가 없고 --date 가 있으면 이 모드.
conversation-infer 둘 다 없으면 대화에서 #NNN 을 추론한다.
하드 에러

--date 와 위치인자를 함께 주면 하드 에러다.

05

동작 단계

인자 파싱에서 요약 출력까지 네 단계로 진행한다.

  1. 인자 파싱과 repo 결정

    인자를 파싱하고 START_TS 를 기록한 뒤 대상 repo 를 결정한다. 원격이 없으면 git remote -v 를 보여주고 멈춘다 — 조용한 폴백은 없다.

  2. 모드 결정과 대상 목록 생성

    모드를 정하고 대상 목록을 만든다. 100건을 넘으면 Continue with N cards? 확인을 받는다 (기본 아니오).

  3. 카드별 판정과 쓰기

    카드마다 본문을 가져와 푸터 유무를 판정하고, 없으면 덧붙이고 있으면 건너뛰며 --force 면 제자리 교체한다.

  4. 요약 출력

    요약 줄과 컨텍스트용 메트릭 줄을 출력한다. --limit / --budget 으로 일찍 멈췄다면 재개 힌트를 덧붙인다.

06

주의사항 / 제약

백필 스킬로서 반드시 지켜지는 성질들.

멱등이다

이미 <!-- ai-metrics --> 블록을 가진 카드는 건너뛴다. 같은 명령을 다시 돌려도 안전하며, 이 성질 자체가 --limit / --budget 중단 후의 재개 메커니즘이다. 별도의 --resume 플래그나 상태 파일이 없다.

블록 바깥의 바이트는 절대 수정하지 않는다

--force 는 무조건 덮어쓰기가 아니다

재계산 후 교체다.

푸터 탐지는 단순 grep 이 아니다

본문이 푸터 형식을 인용만 하고 있는 경우(예: 백틱 안의 마커)를 오탐하지 않도록, --- 구분선 뒤에 오는 실제 블록만 매칭한다.

카드 단위 실패는 로그만 남기고 루프를 계속한다

모든 호출에 --repo 를 명시한다