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 echoVic/blade-code --skill interaction-surfacesgit clone --depth 1 https://github.com/echoVic/blade-codeWrote 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/echovic/blade-code/interaction-surfaces)<a href="https://agentmods.dev/skills/echovic/blade-code/interaction-surfaces"><img src="https://agentmods.dev/badge/skills/echovic/blade-code/interaction-surfaces/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/echovic/blade-code/interaction-surfaces"><img src="https://agentmods.dev/badge/skills/echovic/blade-code/interaction-surfaces.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.00167 | $0.02170 |
| Opus 5.5 | $0.00067 | $0.00868 |
| Sonnet 5.5 | $0.00033 | $0.00434 |
| Haiku 4.5 | $0.00017 | $0.00217 |
Grade A, and why
knowledge-interaction-surfaces 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 1mo 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.
This is a copy
88% identical to knowledge-extension-ecosystem-hooks-and-behavior-interception — 125 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Module Structure
该域是 Blade 的运行边界层:各表面负责接收用户或宿主输入、建立 Session 运行环境并投影 统一事件,但不拥有 Agent 决策或 durable transcript 的权威状态。
Directory Layout
packages/cli/src/blade.tsx— 统一进程入口与运行表面分流packages/cli/src/cli/— 全局参数、设置覆盖和 yargs 中间件packages/cli/src/commands/— Headless、Print、Serve、Web 与管理命令packages/cli/src/ui/— React + Ink 终端交互与本地事件投影packages/cli/src/server/— Hono HTTP、SSE、WebSocket 终端和服务端资源所有权packages/cli/web/src/— React Web、Zustand 投影、导航和预览工作区packages/cli/src/acp/— ACP Agent、Session、远程文件系统与终端能力适配packages/vscode/src/— VS Code WebSocket 桥
Key Entry Points
main()inpackages/cli/src/blade.tsx— 按 Headless、Print、ACP、子命令和默认 TUI 的优先级启动表面AppWrapperinpackages/cli/src/ui/App.tsx— TUI 的信任判断、资源初始化和主界面入口BladeServer.listenAsync()inpackages/cli/src/server/server.ts— Web/API 服务启动与关闭入口Appinpackages/cli/web/src/App.tsx— Web 导航恢复、任务流订阅和页面分流入口runAcpIntegration()inpackages/cli/src/acp/index.ts— ACP stdio/NDJSON 连接入口activate()inpackages/vscode/src/extension.ts— VS Code 桥激活入口
Gotchas
- 各表面只是同一 Runtime 事实的投影,不能把 TUI Store、Web Zustand、ACP update 或 Headless 输出当作持久化权威;恢复必须重新读取 Session 数据或 committed event (
packages/cli/src/store/slices/sessionSlice.ts,packages/cli/web/src/store/session/slices/sessionSlice.ts,packages/cli/src/acp/Session.ts) - 远端表面中的 Session 身份是
projectPath + sessionId,只按 session ID 过滤或缓存会把不同工作区的同名 Session 串在一起 (packages/cli/src/server/sessionRef.ts,packages/cli/web/src/store/session/sessionIdentity.ts) - committed event 带单调
seq并可重放,流式 delta、heartbeat 和瞬时工具活动不带seq;让 ephemeral 事件推进恢复游标会造成重连丢事件 (packages/cli/src/server/bus.ts,packages/cli/src/server/routes/session.ts,git:c776d496) - Headless、Web SSE 与 ACP 都必须有界且串行输出,但失败语义不同:Headless 取消当前运行,Web 逐出单个订阅者,ACP 中止当前 Session 操作;不能用一个表面的断连策略推断另一个表面 (
packages/cli/src/commands/HeadlessOutputEgress.ts,packages/cli/src/server/OrderedSseEgress.ts,packages/cli/src/acp/Session.ts) - 工具结果先经过统一展示投影和表面字符预算,再映射成卡片、JSONL、SSE 或 ACP content;直接发送原始工具输出会绕过敏感元数据清理与有界输出规则 (
packages/cli/src/tools/display/ToolResultProjector.ts,packages/cli/src/server/routes/session.ts) ! <command>在各表面共享 Session-owned 持久语义,但终端后端由表面决定;尤其 ACP 是否远程执行取决于宿主声明的 terminal capability (packages/cli/src/services/UserShellCommandService.ts,packages/cli/src/acp/AcpServiceContext.ts)
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 1mo ago First seen · 67 lines · 167 tokens per session scan A 98604119fc9a
knowledge-interaction-surfaces is a skill published in the GitHub repository echoVic/blade-code (181 stars, last pushed 3d ago), licensed MIT. It adds 167 tokens to every session and 2,170 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 88% identical to knowledge-extension-ecosystem-hooks-and-behavior-interception, differing in 125 lines, and is treated as a copy.
Other skills, from other repositories
clinical-reports
Write comprehensive clinical reports including case reports (CARE guidelines), diagnostic reports (radiology/pathology/lab), clinical trial reports (ICH-E3, SAE, CSR), and patient documentation (SOAP, H&P, discharge summaries). Full support with templates, regulatory compliance (HIPAA, FDA, ICH-GCP), and validation…
clinical-decision-support
Generate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading…
gget
Fast CLI/Python queries to 20+ bioinformatics databases. Use for quick lookups: gene info, BLAST searches, AlphaFold structures, enrichment analysis. Best for interactive exploration, simple queries. For batch processing or advanced BLAST use biopython; for multi-database Python workflows use bioservices.
immunology-assays
Computational analysis of immunology experimental data. ATAC-seq differential accessibility, immune cell tracking from microscopy, ELISA data processing with 4-parameter logistic fitting, immunohistochemistry quantification, antibody titer analysis, and cell cycle phase duration estimation. For flow cytometry use…
molecular-cloning
Molecular cloning simulation and design. PCR amplicon prediction, restriction enzyme digestion, Golden Gate and Gibson assembly simulation, primer design, CRISPR sgRNA design, and plasmid annotation. For protein-level sequence analysis use biopython or esm; for database lookups use gene-database or ensembl-database.
geo-database
Access NCBI GEO for gene expression/genomics data. Search/download microarray and RNA-seq datasets (GSE, GSM, GPL), retrieve SOFT/Matrix files, for transcriptomics and expression analysis.