← 스킬 목록으로 돌아가기

workflow-state-tracker

v1.0.0 approved AI/ML ⬇ 82 4개월 전
USK v3 ✅ Verified
⬇ 다운로드
설치 가이드↓
🤖 에이전트용 설치 명령 (curl / MCP / Claude Desktop)
▸ curl 한 줄 다운로드
curl -L -o workflow-state-tracker.skill   "https://aiskillstore.io/v1/agent/skills/727f2332-9470-439b-8bb0-83826c59dd63/download?platform=ClaudeCode"
▸ MCP 도구 호출 (Skill Store MCP 등록 시)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "727f2332-9470-439b-8bb0-83826c59dd63",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP 설정 (1회)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 에이전트용 전체 API 가이드: /llms.txt  ·  MCP server card

Deterministic JSON state machine for multi-step agent workflow tracking — checkpoint, restore, and failure recovery without LLM hallucination

기본 정보

소유자 👤 aiskillstore-team 카테고리 AI/ML 등록일 2026-06-04 최종 업데이트 2026-06-04 최신 버전 1.0.0 패키지 날짜 2026-06-04 검증 상태 approved 다운로드 수 82회 체크섬 (SHA256) 4ecc1dae37986c7e1b29343aa049d33b947634a85b84c9087e400a6b2e01b4ac

⚡ AGENT INFO USK v3

Capabilities
workflow_state_machine checkpoint_save_restore step_transition_graph failure_recovery agent_orchestration
Permissions
✗ network
✓ filesystem
✗ subprocess
Interface
type: cli   entry_point: main.py   runtime: python3.11   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/727f2332-9470-439b-8bb0-83826c59dd63/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/727f2332-9470-439b-8bb0-83826c59dd63/download?platform=OpenClaw GET /v1/agent/skills/727f2332-9470-439b-8bb0-83826c59dd63/download?platform=ClaudeCode GET /v1/agent/skills/727f2332-9470-439b-8bb0-83826c59dd63/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/727f2332-9470-439b-8bb0-83826c59dd63/download?platform=Cursor GET /v1/agent/skills/727f2332-9470-439b-8bb0-83826c59dd63/download?platform=GeminiCLI GET /v1/agent/skills/727f2332-9470-439b-8bb0-83826c59dd63/download?platform=CodexCLI GET /v1/agent/skills/727f2332-9470-439b-8bb0-83826c59dd63/download?platform=CustomAgent

설치 방법

호환 플랫폼: any

1
openclaw_skill_manager.py로 스킬을 설치합니다.
python openclaw_skill_manager.py --install workflow-state-tracker
2
설치 확인
python openclaw_skill_manager.py --list-installed
3
특정 버전 설치 (선택)
python openclaw_skill_manager.py --install workflow-state-tracker --version 1.0.0
1
스킬 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/skills/727f2332-9470-439b-8bb0-83826c59dd63/download
2
Claude Code commands 디렉터리에 배치합니다.
unzip workflow-state-tracker.skill -d ~/.claude/commands/workflow-state-tracker/
3
Claude Code에서 슬래시 커맨드로 사용합니다.
/workflow-state-tracker
1
Agent Skills 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/727f2332-9470-439b-8bb0-83826c59dd63/download?platform=ClaudeCodeAgentSkill
2
Claude Code skills 디렉터리에 압축을 해제합니다.
unzip workflow-state-tracker-agent-skill-*.skill -d ~/.claude/skills/workflow-state-tracker/
3
Claude Code를 재시작하면 세션 시작 시 자동으로 로드됩니다. 슬래시 커맨드 없이 자연어로 사용 가능합니다.
1
Cursor 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/727f2332-9470-439b-8bb0-83826c59dd63/download?platform=Cursor
2
압축 해제 후 영구 위치에 저장합니다.
unzip workflow-state-tracker-cursor-*.skill -d ~/.cursor/skills/workflow-state-tracker/
3
.cursor/mcp.json에 MCP 서버 설정을 추가하고 Cursor를 재시작합니다.
cat ~/.cursor/skills/workflow-state-tracker/cursor_mcp_config.json
1
Gemini CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/727f2332-9470-439b-8bb0-83826c59dd63/download?platform=GeminiCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip workflow-state-tracker-geminicli-*.skill -d ~/.gemini/skills/workflow-state-tracker/
3
~/.gemini/settings.json에 MCP 서버 설정을 추가하고 Gemini CLI를 재시작합니다.
cat ~/.gemini/skills/workflow-state-tracker/gemini_settings_snippet.json
1
Codex CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/727f2332-9470-439b-8bb0-83826c59dd63/download?platform=CodexCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip workflow-state-tracker-codexcli-*.skill -d ~/.codex/skills/workflow-state-tracker/
3
~/.codex/config.toml에 MCP 서버 설정을 추가하고 Codex CLI를 재시작합니다.
cat ~/.codex/skills/workflow-state-tracker/codex_config_snippet.toml
1
REST API로 스킬 패키지를 다운로드합니다.
GET https://aiskillstore.io/v1/skills/727f2332-9470-439b-8bb0-83826c59dd63/download
2
에이전트 플랫폼의 skills 디렉터리에 배치합니다.
cp workflow-state-tracker.skill ./skills/
3
설치 가이드 API로 플랫폼별 상세 정보를 조회합니다.
GET https://aiskillstore.io/v1/skills/727f2332-9470-439b-8bb0-83826c59dd63/install-guide?platform=CustomAgent

