ClaudeMods
☰
JA
● 0 人がオンライン ・閲覧 0 回
スポンサー作品を投稿
GitHub リポジトリ · 投稿者 henderson-tech

wake

監視中の PR、CI 実行、Eve レビュー、devbox、vitrinka タスク、deployik デプロイのいずれかが要求した状態に達したとき、アイドル状態のセッションを起こします。セッションごとのスリープループではなく、1 つの共有ポーラー(vybava watch)を使います。

henderson-tech@henderson-tech

henderson-tech/vybava/tree/main/mods/wake

翻訳済み

この mod について

Výbava

Výbava は FixIt Technologies のポータブルなエンジニアリング環境です。小さなツール、エージェントスキル、ワークステーション診断を 1 つのカタログとして配布し、各項目を個別にインストールできます。

パッケージ

| ID | 種類 | 機能 | |---|---|---| | memorylint | アプレット | AI メモリーホームを検証・保守します。スキーマ、インデックス、wikilink、fixture、書き込みフックを扱います。→ docs/memorylint.md | | claude-guards | アプレット | Claude Code 用の PreToolUse ガードフックです。破壊的な git/docker 操作、秘密情報のダンプ、ホスト入力の自動化、コミットへの秘密情報混入、ディスク全体の走査、参照ごとの Appium セッション、上限のないローカルテストランナー、コンテキスト予算のルール(shell で書き換えたファイル、ファイル全体のダンプ、transcript の読み取りを禁止)を扱います。doctor は settings.json の書き換えで失われたフックを再接続し、vybava setup mac はホスト設定を適用します。→ docs/claude-guards.md | | lok | アプレット | AI セッション用のロケールカタログです。vybava.config.ts で設定し、キーで問い合わせ、動詞で書き込み、全ロケールを同期したままソースから抽出し、CI でゲートします。→ docs/lok.md | | merge-assist | アプレット | 機械的な競合なしで main をマージします。カタログはキー単位でマージし、生成ファイルは相手側を採用して再生成し、未マージの migration はベースより後ろに振り直します。残りを 1 つの表にまとめます。→ docs/merge-assist.md | | vybava config | 動詞 | すべてのアプレットが読む、リポジトリごとの共有 vybava.config.ts です。init は型付きヘルパーで雛形を作り、check は CI をゲートし、show は評価済み JSON を表示します。→ docs/config.md | | shrt | アプレット | luko.to のターミナル安全な短縮リンクです。オフラインのリポジトリ規則、チーム共有の動的規則、発行コードを扱い、リダイレクターサーバーも提供します。→ docs/shrt.md | | posta | アプレット | 共有テストメールボックスをエンドツーエンドで操作します。実行ごとの plus-address を発行し、フローが発生させたメールを待ち、リンクと添付ファイルを取り出します。→ docs/posta.md | | fontfreeze | アプレット | 可変ウェブフォントをレンダリング済みの軸位置で固定し、言語ごとにサブセット化します。 | | perfrig | アプレット | testing/<project>/perf マニフェストから性能ドリルを実行します。最初の失敗まで段階的に負荷を上げ、パーセンタイルレポートを作ります。 | | framestats | アプレット | エージェント向けの Android フレーム指標です。parse は gfxinfo framestats のダンプ(周期、表示間隔、ジェスチャーごとの初回入力フレームとリリースウィンドウのフレーム)を解析し、perfetto はトレース(フレームごとの UI と RenderThread の処理、テクスチャアップロード、ART の一時停止、FrameTimeline のジャンク)を解析します。→ docs/framestats.md | | perflab / expo-device-perf | アプレット + スキル | Expo / React Native の実機性能ラボです。1 台の電話につきリース保持者を 1 人に限定し(リース中の電話へ raw adb/devicectl で直接アクセスすると claude-guards が拒否)、可搬な Expo フィンガープリントをキーにネイティブビルドを管理します。ネイティブを再ビルドせず JS bundle のバリエーションを切り替え、プロジェクトの vybava.config.ts perflab アダプターで測定し、Perfetto と xctrace のプローブを使います。保持した証拠からすべての数値を再導出し、比較と予算のゲートを通します。スキルはループ、計測器の選択、レンダーコストのルールを担当します。→ docs/perflab.md | | ingressgen | アプレット | マニフェストから完全なデフォルト拒否の Docker ingress ポリシーをレンダリングし、ドリフトを検査します。 | | reconcile | アプレット | インフラボックス向けのプル型 GitOps です。ボックスごとのマニフェストから VPS をインフラリポジトリのマージ済み main に収束させ、HELD hotfix、トランザクション型 nginx フック、コミットのロールバック、テキストファイルメトリクス、メッシュ限定のステータスページとエステートハブを扱います。→ docs/reconcile.md | | readiness / release-readiness | アプレット + スキル | 統合ブランチ全体のリリース準備です。スキルは権限確認、完全性クリティック付きのインベントリ、旅程クラスターごとに 1 名の名前付きレーンエージェント(独自ストーリー、QA タスク、ユーザーテストボード)、キャパシティガバナンス、マージ済みブランチの集約、レディネスボードを実行します。アプレットは vybava.config.ts の readiness アダプターを検証し、production..integration の範囲を凍結し、実行ディレクトリを初期化・レンダリングします。→ docs/readiness.md | | ui-loop | アプレット | UI ポリッシュループの決定論的な層です。TypeScript/Playwright のキャプチャハーネス(型付き画面マニフェスト、キャプチャ + lint、アプリマップ)をドリフトゲート付きでリポジトリに同期し、vybava.config.ts の uiLoop セクションからパスを実行し(Devbox でも可)、vitrinka に分割公開してレビュー待ち行列を採点します。vitrinka のマップとレビューループのワークフローがこれを駆動します。→ docs/uiloop.md | | polish-kit | アプレット | ポリッシュスキルの決定論的な層です。差分から vybava.config.ts の polish glob を使って app/ui/api ターゲットを推測し、デバイスレーン(iOS シミュレーターと電話、Android デバイスとエミュレーター、URL)を正確な作成/起動修正とともに解決します。パス台帳(run.json のセル:lane x screen x theme x nav x text size、および悪条件マトリクスのセル)を保持し、シミュレーターと Android をネイティブに撮影し、コンタクトシートとエッジズームシート、差分付き Markdown レポートをレンダリングします。→ docs/polish-kit.md | | prm / push-all / sync / push-back | スキル | git ファミリーです。prm は唯一の PR 動詞(作成 → レビューラウンド → ゲート付きマージ → 破棄)、push-all はコミット規約、sync は pull/merge-up フロー、push-back は主張の検証を担当します。vybava install ai-git でインストールします。 | | gitkit | アプレット | これらのスキルが実行する決定論的な層です。PR セレクター、レビューのトリアージ、マージゲート、ワークツリー、パス分類を vybava gitkit <script> として提供します。→ docs/gitkit.md | | vybava setup team | 動詞 | henderson-tech Mac をワンクリックで設定します。henderson グループのツール(Onyx + Helium と遅延ロードのブラウザ MCP、vitrinka、SwitcherooBar、Pultík、devbox は任意)をそれぞれのチャネル経由で提供し、git ファミリーも含めて、チェックリストまたは --yes --json として実行できます。→ docs/setup-team.md | | codexsync | アプレット | ~/.claude のスキルとコマンドを ~/.agents/skills、つまり Codex が発見する構造へレンダリングします。ネストを保持し、各コマンドを source-command スキルにし、重複した発見を抑制します。→ docs/codexsync.md | | codex-sidekick | スキル | Claude Code はオーケストレーター兼アプリソースの作者として残ります。ユーザーテスト、UI 検証、コンピューター操作、アプリマッピング、e2e の作成と実行は Codex に渡します。cc セッション内ではネイティブの codex サブエージェントを使い、それ以外では switcheroo codex run による永続スレッドを使います。ルーティング表、モードごとのブリーフ、再開ループ、終了コード、ブラウザー作法、コミットの責務、Opus フォールバックを含みます。 | | codexusage | アプレット | Codex プランの上限がどこへ行ったかを説明します。~/.codex の rollout からスレッドごとの支出と算出された許容量を取り出し、測定した消費速度で残りの余裕を示します。→ docs/codexusage.md | | tokentime | アプレット | AI トークンの行き先を示します。Claude Code の transcript と Codex の rollout を永続的な hour × project × model バケットへ増分インデックスし(ワークツリーはリポジトリに畳み込み)、日、時間、プロジェクト、モデルごとに集計し、API 相当の USD 値を付けます。→ docs/tokentime.md | | readeff | アプレット | エージェントがコードをどう移動するかを示します。Claude Code と Codex が読み取りや検索を通じてコンテキストに入れたものを、変更したものと照合します。再読、大きなファイルの全体読み取り、検索ヒット率、リポジトリ・セッション・ファイルごとの最多読込ファイルを扱います。→ docs/readeff.md | | find-session | アプレット + スキル | 貼り付けられた会話の元になった Claude Code セッションを探します。その会話を引用しただけのセッションより作者を上位にし、開始時の switcheroo プリセット(cc、cco、ccoo、…)の下で起動ディレクトリから再開する 1 行を示します。/find-session スキルがこれを包みます。vybava install find-session-cli find-session でインストールします。→ docs/find-session.md | | repolicy | アプレット | GitHub リポジトリ設定を、全オーナー範囲で宣言したポリシーに従わせます。GitHub は組織のデフォルトを継承しないため、audit はドリフトを報告し(終了 1)、apply は収束させ、ポリシーが指定した設定だけに触れます。→ docs/repolicy.md | | menubar-doctor | アプレット | 実行されるのに決して表示されない macOS メニューバー項目を見つけて修正します。macOS 26 以降、Control Center はステータス項目をアプリを起動したプロセスの下に登録するため、ターミナルから起動したものはターミナルの下に登録され、スイッチがオフの間は見えません。→ docs/menubar-doctor.md | | reclaim | アプレット | 開発 Mac の緊急ディスク回収です。再生成可能なキャッシュを固定の段階で大きい順に削除し、各段階の後にライブ df を実行します。早期停止の目標と、触れないものを手書きで記したメモがあります。→ docs/reclaim.md | | macwatch | アプレット | 所有者を記録する Mac 負荷サンプラーです。間隔ごとに負荷、メモリ、最も重いプロセスを TSV に追記し、プロジェクト、ディレクトリ、起動元の claude/codex セッションをタグ付けします。report はファイルを問題プロセス、プロジェクト別・セッション別の合計、スパイク台帳へ統合します。→ docs/macwatch.md | | plugin-gc | アプレット | Claude Code プラグインキャッシュをガベージコレクションします。インストール済みの全バージョンを、放棄されたセッションが解放しない PID refcount の背後で保持し、ペイロードのほとんどは node_modules です。デフォルトでは報告のみで、--apply の場合だけ削除します。→ docs/plugin-gc.md | | vpn | アプレット | WireGuard.app 外部の永続 macOS WireGuard トンネルです。install は Onyx プロファイルを root 専用で再起動後も残る LaunchDaemon に取り込み、status はアプリの Disconnected の横にルートの真実(up via wg-quick (utun11))、デーモン種別、トンネル DNS が応答するかを表示します。→ docs/vpn.md | | onyx-rest | アプレット | Onyx が注入した秘密で REST を 1 回呼び出します。Bearer または HTTP Basic を使い、応答を 0600 の --out ファイルに保存します。--base は最初に一度だけ使うため、Onyx の allowed_commands プレフィックスでホストを固定できます。→ docs/onyx-rest.md | | handoffs | アプレット | ハンドオフ台帳を保守します。handoffs reconcile はブランチと PR が生きているかで開いているハンドオフを判定し、死んだものをアーカイブします。不明なものには触れません。→ docs/handoffs.md | | press | アプレット | ドキュメントファミリーの決定論的な状態です。プロジェクト解決、~/Exports/<project>/ の設定とインデックス、ARES ルックアップ、共有ドクトリンを扱います。→ docs/press.md | | press-pdf / press-logo / press-offer / press-email | スキル | オファー、ドキュメント、法律 PDF、ブランドマーク、チェコの商用 DOCX、Outlook に貼り付ける顧客メール。発行者の身元はマシン内にだけ残ります。→ docs/press.md |

