← 스킬 목록으로 돌아가기

workflow-state-tracker

v1.0.0 approved AI/ML 오늘 업데이트
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 다운로드 수 0회 체크섬 (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 ⬇ 0 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

리뷰 & 평점

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

✍️ 리뷰 작성