보안 검증 보고서

검증 결과 CAUTION

🚨 보안 위험 감지:

  • tests/_test_local.py: subprocess.run(

검사 결과: ["메타데이터 경고: 권장 필드 없음: 'tags' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "USK v3 경고: interface.runtime 'python3.11'이 권장 값이 아닙니다 (권장: ['python3', 'node', 'bash', 'binary', 'any'])", 'USK v3 경고: 이 스킬은 자동 변환 조건을 충족하지 않아 manual_install로 처리됩니다']

AI 검수 단계

검수 주체 gemini 위험도 🟢 낮음 검수 요약 워크플로우 상태 추적 스킬은 선언된 권한을 준수하며 악의적인 의도가 발견되지 않았습니다.
판단 근거

1. **권한 준수**: 스킬 메타데이터에 선언된 `permissions`는 `network: false`, `filesystem: true`, `subprocess: false`입니다. * `main.py` 코드에는 네트워크 통신을 수행하는 어떠한 코드도 포함되어 있지 않습니다. (`network: false` 준수) * `main.py`는 `os`, `pathlib`, `tempfile` 모듈을 사용하여 JSON 상태 파일을 읽고 쓰는 기능을 수행합니다. 이는 `filesystem: true` 권한과 스킬의 핵심 기능에 부합합니다. 파일 작업은 사용자 입력으로 제공되는 `state_path`에 한정되어 있어 임의의 시스템 파일에 접근하거나 손상시킬 위험이 없습니다. * `main.py` 코드에는 `subprocess` 모듈이나 `os.system`, `os.popen`과 같은 외부 프로세스 실행 코드가 없습니다. (`subprocess: false` 준수) 2. **정적 분석 결과 검토**: 정적 분석에서 `tests/_test_local.py` 파일 내의 `subprocess.run` 사용이 플래그되었습니다. 그러나 이 파일은 스킬의 실제 실행 코드(`main.py`)가 아닌 테스트 스크립트이므로, 스킬의 런타임 보안에는 영향을 미치지 않는 오탐(false positive)으로 판단됩니다. 3. **악의적 목적 코드 부재**: 데이터 탈취, 시스템 파괴, 코드 난독화 등 악의적인 목적으로 의심될 만한 코드는 발견되지 않았습니다. 코드는 명확하며 선언된 워크플로우 상태 추적 기능을 충실히 구현하고 있습니다. 4. **사용자 데이터 처리**: 스킬은 표준 입력을 통해 워크플로우 상태 데이터를 받아들이고, 사용자가 지정한 파일 경로에 이를 저장합니다. 사용자 데이터를 무단으로 수집하거나 외부로 전송하는 행위는 발견되지 않았습니다. 5. **코드 품질**: 제공된 코드 스니펫은 데이터 무결성을 위한 원자적 파일 쓰기(`_write_state_atomic`)와 명확한 오류 처리 등 좋은 코딩 관행을 보여줍니다. 스킬의 목적에 부합하는 견고한 구현으로 판단됩니다. 이러한 분석을 바탕으로 해당 스킬은 안전하며 배포에 적합하다고 판단됩니다.

버전 히스토리

버전 USK v3 검증 상태 패키지 날짜 다운로드 변경사항
v1.0.0 ✓ approved 2026-06-04 ⬇ 82 1.0.0: Initial release — deterministic state machine with checkpoint/restore/failure-recovery

사용 예시 (Examples) 7 개

이 스킬의 대표적인 입출력 예시입니다. 에이전트는 이 예시를 보고 스킬 호출 방법과 결과 형태를 이해할 수 있습니다.

init_workflow
# init# etl# 4-step

Initialize a 4-step ETL workflow

📥 입력
{
  "action": "init",
  "state_path": "/tmp/etl_state.json",
  "steps": [
    "fetch",
    "parse",
    "validate",
    "save"
  ],
  "workflow_id": "etl-job-001"
}
📤 출력
{
  "completed": [],
  "current_step_index": 0,
  "next_step": "fetch",
  "remaining": [
    "fetch",
    "parse",
    "validate",
    "save"
  ],
  "status": "running",
  "workflow_id": "etl-job-001"
}
advance_through_steps
# advance# transition

Advance fetch step and move to parse

📥 입력
{
  "action": "advance",
  "current_step": "fetch",
  "state_path": "/tmp/etl_state.json",
  "step_data": {
    "rows_fetched": 1500,
    "source": "api"
  },
  "workflow_id": "etl-job-001"
}
📤 출력
{
  "completed": [
    "fetch"
  ],
  "current_step_index": 1,
  "next_step": "parse",
  "remaining": [
    "parse",
    "validate",
    "save"
  ],
  "status": "running",
  "step_data_saved": true,
  "workflow_id": "etl-job-001"
}
checkpoint_and_restore
# checkpoint# persist# durability

Save checkpoint to disk then restore state from file

📥 입력
{
  "action": "checkpoint",
  "state_path": "/tmp/etl_state.json",
  "step_data": {
    "partial_rows": 750,
    "progress_pct": 50
  },
  "workflow_id": "etl-job-001"
}
📤 출력
{
  "checkpoint_at": "2026-06-04T10:30:00",
  "file_size": 412,
  "workflow_id": "etl-job-001"
}
fail_and_resume
# fail# error-handling

Mark parse step as failed then resume from that step

📥 입력
{
  "action": "fail",
  "current_step": "parse",
  "error_info": {
    "code": "PARSE_ERROR",
    "message": "Unexpected null in column 3",
    "row": 42
  },
  "state_path": "/tmp/etl_state.json",
  "workflow_id": "etl-job-001"
}
📤 출력
{
  "error_info": {
    "code": "PARSE_ERROR",
    "message": "Unexpected null in column 3",
    "row": 42
  },
  "failed_step": "parse",
  "resumable": true,
  "status": "failed",
  "workflow_id": "etl-job-001"
}
status_check
# status# query# monitoring

Query current workflow progress

📥 입력
{
  "action": "status",
  "state_path": "/tmp/etl_state.json",
  "workflow_id": "etl-job-001"
}
📤 출력
{
  "completed": [
    "fetch"
  ],
  "current_step_index": 1,
  "next_step": "parse",
  "remaining": [
    "parse",
    "validate",
    "save"
  ],
  "status": "running",
  "workflow_id": "etl-job-001"
}
invalid_transition_error
# error# state-machine# completed

Attempt to advance a completed workflow — raises INVALID_TRANSITION

📥 입력
{
  "action": "advance",
  "current_step": "save",
  "state_path": "/tmp/etl_state_done.json",
  "workflow_id": "etl-job-001"
}
📤 출력
{
  "error": {
    "code": "INVALID_TRANSITION",
    "message": "Cannot advance workflow in status=completed. Allowed actions: status"
  }
}
korean_step_data
# korean# utf8# 한국어

Workflow with Korean text in step data (UTF-8 support)

📥 입력
{
  "action": "advance",
  "current_step": "\ub370\uc774\ud130\uc218\uc9d1",
  "state_path": "/tmp/report_state.json",
  "step_data": {
    "\uba54\ubaa8": "\uc218\uc9d1 \uc644\ub8cc, \uc774\uc0c1 \uc5c6\uc74c",
    "\ucd9c\ucc98": "\uacf5\uacf5\ub370\uc774\ud130\ud3ec\ud138",
    "\ud56d\ubaa9\uc218": 250
  },
  "workflow_id": "\ubcf4\uace0\uc11c-\uc791\uc131-001"
}
📤 출력
{
  "completed": [
    "\ub370\uc774\ud130\uc218\uc9d1"
  ],
  "current_step_index": 1,
  "next_step": "\ubd84\uc11d",
  "status": "running",
  "step_data_saved": true,
  "workflow_id": "\ubcf4\uace0\uc11c-\uc791\uc131-001"
}

모든 예시는 에이전트 API로도 조회 가능: /v1/agent/skills/727f2332-9470-439b-8bb0-83826c59dd63/schema

리뷰 & 평점

아직 리뷰가 없습니다. 첫 번째 리뷰를 남겨보세요!

✍️ 리뷰 작성