グループ(recommended、experimental、claude-hooks、ai-git、press-family、everything)はカタログ内で組み合わせられるプリセットであり、コードではありません。 claude-hooks は Claude home のフックが呼び出すものです。Linux(Devbox ポータルボックス)では同じリリースアーカイブが vybava install claude-hooks としてインストールします。

インストール

Homebrew(すべて公開で、認証は不要):

brew install --cask FixIt-Technologies/tap/vybava

CI イメージ、ワークフロー、プロビジョニングスクリプトはリリースインストーラーの ci/ を使います。このリポジトリのチェックアウトではありません。

curl -fsSL -o /tmp/vybava-install.sh \
  https://raw.githubusercontent.com/FixIt-Technologies/vybava/v0.3.3/ci/install.sh \
  && bash /tmp/vybava-install.sh --version 0.3.3 --bin-dir /usr/local/bin --install memorylint,hotfix

ソースから:

go build -o ./bin/vybava ./cmd/vybava
./bin/vybava catalog list
./bin/vybava install recommended

install は項目またはグループのセレクター(デフォルトは recommended グループ)を受け取り、 --agent claude|codex|all、 --scope user|project、--dry-run、--json をサポートします。インストール済みアプレットは vybava バイナリへのリンクなので、vybava memory lint . と memorylint . は同じです。

