agentfootprint

审查 · 55
已收录

Use when building AI agents with agentfootprint — LLMCall, Agent, skills, RAG, memory, control flow, Swarm concepts, mock/anthropic/openai/ollama providers, tools, recorders, resilience, and streaming. Also use when someone asks how agentfootprint works or wants to understand the

Verified installs0
Stars20
版本1.0.0
质量60/100 · 有潜力
信任55/100 · Do not auto-install
审计71/100 · 高风险

供给资产档案

研究与知识工作

Deep research, source comparison, literature review, RAG, knowledge search, and reports.

浏览赛道

场景

RAG and knowledge

I need my agent to build a RAG workflow over documents and retrieve reliable context.

适配 Agent

Claude Code + OpenAI Agents + Cursor

适用于 Codex、Claude Code、Cursor、CLI 或自定义 Agent。

安装

就绪

npx skills add footprintjs/agentfootprint --skill agentfootprint

维护状态

新鲜

距上次推送 2 天

风险

高风险

Dependency or permission surface needs review

GitHub 质量

20

60/100 质量 · 63/100 信任

覆盖标签

研究RAG and knowledge设计与创意agent-skill

审查说明

Dependency or permission surface needs review · Permission surface may require sandboxing

Agent 采用评分卡

一眼查看信任、审计与安装准备度

这些分数综合公开仓库元数据、OpenAgentSkill 审查信号、维护新鲜度与安装准备度。它用于候选筛选,不替代人工审查。

质量

有潜力
60

有用的候选项,但采用前应与替代方案比较。

信任

Do not auto-install
55

Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.

审计

高风险
71

对安装准备度、安全元数据、维护情况与采用风险的机器可读审查。

OpenAgentSkill 信任评分 v5

仅限沙盒

Choose a stronger alternative or inspect the source manually before any install attempt.

CodexClaude CodeCursorOpenAgentSkill CLI

Stars

20 个 GitHub Stars

仓库活跃度

20 个 Star,3 个 Fork

维护状态

距上次推送 2 天

许可证

MIT

安装

npx skills add footprintjs/agentfootprint --skill agentfootprint

安装安全性

标准软件包或运行时安装路径

权限范围

secrets or environment access, shell or command execution

Agent 结果

暂未有 Agent 结果数据

文档

README/SKILL.md 上下文充分

风险摘要

生产前审查

  • The SKILL.md excerpt is truncated, but the provided content is comprehensive and well-structured.
  • Financial research output is not financial advice; require human review before any live investment decision.
  • This skill may touch real-money trading, broker, wallet, or exchange operations; use only in a sandbox with explicit approval.
  • Low GitHub adoption signal

安装准备度

安装路径可用

  • 安装路径可用
  • 仓库证据可用
  • 已声明许可证
  • 暂无 Agent 验证结果证据

Agent 可读元数据

这个 Skill 的机器可读决策数据。

使用此区块或内嵌 JSON 判断 Agent 是否应安装该 Skill、选择替代方案,或先请求人工审查。

打开 JSON

适用任务

  • RAG and knowledge 工作流
  • Claude Code 团队
  • builders willing to evaluate younger projects
  • Chunk documents

适用 Agent

CodexClaude CodeCursorOpenAgentSkill CLIOpenAI AgentsCLI

安装决策

命令
npx skills add footprintjs/agentfootprint --skill agentfootprint
策略
阻止
人工审查

信任与风险

信任
55/100
审计
71/100
风险级别
高风险

结果闭环

端点
/api/agent/outcome
事件 ID
resolve
结果
5

安装命令

npx skills add footprintjs/agentfootprint --skill agentfootprint

不适用场景

  • 需要厂商支持 SLA 的团队
  • production agents without a repository review
  • Low GitHub adoption signal
  • The SKILL.md excerpt is truncated, but the provided content is comprehensive and well-structured.
  • Audit risk risky exceeds max_risk=medium

Agent 安全 v2

23/100 · 避免自动安装

Blocked for auto-install阻止

This skill should not be selected by an agent without explicit human security review.

Do not auto-install. Inspect the source, dependencies, and permission surface first.

通过 API 解析

Shell 或命令执行

