Skip to content
Back to skills

Compliance Audit

ASecurity

최종 규정 준수 검증 및 개선안 제시

  • 666 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 8, 2026
documentationpython

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill compliance-audit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Compliance Audit?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Compliance Audit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-compliance-audit/badge)](https://www.skillsdirectory.com/skills/majiayu000-compliance-audit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: compliance-audit
description: 최종 규정 준수 검증 및 개선안 제시
tags: [archaeology, compliance, audit, final-check, pipeline-step-6]
---

# Compliance Audit - 규정 준수 최종 검증

## 목적
작성된 고찰 초안, 표, 부록, 참고문헌이 국가유산청 규정 체크리스트를 충족하는지 검증하고, 미흡한 부분에 대한 구체적인 보완 지침과 개선된 버전 2를 생성합니다.

## 입력
- `output/draft/discussion.md`: 고찰 초안
- `output/draft/tables.md`: 비교표 및 일람표
- `output/draft/appendix.md`: 부록
- `output/draft/references.md`: 참고문헌
- `output/compliance/checklist.md`: 규정 체크리스트
- `output/compliance/gaps.md`: 결손 항목 보고서

## 검증 프로세스

### 1단계: 체크리스트 항목별 검증

#### A. 보고서 전체 구성 검증
```python
def verify_report_structure(files):
    """보고서 필수 구성 요소 확인"""
    checklist = {
        'A. 행정사항': check_admin_info(files),
        'B. 조사 배경 및 경과': check_background(files),
        'C. 유적의 입지 및 환경': check_location(files),
        'D. 역사적 배경': check_history(files),
        'E. 조사 내용': check_excavation(files),
        'F. 과학적 분석': check_scientific(files),
        'G. 도면 및 사진': check_drawings(files),
        'H. 고찰': check_discussion(files),  # ⭐ 주요 검증 대상
        'I. 결론': check_conclusion(files),
        'J. 부록': check_appendix(files)
    }
    return checklist
```

#### B. 고찰 섹션 세부 검증
```markdown
## 고찰(考察) 8개 필수 구성 요소 검증

### H1. 조사 성과 종합 ✓ / ⚠ / ✗
- [✓] 유구 종류와 수량 요약 존재
- [✓] 유물 종류와 수량 요약 존재
- [⚠] 주요 발견사항 강조 (3개 이상 권장, 현재 2개)
- [✓] 조사 한계 언급

**개선 제안**:
- 주요 발견사항 1개 추가: "마제석검 출토로 사회 계층화 추정"

### H2. 유구의 성격 및 기능 해석 ✓
- [✓] 유구 종류별 소제목 구분
- [✓] 평면·단면 형태 기술
- [✓] 도면 번호 명시 (15개 도면 언급)
- [✓] 공간 배치 패턴 분석

### H3. 유물의 편년 및 계통 ⚠
- [✓] 형식 분류 명확
- [✓] 절대연대 자료 제시 (C14 1건)
- [⚠] 형태적 계통 분석 (토기만 있고 석기 부족)
- [✗] 원료 산지 분석 (석재 산지 언급 없음)

**개선 제안**:
- 석기 형태 계통 분석 1문단 추가 (주변 유적과 비교)
- 석재 산지 추정 문장 삽입: "석재는 [산지명] 산출 ○○암으로 추정됨 (육안 관찰)"

### H4. 주변 유적과의 비교 분석 ✓ 우수
- [✓] 비교 대상 10개 유적 선정
- [✓] 공간 분포 비교 (지도 포함)
- [✓] 시대 동시성 검토
- [✓] 유구·유물 형태 비교
- [✓] 공통점과 차이점 도출
- [✓] 지역 간 교류 증거 제시

**특기사항**: 본 항목은 similarity-matcher 스킬 덕분에 우수한 수준

### H5. 공간 구조 및 취락 구조 해석 ✓
- [✓] 전체 공간 구성 원리 (환상 배치)
- [✓] 중심-주변 구조
- [⚠] 인구 추정 (언급 없음, 권장 사항)

**개선 제안**:
- 인구 추정 문장 추가: "주거지 12기를 기준으로 1가구 5인 가정 시 약 60명 규모 추정"

### H6. 역사·고고학적 의의 ✓
- [✓] 지역 고고학 연구사 위치
- [✓] 새로운 발견 강조
- [⚠] 문헌 기록 대조 (해당 자료 부족)
- [✓] 한국 고고학 기여

### H7. 보존 및 활용 방안 ✓
- [✓] 보존 상태 평가
- [✓] 보존 방안 제안
- [✓] 활용 방안 구체적

### H8. 향후 과제 및 제언 ✓
- [✓] 미해결 문제 제시
- [✓] 추가 조사 필요 영역
- [✓] 후속 연구 방향
```

### 2단계: 수치 기준 검증

```python
def verify_quantitative_criteria(discussion, tables, references):
    """정량적 기준 충족 여부 검증"""
    criteria = {
        '전체 분량': {
            'required': '30~50쪽',
            'current': f'{count_pages(discussion)}쪽',
            'pass': 30 <= count_pages(discussion) <= 50
        },
        '본문 인용 수': {
            'required': '최소 50개',
            'current': f'{count_citations(discussion)}개',
            'pass': count_citations(discussion) >= 50
        },
        '표 개수': {
            'required': '최소 5개',
            'current': f'{count_tables(tables)}개',
            'pass': count_tables(tables) >= 5
        },
        '도면 언급': {
            'required': '최소 10개',
            'current': f'{count_drawing_refs(discussion)}개',
            'pass': count_drawing_refs(discussion) >= 10
        },
        '주변 유적 비교': {
            'required': '최소 5개 유적',
            'current': f'{count_compared_sites(discussion)}개',
            'pass': count_compared_sites(discussion) >= 5
        },
        '참고문헌 수': {
            'required': '최소 30개',
            'current': f'{count_references(references)}개',
            'pass': count_references(references) >= 30
        },
        '영문 초록': {
            'required': '200~300단어',
            'current': f'{count_words(abstract_en)}단어',
            'pass': 200 <= count_words(abstract_en) <= 300
        }
    }
    return criteria
```

### 3단계: 내용 품질 검증

#### 3-1. 인용 무결성 검증
```python
def verify_citation_integrity(discussion, references):
    """본문 인용과 참고문헌 일치 확인"""
    citations_in_text = extract_citations(discussion)  # [저자(연도)]
    references_list = parse_references(references)

    orphan_citations = []  # 본문에는 있으나 참고문헌에 없음
    unused_references = []  # 참고문헌에는 있으나 본문에서 미인용

    for cite in citations_in_text:
        if cite not in references_list:
            orphan_citations.append(cite)

    for ref in references_list:
        if ref not in citations_in_text:
            unused_references.append(ref)

    return {
        'orphan': orphan_citations,
        'unused': unused_references,
        'integrity': len(orphan_citations) == 0
    }
```

**검증 결과 예시**:
```markdown
### 인용 무결성 검증 결과

✗ **불일치 발견**:

**본문에서 인용되었으나 참고문헌에 없음** (3건):
1. [이철수(2021)] - discussion.md 15페이지
2. [박영희(2019)] - discussion.md 28페이지
3. [Kim et al.(2020)] - discussion.md 42페이지

**참고문헌에는 있으나 본문에서 미인용** (2건):
1. 정민수(2018) - 삭제 또는 본문에 인용 추가 권장
2. ○○연구원(2017) - 삭제 또는 본문에 인용 추가 권장

**조치 방안**:
- 본문 미인용 3건에 대한 전체 서지정보를 참고문헌에 추가
- 미사용 참고문헌 2건은 삭제 (또는 본문에 관련 문장 추가)
```

#### 3-2. 도면·사진 참조 검증
```python
def verify_figure_references(discussion, appendix):
    """본문의 도면·사진 언급과 부록 목록 일치 확인"""
    figures_in_text = extract_figure_refs(discussion)  # [도면 3], [사진 12]
    figures_in_appendix = parse_appendix(appendix)

    missing = [f for f in figures_in_text if f not in figures_in_appendix]
    return {
        'missing': missing,
        'complete': len(missing) == 0
    }
```

#### 3-3. 논리 일관성 검증
```python
def verify_logical_consistency(discussion):
    """논리적 모순 또는 상충 검증"""
    issues = []

    # 연대 일관성
    if mentions_period('청동기 전기', discussion):
        if mentions_artifact('철기', same_context=True):
            issues.append({
                'type': '연대 모순',
                'detail': '청동기 전기 맥락에서 철기 언급',
                'severity': '높음'
            })

    # 수량 일관성
    intro_count = extract_feature_count(discussion, section='서론')
    detail_count = extract_feature_count(discussion, section='유구 분석')
    if intro_count != detail_count:
        issues.append({
            'type': '수량 불일치',
            'detail': f'서론 {intro_count}기 vs 상세 {detail_count}기',
            'severity': '중간'
        })

    return issues
```

### 4단계: 개선안 생성 (Version 2)

누락·미흡 항목에 대한 보완 내용을 자동 생성:

```python
def generate_improvements(audit_results):
    """검증 결과 기반 개선안 생성"""
    improvements = []

    # 예: 석재 산지 분석 누락
    if audit_results['H3']['원료 산지'] == False:
        improvements.append({
            'section': 'III. 유물의 편년 및 계통 > 2. 석기',
            'position': 'after "석재는 혈암과 셰일이 대부분으로,"',
            'insert': """
[산지명] 일대에서 산출되는 석재와 육안 특징이 유사하여,
인근에서 원료를 조달했을 가능성이 높다. 향후 암석학적 성분 분석을
통한 정확한 산지 추정이 필요하다 [관련 연구(연도)].
            """
        })

    # 예: 인구 추정 누락
    if '인구' not in audit_results['H5']:
        improvements.append({
            'section': 'V. 공간 구조 및 취락 구조 해석',
            'position': 'end of section',
            'insert': """
본 취락의 인구 규모는 주거지 12기를 기준으로, 1기당 1가구(평균 5인)
가정 시 약 60명으로 추정된다. 이는 [비교 유적명]의 인구 밀도와
유사하며 [근거 문헌(연도)], 청동기시대 중소 규모 취락에 해당한다.
            """
        })

    return improvements
```

## 출력

### output/final/discussion_v2.md
개선 사항을 반영한 최종 고찰 버전 2:
```markdown
# 고찰(考察) - Version 2

[모든 개선 사항 반영]

---
**변경 이력**:
- 2025-11-12: Version 1 생성 (discussion-drafter)
- 2025-11-12: Version 2 생성 (compliance-audit)
  - H3: 석재 산지 추정 문장 추가
  - H5: 인구 규모 추정 문단 추가
  - 인용 3건 참고문헌 추가
  - 도면 참조 오류 2건 수정
```

### output/final/compliance_report.md
최종 규정 준수 검증 보고서:
```markdown
# 국가유산청 규정 준수 검증 보고서

**검증일**: 2025-11-12
**대상**: ○○지구 유적 발굴조사 보고서 고찰 섹션
**검증 기준**: 발굴조사의 방법 및 절차 등에 관한 규정

---

## 종합 평가

### 준수율
- **전체**: 92% (68개 항목 중 63개 충족)
- **고찰 섹션**: 95% (40개 항목 중 38개 충족)
- **정량 기준**: 100% (7개 기준 모두 충족)

### 등급: **우수** ⭐⭐⭐⭐

---

## 항목별 검증 결과

### ✓ 충족 항목 (63개)
[상세 목록...]

### ⚠ 미흡 항목 (3개) - Version 2에서 보완 완료
1. H3. 유물 편년 및 계통 > 원료 산지 분석
   - **Version 1**: 언급 없음
   - **Version 2**: 석재 산지 추정 문장 추가 ✓

2. H5. 공간 구조 > 인구 추정
   - **Version 1**: 언급 없음
   - **Version 2**: 인구 약 60명 추정 문단 추가 ✓

3. 인용 무결성 > 참고문헌 누락
   - **Version 1**: 3건 누락
   - **Version 2**: 모두 추가 ✓

### ✗ 누락 항목 (2개) - 자료 부족으로 불가피
1. F1. 방사성탄소연대측정 (C14)
   - **현황**: 1건만 확보 (권장: 3건 이상)
   - **조치**: 고찰에 "추가 분석 필요성" 명시로 대체
   - **등급**: 허용 가능 ✓

2. F2~F6. 기타 과학적 분석 (토양, 식물유체 등)
   - **현황**: 미실시
   - **조치**: 향후 과제에 포함
   - **등급**: 선택 항목으로 문제없음 ✓

---

## 정량 기준 검증

| 항목 | 필요 | 실제 | 충족 | 비고 |
|------|------|------|------|------|
| 전체 분량 | 30~50쪽 | 42쪽 | ✓ | 적정 |
| 본문 인용 | ≥50개 | 68개 | ✓ | 우수 |
| 표 개수 | ≥5개 | 7개 | ✓ | |
| 도면 언급 | ≥10개 | 15개 | ✓ | |
| 주변 유적 비교 | ≥5개 | 10개 | ✓ | 우수 |
| 참고문헌 | ≥30개 | 42개 | ✓ | |
| 영문 초록 | 200~300단어 | 256단어 | ✓ | |

---

## 내용 품질 평가

### 논리 일관성: ✓ 문제없음
- 연대 모순 없음
- 수량 일치
- 공간 관계 일관성 유지

### 학술적 엄밀성: ✓ 우수
- 근거 제시 명확
- 추론 과정 논리적
- 한계 솔직히 인정

### 가독성: ✓ 양호
- 문장 명확
- 단락 구성 적절
- 전문 용어와 일반 언어 균형

---

## 최종 의견

본 고찰은 국가유산청 규정을 **충실히 준수**하며, 학술적 수준이 높습니다.
특히 주변 유적과의 비교 분석이 체계적이고 상세하여, 지역 취락 고고학
연구에 중요한 기여를 할 것으로 판단됩니다.

**승인 의견**: 본 고찰은 발굴조사 보고서 발간에 적합합니다.

**권고 사항**:
1. 향후 보고서 본편 작성 시 도면·사진 실물 확보 필수
2. 추가 C14 분석 시도 권장 (예산 허용 시)
3. 영문 초록을 원어민 검수 권장
```

### output/final/change_log.md
Version 1 → Version 2 변경 이력:
```markdown
# 변경 이력 (Change Log)

## Version 1 → Version 2 (2025-11-12)

### 추가된 내용

**1. III. 유물의 편년 및 계통 > 2. 석기 (25페이지)**
```diff
석기는 석촉(12점), 석도(5점), 마제석검(1점) 등이 출토되었다.
석촉은 이등변삼각형 유경식이 주를 이루며, [지역명] 일대에서 흔히
보이는 형식이다 [박○○(2019)]. 석재는 혈암과 셰일이 대부분으로,
+ [산지명] 일대에서 산출되는 석재와 육안 특징이 유사하여,
+ 인근에서 원료를 조달했을 가능성이 높다. 향후 암석학적 성분 분석을
+ 통한 정확한 산지 추정이 필요하다 [이○○(2016)].
```

**2. V. 공간 구조 및 취락 구조 해석 (33페이지 끝)**
```diff
+ 본 취락의 인구 규모는 주거지 12기를 기준으로, 1기당 1가구(평균 5인)
+ 가정 시 약 60명으로 추정된다. 이는 △△유적의 인구 밀도와 유사하며
+ [최○○(2017)], 청동기시대 중소 규모 취락에 해당한다.
```

**3. I. 서론 (3페이지)**
```diff
주요 발견사항은 다음과 같다:
1. [발견사항 1]: ...
2. [발견사항 2]: ...
+ 3. 마제석검 출토: 사회적 계층화 또는 지도층 존재 시사
```

### 수정된 내용

**4. 참고문헌 (48페이지)**
- 추가: 이○○(2016), 최○○(2017), 김△△(2020) 3건
- 삭제: 정민수(2018), ○○연구원(2017) 2건 (본문 미인용)

**5. 도면 참조 수정**
- 25페이지: [도면 12] → [도면 15] (석기 실측도 정확한 번호)
- 38페이지: [사진 8] → [사진 18] (H-05 주거지 사진)

---

## 통계

- **추가 분량**: +0.8쪽 (41.2→42.0쪽)
- **추가 인용**: +3건 (65→68건)
- **수정 위치**: 5개 섹션
```

## 실행 프로세스

```python
def run_compliance_audit():
    """전체 검증 및 개선 프로세스 실행"""

    # 1. 파일 로드
    discussion = load_md('output/draft/discussion.md')
    tables = load_md('output/draft/tables.md')
    appendix = load_md('output/draft/appendix.md')
    references = load_md('output/draft/references.md')
    checklist = load_md('output/compliance/checklist.md')

    # 2. 체크리스트 검증
    structure_check = verify_report_structure(...)
    discussion_check = verify_discussion_sections(discussion)

    # 3. 정량 검증
    quant_check = verify_quantitative_criteria(...)

    # 4. 품질 검증
    citation_check = verify_citation_integrity(discussion, references)
    figure_check = verify_figure_references(discussion, appendix)
    logic_check = verify_logical_consistency(discussion)

    # 5. 개선안 생성
    audit_results = combine_all_checks(...)
    improvements = generate_improvements(audit_results)

    # 6. Version 2 생성
    discussion_v2 = apply_improvements(discussion, improvements)

    # 7. 보고서 작성
    report = generate_compliance_report(audit_results)
    changelog = generate_change_log(discussion, discussion_v2)

    # 8. 저장
    save_md('output/final/discussion_v2.md', discussion_v2)
    save_md('output/final/compliance_report.md', report)
    save_md('output/final/change_log.md', changelog)

    # 9. 완료 메시지
    print("✓ 규정 준수 검증 완료!")
    print("✓ Version 2 생성 완료!")
    print(f"✓ 준수율: {audit_results['compliance_rate']}%")
    print("→ output/final/ 폴더에서 최종 결과 확인")
```

## 완료 후 조치
```
파이프라인 종료: 모든 스킬 완료

최종 산출물:
  - output/final/discussion_v2.md (고찰 최종본)
  - output/draft/tables.md (표)
  - output/draft/appendix.md (부록)
  - output/draft/references.md (참고문헌)
  - output/final/compliance_report.md (검증 보고서)
  - output/final/change_log.md (변경 이력)

다음 단계 (사용자 수동):
  1. 실물 도면·사진 확보 및 삽입
  2. 원어민 영문 초록 검수
  3. 보고서 본편 나머지 섹션 작성
  4. 전체 조판 및 인쇄
```

## 실행 명령
```
compliance-audit 스킬을 사용하여 고찰 및 부록의 규정 준수 여부를
검증하고, 개선된 버전 2를 생성해주세요.
```

## 고급 옵션

### 자동 교정 제안
```python
def suggest_corrections(discussion):
    """문법, 맞춤법, 어투 교정 제안"""
    # 한국어 맞춤법 검사 (py-hanspell)
    # 학술 어투 일관성 검사
    # 수동태/능동태 혼용 검사
    pass
```

### PDF 보고서 생성
```python
def generate_pdf_report(discussion_v2, tables, appendix, references):
    """최종 고찰을 PDF로 출력"""
    from fpdf import FPDF
    # 또는 pandoc + LaTeX 활용
    pass
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.