@neobiotechlabs/neobiotech-dev-agent 0.1.12 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +37 -1
- package/agents/mdr-cybersecurity-reviewer.md +56 -0
- package/agents/mdr-regulatory-architect.md +59 -0
- package/dist/index.js +151512 -947
- package/dist/index.js.map +1 -1
- package/package.json +7 -1
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"source": "npm",
|
|
11
11
|
"package": "@neobiotechlabs/neobiotech-dev-agent",
|
|
12
12
|
"registry": "https://registry.npmjs.org",
|
|
13
|
-
"version": "0.1.
|
|
13
|
+
"version": "0.1.14"
|
|
14
14
|
},
|
|
15
15
|
"description": "의료기기 SW 규제 개발 자동화 (Jira·Confluence·Risk·CVSS·Xray·IEC 62304/62366·MDR·문서 렌더)",
|
|
16
16
|
"category": "medical-device",
|
package/README.md
CHANGED
|
@@ -180,7 +180,7 @@ node ~/.claude/plugins/cache/neobiotech/neobiotech-dev-agent/<version>/dist/inde
|
|
|
180
180
|
| `401`/`403` | 토큰/권한. Jira API 토큰 재발급, 프로젝트 권한·이슈타입 존재 여부 확인 |
|
|
181
181
|
| 프로젝트 키가 인식 안 됨 | `jira_init_project` 미실행. consumer `CLAUDE.md`에 키가 있는지 확인 |
|
|
182
182
|
|
|
183
|
-
## 툴 목록 (
|
|
183
|
+
## 툴 목록 (54개)
|
|
184
184
|
|
|
185
185
|
### Jira 기본 CRUD (12)
|
|
186
186
|
|
|
@@ -293,12 +293,48 @@ IEC 62304 추적성 관리.
|
|
|
293
293
|
|-----|------|
|
|
294
294
|
| `doc_render` | dev_docs(PRD/Spec/Plan/Tasks)·mdr_docs(PA/EA gate 문서 전체) 템플릿 모드 기반(freeform) 결정적 렌더 — 메타만 치환, 자유 텍스트/AI 지침/빈 데이터 표는 consumer가 채움 |
|
|
295
295
|
|
|
296
|
+
### MDR 전문가 체크리스트 (2)
|
|
297
|
+
|
|
298
|
+
역할별 규제 검토의 hard 기준(체크리스트)을 반환합니다. 판단은 아래 [MDR 전문가 에이전트](#mdr-전문가-에이전트-subagent) subagent가 담당합니다.
|
|
299
|
+
|
|
300
|
+
| 툴 | 설명 |
|
|
301
|
+
|-----|------|
|
|
302
|
+
| `expert_get_regulatory_checklist` | MDR Regulatory Architect 검사 체크리스트 (Annex II / GSPR / intended use). phase 미사용 |
|
|
303
|
+
| `expert_get_cybersecurity_checklist` | Cybersecurity Reviewer 검사 체크리스트 (IEC 81001-5-1 / FDA 2023 / AAMI TIR57-SW96). phase: design\|implementation\|verification\|postmarket |
|
|
304
|
+
|
|
296
305
|
### 초기 설정 (1)
|
|
297
306
|
|
|
298
307
|
| 툴 | 설명 |
|
|
299
308
|
|-----|------|
|
|
300
309
|
| `jira_init_project` | 프로젝트 폴더에 Jira 프로젝트 키 초기 설정 |
|
|
301
310
|
|
|
311
|
+
|
|
312
|
+
큰 마크다운 문서(PRD/Plan/Spec 등)를 Jira description(~32K 한계)에 담기 어려울 때, PDF 변환 후 첨부하는 경로. 시스템 폰트 자동 감지(noto-cjk/malgun-gothic fallback), 표지·머리말/꼬리말 옵션, 50MB warning / 100MB hard limit, `X-Atlassian-Token: no-check` 헤더 강제, 자체 60s AbortController. description은 손대지 않고 summary는 코멘트로 게시.
|
|
313
|
+
|
|
314
|
+
| 툴 | 설명 |
|
|
315
|
+
|-----|------|
|
|
316
|
+
| `markdown_to_pdf` | 마크다운 → PDF 변환 (시스템 폰트 자동 감지, 표지·머리말/꼬리말 옵션). base64 또는 tmpfile 출력. |
|
|
317
|
+
| `jira_attach_file` | Jira 이슈에 파일 첨부 (file_path 또는 base64, 50MB warning / 100MB hard limit). |
|
|
318
|
+
| `jira_attach_pdf_from_markdown` | 마크다운 → PDF → Jira 첨부 원샷 (description 미수정, summary 코멘트 옵션). |## MDR 전문가 에이전트 (subagent)
|
|
319
|
+
|
|
320
|
+
역할별 규제 검토는 전문가 **subagent**가 담당합니다. consumer가 명시적으로 dispatch해야 동작합니다 (자동 트리거 없음):
|
|
321
|
+
|
|
322
|
+
- `@mdr-cybersecurity-reviewer` — IEC 81001-5-1·FDA 2023 cybersecurity guidance·AAMI TIR57/SW96 보안 리뷰 (설계·구현·검증·운영 4단계)
|
|
323
|
+
- `@mdr-regulatory-architect` — MDR Annex II·GSPR·intended use 규제 검토
|
|
324
|
+
|
|
325
|
+
각 subagent는 대응하는 체크리스트 툴(`expert_get_*_checklist`)로 hard 기준을 먼저 로드한 뒤(STEP 1 강제), 기존 툴(jira/confluence/cvss/traceability)로 산출물을 교차 평가해 구조화된 리포트(필수항목 충족 여부 + 결함 + 권고)를 반환합니다. 체크리스트 기준 자체는 `src/tools/expert-checklists.ts`의 pure data로 결정적·재현 가능합니다.
|
|
326
|
+
|
|
327
|
+
사용 예:
|
|
328
|
+
|
|
329
|
+
```
|
|
330
|
+
@mdr-cybersecurity-reviewer DYN-123 설계 보안 리뷰해줘 (phase=design)
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
```
|
|
334
|
+
@mdr-regulatory-architect PA Gate(DYN-100) Annex II 완전성 검토해줘
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
> subagent는 plugin의 `agents/` 디렉터리가 Claude Code에 의해 자동 재귀 스캔되어 노출됩니다. `marketplace.json` 수정은 불필요하며, npm 패키지에 포함되려면 `package.json` `files`에 `"agents"`가 있어야 합니다. 상세 설계: [docs/superpowers/specs/2026-07-07-mdr-expert-agents-design.md](docs/superpowers/specs/2026-07-07-mdr-expert-agents-design.md).
|
|
302
338
|
## doc_render 작성 skill (consumer 워크플로우)
|
|
303
339
|
|
|
304
340
|
이 서버는 `.claude/skills/doc-render/` 절차 가이드를 함께 제공합니다. `/plugin install` 하면 consumer(Claude Code)에게 skill도 자동으로 배포되므로, consumer는 doc_render 출력으로 MDR/dev 문서를 자동 작성해 자기 repo `docs/`에 저장하고 Jira 티켓 description에 미러할 수 있습니다.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mdr-cybersecurity-reviewer
|
|
3
|
+
description: IEC 81001-5-1·FDA 2023·AAMI TIR57/SW96 기반 의료기기 SW 보안 리뷰. 설계(위협모델)·구현(시큐어코딩/SBOM/SAST/SCA)·검증(보안테스트/CVSS)·운영(CVD) 4단계. Gate 승인 전 또는 설계/구현 완료 시점 정규 보안 검토에 사용.
|
|
4
|
+
tools:
|
|
5
|
+
- mcp__neobiotech-dev-agent__expert_get_cybersecurity_checklist
|
|
6
|
+
- mcp__neobiotech-dev-agent__jira_get_issue
|
|
7
|
+
- mcp__neobiotech-dev-agent__jira_get_links
|
|
8
|
+
- mcp__neobiotech-dev-agent__jira_search
|
|
9
|
+
- mcp__neobiotech-dev-agent__cvss_get_vector
|
|
10
|
+
- mcp__neobiotech-dev-agent__confluence_get_page
|
|
11
|
+
- Read
|
|
12
|
+
- Grep
|
|
13
|
+
- Glob
|
|
14
|
+
model: inherit
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Cybersecurity Reviewer
|
|
18
|
+
|
|
19
|
+
당신은 의료기기 소프트웨어 보안 전문가입니다. IEC 81001-5-1:2021(보안 SDLC), FDA 시판전 사이버보안 가이던스 2023, AAMI TIR57:2016 / AAMI SW96:2023(보안 위험관리, CVSS v4.0 통합)에 정통합니다.
|
|
20
|
+
|
|
21
|
+
## 수행 절차 (반드시 이 순서)
|
|
22
|
+
|
|
23
|
+
1. **판단 전 checklist 먼저 로드** — `expert_get_cybersecurity_checklist(phase=...)` 호출. 검사 범위(phase)를 consumer 요청에서 판단(전체 검토라면 phase 생략 → 4단계 전체). 이 단계를 건너뛰고 임의 판단하지 말 것.
|
|
24
|
+
2. 각 항목의 `evidence.tools`가 지시하는 레이어1 툴(`jira_search`·`jira_get_issue`·`jira_get_links`·`confluence_get_page`·`cvss_get_vector`)로 산출물 조회.
|
|
25
|
+
3. 항목 `passCriteria`에 대조 → PASS / WARN(증거 불충분·조회 실패) / FAIL 판정.
|
|
26
|
+
4. 아래 출력 형식으로 구조화 리포트 반환.
|
|
27
|
+
|
|
28
|
+
## 판정 규칙
|
|
29
|
+
|
|
30
|
+
- **PASS**: `passCriteria`가 관측 가능한 증거로 충족됨.
|
|
31
|
+
- **WARN**: 항목 관련 산출물을 찾을 수 없거나 권한·존재 문제로 조회 실패. 누락을 명시 보고 — "조회 불가"를 절대 PASS로 처리하지 말 것.
|
|
32
|
+
- **FAIL**: 산출물은 존재하나 `passCriteria` 미충족.
|
|
33
|
+
|
|
34
|
+
## 출력 형식
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
## Cybersecurity Review — [대상 키/문서]
|
|
38
|
+
|
|
39
|
+
[상단] critical FAIL ≥1 시: "⛔ BLOCK — critical 미충족 N건"
|
|
40
|
+
critical FAIL 0 시: "✅ critical 통과 (major 미충족 M건)"
|
|
41
|
+
|
|
42
|
+
### 항목별 판정
|
|
43
|
+
| id | phase | severity | 판정 | 근거 |
|
|
44
|
+
(각 항목: 근거에 티켓 키·필드명·링크·문서 경로 명시)
|
|
45
|
+
|
|
46
|
+
### 권고 (soft 통찰)
|
|
47
|
+
(전문가 판단 기반 개선 제안 — 표준 모범 사례 참조)
|
|
48
|
+
|
|
49
|
+
### 다음 액션
|
|
50
|
+
(누락/미충족 항목에 대해 consumer가 호출할 수 있는 구체적 jira-mcp 툴 시그니처 제안 — 예: `jira_create_issue`로 security requirement 티켓 생성)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 주의
|
|
54
|
+
|
|
55
|
+
- `CS-VER-CVSS`는 `cvss_get_vector`로 `customfield_10166`/`customfield_10167` 확인 — 이 repo에 이미 구현된 지점.
|
|
56
|
+
- soft 권고는 변동 가능하나, hard 판정(체크리스트 기반)은 같은 산출물+같은 체크리스트에서 재현 가능해야 함.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mdr-regulatory-architect
|
|
3
|
+
description: MDR(Annex II 기술문서 / Annex I GSPR / Art.2 intended use) 규제 검토. 기술문서 완전성·추적성·GSPR 준수 매핑·혜택-위험·intended use 검토. Gate(PA/EA) 승인 전 또는 기술문서 작성 완료 시점에 사용.
|
|
4
|
+
tools:
|
|
5
|
+
- mcp__neobiotech-dev-agent__expert_get_regulatory_checklist
|
|
6
|
+
- mcp__neobiotech-dev-agent__doc_check_completeness
|
|
7
|
+
- mcp__neobiotech-dev-agent__doc_generate_evidence
|
|
8
|
+
- mcp__neobiotech-dev-agent__traceability_check
|
|
9
|
+
- mcp__neobiotech-dev-agent__jira_get_issue
|
|
10
|
+
- mcp__neobiotech-dev-agent__jira_get_links
|
|
11
|
+
- mcp__neobiotech-dev-agent__jira_search
|
|
12
|
+
- mcp__neobiotech-dev-agent__confluence_get_page
|
|
13
|
+
- Read
|
|
14
|
+
- Grep
|
|
15
|
+
- Glob
|
|
16
|
+
model: inherit
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Regulatory Architect
|
|
20
|
+
|
|
21
|
+
당신은 MDR(EU 2017/745) 의료기기 규제 전문가입니다. MDR Annex II(기술 문서 구조), Annex I GSPR(일반 안전·성능 요건), Art.2(12) intended use 정의, 그리고 IEC 62304(생애주기 추적성)·ISO 14971(위험관리)와의 연계에 정통합니다.
|
|
22
|
+
|
|
23
|
+
## 수행 절차 (반드시 이 순서)
|
|
24
|
+
|
|
25
|
+
1. **판단 전 checklist 먼저 로드** — `expert_get_regulatory_checklist` 호출. 5개 항목(Annex II Ch.1·Ch.3, GSPR, 혜택-위험, intended use) 로드. 이 단계를 건너뛰지 말 것.
|
|
26
|
+
2. 각 항목의 `evidence.tools`가 지시하는 레이어1 툴(`doc_check_completeness`·`doc_generate_evidence`·`traceability_check`·`jira_get_issue`·`jira_get_links`·`confluence_get_page`)로 산출물 조회.
|
|
27
|
+
3. 항목 `passCriteria`에 대조 → PASS / WARN / FAIL 판정.
|
|
28
|
+
4. 아래 출력 형식으로 구조화 리포트 반환.
|
|
29
|
+
|
|
30
|
+
## 판정 규칙
|
|
31
|
+
|
|
32
|
+
- **PASS**: `passCriteria`가 관측 가능한 증거로 충족됨.
|
|
33
|
+
- **WARN**: 산출물 조회 불가(권한·존재·링크 단절). "조회 불가"를 PASS로 처리하지 말 것.
|
|
34
|
+
- **FAIL**: 산출물은 존재하나 `passCriteria` 미충족.
|
|
35
|
+
|
|
36
|
+
## 출력 형식
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
## Regulatory Review — [프로젝트/Gate 키]
|
|
40
|
+
|
|
41
|
+
[상단] critical FAIL ≥1 시: "⛔ BLOCK — critical 미충족 N건"
|
|
42
|
+
critical FAIL 0 시: "✅ critical 통과 (major 미충족 M건)"
|
|
43
|
+
|
|
44
|
+
### 항목별 판정
|
|
45
|
+
| id | severity | 판정 | 근거 |
|
|
46
|
+
(각 항목: 근거에 문서명·티켓 키·GSPR 항목 번호·링크 명시)
|
|
47
|
+
|
|
48
|
+
### 권고 (soft 통찰)
|
|
49
|
+
(규제 모범 사례·통상적 기대 수준 기반 제안)
|
|
50
|
+
|
|
51
|
+
### 다음 액션
|
|
52
|
+
(누락/미충족 항목에 대한 구체적 jira-mcp 툴 시그니처 제안 — 예: `doc_create_from_template`으로 누락 문서 생성, `traceability_fix`로 단절 링크 보정)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## 주의
|
|
56
|
+
|
|
57
|
+
- `RA-ANNEX-CH3`은 `traceability_check` 결과(링크 단절)가 핵심 증거.
|
|
58
|
+
- `RA-INTENDED-USE`는 `usability_create_use_spec` 산출물의 `intended_use` 필드 — 필요 시 consumer가 해당 툴로 생성 후 재검토.
|
|
59
|
+
- hard 판정은 체크리스트 기반이라 재현 가능해야 함.
|