Skill 元数据引用了终端、CLI、Shell、子进程或命令执行工作流。

Browser automation

Skill may drive a browser or interact with web pages.

网络访问

Skill 可能访问远程页面、API、仓库或外部服务。

文件系统访问

Skill 可能读取或写入项目文件、文档、生成产物或本地工作区状态。

  • Audit risk risky exceeds max_risk=medium
  • 高风险权限提示:Shell or command execution, Secrets or environment access
  • Dependency or permission surface needs review

安装目标

在你的 Agent 工作流中安装此 Skill

通过公开安装端点获取命令、安全清单、目标提示词和该 Skill 的规范链接。

skill install

OpenAgentSkill CLI

Resolve policy, run the source installer safely, and report a verified install receipt.

$ npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install footprintjs-agentfootprint

Agent 解析计划

让 Agent 在安装前验证匹配度。

Resolve API 返回首选 Skill、替代方案、安全策略、审计说明、安装目标和可直接执行的提示词,无需抓取此页面。

打开文本计划

Agent 应检查

  • 从 Resolve API 检查任务匹配与替代方案。
  • 检查审计评分、信任评分和安全策略警告。
  • 检查 Codex、Claude Code、Cursor 或 CLI 的安装目标兼容性。

复制提示词

Task: Use agentfootprint in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20agentfootprint%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/footprintjs-agentfootprint/install
Install command: npx skills add footprintjs/agentfootprint --skill agentfootprint
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.

Agent 交接

把安装路径交给 Agent,而不是再给一个目录页。

通过公开安装端点获取命令、安全清单、目标提示词和该 Skill 的规范链接。

打开安装 API

Agent 提示词

Use agentfootprint for this task. Review https://www.openagentskill.com/api/skills/footprintjs-agentfootprint/install, then install with: npx skills add footprintjs/agentfootprint --skill agentfootprint

Registry 元数据

用于自动选择 Skill 的 Agent 可读档案。

本页通过 Registry API 提供相同的决策、信任、审计、场景和安装信号,让 Agent 无需抓取界面即可排序。

打开 Manifest

适配 Agent

61/100

RAG and knowledge

平台

Claude Code, OpenAI Agents, Cursor

审计报告

高风险 · 71/100

对安装准备度、安全元数据、维护情况与采用风险的机器可读审查。

查看审计报告查看评估报告

Agent 决策面板

Fallback candidate for RAG and knowledge

先用此 Skill 做原型验证,并保留备选方案。

61
就绪度
原型验证
阶段

栈中角色

备选候选

主要匹配

RAG and knowledge

信任标签

先做原型验证

安装路径

命令已就绪

适用场景

  • RAG and knowledge 工作流
  • Claude Code 团队
  • builders willing to evaluate younger projects

证据

  • 仓库近期活跃
  • 已提供安装命令或 GitHub 仓库
  • 60/100 质量档案
  • 4 个 OpenAgentSkill 交互事件

先审查

  • Low GitHub adoption signal
  • The SKILL.md excerpt is truncated, but the provided content is comprehensive and well-structured.

实施路径

  1. 1在沙盒 Agent 中安装它,并端到端完成一次RAG and knowledge任务。
  2. 2Compare output quality, latency, and failure behavior against at least one alternative.
  3. 3Promote it into production only after reviewing repository permissions, license, and maintenance signals.

信任档案

Do not auto-install

Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.

55
OpenAgentSkill 信任评分

GitHub 采用度

修复

20 个 GitHub Stars

Star/Fork 活跃度

修复

20 个 Star,3 个 Fork; 当前元数据中没有议题活跃度信息

近期维护

通过

距上次推送 2 天

许可证清晰度

通过

MIT

积极信号

  • AI 审查已通过
  • 安装路径可用
  • 仓库证据可用
  • 近期维护的仓库
  • 安装命令未发现明显高风险模式
  • 结果闭环已就绪,但需要首次真实 Agent 运行