レイアウト

catalog/catalog.yaml   パッケージとグループの唯一のソース
cmd/vybava/            マルチコールのエントリーポイント
internal/<id>/         機能ごとに 1 つの集中的な Go パッケージ
skills/<id>/           エージェント間で共有する標準

インストール

まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。

claude plugin marketplace add henderson-tech/vybava
claude plugin install wake
原文 / README

Výbava

Výbava is FixIt Technologies' portable engineering environment: small tools, agent skills, and workstation diagnostics, distributed as one catalog where every item installs independently.

Packages

| ID | Kind | What it does | |---|---|---| | memorylint | applet | Validate and maintain AI memory homes — schema, indexes, wikilinks, fixtures, write hooks. → docs/memorylint.md | | claude-guards | applet | PreToolUse guard hooks for Claude Code — destructive git/docker, secret dumps, host-input automation, commit secrets, whole-disk walks, per-look Appium sessions, uncapped local test runners, and the context-budget rules (no shell-rewritten files, no whole-file dumps, no transcript reads); doctor re-wires hooks a settings.json rewrite dropped, vybava setup mac applies host settings. → docs/claude-guards.md | | lok | applet | Locale catalogs for AI sessions — configured in vybava.config.ts, queried by key, written by verb with every locale kept in sync, extracted from source, gated in CI. → docs/lok.md | | merge-assist | applet | Merge main without the mechanical conflicts — catalogs merge by key, generated files take theirs and regenerate, unmerged migrations renumber past the base; one table of what is left. → docs/merge-assist.md | | vybava config | verb | The shared per-repo vybava.config.ts every applet reads — init scaffolds it with typed helpers, check gates CI, show prints the evaluated JSON. → docs/config.md | | shrt | applet | Terminal-safe short links on luko.to — offline repo rules, team-shared dynamic rules, minted codes; also the redirector server. → docs/shrt.md | | posta | applet | Drive a shared test mailbox end to end — mint a per-run plus-address, wait for the mail a journey triggered, take its links and attachments. → docs/posta.md | | fontfreeze | applet | Freeze variable webfonts at rendered axis positions and subset per language. | | perfrig | applet | Performance drills from a testing/<project>/perf manifest — ramp to first failure, percentile report. | | framestats | applet | Android frame metrics for agents - parse gfxinfo framestats dumps (cadence, present intervals, per-gesture first-input and release-window frames) and perfetto traces (per-frame UI and RenderThread work, texture uploads, ART pauses, FrameTimeline jank). → docs/framestats.md | | perflab / expo-device-perf | applet + skill | Physical-device performance lab for Expo / React Native - one lease holder per phone (raw adb/devicectl on a leased phone is refused by claude-guards), native builds keyed by a portable Expo fingerprint, JS bundle variants without native rebuilds, measured runs through the project's vybava.config.ts perflab adapter, Perfetto and xctrace probes, and every number re-derived from kept evidence with compare and budget gates. The skill carries the loop, the instrument choice and the render-cost rules. → docs/perflab.md | | ingressgen | applet | Render and drift-check complete default-deny Docker ingress policies from a manifest. | | reconcile | applet | Pull-based GitOps for the infra boxes — converge a VPS to its infra repo's merged main from a per-box manifest: HELD hotfixes, transactional nginx hooks, commit rollback, textfile metrics, mesh-only status page + estate hub. → docs/reconcile.md | | readiness / release-readiness | applet + skill | Release prep of a whole integration branch: the skill runs authority questions, an inventory with a completeness critic, one named lane agent per journey cluster (own story, QA task, usertest board), capacity governance, a merged-branch roll-up and a readiness board. The applet validates the vybava.config.ts readiness adapter, freezes production..integration ranges, and seeds and renders the run directory. → docs/readiness.md | | ui-loop | applet | The UI polish loop's deterministic layer: syncs the TypeScript/Playwright capture harness (typed screen manifest, capture + lint, app map) into a repo with a drift gate, runs passes from the vybava.config.ts uiLoop section (on a Devbox too), split-publishes them to vitrinka and scores the review backlog. The vitrinka map / review-loop workflows drive it. → docs/uiloop.md | | polish-kit | applet | The polish skill's deterministic layer: infers app/ui/api targets from the diff through the vybava.config.ts polish globs, resolves device lanes (iOS simulators and phones, Android devices and emulators, URLs) with the exact create/boot fix, keeps the pass ledger (run.json cells: lane x screen x theme x nav x text size, plus adverse-condition matrix cells), shoots simulators and Android natively, renders contact and edge-zoom sheets and the Markdown report with a delta. → docs/polish-kit.md | | prm / push-all / sync / push-back | skills | The git family — prm is the one PR verb (create → review rounds → gated merge → teardown), push-all the commit doctrine, sync the pull/merge-up flow, push-back the claim verifier. Install with vybava install ai-git. | | gitkit | applet | The deterministic layer those skills execute — PR selectors, review triage, merge gates, worktrees, path classification — as vybava gitkit <script>. → docs/gitkit.md | | vybava setup team | verb | One-click henderson-tech Mac — the henderson group's tools (Onyx + Helium with the lazy browser MCPs, vitrinka, SwitcherooBar, Pultík; devbox opt-in) through their own channels plus the git family, as a checklist or --yes --json. → docs/setup-team.md | | codexsync | applet | Render ~/.claude skills and commands into ~/.agents/skills, the structure Codex discovers — nesting preserved, each command a source-command skill, duplicate discovery suppressed. → docs/codexsync.md | | codex-sidekick | skill | Claude Code stays orchestrator and app-source author; usertests, UI verification, computer use, app mapping and e2e writing/running go to Codex — the native codex subagent inside cc sessions, else a persistent thread via switcheroo codex run — routing table, briefs per mode, resume loop, exit codes, browser etiquette, commit duties, Opus fallback. | | codexusage | applet | Explain where the Codex plan limit went — per-thread spend from ~/.codex rollouts, the derived allowance, and the runway left at the measured burn rate. → docs/codexusage.md | | tokentime | applet | Where your AI tokens went — Claude Code transcripts and Codex rollouts indexed incrementally into permanent hour × project × model buckets (worktrees fold into their repo), rolled up by day, hour, project and model with an API-equivalent USD value. → docs/tokentime.md | | readeff | applet | How agents navigate code — what Claude Code and Codex reads and searches put into context against what they changed: re-reads, whole-file reads of big files, search hit rates and the most-read files, per repository, session and file. → docs/readeff.md | | find-session | applet + skill | Find the Claude Code session a pasted conversation came from — its author ranked above sessions that only quoted it — and the one line that resumes it from its launch directory under the switcheroo preset it started with (cc, cco, ccoo, …); the /find-session skill wraps it. Install with vybava install find-session-cli find-session. → docs/find-session.md | | repolicy | applet | Hold GitHub repository settings to a declared policy across whole owners — GitHub inherits no organization default, so audit reports the drift (exit 1) and apply converges it, touching only the settings the policy names. → docs/repolicy.md | | menubar-doctor | applet | Find and fix macOS menu-bar items that run but never appear — since macOS 26 Control Center files a status item under the process that launched the app, so anything started from a terminal is filed under the terminal and stays invisible while its switch is off. → docs/menubar-doctor.md | | reclaim | applet | Emergency disk reclaim for a dev Mac — a fixed ladder of regenerating caches deleted biggest-first with live df after every step, an early-stop target, and by-hand notes for what it refuses to touch. → docs/reclaim.md | | macwatch | applet | Mac load sampler with owner attribution - append load, memory and the heaviest processes to a TSV every interval, each tagged with project, directory and the claude/codex session that spawned it; report integrates the file into offenders, per-project and per-session totals and a spike ledger. → docs/macwatch.md | | plugin-gc | applet | Garbage-collect the Claude Code plugin cache — every version ever installed is kept behind a PID refcount that abandoned sessions never release, and the payload is almost all node_modules; reports by default, deletes only on --apply. → docs/plugin-gc.md | | vpn | applet | Persistent macOS WireGuard tunnels outside WireGuard.app — install pulls the Onyx profile into a root-only LaunchDaemon that survives reboots; status reports the route truth (up via wg-quick (utun11)) beside the app's Disconnected, the daemon kind and whether the tunnel DNS answers. → docs/vpn.md | | onyx-rest | applet | One REST call with an Onyx-injected secret — Bearer or HTTP Basic, the response in a 0600 --out file; --base first and once, so an Onyx allowed_commands prefix pins the host. → docs/onyx-rest.md | | handoffs | applet | Handoff ledger upkeep — handoffs reconcile judges every open handoff by whether its branches and PRs are still alive and archives the dead ones; unknown is never touched. → docs/handoffs.md | | press | applet | Deterministic state for the document family — project resolution, ~/Exports/<project>/ config and index, ARES lookups, shared doctrine. → docs/press.md | | press-pdf / press-logo / press-offer / press-email | skills | Offer, documentation and legal PDFs; brand marks; Czech commercial DOCX; Outlook-paste client emails. Issuer identity stays machine-local. → docs/press.md |

