agentsclimarketplace

Resource summary resolve override template

Skill kjuhwa/skills-hub/skills/arch/resource-summary-resolve-override-template

Self-correcting knowledge corpus for Claude Code — 9 stable shape clusters, bias-correction pipeline baked into contribution flow. 47 papers, 45 techniques, 1.1k skills.

Install
npx -y skills add kjuhwa/skills-hub --skill resource-summary-resolve-override-template

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

리소스 상세 화면의 "요약" 탭에서 `OVERRIDE → TEMPLATE → NONE` 순으로 대시보드를 결정하는 서버-클라이언트 패턴. 오버라이드 엔티티, resolve API, 상태별 UI 드롭다운 규칙까지 포함.

SKILL.md

5.0 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it

Resource Summary — Resolve (Override → Template → None)

Purpose

리소스 상세 화면에 "요약" 탭을 붙일 때, 공용 템플릿 대시보드리소스별 개별 편집(override) 을 하나의 resolve 로직으로 관리하는 패턴. 템플릿 원본을 훼손하지 않고 개별 리소스 맞춤이 가능하게 한다.

When to Activate

  • 리소스 상세에 "요약" 탭/대시보드 추가 요구
  • 특정 리소스만 대시보드를 다르게 보여주고 싶지만 공용 템플릿은 유지해야 할 때
  • "리소스 삭제 후에도 오버라이드 잔재가 남는다" 류 이슈

Backend Shape

엔티티 / API / 서비스 핵심 구조:

Entity: SummaryComposition
  - confId (리소스 식별자)
  - loginId (사용자별 오버라이드면 함께 키)
  - (confId, loginId) unique
  - tenant isolation (예: @MongoDBIsolationCollection)

Controller: /api/<widget>/resource-summary
  POST   /resolve              # 대시보드 결정 (조회)
  POST   /override             # override 저장 (upsert)
  DELETE /override/{confId}    # override 삭제
  POST   /cleanup              # 고아 매핑 정리

Service.resolve(confId, confType):
  1) override 테이블 lookup       → OVERRIDE
  2) 공용 template (confType 기준) → TEMPLATE
  3) 없으면                        → NONE

confType 규약:
  - template 의 domain 문자열과 동일 (예: "<domain>.<Entity>")

고아 데이터:
  - 리소스 삭제 이벤트(Kafka 등) 리스너로 override 자동 정리
  - event payload 의 리소스 식별자 필드명 확인 (resourceId vs confId 등)

Frontend Shape

Step 1. 도메인별 menu config 에 'summary' 키 추가
        - shared config 가 있는 도메인: <domain>DetailMenuList.ts
        - inline enum 쓰는 도메인(APM/KCM 스타일): 해당 enum/리터럴에 추가
Step 2. host 메뉴 항목에 "요약" 텍스트 추가 (보통 "성능" 위)
Step 3. endpoint 상수 + service 메서드 (resolve / override / delete)
Step 4. Drawer/Layout 의 switch 에 ResourceSummary 분기 추가
Step 5. 공용 컴포넌트 4개:
        - ResourceSummary.tsx        # resolve 후 상태 분기 렌더
        - SummaryHeader.tsx          # 배지(파랑=TEMPLATE, 초록=OVERRIDE) + Dropdown
        - CopyEditDialog.tsx         # "이 리소스에 맞게 편집" — copy→override→편집
        - DashboardSelectDialog.tsx  # 다른 대시보드 연결 (검색 + 2열 카드)

상태별 드롭다운 활성화 규칙

메뉴TEMPLATEOVERRIDENONE
기본 템플릿 사용비활성활성비활성
이 리소스에 맞게 편집활성활성비활성
다른 대시보드 연결활성활성비활성
편집활성활성비활성
  • NONE 상태에서는 "대시보드 선택" CTA 하나만 노출
  • "기본 템플릿 사용" 은 OVERRIDE 를 지우는 DELETE 호출로 매핑

도메인 매핑 표 (예시)

도메인confType 예confId 소스메뉴 구조
서버<domain>.<Entity>basicInfo.confIdshared config + summaryGroup/summary
네트워크동일 규칙dataInfo.confIdshared config
DB엔진별 <engine>.<Entity>resourceData.confIdshared config (특정 엔진은 별도 Layout)
APMapm.<Entity>serviceInfo.confIdinline menuTabs 리터럴
KCMkcm.<Entity>paramDatas.resourceId자체 MenuSubKeys enum

Pitfalls

  • TEMPLATE 원본 편집 허용 금지: "편집" 진입 시 현재가 TEMPLATE 이면 자동 copy→override 경로로 유도
  • resolve 호출에 confType 불일치: template 도메인 문자열과 정확히 동일해야 매칭됨 (오타·대소문자 주의)
  • 삭제 이벤트 미구독: 리소스 삭제됐는데 override 만 남아 목록에 유령 항목 발생 → cleanup 엔드포인트 주기 실행 + 삭제 이벤트 구독 둘 다 권장
  • 도메인별 confId 소스 불일치: APM 은 serviceInfo, KCM 은 resourceId 등 이름이 다르므로 공용 컴포넌트엔 prop 으로 주입

Checklist

  • SummaryComposition 엔티티 + unique 제약
  • resolve / override / delete / cleanup 4 endpoint
  • resolve 우선순위: OVERRIDE > TEMPLATE > NONE
  • 리소스 삭제 이벤트 → override 자동 정리
  • FE: menu config, host 메뉴, endpoint/service, Drawer case, 4 컴포넌트
  • 상태별 드롭다운 활성화 표대로 구현
  • TEMPLATE 원본 편집 차단, copy→override 경로만 편집 허용

Gives 0 of the 12 instructions most note taking skills give in ~1.6k tokens

Counted across 686 of the 876 authors here whose files we hold, read 2026-08-07

  • include a visual element on every slidein 44 of 686, across 13 files
  • use wikilinks for internal vault linksin 36 of 686, across 12 files
  • commit to a single visual motif across every slidein 34 of 686, across 9 files
  • use subagents to visually inspect rendered slidesin 31 of 686, across 7 files
  • read pptxgenjs guide before creating presentations from scratchin 30 of 686, across 6 files
  • keep 0.5 inch minimum marginsin 30 of 686, across 7 files
  • re-verify affected slides after every fixin 27 of 686, across 5 files
  • run content QA checks before declaring successin 26 of 686, across 3 files
  • Use Markdown links for external URLs onlyin 26 of 686, across 11 files
  • pick a bold topic specific color palettein 24 of 686, across 2 files
  • read editing guide before editing existing presentationsin 23 of 686, across 1 file
  • use one dominant color across all slidesin 23 of 686, across 1 file

Said here and by no other author read

  • implement override template none resolution order
  • enforce unique constraint on composition keys
  • create resolve override delete cleanup endpoints
  • match confType exactly to template domain string
  • add summary menu key to domain menu config
  • implement four frontend summary components

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.