安装前审查

  • The SKILL.md excerpt is truncated, but the provided content is comprehensive and well-structured.
  • Financial research output is not financial advice; require human review before any live investment decision.
  • This skill may touch real-money trading, broker, wallet, or exchange operations; use only in a sandbox with explicit approval.
  • Low GitHub adoption signal
  • Quality score needs review
  • Permission surface needs review: secrets or environment access, shell or command execution
  • GitHub adoption: 20 GitHub stars
  • Stars/forks activity: 20 stars, 3 forks; issue activity unavailable in current metadata
  • Dependency/runtime risk: command execution surface, credential or environment access
  • Permission surface: secrets or environment access, shell or command execution
  • 暂未有真实 Agent 结果报告
  • 无人值守安装前需要人工审查

建议操作

Choose a stronger alternative or inspect the source manually before any install attempt.

质量档案

有潜力 适用于 Agent 工作流的候选

有用的候选项,但采用前应与替代方案比较。

60
GitHub Stars
20
新鲜度
2 天前
安装就绪
许可证
MIT
安装前审查: Low GitHub adoption signal · The SKILL.md excerpt is truncated, but the provided content is comprehensive and well-structured.

工作流匹配

在这些场景使用此 Skill

工作流匹配

加入完整工作流

替代方案短名单

安装前对比

可能适合该任务的相近 Skill。

对比全部

概览

--- name: agentfootprint description: Use when building AI agents with agentfootprint — LLMCall, Agent, skills, RAG, memory, control flow, Swarm concepts, mock/anthropic/openai/ollama providers, tools, recorders, resilience, and streaming. Also use when someone asks how agentfootprint works or wants to understand the framework. ---

# agentfootprint — The Explainable Agent Framework

agentfootprint structures AI agents as composable flowcharts, so every injection, read, write, decision and tool call becomes connected evidence as the run happens. Every concept takes an `LLMProvider` — swap `mock({...})` for `anthropic({...})` with zero code changes.

**Core principles:** - Adapter-swap testing ($0 test runs, deterministic assertions) - The ladder: `mock` → `ollama` (free, local, real model) → a paid provider - Declare context (facts, steering, skills); the framework decides WHEN it fires and WHICH slot it lands in - Collect during traversal, never post-process (inherited from footprintjs)

```bash npm install agentfootprint footprintjs ```

## Read this first — what does NOT exist

These are not hypothetical. A capable author, working from a correct mental model of this library, invented all four in one document. Treat them as the things you are most likely to get wrong here.

| You will reach for | The reality | |---|---| | `startRun(...)` | **No such function.** The door is `agent.run(input, options?)`, where `AgentInput = { message: string; identity?; continueFrom? }` and `AgentOutput = string`. `run()` returns `AgentOutput \| RunnerPauseOutcome` — a run paused for a human returns a checkpoint; discriminate with `isPaused(result)`. | | `RunStep` as skill/route history | **`RunStep` is real and it is something else** — the footprintjs flowchart TOPOLOGY slider, exported from `agentfootprint/observe`. Its `kind` is `'sequential' \| 'fork' \| 'merge' \| 'decide' \| 'iteration' \| 'iteration-exit' \| 'react'`. Nothing in it concerns skills. Importing it succeeds, which is exactly why it is dangerous. For route history use `routeRecorder()` from the same door. | | the LLM classifier as routing "tier 3" | **It is a tier-2 strategy.** Tier 1 = declared start rules. Tier 2 = the configured scorer — `llmClassifier(provider)` OR `keywordScorer()` OR `embeddingScorer(e)` OR the entry scorer; near-ties fall through rather than argmax. Tier 3 = a menu the model resolves in-band through `read_skill`'s own description, reached only when tier 2 was NOT decisive. | | a skill's tools being gated to that skill automatically | **They are not, by default.** `defineSkill({ tools })` puts them in the agent's static tool list at build time — visible from iteration 1 whether the skill ever activates or not. Ask for the gate: `.toolsFromActiveSkill()` (agent-wide), `skillGraph({ scopeTools: true })` (graph-wide), or `autoActivate: 'currentSkill'` (per skill). `.tree()` leaves are the one shape scoped by default. |

Two more absences: there is **no runtime force-stop governor** (`routeRecorder().getTrips()` only *labels* a spinning run; `maxIterations` is the hard stop), and there is **no automatic re-delivery of an ageing skill body** (`refreshPolicy` is stored and never read on any version — use `surfaceMode: 'both'`).

## Subpath map — 13 doors

