Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Zhong-y-j/Hubloom --skill select-before-actgit clone --depth 1 https://github.com/Zhong-y-j/HubloomWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zhong-y-j/hubloom/select-before-act)<a href="https://agentmods.dev/skills/zhong-y-j/hubloom/select-before-act"><img src="https://agentmods.dev/badge/skills/zhong-y-j/hubloom/select-before-act/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zhong-y-j/hubloom/select-before-act"><img src="https://agentmods.dev/badge/skills/zhong-y-j/hubloom/select-before-act.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00135 | $0.01967 |
| Opus 5 | $0.00068 | $0.00983 |
| Sonnet 5 | $0.00027 | $0.00393 |
| Haiku 4.5 | $0.00014 | $0.00197 |
Grade A, and why
select-before-act scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 97 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Select Before Act
本 Skill 规定:对列表中的某一条动手,或写操作需要绑定其他实体时,必须先让用户看清候选项并完成选择;任何删除在选定之后仍须二次确认,确认前禁止调用删除类工具;写操作成功后,若有列表/Lookup,应再拉一次相关结果供用户核对。
业务数据与接口仍在 MCP(list_api / call_api);本 Skill 只固化「怎么选、何时停、何时确认、写后如何复核」。
何时使用
- 用户要对某类资源做:删除 / 移除 / 禁用(禁编辑等)/ 查看详情 / 编辑修改——但未给出可用的唯一 ID,或只给了名称/模糊描述
- 用户要创建或修改资源,且某字段需关联另一类数据(外键、所属、绑定对象等),尚未选定关联项
- 用户说「删一个」「改那个」「绑到某某上」等,当前上下文无法唯一确定目标
不适用(不要生搬本 Skill)
- 用户已给出明确且可用的业务 ID,且对话中刚查证过、无需再选
- 纯只读汇总且用户不要「某一条」操作(例如「一共有多少」)
- 账号登录 / 改密 / 改资料等 → 走
account-access,不在此代办
场景 A:对列表项操作(删 / 禁 / 详情 / 改某一条)
- 用列表类工具拉取候选(按用户提到的类型 / tag 选工具;有筛选参数则带上名称或关键词)。
- 向用户展示候选项(交 Respond;可用 Markdown 表格/编号,或 A2UI 选择列表):
- 默认最多展示前 10 条;
- 若总数超过 10(或仍偏多):明确提示还可以用关键词、名称等缩小范围,再重新拉列表;
- 展示可读字段(名称、状态、简要标识等)与用于后续调用的 ID(勿编造)。
- 停止工具调用,等用户明确选定某一条(回复编号、名称或点选均可)。
- 选定之后:
- 查看详情 / 编辑:再用选中的 ID 去
call_api(编辑若仍缺其他必填字段,交 Respond 收集,勿编造)。 - 删除 / 移除:进入下方「删除二次确认」,此时仍禁止直接调删除接口。
- 查看详情 / 编辑:再用选中的 ID 去
唯一名称命中、或列表只有一条时:仍须先展示给用户确认是这一条,不得静默当作已选中后直接删除。
场景 B:写操作的关联绑定
- 识别创建/修改参数里需要绑定的关联实体(所属小区、关联设备等——以工具 schema 为准)。
- 先拉取关联方列表(同样:默认最多展示前 10 条,并提示可用关键词缩小)。
- 交 Respond 让用户选择要绑定的对象。
- 用户选定后,再用该 ID 填入写接口参数;禁止编造关联 ID,禁止用 schema 示例 ID 顶替。
若同时缺「操作目标」与「关联对象」,按依赖顺序先选齐再写;缺任一项都不要空参/假参调用写接口。
删除:二次确认(硬要求)
适用于一切删除 / 移除类写操作(含用户在 A2UI 上点选目标之后):
- 用户已选定目标后,Respond 再次说明将删除的对象(名称 + 关键标识),并明确询问是否确认删除。
- 仅当用户作出明确肯定后,才允许
call_api执行删除。明确肯定包括:- 自然语言「确认删除」「是的,删除」等;
- A2UI 确认删除按钮的 submit(动作名含 delete/remove/删除等,且 payload 已带目标 ID)——这不是误触发,必须采信 payload 并执行删除。
- 用户含糊(「哦」「随便」「那个」)或未表态 → 不得删除,可再确认一次。
- 选定 ≠ 确认删除:A2UI 点击选中某一行、或回复「第 2 个」,都只算选型;删除前必须再走确认轮次(确认轮可以是 Markdown 追问,或带「确认删除」按钮的 A2UI)。
- 收到删除确认 submit 后:禁止再编造「多条候选柜子/小区」列表;只处理 payload 中的那一条;删完按「写操作成功后的列表复核」拉取真实列表。
写操作成功后的列表复核
适用于创建 / 编辑 / 删除 / 移除 / 禁用等已成功的写操作(含用户经选型与确认后的 call_api):
- 有列表或 Lookup 类接口时:在写接口成功后,再调用一次相关列表查询,把当前结果交 Respond 展示,让用户明确看到「现在有哪些 / 那条是否还在」。
- 优先带筛选:尽量用刚操作的名称、关键词、所属 ID 等缩小范围;仍遵守默认最多前 10 条,勿甩全库。
- 删除后必做复核(有列表接口时):展示删除后的相关列表或明确说明目标已不在结果中。
- 创建 / 编辑:有列表则复核;若写接口已返回完整实体且足以说明结果、又无合适列表接口,可用返回体做短确认,不必硬凑列表调用。
- 无列表 / Lookup 接口:用写接口返回体或简短成功说明即可,不要编造查询。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 97 lines · 135 tokens per session scan A 8fc3315719cc
select-before-act is a skill published in the GitHub repository Zhong-y-j/Hubloom (14 stars, last pushed 27d ago), licensed Apache-2.0. It adds 135 tokens to every session and 1,967 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
implementing-api-schema-validation-security
Implement API schema validation using OpenAPI specifications and JSON Schema to enforce input/output contracts and prevent injection, data exposure, and mass assignment attacks.
fragment-update
Review and apply updates from the central claude-hub fragment to the current project.
ic-operator-admin
Walk an Immersive Commons operator's agent through the pending-membership review queue end-to-end — list waiting requests, decide approve / deny / override, run a dry-run preview, then commit. Hard rules around evidence-before-decision, no batch approvals, no self-promotion. Use when the human says "review pending IC…
contributor-pipeline-gardening
Maintenance of the contributor issue pipeline for JSONbored/metagraphed — closing issues that are already done but not marked so, and keeping the contributor-available backlog at its 50-100+ steady-state floor with well-scoped new issues. Runs every 8h via the scheduled task (raised from daily on 2026-07-15 so the…
implementing-api-schema-validation-security
Implement API schema validation using OpenAPI specifications and JSON Schema to enforce input/output contracts and prevent injection, data exposure, and mass assignment attacks.
recipe-create-meet-space
Create a Google Meet meeting space and share the join link.