B

organization-best-practices

작성자 better-auth

organization-best-practices는 Better Auth에서 access control을 위한 organization 설정을 안내하며, server/client plugin 구성, migration, database 확인, organization 생성, 초대, 역할, RBAC 중심 활용까지 폭넓게 다룹니다.

Stars162
즐겨찾기0
댓글0
추가됨2026년 3월 30일
카테고리Access Control
설치 명령어
npx skills add https://github.com/better-auth/skills --skill organization
큐레이션 점수

이 스킬은 78/100점으로, 디렉터리 등록용으로 충분히 탄탄한 편입니다. Better Auth organization 기능에 대해 에이전트가 언제 써야 하는지 비교적 분명하게 드러나고, 구현 가이드도 꽤 충실합니다. 다만 실행 가능한 지원 파일이나 명시적인 판단 규칙보다는 설명형 문서와 예시에 주로 의존해야 합니다.

78/100
강점
  • 트리거 적합성이 높습니다. frontmatter에서 org setup, team management, member roles, access control, Better Auth organization plugin에 사용할 문서임을 분명히 밝힙니다.
  • 실무에 바로 도움이 되는 설정 안내를 제공합니다. server plugin setup, client plugin setup, migration, 그리고 필요한 database table을 확인하는 구체적인 검증 단계까지 포함합니다.
  • 예시 범위가 넓어 에이전트 활용도가 좋습니다. multi-tenant organizations, invitations, custom roles/permissions, teams, RBAC를 code fence와 repo/file reference와 함께 다룹니다.
주의점
  • 패키징 측면에서 도입 판단의 명확성은 다소 떨어집니다. SKILL.md에 install command가 없고, 실행 추정을 줄여 줄 support files, scripts, reference docs도 제공되지 않습니다.
  • 워크플로 안내는 절차형이라기보다 예시 중심에 가깝습니다. 구조상 내용은 충분해 보이지만, 변형 사례나 edge case를 처리하기 위한 명시적 workflow section이나 decision rule은 없습니다.
개요

organization-best-practices 스킬 개요

이 스킬로 할 수 있는 일

organization-best-practices 스킬은 Better Auth로 멀티 테넌트 organization 구조를 구현할 때 참고하기 좋은 실전 가이드입니다. 특히 단순한 auth 설정보다 접근 제어, 팀 멤버십, 초대 흐름, 역할 설계가 핵심 과제인 경우에 더 유용합니다. 처음부터 여러 플러그인 문서를 조합해가며 붙이기보다, Access Control 관점에서 organization-best-practices를 검토하면서 더 빠르게 도입 경로를 잡고 싶은 개발자에게 잘 맞습니다.

어떤 독자에게 잘 맞는가

다음과 같은 것을 만들고 있다면 이 스킬을 쓰는 편이 좋습니다:

  • workspaces 또는 organizations 개념이 있는 SaaS 제품
  • 팀과 멤버를 중심으로 한 역할 기반 접근 제어
  • 초대 기반 온보딩 플로우
  • organization 소유권, admin 위임, 멤버 수 제한이 필요한 앱

이미 Better Auth를 쓰고 있는 엔지니어나, Better Auth의 organization plugin이 자신의 tenancy 모델을 커버하는지 판단하려는 경우 특히 적합합니다.

실제로 해결하려는 일

대부분의 사용자는 “organization 기능”만 따로 찾는 것이 아닙니다. 실제로 필요한 것은 다음을 안정적으로 처리하는 방법입니다:

  • 기존 auth 스택에 org 개념 추가하기
  • owner를 자동 할당하기
  • 누가 org를 만들 수 있는지 제어하기
  • 멤버 역할을 깔끔하게 관리하기
  • server와 client plugin을 어긋남 없이 연결하기
  • 플로우 테스트 전에 데이터베이스 마이그레이션을 올바르게 적용하기

이 스킬의 가치는 이런 설정 의존성을 하나의 워크플로로 압축해준다는 데 있습니다.

일반적인 프롬프트와 다른 이유

일반 프롬프트로도 AI에게 “Better Auth로 organizations를 설정해줘”라고 요청할 수는 있습니다. 하지만 이 스킬은 Better Auth organization plugin의 실제 흐름, 즉 server plugin, client plugin, migration, 데이터베이스 검증에 맞춰 구성되어 있습니다. 그래서 설치 판단을 내릴 때도 더 유용하고, 라이브러리가 기대하는 구조에 맞는 구현 단계를 얻기에도 훨씬 낫습니다.

