add-experience

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

경험 하나 추가하기

添加一段经验

한 번 실행에 에피소드 한 건을 캐내 기록한다. 검증은 별개 스킬(
review-experience
)이 맡는다.
기록의 저자는 사용자다. 사용자가 말한 표현을 그대로 남기고, 파일에 쓰기 전에 보여주고 확인받는다.
每次执行提取并记录一个事件片段。验证由独立技能(
review-experience
)负责。
记录的作者为用户。需完整保留用户的表述,在写入文件前展示给用户确认。

1. 저장소 열기

1. 打开仓库

career/
는 현재 작업 디렉토리 바로 아래에 둔다. 없으면 만든다:
episodes/
,
projects/
,
self.md
,
backlog.md
. 형식은
references/schema.md
.
새로 만들기 직전에만
../career
와
../../career
를 확인한다. 있으면 어느 쪽에 쌓을지 묻는다 — 저장소가 갈라지면 역량 커버리지와 중복 대조가 조용히 무력해진다.
여기에 개인 경험·실패·갈등이 쌓인다. 현재 디렉토리가 git 저장소이면
.gitignore
에
career/
를 넣을지 확인한다.
그리고 index를 다시 만든다.
<스킬>
은 이
SKILL.md
가 있는 디렉토리의 절대 경로다.
python3 <스킬>/scripts/build_index.py <career 절대경로> <스킬>/references/vocabulary.md
완료 조건:
career/episodes/
,
career/projects/
,
career/self.md
,
career/backlog.md
,
career/index.md
다섯이 존재한다.
career/
需放置在当前工作目录的直接下级。若不存在则创建以下内容:
episodes/
,
projects/
,
self.md
,
backlog.md
。格式参考
references/schema.md
。
仅在即将创建新仓库时检查
../career
和
../../career
。若存在则询问用户要将内容存储到哪一处——仓库分散会导致能力覆盖范围和重复对照失效。
此处将积累个人经验、失败经历与冲突事件。若当前目录为git仓库,需询问是否要在
.gitignore
中添加
career/
。
随后重新生成索引。
<스킬>
为当前
SKILL.md
所在目录的绝对路径。
python3 <스킬>/scripts/build_index.py <career 절대경로> <스킬>/references/vocabulary.md
完成条件:
career/episodes/
,
career/projects/
,
career/self.md
,
career/backlog.md
,
career/index.md
五个文件/目录均存在。

2. 캘 장면 고르기

2. 选择要提取的场景

사용자가 캘 장면을 이미 갖고 있으면 그것으로 시작한다. 없으면
references/vocabulary.md
의 여는 질문을 한 번에 하나씩 던진다. 어느 것부터 여는지도 그 파일에 있다.
"네 있어요"가 돌아오면 거기서 멈추지 말고 장면 하나로 좁힌다:
"그게 며칠에 걸친 일이었나요, 아니면 하루 안에 끝난 일이었나요?" "그 일이 있었던 날 중에 가장 기억나는 순간이 언제인가요."
여러 후보가 나오면 사용자에게 고르게 하고, 고르지 않은 것은
career/backlog.md
에 적는다.
장면이 정해지면
index.md
의 에피소드 목록과 대조한다. 제목이나 역량이 겹치면 확인한다 — "이거 그때 nginx 건과 같은 건가요?" 같은 사건이면 그 파일을 연다.
완료 조건: 사용자가 지목한 것이 하나의 사건이다 — 시작과 끝이 있고, 시각·장소·화면 중 최소 하나가 붙는다. *"결제 쪽에서 문제가 있었다"*는 아직 영역이다. *"결제할 때 재고가 마이너스로 찍힌 걸 밤에 발견했다"*가 사건이다. 그리고 새 파일인지 기존 파일인지 정해졌다.
若用户已有明确的提取场景,则从该场景开始。若没有,则依次抛出
references/vocabulary.md
中的开场问题,每次一个。提问顺序也在该文件中定义。
当用户回答“我有”时,不要停止,需将范围缩小到单个场景:
"这件事是持续了几天,还是一天内就完成的?" "在这件事发生的日子里,你最记得的瞬间是什么时候?"
若出现多个候选场景,让用户选择,未被选中的场景记录到
career/backlog.md
中。
确定场景后,与
index.md
中的事件片段列表进行对照。若标题或能力存在重叠,则进行确认——例如询问*"这和当时处理nginx的那件事是同一个吗?"*,若为同一事件则打开对应文件。
完成条件: 用户指定的内容为单个事件——有明确的开始和结束,且至少包含时间、地点、场景中的一项。*"支付环节出了问题"属于范围描述,"结账时发现库存变成负数,是在晚上发现的"*才是具体事件。同时需确定是创建新文件还是使用已有文件。

3. 인지면접으로 캐내기

3. 通过认知访谈提取内容

references/frames.md
를 읽고 시작한다. 여섯 칸을 순서대로 채운다.
맥락 → 나의 기여 → 트러블슈팅 과정 → 선택과 기각한 대안 → 결과 → 배운 점
칸마다:
  1. 그 칸의 기본 문장으로 시작한다. 전제가 이 장면에서 거짓이면 같은 틀로 다시 만든다
  2. reached_if
    로 판정한다. 애매하면 도달로 본다
  3. 빗나가면 fallback 1 → fallback 2 순으로 인출 경로를 바꾼다
  4. 3회 미도달이면
    open_questions
    에 적고 다음 칸으로
