Agent Skills: create-decision-log Skill

|

UncategorizedID: semicolon-devteam/semo/create-decision-log

Install this agent skill to your local

pnpm dlx add-skill https://github.com/semicolon-devteam/semo/tree/HEAD/semo-system/semo-skills/create-decision-log

Skill Files

Browse the full folder contents for create-decision-log.

Download Skill

Loading file tree…

semo-system/semo-skills/create-decision-log/SKILL.md

Skill Metadata

Name
create-decision-log
Description
|

시스템 메시지: 이 Skill이 호출되면 [SEMO] Skill: create-decision-log 호출 메시지를 첫 줄에 출력하세요.

create-decision-log Skill

팀의 중요한 의사결정을 Supabase discussions 테이블에 문서화

🔴 데이터 소스 변경 (v2.0.0)

| 버전 | 데이터 소스 | 방식 | |------|------------|------| | v1.x | GitHub Discussions | GraphQL API | | v2.0 | Supabase | discussions 테이블 INSERT |


Purpose

회의, Slack, GitHub 등 모든 채널에서 발생한 의사결정을 **Supabase discussions 테이블 (category: 'decision-log')**에 투명하게 기록합니다.

Input

필수 파라미터

| 파라미터 | 타입 | 설명 | |----------|------|------| | title | string | 결정 내용 요약 (날짜 자동 추가됨) | | category | enum | 의사결정 분류 (아래 참조) | | source | enum | 결정 출처 (아래 참조) | | context | string | 의사결정 배경 | | decision | string | 의사결정 내용 | | participants | string[] | 참여자 목록 |

선택 파라미터

| 파라미터 | 타입 | 설명 | |----------|------|------| | notes | string | 추가 메모 | | related_issue | string | 관련 이슈/PR 번호 |

Enum 값

category:

  • 기술/아키텍처
  • 제품/기획
  • 운영/프로세스
  • 인사/조직
  • 비즈니스/전략

source:

  • 정기 회의
  • 긴급 회의
  • Slack 논의
  • GitHub Discussion
  • GitHub Issue/PR
  • 1:1 논의

Workflow

의사결정 정보 수신
    ↓
1. 필수 정보 검증
    ↓
2. Discussion 본문 생성 (템플릿 기반)
    ↓
3. Supabase discussions 테이블에 INSERT
    ↓
4. 생성된 Discussion ID 반환

Execution

Supabase로 저장

-- 의사결정 로그 생성
INSERT INTO discussions (office_id, category, title, body, created_by)
VALUES (
  '{office_uuid}',
  'decision-log',
  '[2025-01-15] API 버전 관리 전략 결정',
  E'## 🏷️ 의사결정 분류\n기술/아키텍처\n\n## 📍 결정 출처\n정기 회의\n\n## 👥 참여자\n@reus-jeon, @garden92, @kyago\n\n## 🔍 의사결정 배경\n{배경}\n\n## ✅ 의사결정 내용\n{결정 내용}\n\n## 📎 추가 메모\n{메모}',
  '{creator_uuid}'
)
RETURNING id, title;
// Supabase 클라이언트
const { data, error } = await supabase
  .from('discussions')
  .insert({
    office_id: officeId,
    category: 'decision-log',
    title: `[${date}] ${title}`,
    body: decisionBody,
    created_by: creatorId
  })
  .select('id, title')
  .single();

본문 템플릿

## 🏷️ 의사결정 분류
{category}

## 📍 결정 출처
{source}

## 👥 참여자
{participants}

## 🔍 의사결정 배경
{context}

## ✅ 의사결정 내용
{decision}

## 📎 추가 메모
{notes}

Output

성공

[SEMO] Skill: create-decision-log 완료

✅ 의사결정 로그 생성 완료

| 항목 | 내용 |
|------|------|
| 제목 | [2025-01-15] API 버전 관리 전략 결정 |
| 분류 | 기술/아키텍처 |
| 출처 | 정기 회의 |
| Supabase ID | {discussion_uuid} |

실패

[SEMO] Skill: create-decision-log 실패

❌ Discussion 생성 실패

**원인**: {error_message}
**해결**: Supabase 연결 및 권한 확인

Quick Start

단일 의사결정

title: "GraphQL 도입 결정"
category: "기술/아키텍처"
source: "정기 회의"
participants: ["@reus-jeon", "@garden92", "@kyago"]
context: |
  - 문제: REST API N+1 쿼리 문제
  - 필요성: 클라이언트 유연성 향상
decision: |
  - GraphQL을 새로운 API 표준으로 채택
  - Apollo Server 사용
  - 기존 REST API는 3개월 내 점진적 마이그레이션

GitHub Discussion Fallback

Supabase 연결이 불가능한 경우:

# Fallback: GitHub Discussion API
gh discussion create \
  --repo semicolon-devteam/command-center \
  --category "Decision-Log" \
  --title "[$(date +%Y-%m-%d)] {title}" \
  --body-file /tmp/decision-log-body.md

References

Related