ClaudeMods
☰
ZH-CN
● 0 人在线 · 浏览 0 次
赞助提交作品
GitHub 仓库 · 发布者 henderson-tech

wake

当被监视的 PR、CI 运行、Eve 审查、devbox、vitrinka 任务或 deployik 部署达到它等待的状态时唤醒闲置会话——使用一个共享轮询器(vybava watch),而不是每个会话各自的休眠循环。

henderson-tech@henderson-tech

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

已翻译

关于这个 mod

Výbava

Výbava 是 FixIt Technologies 的可移植工程环境:由小型工具、代理技能和工作站诊断组成,以一个目录发布,其中每项都可独立安装。

软件包

| 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,同时避免机械式冲突——目录按键合并,生成文件采用对方版本后重新生成,未合并迁移在基线之后重新编号;用一张表列出剩余内容。→ 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 的实体设备性能实验室——每部手机只有一个租约持有者(claude-guards 会拒绝对租用手机直接使用 raw adb/devicectl),原生构建按可移植的 Expo 指纹标记,不重新构建原生部分即可切换 JS bundle 变体,通过项目的 vybava.config.ts perflab 适配器执行测量运行,使用 Perfetto 和 xctrace 探针,并从保留的证据重新推导每个数字,再通过比较和预算门禁。该技能负责循环、仪器选择和渲染成本规则。→ docs/perflab.md | | ingressgen | 小程序 | 根据清单渲染完整的默认拒绝 Docker 入站策略,并检查漂移。 | | reconcile | 小程序 | 面向基础设施主机的拉取式 GitOps——根据每台主机的清单,让 VPS 收敛到其基础设施仓库已合并的 main:HELD 热修复、事务式 nginx 钩子、提交回滚、文本文件指标,以及仅限网格的状态页和资产中心。→ docs/reconcile.md | | readiness / release-readiness | 小程序 + 技能 | 整个集成分支的发布准备:技能执行权威问题清单、带完整性审查的库存盘点、每个旅程集群一个命名车道代理(自己的故事、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 单元:车道 x 屏幕 x 主题 x 导航 x 文字大小,以及不利条件矩阵单元),原生拍摄模拟器和 Android,渲染接触表和边缘缩放图,并生成带差异的 Markdown 报告。→ docs/polish-kit.md | | prm / push-all / sync / push-back | 技能 | git 家族——prm 是唯一的 PR 动词(创建 → 审查轮次 → 设门禁的合并 → 拆除),push-all 负责提交准则,sync 负责拉取/向上合并流程,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 rollouts 的每线程花费、推导出的额度,以及按测得消耗率计算的剩余续航。→ docs/codexusage.md | | tokentime | 小程序 | AI token 去了哪里——将 Claude Code transcript 和 Codex rollouts 增量索引到永久的小时 × 项目 × 模型桶中(工作树归并到其仓库),再按日、小时、项目和模型汇总,并给出等价于 API 的 USD 值。→ docs/tokentime.md | | readeff | 小程序 | 代理如何浏览代码——把 Claude Code 和 Codex 的读取与搜索放入上下文的内容,与它们改动的内容进行对照:重读、大文件整文件读取、搜索命中率,以及按仓库、会话和文件统计的最常读文件。→ docs/readeff.md | | find-session | 小程序 + 技能 | 找出某段粘贴的对话来自哪个 Claude Code 会话——其作者会排在只引用过该对话的会话之前——并给出一行命令,从启动目录在它开始时使用的 switcheroo 预设下恢复该会话(cc、cco、ccoo、…);/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 开始,控制中心会将状态项目归档到启动应用的进程下,因此从终端启动的任何项目都会归到终端下,并在开关关闭时保持不可见。→ docs/menubar-doctor.md | | reclaim | 小程序 | 为开发 Mac 紧急回收磁盘——固定阶梯会按占用从大到小删除可重新生成的缓存,每一步后实时运行 df,设有提前停止目标,并以手工备注说明拒绝触碰的内容。→ docs/reclaim.md | | macwatch | 小程序 | 带所有者归因的 Mac 负载采样器——每个间隔将负载、内存和最繁重的进程追加到 TSV,每条都标记项目、目录以及创建它的 claude/codex 会话;report 将文件整合为问题进程、按项目和会话汇总以及峰值账本。→ docs/macwatch.md | | plugin-gc | 小程序 | 对 Claude Code 外挂缓存执行垃圾回收——曾安装过的每个版本都由一个被遗弃会话不会释放的 PID 引用计数保护,而载荷几乎全是 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 调用——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>/         每项能力对应一个专注的 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.

更多类似作品