판정은 머릿속에서만 한다. "그건 팀이 한 일이고요", "그건 다른 칸 얘기네요" 같은 말이 들리는 순간 사용자가 말을 고르기 시작하고, 그러면 전부 보고가 깨진다. 빗나갔으면 아무 말 없이 다음 문장으로 넘어간다. 무엇이 중요한지는
review-experience
의 면접관이 고른다.
사용자는 시간순으로 말하므로 뒤 칸이 미리 채워지는 것이 정상이다. 이미 닿은 칸은 기본을 건너뛰고 fallback 1부터 시작한다.
세 칸을 넘긴 시점에 한 번 묻는다 — "여기서 절반입니다. 계속할까요, 아니면 여기까지 저장하고 다음에 이어갈까요?"
완료 조건: 여섯 칸 각각이 내용을 갖거나
open_questions
에 올라가 있다. 중간에 멈췄으면 남은 칸이 전부
open_questions
에 있다.
阅读
references/frames.md
后开始。按顺序填写六个模块:
背景 → 我的贡献 → 故障排查过程 → 选择与放弃的方案 → 结果 → 学到的经验
每个模块的操作步骤:
  1. 以该模块的基础句子开头。若前提在当前场景中不成立,则重新构建相同框架
  2. 通过
    reached_if
    进行判定。若存在歧义则视为已达成
  3. 若偏离方向,则按fallback 1 → fallback 2的顺序切换提取路径
  4. 若3次未达成,则记录到
    open_questions
    中并进入下一个模块
判定仅在脑海中进行。当听到用户说*"那是团队做的"、"那是另一个模块的内容"*这类话时,用户开始筛选表述,会导致整个报告失效。若偏离方向,无需说话直接进入下一句。重要内容将由
review-experience
的面试官进行筛选。
用户通常会按时间顺序叙述,因此后面的模块提前被填充是正常的。已完成的模块跳过基础句子,直接从fallback 1开始。
完成三个模块时询问一次——"已经完成一半了。是继续,还是先保存到这里之后再继续?"
完成条件: 六个模块各自有内容,或被记录到
open_questions
中。若中途停止,则剩余模块全部记录到
open_questions
。

4. 기록하기

4. 记录内容

references/schema.md
형식으로 쓴다. 태그는
references/vocabulary.md
의 표에서 고른다.
프로젝트에 속한 장면인데
career/projects/
에 그 프로젝트가 없으면 지금 만든다. frontmatter만 채우고 산문 세 섹션은 비워 둔다 — 그건 한 에피소드에서 나오는 정보가 아니라 채우려면 대신 써주는 수밖에 없다. 대신
open_questions
에 "프로젝트 배경·성과 미작성"을 올린다.
에피소드의 시점과 프로젝트 frontmatter는 인출 틀 없이 그냥 묻는다. 모르는 값은
~
로 두고
open_questions
에 남긴다. 비워 두는 것이 지어내는 것보다 항상 낫다.
사용자가 쓴 낱말과 문장 길이를 그대로 옮긴다. 군말과 반복만 덜어낸다.
쓰기 전에 전문을 보여주고 구체적으로 묻는다. *"이대로 괜찮나요?"*는 항상 "네"를 받는다:
"이 중에 본인이 하지 않은 말이 있나요?" "이거 본인 말투 맞나요? 면접에서 이렇게 말하실 것 같나요?" "제목을 이렇게 붙이고 태그를 이렇게 골랐는데, 본인이면 이 일을 뭐라고 부르나요?"
인터뷰 중에 나온 자기 서술("협업은 잘하는 편이에요")이 있으면
career/self.md
에
상태: 후보
로 함께 적는다.
완료 조건: 사용자가 위 세 질문에 답했고, 에피소드(그리고 이번에 만들었으면
project.md
) frontmatter의 각 필드가 값·
[]
·
~
중 하나다.
按照
references/schema.md
的格式撰写。标签从
references/vocabulary.md
的表格中选择。
若场景属于某个项目,但
career/projects/
中不存在该项目,则立即创建。仅填充frontmatter,散文部分留空——因为这些信息不是从单个事件片段中提取的,若强行填充则只能编造内容。取而代之的是在
open_questions
中记录"项目背景·成果未填写"。
事件片段的时间和项目frontmatter直接询问用户,无需使用提取框架。未知值用
~
表示并记录到
open_questions
中。留空永远比编造内容更好。
完整保留用户的用词和句子长度,仅去除冗余和重复内容。
写入前展示全文并具体询问。仅问*"这样可以吗?"*通常会得到“可以”的答复,因此需询问:
"这里面有没有不是你做的事情的描述?" "这符合你的说话风格吗?你在面试中会这样表述吗?" "我给它加了这样的标题和标签,你会怎么称呼这件事?"
若访谈中出现自我描述(如“我擅长协作”),则将其标记为
状态: 候选
记录到
career/self.md
中。
完成条件: 用户回答了上述三个问题,且事件片段(若本次创建了
project.md
则包含该文件)的frontmatter各字段的值为具体内容、
[]
或
~
中的一种。

5. 마무리

5. 收尾

build_index.py
를 다시 돌린다.
사용자에게 읽어준다: 남은
open_questions
,
backlog.md
에 적힌 다음에 캘 장면.
그리고 다음 단계를 안내한다 — "이 기록을 면접관 시점으로 검증하려면 새 대화를 열어서
review-experience
를 실행하세요. 이 대화는 방금 캔 내용을 알고 있어서, 여기서 검증하면 빈 곳이 보이지 않습니다."
완료 조건:
index.md
가 최신이고, 사용자가 남은
open_questions
와
backlog.md
항목을 안다.
重新运行
build_index.py
。
向用户告知以下内容:剩余的
open_questions
、记录在
backlog.md
中的下一个待提取场景。
并引导后续步骤——"若要从面试官的角度验证这份记录,请开启新对话并执行
review-experience
。当前对话已了解刚提取的内容,若在此处进行验证将无法发现遗漏。"
完成条件:
index.md
为最新版本,用户知晓剩余的
open_questions
和
backlog.md
中的条目。