본문으로 건너뛰기
cccskills
무료GitHub에 공개

shokunin-update

Detect drift, plan updates, and apply changes to the Shokunin AI Ecosystem. Use this when user asks to update, fix, sync, or verify the ecosystem.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md6.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Note: The shokunin-update.ps1 script lives in .pack/scripts/ and is deployed to ~/.shokunin/scripts/ by the installer.

Shokunin Update System

Maintains the Shokunin ecosystem by detecting drift between the declarative manifest and the actual filesystem state.

Workflow

1. Load the manifest

Read ~/.shokunin/shokunin.json. This is the single source of truth. Every component, path, hash, and template is defined here.

2. Check status

Run shokunin-update.ps1 status to detect drift:

  • OK: hash matches manifest
  • MISSING: file doesn't exist but manifest expects it
  • PROTECTED: data files (chroma_db, sessions) that must never be modified

Report results to the user with counts.

3. Plan changes

Run shokunin-update.ps1 plan to see what would change without applying anything.

Show the user a clear summary of what will be created, modified, or left alone.

4. Apply with confirmation

& "$env:USERPROFILE\.shokunin\scripts\shokunin-update.ps1" apply -Confirm

This automatically:

  1. Backs up each file to ~/.shokunin/backups/<timestamp>/
  2. Applies changes
  3. Saves update event to ChromaDB
  4. Runs memory-healthcheck.ps1 to verify

5. Rollback if needed

& "$env:USERPROFILE\.shokunin\scripts\shokunin-update.ps1" rollback -Timestamp 20260514-120000

When to use this skill

  • User notices something broken in the ecosystem
  • User wants to add/remove/modify a component
  • User asks "is everything up to date?"
  • Pre-commit or pre-PR verification

Do NOT

  • Modify files in protected groups (chroma_db, sessions, logs, backups)
  • Apply changes without user confirmation
  • Edit the manifest without understanding every field

Error Handling

CauseFix
shokunin.json manifest is missing or malformedValidate JSON syntax with Test-Json. If missing, run installer ~/.shokunin/install.ps1 to regenerate from template. Report exact parse error line if malformed.
File hash mismatch but content is identicalEncoding difference (CRLF vs LF) or trailing whitespace. Normalize line endings with .pack/scripts/normalize-eol.ps1 before re-checking.
Backup directory exceeds disk quotaOld backups accumulate over time. Retention policy: keep last 5 backups. Purge older directories with Remove-Item -Recurse.
Protected file group modified by applyA bug or misconfiguration in the manifest marked a protected path as writable. Abort immediately. Rollback from backup. Fix manifest before retry.
Rollback target timestamp not foundBackup was purged by retention policy or never created. Cannot recover that point in time. Run status to assess current state and manually fix drift.
Powershell execution policy blocks the scriptSystem execution policy set to Restricted
ChromaDB save during apply step failsMCP server is down or ChromaDB collection is locked

Related Scripts

  • ~/.shokunin/scripts/validate-skills.ps1 — Validates all installed skills for required sections, size, and referenced script existence
  • ~/.shokunin/scripts/shokunin-update.ps1 — Drift detection, manifest-driven update apply, rollback, and status reporting

