Jeric SkillsClaude Code 스킬 마켓플레이스
← 전체 스킬

session-to-skill

v1.0.0

진행 중인 대화에서 재사용 가능한 패턴을 찾아 제안하고, 선택된 것을 이 저장소 컨벤션에 맞는 스킬로 등록

설치

호출 이름/session-to-skill:session-to-skill

Session to Skill

지금 하고 있는 대화를 돌아보면서, 다시 쓸 만한 절차나 결과물 형식을 찾아 Claude Code 스킬로 등록해주는 스킬.

무엇을 만드나

  • 현재 세션 내용을 근거로 한 스킬 후보 2~4개 (이름 + 재사용 근거 + 트리거 조건)
  • AskUserQuestion으로 사용자가 고른 후보에 대해, my-claude-skills 컨벤션을 그대로 따르는 SKILL.md / (필요시) template.md / README.md
  • my-claude-skills 저장소에 등록 + ~/.claude/skills/<name> 심볼릭 링크로 실제 호출 가능하게 설치

왜 이렇게 설계했나

스킬이 될 만한 패턴은 대화가 끝나고 시간이 지나면 놓치기 쉽다. 방금 겪은 반복 작업, 방금 정리한 규칙이 제일 뚜렷하게 보일 때가 대화 도중이라, 그 순간을 놓치지 않고 구조화하는 게 목적이다. 후보를 사용자 승인 없이 바로 스킬로 만들지 않는 이유는 — 이 프로젝트에서만 통하는 특수한 내용이 일반화된 스킬인 것처럼 잘못 포장될 위험이 있어서다.

파일을 두 곳(저장소 + ~/.claude/skills/)에 복제하지 않고 심볼릭 링크로 연결하는 이유는, 나중에 스킬을 고칠 때 두 사본이 어긋나는 걸 막기 위함이다 — 저장소가 유일한 원본(source of truth)이다.

사용 흐름

  1. 세션 내용에서 재사용 가능한 패턴 스캔 (일회성/프로젝트 특수 내용은 제외)
  2. 후보 2~4개 초안 작성
  3. AskUserQuestion으로 제안, 사용자가 선택
  4. 선택된 것마다 my-claude-skills 컨벤션대로 스킬 파일 작성
  5. 저장소에 등록 + ~/.claude/skills/에 심볼릭 링크
  6. 저장소 README 스킬 목록 갱신
  7. main에 직접 커밋하지 않고 브랜치에서 커밋 — push는 요청받았을 때만
  8. 정식 테스트를 거치지 않은 1차 초안이라는 점을 명시

자세한 절차는 SKILL.md에 있다.

파일 구성

session-to-skill/
  SKILL.md      # 에이전트가 실제로 읽는 절차 정의
  README.md     # 이 파일 — 사람이 읽는 설명

template.md가 없는 이유: 이 스킬의 결과물은 고정된 문서 한 장이 아니라 "다른 스킬의 파일 세트"라서, 템플릿화할 단일 출력 구조가 없다.

에이전트가 읽는 절차 — SKILL.md

설치하면 Claude가 실행 중에 참조하는 실제 문서다. 아래 내용이 그대로 동작을 결정한다.

Session to Skill

Overview

Looks back at the current conversation (already in context — never re-read a transcript file), finds procedures or output formats worth reusing, proposes them to the user, and turns whatever they pick into a properly-structured skill registered in my-claude-skills.

When to Use

  • User explicitly asks to extract/create a skill from what just happened in this session
  • Right after a multi-step workflow wraps up and it seems like it'll recur (offer it once, don't insist)
  • NOT for a single one-off task with no repeat structure, and NOT for turning project-specific conventions into a skill — those belong in that project's instructions file, not a personal skill

Process

1. Scan the conversation for candidates. Look for: procedures repeated more than once, decisions/rules the user gave that took several messages to pin down, output structures likely to be asked for again. Apply the bar from superpowers:writing-skills's "When to Create a Skill" — not intuitively obvious, reusable across projects, not project-specific.

2. Draft 2-4 candidates. For each: a name, one sentence on the reusable pattern, and a rough trigger description. Discard anything that's really just this-project detail wearing a skill's clothes.

3. Propose via AskUserQuestion. Multi-select — the user may want more than one, or none of the above (they can always type something else via "Other").

4. Build each selected skill. Follow the my-claude-skills repo convention exactly (see its top-level README.md "스킬 구조" section): SKILL.md (required), template.md (only if output shape must be fixed), README.md (required, human-facing).

5. Register it.

  • Write the canonical folder into the my-claude-skills repo (/Users/kimjaehyeon/Desktop/1_개발프로젝트/skills/<skill-name>/)
  • Symlink it into ~/.claude/skills/<skill-name> so it's actually invocable — ln -s <repo-path>/<skill-name> ~/.claude/skills/<skill-name>. If a same-named entry already exists there, stop and tell the user instead of overwriting it.
  • Add a row for it to the repo's top-level README.md skill table

6. Commit, don't push. Branch off main first (never commit on main/master directly), commit there, merge into main locally if that's this repo's pattern — then stop and ask before pushing. Committing/pushing only happens when the user asks for it.

7. Say what's untested. New skills built this way are a first draft, not verified against RED-GREEN-REFACTOR pressure scenarios. Say so plainly rather than implying they've been tested.

Common Mistakes

  • Proposing something so tied to this one project's specifics that it can't actually generalize
  • Skipping the AskUserQuestion step and just picking a candidate yourself
  • Pushing to the remote without being asked, or committing straight on main
  • Overwriting an existing ~/.claude/skills/<name> instead of flagging the collision
  • Forgetting to add the new skill to the repo's top-level README table