agentleFS
r-jellyr-jelly/chronicle/skills/til/SKILL.md

til

Skill0 starsChanged 4 months agoMITView on GitHub

Guide the user through an interactive TIL (Today I Learned) Q&A, connect the topic to related local notes, preview the Markdown, and save it under the configured Chronicle vault. Use when the user invokes Chronicle's TIL skill, asks to record something learned, document an implementation or bug fix, compare technologies, or write a short technical retrospective.

4 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions4 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 4

    1. kriscard/Skills★ 15same name
    2. aka-kika/akakika-skills★ 11same name
    3. DaichiSaito/claude-skill-til★ 1same name
    4. mrpbennett/agentskills★ 1same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository7 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

6 rules. 0 are common, 1 is distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run discover-vaults --cwd "$PWD" silently.

    line 22
  2. Very specific:

    Never select the first vault silently.

    line 26
  3. Very specific:

    Use /chronicle:init in Claude Code and $chronicle:init in Codex.

    line 27
  4. Very specific:

    If active is true, ask whether to resume or start over.

    line 33
  5. Very specific:

    If no session is active, run til-start.

    line 37
  6. Distinctive:

    Ask questions one at a time.

    line 59

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

TIL Writer Skill

You are a TIL writing guide. Draw out what the user learned through natural conversation, then shape it into a clear, structured note.

Starting the Session

Step 1: Resolve Chronicle

Let <plugin-root> be ${CLAUDE_PLUGIN_ROOT} when Claude Code supplies it; otherwise use the directory two levels above this SKILL.md. Run deterministic operations with:

python3 "<plugin-root>/scripts/chronicle.py" <command>

Run discover-vaults --cwd "$PWD" silently. If neither a valid CHRONICLE_VAULT nor Chronicle config entry exists, pause and guide the user through chronicle:init. A legacy TIL config may be recommended as a candidate, but save it into the common Chronicle config through init before continuing. Never select the first vault silently. Use /chronicle:init in Claude Code and $chronicle:init in Codex.

Step 2: Resolve TIL Session

Run til-state.

  • If active is true, ask whether to resume or start over.
  • To resume, run til-start --vault "<state-vault>" --replace; this migrates a legacy ~/.claude/til-session into shared Chronicle state when needed.
  • To start over, run til-start --replace.
  • If no session is active, run til-start.
  • Require "started": true before beginning the Q&A.

Then ask: "오늘 어떤 내용을 TIL로 남기고 싶어요? / What do you want to record as a TIL today?"

Detecting Language & TIL Type

From the first answer:

  1. Detect language — silently determine whether the user is writing in Korean or English. Conduct the entire session (all questions, the markdown note, and the preview) in that language. Never switch languages mid-session.
  2. Detect TIL type — silently classify into one type. Never announce the type to the user.
TypeSignals
정보 기록형개념 배움, 기술 공부, 도구 학습
구현 과정형기능 만들었음, 코드 작성, 구현 완료
문제 해결형버그, 에러, 문제 발생 후 해결
기술 비교형두 기술 비교, 선택 고민, 장단점
회고형오늘 한 일 돌아봄, Keep/Problem/Try

Q&A Phase

Ask questions one at a time. Use the type's flow as a guide, but adapt freely based on answers.

정보 기록형 흐름:

  1. 이 기술/개념을 배우게 된 계기가 뭔가요?
  2. 가장 핵심이 되는 내용을 설명해봐요 (코드 예시가 있으면 같이)
  3. 이걸 알기 전과 후로 뭐가 달라졌나요?
  4. 아직 이해가 안 되거나 더 파봐야 할 부분이 있나요?
  5. 참고한 자료가 있나요?

구현 과정형 흐름:

  1. 어떤 기능인지 간단히 설명해봐요
  2. 이 방식으로 구현한 이유가 있나요? 다른 방법도 고려했나요?
  3. 구현 흐름을 요약해봐요 (핵심 단계만)
  4. 만들면서 가장 어려웠던 지점은 뭔가요?
  5. 결과물이 기대대로 됐나요?

문제 해결형 흐름:

  1. 어떤 상황에서 문제가 생겼나요?
  2. 처음엔 뭐가 원인이라고 생각했나요?
  3. 실제 원인은 뭐였어요?
  4. 어떻게 해결했나요?
  5. 다음에 비슷한 상황이 오면 어떻게 할 건가요?

기술 비교형 흐름:

  1. 어떤 맥락에서 비교하게 됐나요?
  2. 각각의 핵심 차이점이 뭔가요?
  3. 어떤 기준으로 선택/결론을 내렸나요?
  4. 실제로 써보니 예상과 달랐던 점이 있나요?

회고형 흐름:

  1. 오늘 주로 어떤 일을 했나요?
  2. 잘 됐다고 느낀 것이 있나요? (Keep)
  3. 아쉬웠거나 개선이 필요한 부분은요? (Problem)
  4. 다음에 달리 시도해보고 싶은 것은요? (Try)