Groups (recommended, experimental, claude-hooks, ai-git, press-family, everything) are composable presets in the catalog — never code. claude-hooks is what a Claude home's hooks call; on Linux (a Devbox portal box) the same release archive installs it: vybava install claude-hooks.

Install

Homebrew (everything is public — no authentication needed):

brew install --cask FixIt-Technologies/tap/vybava

CI images, workflows and provisioning scripts use the release installer in ci/ — never a checkout of this repository:

curl -fsSL -o /tmp/vybava-install.sh \
  https://raw.githubusercontent.com/FixIt-Technologies/vybava/v0.3.3/ci/install.sh \
  && bash /tmp/vybava-install.sh --version 0.3.3 --bin-dir /usr/local/bin --install memorylint,hotfix

From source:

go build -o ./bin/vybava ./cmd/vybava
./bin/vybava catalog list
./bin/vybava install recommended

install takes item or group selectors (default: the recommended group) and supports --agent claude|codex|all, --scope user|project, --dry-run, and --json. Installed applets are links to the vybava binary, so vybava memory lint . and memorylint . are equivalent.

Layout

catalog/catalog.yaml   package and group source of truth
cmd/vybava/            multicall entrypoint
internal/<id>/         one focused Go package per capability
skills/<id>/           canonical cross-agent skill payloads (SKILL.md plus any
                       references/ and assets/ the skill ships)
docs/                  per-tool references, release flow, decisions
Dockerfile             the luko.to redirector image (deployik app "luko")

Extending

One payload + one catalog entry = one package; presets are one more catalog line. Contract: docs/decisions/0001-modular-catalog.md · checklist: CONTRIBUTING.md · releases: docs/homebrew.md.

関連作品