# Jobs Schema

JD 笔记使用 YAML frontmatter 加正文。

## Frontmatter

```yaml
---
type: job
company:
role:
location: 北京
source_url:
source_name:
source_quality: official / job-board / social / secondary / unknown
collected_at: YYYY-MM-DD
posted_at:
first_seen_at:
last_checked_at:
snapshot_type: new / changed / unchanged / expired
job_code:
previous_snapshot:
status: active / expired / unknown
level:
team:
business_area:
employment_type:
salary:
skills:
  - agent
  - rag
topics:
  - tool-use
  - evaluation
models:
  -
related_papers:
  -
related_experiments:
  -
related_projects:
  -
relevance: high / medium / low
---
```

## Body

```text
# <company> - <role>

## Source Snapshot

来源、采集日期、是否北京岗位、是否仍可访问。

## Change Snapshot

用于记录最近 6 个月窗口内的变化：

- first_seen_at:
- last_checked_at:
- snapshot_type:
- previous_snapshot:
- changed_fields:

## Raw JD Summary

用自己的话概括岗位职责、任职要求和加分项。不要无选择地复制长段原文。

## Responsibilities

-

## Requirements

-

## Bonus Points

-

## Extracted Signals

- hard requirements:
- preferred skills:
- hidden signals:
- business direction:

## Knowledge Links

- concepts:
- papers:
- experiments:
- projects:

## Gaps for Us

-

## Notes

-
```

## Field Rules

- `source_url` 必填，除非来源是用户直接提供的截图或文本。
- `collected_at` 必填，因为 JD 是强时效资料。
- `first_seen_at` 和 `last_checked_at` 用于追踪近 6 个月需求变化。
- `snapshot_type=changed` 时必须写 `previous_snapshot` 或在正文说明变化依据。
- `skills` 使用 [skill-taxonomy](skill-taxonomy.md) 中的标签，新增标签要同步补充说明。
- `Raw JD Summary` 只做摘要和结构化提取，避免长篇搬运。
- `Extracted Signals` 是最重要部分：它把 JD 从资料变成判断。