설치 전에 가장 먼저 확인할 점

도입 여부를 가르는 핵심 질문은 단순합니다. 내 앱이 Better Auth의 organization 모델에 자연스럽게 매핑되는가? organization 생성, 초대 관리, 역할 할당, RBAC 스타일 접근 패턴이 필요하다면 대체로 답은 yes입니다. 반대로 tenancy 의미 체계를 강하게 커스터마이즈해야 하거나, org 간 정책 엔진이 필요하거나, 특이한 권한 상속 구조가 필요하다면 기본 스킬만으로는 부족하고 추가 확장을 전제로 봐야 합니다.

organization-best-practices 스킬 사용 방법

실제 설치 맥락부터 시작하기

실무적인 organization-best-practices install 경로는 프롬프트 작성에서 시작하지 않고, 현재 Better Auth 설정에서 시작합니다. 먼저 SKILL.md를 읽고, 그다음 현재 auth 설정과 비교하세요. 이 스킬은 다음을 추가하는 상황을 전제로 합니다:

  • server에 organization()
  • client에 organizationClient()
  • npx @better-auth/cli migrate로 migration 수행
  • organization 관련 테이블이 생겼는지 데이터베이스에서 확인

아직 앱이 Better Auth를 쓰고 있지 않다면, 이 스킬은 전체 auth 마이그레이션 가이드 역할까지 하지는 않습니다.

먼저 이 파일부터 읽기

에이전트에게 코드 생성을 맡기기 전에 better-auth/organization/SKILL.md를 먼저 훑어보세요. 여기에는 setup, client-side setup, organization creation, organization creation controls까지 핵심 워크플로가 가장 압축적으로 담겨 있습니다. 이 저장소 구조는 비교적 단순한 편이라, 스킬 파일부터 읽으면 실제 구현에 필요한 거의 모든 중요한 맥락을 빠르게 파악할 수 있습니다.

최소 필수 설정이 되었는지 확인하기

정상적인 첫 번째 구현은 보통 아래를 포함합니다:

  1. server plugin 추가:
    import { organization } from "better-auth/plugins"
  2. client plugin 추가:
    import { organizationClient } from "better-auth/client/plugins"
  3. 실행:
    npx @better-auth/cli migrate
  4. 데이터베이스에 organization, member, invitation 테이블이 생겼는지 확인

특히 4번을 건너뛰는 것이 흔한 혼란 원인입니다. 앱 코드는 맞아 보여도 실제 스키마 상태가 불완전할 수 있기 때문입니다.

이 스킬이 여러분에게서 필요로 하는 입력

좋은 organization-best-practices usage 결과를 얻으려면, 접근 제어 설계에 영향을 주는 제약을 에이전트에게 명확히 줘야 합니다:

  • 누가 organization을 만들 수 있는지
  • 사용자가 여러 org에 속할 수 있는지
  • owner, admin, member 같은 예상 역할
  • invite-only 온보딩인지 self-serve 온보딩인지
  • org 수와 멤버십 제한
  • teams가 지금 필요한지, 나중에 필요한지

이 정보 없이 요청하면, 컴파일은 되더라도 실제 운영 모델을 반영하지 못하는 너무 일반적인 설정이 나오기 쉽습니다.

막연한 목표를 좋은 프롬프트로 바꾸기

약한 프롬프트:

Set up Better Auth organizations.

강한 프롬프트:

Add Better Auth organization support to my app. Users can create up to 3 organizations, each org can have up to 50 members, only users with canCreateOrg: true may create organizations, creators should become owner, and we need client-side organization creation plus invitation-ready schema setup. Show the server config, client config, migration step, and what database tables I should verify.

두 번째처럼 구체적으로 쓰면 출력 품질이 좋아집니다. 제한 조건, 생성 정책, 기본 역할 기대값, 그리고 필요한 산출물이 정확히 들어가기 때문입니다.

한 번에 크게 요청하지 말고 단계별로 진행하기

품질 높은 organization-best-practices guide는 보통 다음 순서를 따릅니다:

  1. server plugin 설정 요청
  2. client plugin 설정 요청
  3. migration 및 검증 단계 요청
  4. organization 생성 플로우 요청
  5. 생성 제한과 역할 로직 요청
  6. 앱의 route 또는 action에서 접근 제어 체크 요청

이렇게 나누면 근거 없는 glue code가 끼어들 가능성이 줄고, 보안에 민감한 결정도 더 쉽게 리뷰할 수 있습니다.