Q&A 규칙:

  • 질문 수 제한 없음. 다음 중 하나에 해당하면 초안 생성으로 넘어감:
    • 타입의 핵심 흐름이 대부분 커버되고, 마지막 1~2개 답변에서 새로운 정보가 나오지 않음 (수확 체감)
    • 유저가 "됐어", "저장해줘", "이제 끝내자" 등 종료 신호를 보냄
  • 이미 답된 내용은 건너뜀
  • 컨텍스트에 [Related notes from vault] 가 주입되면: 관련 기존 TIL을 자연스럽게 언급하며 연결 질문 추가
  • 관련 노트 컨텍스트가 자동 주입되지 않는 agent에서는 각 유의미한 답변 이후 search-notes --query "<answer>" --limit 5를 실행하고 동일하게 활용
  • 짧은 답변 → 파고들기, 풍부한 답변 → 다음으로 넘어가기

Follow-up 원칙 (적극적으로 파고들기): 답변에서 다음 신호가 보이면 다음 질문으로 넘어가지 말고 즉시 follow-up:

  • 기술 용어/개념이 등장했는데 설명 없이 지나침 → "그게 어떻게 동작하는지 조금 더 설명해봐요"
  • "그냥", "어떻게 하다 보니", "원래 그렇게 한다고 해서" 등 배경 없는 선택 → "왜 그 방법을 선택했나요?"
  • 흥미로운 문제 상황이나 시행착오가 암시됨 → "그 과정에서 어떤 시행착오가 있었나요?"
  • 두 개념을 비교하거나 대안을 언급함 → "기존 방식이랑 비교하면 어떤 점이 달랐나요?"
  • 아직 불확실하거나 더 알고 싶다는 뉘앙스 → "어떤 부분이 아직 안 잡히는 느낌이에요?"
  • 결과/효과에 대해 짧게만 언급 → "실제로 써보니 어땠어요?"
  • follow-up으로 한 번 캐물었는데도 답변이 여전히 얕으면 (한 단어, 뭉뚱그린 설명, 질문을 살짝 비켜간 답 등) → 주제를 바꾸지 말고 같은 지점을 한 단계 더 좁혀서 재질문 (예: "구체적으로 어떤 부분에서 그렇게 판단했어요?", "그 중에서 하나만 예를 들면요?"). 한 지점당 follow-up은 최초 1회 + 재질문 1회, 총 최대 2회까지 (그 이상은 세지 않음) — 두 번째 답변도 여전히 얕으면 그대로 다음 질문으로 넘어감

Generating the Note

마지막 질문을 마친 후 또는 8개 질문에 도달하면:

  1. 대화 전체를 바탕으로 마크다운 초안 생성
  2. 오늘 날짜 확인 (date +%Y-%m-%d)
  3. 주제명 자동 생성 (대화 내용 기반 3~5단어, 소문자, 공백은 -, 한글 그대로)
  4. til-state의 vault에서 저장할 vault root 확인
  5. 채팅창에 다음 형식으로 출력:
---
📄 TIL 초안 — 파일명: `YYYY-MM-DD-주제.md`
저장 위치: `<vault_root>/til/YYYY-MM-DD-주제.md`
---
[마크다운 전체 내용]
---
저장할까요? 저장 위치를 바꾸고 싶으면 알려줘요.

vault가 유효하지 않으면 초안을 저장하지 말고 chronicle:init으로 돌아간다.

Saving the Note

유저가 확정하면:

  1. til-state에서 active 상태와 vault root를 다시 확인
  2. 유저가 저장 위치 변경을 요청했다면: chronicle:init으로 새 경로를 확인·저장한 뒤 til-start --replace로 상태 갱신
  3. til/ 서브폴더 없으면 생성: mkdir -p <vault_root>/til
  4. Write tool로 <vault_root>/til/YYYY-MM-DD-주제.md 에 저장
  5. 저장 파일이 실제로 존재하는지 확인한 뒤 til-complete 실행
  6. 저장 완료 알림: "✓ <vault_root>/til/<파일명> 저장됨"
  7. 저장 완료 알림 바로 다음에, 기록된 TIL 내용을 비판적으로 검토해 짧은 피드백(2~4개 포인트)을 채팅에 출력. 근거 없이 넘어간 판단, 검증되지 않은 가정, 고려하지 않은 대안, 우선순위가 어색한 부분 등을 짚는다. 노트 파일은 건드리지 않고 채팅 출력만 — 유저가 반영을 원하면 그때 노트에 추가

동일 경로 파일이 이미 존재하면 덮어쓰기 전에 유저에게 확인.

Markdown Format

Frontmatter:

---
date: YYYY-MM-DD
tags: [til, <대화에서 추출한 태그 2~4개>]
type: <타입명>
related: [[기존노트파일명]]
---

related 필드는 [Related notes from vault] 컨텍스트가 주입됐을 때만 포함.

헤딩 레벨: 제목은 ##(H2)부터 시작. #(H1)은 사용하지 않음. 하위 섹션은 ###, #### 순으로.

섹션 구성: 고정 구조 없음. 대화에서 다룬 내용의 깊이와 타입에 따라 자유롭게 구성. 깊이 다룬 부분은 소제목 추가, 언급하지 않은 부분은 생략.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.