ClaudeMods
☰
KO
● 0 명 접속 중 · 조회 0 회
후원프로젝트 제출
GitHub 저장소 · 작성자 s2005

skill-state

SKILL.state를 구현하는 Claude Code function-hook 플러그인입니다. 명시적이고 JSON-schema로 검증된 실행 상태로 예외가 아닌 도구 호출을 제한하고, 매 턴 추가만 되는 대화 기록을 압축된 프레임으로 바꿉니다. 장기 실행 스킬을 위한 도구입니다.

번역 완료

이 mod 소개

이 플러그인은 Claude Code 안에 도구 하나(skill_state_update)와 명령 하나(/skill-state)를 등록합니다. 모델은 추가만 되는 채팅 기록에 의존하는 대신 검증된 상태 객체를 유지합니다. 예외 목록 밖의 모든 도구 호출은 그 정확한 호출을 이름으로 지정한 상태 업데이트에 묶여야 하며, 각 턴이 끝나면 대화가 프레임(objective, procedure, current state, step)과 최근 몇 개 턴으로 압축됩니다. 명령은 start(software, ctf 같은 번들 도메인 또는 설정 경로), new(여섯 가지 질문으로 도메인 설정 생성), status, stop/resume, reset을 제공합니다. hook 모듈과 종속성 없는 lib 코드는 전부 프로세스 안에서 실행되며 네트워크 요청을 하거나 패키지를 설치하지 않습니다. 읽기는 번들 또는 사용자가 제공한 도메인 설정에서 이루어지고, 쓰기는 /skill-state new에서 확인한 뒤 domains/<name>.json에만 수행됩니다. 런타임 기록은 세션 플러그인 상태와 플러그인 저장소에 세션 id를 키로 보관합니다. 서브에이전트에는 영향을 주지 않습니다. MIT 라이선스입니다.

설치

먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.

claude plugin marketplace add s2005/skill_state
claude plugin install skill-state
원문 / README

skill-state

SKILL.state (arXiv:2608.26263) for Claude Code: an explicit, validated execution state that replaces append-only conversation history for long-horizon skills. It is a Claude Code function-hook plugin and needs a Claude Code build with function hooks.

While the runtime is active:

  • the model keeps its state through the skill_state_update tool, validated against the domain's JSON schema;
  • every tool call outside the domain's exempt list must first be bound by a state update naming that exact call;
  • at the end of each turn the conversation is replaced by a frame (objective, procedure, current state, step) followed by the last few turns.

Commands

| Command | What it does | | ------- | ------------ | | /skill-state start <domain\|path> | Starts a runtime from a bundled domain (software, ctf) or a domain config file. The next prompt becomes the objective. | | /skill-state new <name> | Builds a domain config from six questions and writes it to domains/<name>.json in this plugin folder. | | /skill-state status | Shows the domain, objective, step, pending action, state size and token usage. | | /skill-state stop / resume | Turns gating and compaction off or back on, keeping the state. | | /skill-state reset | Returns to the initial state at step 0. |

What the plugin runs, reads and writes

  • Runs only the TypeScript hooks module hooks/register.ts and the dependency-free code in lib/, inside Claude Code. It starts no processes and installs no packages.
  • Makes no network requests and sends no data anywhere.
  • Reads domain config files: the bundled ones in domains/, or a path you pass to /skill-state start.
  • Writes domains/<name>.json only when you confirm it in /skill-state new.
  • Keeps the runtime record in the session's plugin state and in the plugin store, keyed by session id.
  • Registers one tool, skill_state_update, and one command, /skill-state; denies non-exempt tool calls that were not bound by a state update; and compacts the main conversation to the frame at each turn end in interactive sessions. Subagents are not affected.

Full documentation, domain config reference and development notes: https://github.com/s2005/skill_state.

License

MIT, see LICENSE.

비슷한 프로젝트