Access Control 결정은 초기에 잡기

organization-best-practices for Access Control에서 가장 중요한 설계 질문은 “org를 어떻게 만들까?”가 아니라 “권한 모델을 어떻게 둘까?”입니다. 초기에 아래를 먼저 정하세요:

  • 누가 owner인가
  • admin이 멤버를 초대하거나 제거할 수 있는가
  • 역할 변경이 제한되는가
  • 어떤 액션이 org 범위로 묶이는가
  • 개인 계정과 org 계정이 함께 존재하는가

이 부분을 비워두면, 생성된 코드는 나중에 되돌리기 어려운 과도한 권한을 기본값으로 두는 경우가 많습니다.

유용한 구현 요청 예시

앱 구조에 맞춘 결과물을 요청하세요. 예:

I already use Better Auth in a Next.js app. Add the organization plugin on the server and client, generate the migration command sequence, create an example authClient.organization.create call, and show how to block organization creation unless the user has a paid plan flag in their profile.

이런 요청이 잘 작동하는 이유는 프레임워크 맥락, 현재 스택, 필요한 코드 영역, 정책 규칙이 함께 들어 있기 때문입니다.

실제 도입을 막는 대표적인 장애물

자주 막히는 지점은 다음과 같습니다:

  • server plugin만 설정하고 client plugin을 빠뜨리는 경우
  • migration을 아예 하지 않거나 불완전하게 적용하는 경우
  • custom role이 자동으로 존재한다고 가정하고, 실제 enforcement 설계를 하지 않는 경우
  • org 설정을 곧 전체 authorization 설계와 동일하다고 보는 경우
  • 제품에 top-level org 멤버십 외에 teams까지 필요한지 확인하지 않는 경우

이 스킬은 plugin wiring에는 도움이 되지만, 앱별 권한 체크까지 대신 정의해주지는 않습니다.

이 스킬만으로 충분한 경우와 아닌 경우

Better Auth organization을 빠르게 기준선 수준으로 도입하고 싶고, 추측이 적은 설정 경로가 필요하다면 이 스킬만으로도 충분합니다. 하지만 아래가 필요하다면 이것만으로는 부족합니다:

  • 완전한 enterprise 권한 매트릭스
  • 도메인 특화 compliance 제어
  • 외부 디렉터리 동기화
  • 고급 cross-tenant 정책 조합

이런 경우에는 이 스킬로 기반 설정을 먼저 잡고, 그 위에 자체 authorization 모델을 얹는 방식이 적절합니다.

organization-best-practices 스킬 FAQ

이 스킬은 주로 설정용인가, 아니면 권한 설계용인가?

둘 다지만, 우선순위는 설정입니다. Better Auth의 organization plugin을 정확히 설치하고, RBAC 스타일 접근 제어의 출발점을 합리적으로 잡고 싶을 때 가장 큰 가치를 제공합니다. 다만 전체 authorization 아키텍처 검토를 대체하는 것은 아닙니다.

organization-best-practices는 초보자에게도 적합한가?

네, 기본적인 Better Auth 사용법을 이미 이해하고 있다면 적합합니다. 단계도 구체적입니다. server와 client plugin을 추가하고, migrate를 수행하고, 테이블을 검증한 다음, organization을 생성하면 됩니다. 다만 비즈니스 규칙을 역할과 권한으로 매핑하는 부분은 초보자에게 추가 도움이 필요할 수 있습니다.

일반적인 AI 프롬프트보다 뭐가 더 좋은가?

organization-best-practices skill은 AI의 답변 범위를 실제 Better Auth organization 워크플로에 맞게 좁혀줍니다. 그 덕분에 plugin 이름, migration 단계, 기대되는 생성 흐름에 대한 모호함이 줄어듭니다. 일반 프롬프트는 이 중 적어도 하나를 빠뜨리는 경우가 많습니다.

Access Control 사용 사례를 직접 지원하나?

네. 특히 owner/member 구조, 초대, org 제한, 역할 기반 동작이 필요한 organization-best-practices for Access Control에 잘 맞습니다. 다만 이 스킬이 제공하는 것은 기반 구조이지, 모든 앱에 바로 적용 가능한 완성형 permission system은 아닙니다.

언제 이 스킬을 쓰지 말아야 하나?

Better Auth를 쓰지 않는다면 건너뛰는 편이 낫습니다. 또는 tenancy 모델이 organization/member/invitation 패턴과 많이 다르다면 적합도가 떨어집니다. baseline 수준의 org 지원도 아직 없는 상태에서, 아주 특수한 authorization 의미 체계를 먼저 풀어야 하는 경우에도 잘 맞지 않습니다.