Sources

  • PowerShell 5.1 documentation (learn.microsoft.com/en-us/powershell/scripting) — execution policy, file hashing, and error handling
  • ChromaDB Python client documentation (docs.trychroma.com) — collection management and persistence
  • Semantic Versioning 2.0.0 (semver.org) — version comparison logic used in drift detection
  • Git documentation on plumbing commands (git-scm.com/docs/git-hash-object) — content-addressable storage pattern inspiration
  • "Infrastructure as Code" by Kief Morris (O'Reilly, 2nd Edition, 2020) — drift detection and reconciliation patterns
  • NIST SP 800-88 Guidelines for Media Sanitization — secure file overwrite patterns used in backup rotation

Anti-Patterns

PatternProblemFix
Running apply without running plan firstChanges are applied without user awareness of what will be modifiedAlways run plan → show summary → get confirmation → then apply.
Modifying protected paths directly instead of through manifestData loss: chroma_db, sessions, logs get overwritten and cannot be recoveredNever touch paths under the protected group. If they need changes, update the manifest logic, not the files.
Hand-editing the manifest without understanding every fieldA typo in a path or hash field cascades into false drift positives or corrupted applyUse the declarative format. Every path must be absolute. Every hash must be SHA-256. Validate with Test-Json after edits.
Ignoring drift warnings for long periodsDrift accumulates, making later applies riskier and harder to roll backRun status weekly. Schedule via Task Scheduler: shokunin-update.ps1 status > ~/.shokunin/logs/drift.log.
Restoring from backup without verifying backup integrityA corrupted backup restores corrupted filesBefore rollback, verify backup checksums against the original manifest hashes. Abort if mismatch.
Running apply while another apply is in progressRace condition on backup/restore directories causing incomplete stateUse a lock file: ~/.shokunin/.apply-lock. If lock exists and process is alive, wait or abort. Stale lock (>30 min) can be removed.

Checklist

  • Verify shokunin.json is valid JSON and all component paths resolve
  • Run shokunin-update.ps1 status — 0 MISSING, no crashes
  • Run shokunin-update.ps1 apply — all components sync without errors
  • Verify MCP server starts: python ~/.shokunin/memory/mcp-server.py responds to tools/list
  • Verify chroma-helper.py CLI works: python ~/.shokunin/scripts/chroma-helper.py count
  • Verify all 62 skills present in .config/opencode/skills/
  • Verify templates match installed files (no drift)
  • Verify AGENTS.md version matches shokunin.json version
  • Run memory-healthcheck.ps1 — all tests pass
  • Run alidate-skills.ps1 — 0 failures

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Apply professional, premium UI/UX design standards when building or styling web interfaces. Use this skill when the user asks to create a website, landing page, web app, dashboard, UI component, or any visual interface — or when they ask to make something look better, more professional, or more beautiful. Covers visual hierarchy, typography, color systems, layout, spacing, motion, dark mode, responsive design, and conversion patterns. Activate even when the user doesn't say "design" — if they're building a web frontend, these standards apply.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

EliasOulkadi/shokunin1122026년 10월 5일 업데이트

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

EliasOulkadi/shokunin1122026년 10월 5일 업데이트

Run 150+ AI apps via inference.sh CLI - image generation, video creation, LLMs, search, 3D, Twitter automation. Models: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter, and many more. Use when running AI apps, generating images/videos, calling LLMs, web search, or automating Twitter. Triggers: inference.sh, infsh, ai model, run ai, serverless ai, ai api, flux, veo, claude api, image generation, video generation, openrouter, tavily, exa search, twitter api, grok

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

EliasOulkadi/shokunin1122026년 10월 5일 업데이트

api-forge

무료

Design REST/GraphQL APIs with OpenAPI 3.1, error handling, pagination, rate limiting, webhooks, and idempotency. Use when user asks to design an API, create endpoints, define REST/GraphQL schema, or generate OpenAPI spec. Do NOT use for database schema design, frontend API integration, or non-HTTP protocols (gRPC, WebSocket, MQTT).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

EliasOulkadi/shokunin1122026년 10월 5일 업데이트

Implement authentication and authorization with OWASP Top 10 standards, OAuth 2.0 + OIDC, WebAuthn/Passkeys, session management, and RBAC/ABAC. Use when user asks to implement login, signup, authentication, authorization, JWT, OAuth, SSO, passkeys, MFA, or role-based access. Do NOT use for API key management (use api-forge), encryption at rest, or network-level security (firewalls, WAF).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

EliasOulkadi/shokunin1122026년 10월 5일 업데이트

Generate brand guidelines, design systems with design tokens (W3C format), creative direction (SCAMPER, Design Thinking, TRIZ), and design briefs with scope and success criteria.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

EliasOulkadi/shokunin1122026년 10월 5일 업데이트

EliasOulkadi의 스킬 모두 보기

이 스킬의 문제 신고