`agentfootprint` (main barrel: `Agent`, `LLMCall`, `defineTool`, control flow, patterns, `defineRAG`, pause/resume) · `/providers` (`mock`, `anthropic`, `openai`, `bedrock`, `ollama`, `mcpClient`, embedders — every provider, so bundlers never walk the vendor SDKs from the main barrel) · `/context` (`defineSkill`, `defineFact`, `defineSteering`, `defineInstruction`, `skillGraph`, `skillsFromDir`, the scorers) · `/memory` (`defineMemory`, `InMemoryStore`, `mockEmbedder`, the stores) · `/rag` (stores + loaders; `defineRAG` itself is on the main barrel) · `/observe` (recorders, tracing, `RunStep`) · `/resilience` (provider decorators) · `/reliability` (the rules-based fail-fast gate) · `/cache` (prefix-cache strategies; importing it registers them) · `/security` · `/hosting` · `/events` · `/skill-graph` (the routing layer with no framework attached, for a host that is not this agent).

## Core Concepts

### LLMCall — a single LLM call, no tools

```typescript import { LLMCall } from 'agentfootprint'; import { mock } from 'agentfootprint/providers';

const caller = LLMCall.create({ provider: mock({ reply: 'Hello!' }), model: 'mock' }).system('You are helpful.').build(); const result = await caller.run({ message: 'Hi' }); ```

### Agent — a ReAct agent with tools

```typescript import { Agent, defineTool } from 'agentfootprint'; import { mock } from 'agentfootprint/providers';

const weather = defineTool({ name: 'weather', description: 'Get current weather for a city.', inputSchema: { type: 'object', properties: { city: { type: 'string' } }, required: ['city'] }, execute: async ({ city }: { city: string }) => `${city}: 72°F, sunny`, });

const agent = Agent.create({ provider: mock({ reply: 'It is 72°F.' }), model: 'mock' }) .system('You answer weather questions using the weather tool.') .tool(weather) .maxIterations(5) .build();

const result = await agent.run({ message: 'Weather in Paris?' }); ```

### Context — facts, steering, skills, and declared routing

```typescript import { defineFact, defineSteering, defineSkill, skillGraph } from 'agentfootprint/context';

Agent.create({ provider, model }) .fact(defineFact({ id: 'user-profile', data: 'Plan: Pro · Customer since 2022' })) .steering(defineSteering({ id: 'policy', prompt: 'Never promise a refund before checking.' })) .skill(defineSkill({ id: 'refunds', description: 'Refund procedure.', body: '…', tools: [issueRefund] })) .build(); ```

`defineSkill` bodies load on demand — the model opens one with `read_skill`, or a `skillGraph()` routes to it:

```typescript const graph = skillGraph() .entry(triage, { when: (c) => /order/.test(c.userMessage) }) // where the turn STARTS .route(triage, refunds, { onToolReturn: 'lookup_order' }) // a declared handoff .build();

Agent.create({ provider, model }).skillGraph(graph).build(); graph.toMermaid(); // declared === drawn ```

`.entry()` and `.route()` take the skill OBJECTS, not their ids. The object form is the other door — `skillGraph({ skills, start, steps })` returns a finished graph with nothing to chain.

A skill is active exactly while the cursor is on it — one skill's turn at a time. An `.entry(x)` with **no** `when` is the persistent base (`always`), on beside whatever the cursor is on.

**The cursor is a program counter, not a per-turn classifier.** Nine causes move it (or decline to), reported as `cursorMove.by` on `agentfootprint.context.evaluated` and as `outcome` on `routeRecorder().getHops()`:

`'entry'` (cold start) · `'route'` (a declared `from`-gated edge fired) · `'tool-proposal'` (a TOOL RESULT proposed a transition and the graph accepted it) · `'model-pick'` (a gate-accepted `read_skill`) · `'intent'` (the tier-2 scorer was decisive) · `'continuity'` (the cursor inherited from the previous turn held) · `'decider'` (an out-of-band menu resolver) · `'stay'` (nothing fired — sticky, and a recorded decision, not an absence) · `'none'` (no cursor at all: nothing to enter, or a `tree()`, which has no cursor). `routeRecorder`'s `RouteOutcome` is those eight minus `'none'` (no cursor, no hop) plus `'rejected'` — nine values. Precedence when several want it at once: **declared edge > accepted tool proposal > model pick > stay.** A suppressed pick emits `agentfootprint.skill.reroute_superseded`; a parallel batch matching different targets emits `agentfootprint.skill.route_conflict`.