이 스킬 repo 안에서 뭔가를 따로 설치해야 하나?

보통은 이 스킬을 가이드로 참고하고, 실제 적용은 자신의 Better Auth 프로젝트에 합니다. 실질적인 설치 작업은 이 스킬 폴더 안의 큰 독립 패키지를 설치하는 방식이 아니라, 앱에서 Better Auth plugin 설정을 추가하고 npx @better-auth/cli migrate를 실행하는 방식으로 이뤄집니다.

organization-best-practices 스킬을 더 잘 활용하는 방법

프레임워크보다 정책 규칙을 먼저 알려주기

organization-best-practices 결과 품질을 높이려면, 프레임워크 정보만이 아니라 실제 governance 규칙을 함께 줘야 합니다:

  • 누가 org를 만들 수 있는지
  • 생성 시 기본 역할이 무엇인지
  • 사용자당 최대 org 수
  • org당 최대 멤버 수
  • 초대 권한이 누구에게 있는지
  • 과금 또는 플랜 상태가 접근에 영향을 주는지

이런 정보는 프론트엔드 스택보다 생성 코드에 훨씬 더 큰 영향을 줍니다.

스키마 검증을 명시적으로 요청하기

가장 효과적인 개선 중 하나는 에이전트에게 migration 이후 체크리스트까지 포함해달라고 요청하는 것입니다. 예:

After setup, tell me exactly which organization, member, and invitation tables should exist and how I should verify them before testing the UI.

이렇게 하면 migration 실패를 더 빨리 발견할 수 있고, 결과물이 실제 운영에 더 도움이 됩니다.

org 설정과 앱 권한 로직을 분리하기

자주 보이는 실패 패턴은 plugin 설치와 route 수준 authorization 로직을 한 프롬프트에 섞는 것입니다. 아래처럼 나누면 결과 품질이 좋아집니다:

  • prompt 1: install and configure Better Auth organizations
  • prompt 2: define app permission checks for owners, admins, and members

이렇게 분리하면 코드가 더 깔끔해지고, 근거 없이 지어낸 추상화도 줄어듭니다.

원하는 역할 모델을 처음부터 제시하기

owner 이상이 필요하다면 초기에 바로 말하세요. 예:

We need owner, admin, billing, and member. Admins can invite, billing can manage subscriptions, members cannot change org settings.

이런 식으로 주면 organization-best-practices usage 결과가 훨씬 좋아집니다. AI가 일반적인 역할 라벨이 아니라, 실제 액션에 맞는 예시를 만들 수 있기 때문입니다.

첫 결과 이후에는 엣지 케이스를 따로 파고들기

초기 설정이 끝난 뒤에는 실패 경로와 경계 조건을 중심으로 후속 질문을 하세요:

  • 초대를 다시 보낼 때는 어떻게 되는가?
  • 한 사용자가 여러 organization에 속할 수 있는가?
  • 소유권 이전은 어떻게 처리할 것인가?
  • 마지막으로 남은 owner를 누가 제거할 수 있는가?
  • org 제한에 도달하면 어떤 동작을 해야 하는가?

이 질문들이 데모 수준 구현을 실제 운영 가능한 접근 모델로 끌어올립니다.

현재 파일 구조에 맞는 코드를 요청하기

실무적으로는 auth 코드가 어디에 있는지 알려주는 것도 중요합니다. 예:

My server auth config is in src/lib/auth.ts and my client auth setup is in src/lib/auth-client.ts. Update those files instead of generating new placeholders.

이렇게 해야 현재 repo에 맞지 않는 저효율 placeholder 코드 생성을 막을 수 있습니다.

코드 조각만이 아니라 의사결정에도 이 스킬을 활용하기

organization-best-practices guide의 가장 큰 가치는 샘플 코드 자체만이 아닙니다. Better Auth의 organization plugin이 여러분의 tenancy 및 접근 제어 요구에 맞는지, 구현 시간을 더 쓰기 전에 판단할 수 있게 해준다는 점이 더 중요합니다. 먼저 적합성을 검증하는 데 활용하고, 모델이 명확해진 뒤에 코드 생성을 요청하세요.

평점 및 리뷰

아직 평점이 없습니다
리뷰 남기기
이 스킬의 평점과 리뷰를 남기려면 로그인하세요.
G
0/10000
최신 리뷰
저장 중...