**The cursor is per RUN by default.** A second `run()` starts cold at the entry. `.skillGraph(graph, { continuity: 'conversation' })` makes it span the conversation.

**`read_skill` has a three-way design, not one list.** Per iteration a skill is *reachable* (named under "Reachable from here"), *refusable* (named under "Not reachable from here" — a graph refusal is about WHERE THE CURSOR IS, so naming it lets the model route in one step), or *hidden* (absent entirely — a hidden skill is about WHO IS ASKING, and naming it would leak the shape of somebody else's permissions; needs a `PermissionChecker` governing `skill_read`). **The enum stays the full catalog in every case** — narrowing it would turn a policy refusal into a generic schema error the model never reads.

A refused pick gets one teaching sentence back and moves nothing:

```text read_skill("audit-log") is not reachable from here. Reachable skills: billing. Pick one of these, or finish. ```

**The authority rule.** A tool result is written into the conversation once and then only ages; the system prompt is rebuilt from nothing every iteration (`reactMode: 'dynamic'`, the default, re-runs the InjectionEngine and all three slots). So standing instructions belong in the recomposed surface. `reactMode: 'classic'` caches system-prompt and tools after turn 1 — do **not** use it with skills.

### RAG — retrieve, augment, generate

```typescript import { defineRAG } from 'agentfootprint'; // wiring lives on the main barrel import { InMemoryStore, mockEmbedder } from 'agentfootprint/memory';

Agent.create({ provider, model }) .rag(defineRAG({ id: 'docs', store: new InMemoryStore(), embedder: mockEmbedder(), topK: 5 })) .build(); ```

### Control flow + patterns — compose runners

```typescript import { Sequence, Parallel, Loop, Conditional, workflow, graph } from 'agentfootprint'; import { swarm, debate, reflection, selfConsistency, mapReduce, tot } from 'agentfootprint'; // patterns

const pipeline = Sequence.create().step('research', researchAgent).step('write', writerAgent).build();

const desk = swarm({ agents: [{ id: 'research', runner: researchAgent }, { id: 'write', runner: writerAgent }], route: ({ message }) => (/write/.test(message) ? 'write' : 'research'), }); ```

## Providers

```typescript import { mock, anthropic, openai, bedrock, ollama } from 'agentfootprint/providers';

const provider = process.env.NODE_ENV === 'production' ? anthropic({ apiKey: process.env.ANTHROPIC_API_KEY! }) : ollama('llama3.2'); // free local model; or mock({...}) for determinism ```

`mock` takes `{ reply }` (one fixed answer), `{ replies: [...] }` (consumed in order — exhaustion throws loud), or `{ respond: (req) => … }` (build the answer from the request, including `toolCalls`).

## Tools

```typescript import { defineTool } from 'agentfootprint';

const calculator = defineTool({ name: 'calculator', // `name`, not `id` description: 'Perform arithmetic', inputSchema: { type: 'object', properties: { expression: { type: 'string' } } }, execute: async ({ expression }: { expression: string }) => String(evaluate(expression)), }); ```

### A long tool that says where it is

```typescript execute: async (args, ctx) => { for (const [i, hop] of hops.entries()) { await visit(hop); ctx.progress({ done: i + 1, total: hops.length }); // → stream.tool_progress } return summarize(hops); }, ```

`ctx.progress` is always present, never throws, never blocks, and never reaches the model — the framework stamps `toolCallId` / `toolName` / `iteration`, you own `payload`. `agent.on('agentfootprint.stream.*')` and `toSSE(agent)` carry it with no extra wiring.

### When a tool finds nothing, and what a clean result does not cover

```typescript import { absent, coverage, defineTool } from 'agentfootprint';

// "I looked and there is nothing" — never readable as "I could not look". execute: ({ port }) => rows.length ? rows : absent({ what: `FLOGI entries on ${port}`, checked: ['shq-fab-a: the live fcns database', 'window: the last 24h'], notChecked: [{ what: 'the archived history', why: 'older than the 24h window' }], cannotCover: [{ what: 'the peer fabric', why: 'this collector is scoped to one fabric' }],

技术详情

版本
1.0.0
许可证
MIT
最近更新
2026年8月20日
发布时间
2026年8月20日

决策摘要

备选候选

61
就绪
原型验证
阶段

仓库近期活跃

审计

安装审查

安装与采用审查

71
高风险
安全性
68/100
维护状态
100/100
安装
92/100
打开完整审计查看评估报告

Agent 验证证据

Agent 验证证据

来自解析、审查、安装和一次小范围运行后的结果报告。

0
已验证
Needs first agent run自动安装: 先审查最近: 未知
成功率
近期失败
结果
0
输出质量
失败
0
不相关
0
安装次数
0
风险拦截
0
需要配置
0
生产环境
0

暂时没有 Agent 结果数据。首次 Agent 执行可以通过 /api/agent/outcome 报告成功、需要设置、风险拦截、失败或不相关。

安装

加入 Agent 工作流

免费且开源. 在生产 Agent 中安装前请先审查报告。

增长闭环

分享工具包

X

为 agentfootprint 准备的场景化草稿,可手动发布到 X。

策展说明
agentfootprint: Use when building AI agents with agentfootprint — LLMCall, Agent, skills, RAG, memory, contro...

20 stars

https://www.openagentskill.com/skills/footprintjs-agentfootprint?ref=x
打开 X 草稿
可选:带安装命令的回复
Listing + install path for agentfootprint:
https://www.openagentskill.com/skills/footprintjs-agentfootprint?ref=x

Install: npx skills add footprintjs/agentfootprint --skill agentfootprint
打开回复草稿

收录来源

Registry 收录

可认领

此列表来自公开来源,维护者认领获批前不会标记为官方。

创作者
footprintjs
收录方
OpenAgentSkill 社区索引

归属链接指向公开仓库或创作者主页。创作者可认领列表以更新所有权信号。

认领此 Skill

所有者认领

认领此 Skill 页面

这条 Registry 收录 列表归属于 footprintjs,但尚未标记为官方。认领后可增加已验证所有者信号,使后续发布、安装和审计更新更值得信赖。

创作者外链工具包

将证据徽章加入你的 README

在开发者评估仓库的位置展示规范页面、当前信任与审计信号,以及真实的 Agent 验证证据。

[![Listed on OpenAgentSkill](https://www.openagentskill.com/api/badge/footprintjs-agentfootprint?metric=listed&label=Listed)](https://www.openagentskill.com/skills/footprintjs-agentfootprint)
[![OpenAgentSkill Trust](https://www.openagentskill.com/api/badge/footprintjs-agentfootprint?metric=trust&label=Trust)](https://www.openagentskill.com/skills/footprintjs-agentfootprint)
[![OpenAgentSkill Audit](https://www.openagentskill.com/api/badge/footprintjs-agentfootprint?metric=audit&label=Audit)](https://www.openagentskill.com/skills/footprintjs-agentfootprint/audit)
[![Agent Proven](https://www.openagentskill.com/api/badge/footprintjs-agentfootprint?metric=proven&label=Agent%20Proven)](https://www.openagentskill.com/skills/footprintjs-agentfootprint)

作者

F

footprintjs

@footprintjs

健康信号

GitHub Stars
20
质量评分
33/100
最近 GitHub 推送
2026年8月20日
框架提示
未知
OpenAgentSkill 浏览量
4
复制安装命令
0
跳转点击
0

社区信号

告诉我们这个 Skill 是否对你的 Agent 工作流有帮助。汇总反馈会持续改善排序。

信任与安全

Do not auto-install

55
  • GitHub 采用度20 个 GitHub Stars修复
  • Star/Fork 活跃度20 个 Star,3 个 Fork; 当前元数据中没有议题活跃度信息修复
  • 近期维护距上次推送 2 天通过
  • 许可证清晰度MIT通过
  • README/SKILL.md 完整度元数据包含足够的用法与工作流上下文通过
  • 依赖与运行时风险command execution surface, credential or environment access修复