Monitor Stream
ruvnet/ruflo
Stream live swarm events using the Monitor tool for real-time observability
StelloAgent 运行时使用教程。覆盖 Session 生命周期、createSession、turn/stream 对话、fork 配置合成链、orchestrator-facing 数据 SDK、runtime 管理、热更新等运行时 API。
$ npx skills add stello-agent/stello --skill stello-agent-usage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install stello-agent/stello stello-agent-usage --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/stello-agent/stello.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/stello-agent-usage .claude/skills/stello-agent-usage && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "stello-agent-usage" agent skill from https://github.com/stello-agent/stello/tree/main/.agents/skills/stello-agent-usage into .claude/skills/stello-agent-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stello-agent-usage", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/stello-agent/stello/tree/main/.agents/skills/stello-agent-usageType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add stello-agent/stello --skill stello-agent-usage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install stello-agent/stello stello-agent-usage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stello-agent/stello.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/stello-agent-usage .agents/skills/stello-agent-usage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "stello-agent-usage" agent skill from https://github.com/stello-agent/stello/tree/main/.agents/skills/stello-agent-usage into .agents/skills/stello-agent-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stello-agent-usage", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add stello-agent/stello --skill stello-agent-usage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install stello-agent/stello stello-agent-usage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stello-agent/stello.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/stello-agent-usage .cursor/skills/stello-agent-usage && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "stello-agent-usage" agent skill from https://github.com/stello-agent/stello/tree/main/.agents/skills/stello-agent-usage into .cursor/skills/stello-agent-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stello-agent-usage", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/stello-agent/stello.git --path .agents/skills/stello-agent-usage--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add stello-agent/stello --skill stello-agent-usage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install stello-agent/stello stello-agent-usage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stello-agent/stello.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/stello-agent-usage .gemini/skills/stello-agent-usage && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "stello-agent-usage" agent skill from https://github.com/stello-agent/stello/tree/main/.agents/skills/stello-agent-usage into .gemini/skills/stello-agent-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stello-agent-usage", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install stello-agent/stello stello-agent-usageInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add stello-agent/stello --skill stello-agent-usage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/stello-agent/stello.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/stello-agent-usage .github/skills/stello-agent-usage && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "stello-agent-usage" agent skill from https://github.com/stello-agent/stello/tree/main/.agents/skills/stello-agent-usage into .github/skills/stello-agent-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stello-agent-usage", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add stello-agent/stello --skill stello-agent-usage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install stello-agent/stello stello-agent-usage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stello-agent/stello.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/stello-agent-usage .opencode/skills/stello-agent-usage && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "stello-agent-usage" agent skill from https://github.com/stello-agent/stello/tree/main/.agents/skills/stello-agent-usage into .opencode/skills/stello-agent-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stello-agent-usage", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
stello-agent-usageStelloAgent 运行时使用教程。覆盖 Session 生命周期、createSession、turn/stream 对话、fork 配置合成链、orchestrator-facing 数据 SDK、runtime 管理、热更新等运行时 API。
Stello Agent Usage is an agent skill from stello-agent/stello. StelloAgent 运行时使用教程。覆盖 Session 生命周期、createSession、turn/stream 对话、fork 配置合成链、orchestrator-facing 数据 SDK、runtime 管理、热更新等运行时 API。
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Conversations aren't linear — why should AI chats be? The first open-source conversation topology engine. Auto-branching session trees, inherited memory, star-map visualization… The licence is Apache-2.0.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3bc9493. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Stello Agent Usage loads about 2.7k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 413 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from stello-agent/stello at commit 3bc9493, republished under its Apache-2.0 licence (© stello-agent). 413 words, ~2,731 tokens.
.claude/skills/stello-agent-usage/SKILL.md (or your agent's skills folder).前置知识:
createStelloAgent(config)的配置方式见 skillstello-agent-creation。 本文档聚焦于 Agent 构建完成后的运行时操作。
对话起点是一个普通 Session(parentId === null),由 agent.createSession() 创建——不传 parentId 即为新 root。
const root = await agent.createSession({ label: 'Main' })
await agent.enterSession(root.id)agent.createSession({ parentId?, label? }) 做了什么:
sessions.createSession({ parentId, label }) 创建拓扑节点(parentId 缺省即 parentId === null)TopologyNode(含 id / parentId / children / refs / depth / label 等)Root 没有特殊待遇——它就是一个普通 Session。多个 root 合法(森林)。全局默认 systemPrompt / skills 等配置在 sessionDefaults 即可。
createSession → enterSession → turn / stream (× N) → leaveSession → archiveSessionconst bootstrap = await agent.enterSession(sessionId)
// bootstrap.context — 组装好的上下文(MemoryEngine 视角)
// bootstrap.session — SessionMeta(id, label, status, turnCount 等)行为:触发 lifecycle.bootstrap(),初始化 Engine runtime。如果该 session 已有活跃 Engine,复用而非重建。
const result = await agent.turn(sessionId, '帮我分析市场趋势')
// result.turn.finalContent — 最终文本回复(tool loop 结束后)
// result.turn.toolRoundCount — 经历了几轮 tool call 循环
// result.turn.toolCallsExecuted — 实际执行了多少个 tool
// result.turn.rawResponse — 原始最终 LLM 响应const streamResult = await agent.stream(sessionId, '帮我分析市场趋势')
for await (const chunk of streamResult) {
process.stdout.write(chunk)
}
const result = await streamResult.result
console.log(result.turn.finalContent)若本轮包含 tool call,iterator 会按产生顺序继续输出每个 LLM 子轮的文本;工具执行期间暂时没有 chunk。result.turn.finalContent 仍只表示最后一个不再请求客户端 tool 的响应,可能不等于所有 chunk 的简单拼接。
await agent.turn(sessionId, input, {
maxToolRounds: 5, // 限制 tool call 循环轮数(默认无限)
signal: abortController.signal, // 支持取消(中断当前轮 LLM/tool 调用)
onToolCall: (toolCall) => { /* ... */ },
onToolResult: (result) => { /* ... */ },
})await agent.leaveSession(sessionId) // 触发 consolidation 调度(fire-and-forget)
await agent.archiveSession(sessionId) // 标记归档,之后不应再 turn()| 方式 | 触发者 | 入口 |
|---|---|---|
| LLM 发起 | LLM 调用 stello_create_session 内置 tool | 需在 capabilities.tools opt-in 注册 |
| 代码发起 | 应用层调用 agent.forkSession() | 手动编排 |
forkSession 参数const child = await agent.forkSession(sessionId, {
// ── 必填 ──
label: '市场分析-深度研究',
// ── SessionConfig 字段(可选,参与合成链)──
systemPrompt: '你是市场分析专家...',
llm: specializedLlm,
tools: customTools,
skills: ['search', 'summarize'],
consolidateFn: customConsolidateFn,
compressFn: customCompressFn,
// ── Fork 专属字段(可选)──
prompt: '请深入分析半导体行业', // fork 后立即发送的首条消息
context: 'inherit', // 'none'(默认)| 'inherit' | ForkContextFn
topologyParentId: otherNodeId, // 显式指定拓扑父节点(不传 = 当前 sessionId)
profile: 'researcher', // 引用预注册的 ForkProfile 名称
profileVars: { region: '北美' }, // ForkProfile.systemPromptFn 的模板变量
})
// child: TopologyNode
// child.id — 新 session 的 ID
// child.parentId — 拓扑父节点 ID
// child.sourceSessionId — fork 时的上下文来源 session ID
// child.depth — 拓扑深度(root = 0)
// child.label — 显示名称Fork 后需要单独 enterSession(child.id) 才能在子 session 上 turn()。
context)await agent.forkSession(sessionId, { label: '子任务', context: 'none' }) // 空白开始(默认)
await agent.forkSession(sessionId, { label: '深度研究', context: 'inherit' }) // 完整继承 L3
await agent.forkSession(sessionId, {
label: '摘要子任务',
context: async (parentMessages) => parentMessages.slice(-10), // 自定义裁剪
})fork 时按 sessionDefaults → 父 session 固化 config → ForkProfile → EngineForkOptions 顺序合成,后者覆盖前者。root 也是普通 session,从 root fork 会正常继承 root 的固化 config。
详见 skill fork-design。
需要在创建 agent 时注入 storage: SessionStorage(顶层)。这套 API 让外部 orchestrator(应用层 / Claude Code / Codex / Kitkit 等)能够在对话之外直接读取和回写每个 Session 的数据。
const roots = await agent.listRoots() // TopologyNode[]
const forest = await agent.getTopology() // SessionTreeNode[](嵌套森林)
const node = await agent.getTopologyNode(sessionId) // 单个 TopologyNode
const sessions = await agent.listSessions({ status: 'active' }) // SessionMeta[]const view = await agent.getSessionMetadata(sessionId)
// view.memory — string | null(持久;不进 send 上下文)
// view.insight — string | null(一次性 inbox;下次 send 注入并 clear)const digests = await agent.listSessionDigests({ status: 'active' })
// digests[i] = { id, label, status, memory, insight }应用层把这份数据喂给反思层 LLM,由它产出 per-session insight,再调用 agent.putInsight 定向回写。完整模式见 skill session-usage。
const messages = await agent.listMessages(sessionId, { limit: 100 })await agent.putMemory(sessionId, '当前进展摘要...') // 持久 memory(替换语义)
await agent.putInsight(sessionId, '需要重新评估方向...') // 一次性 insight(send 消费后 clear)
await agent.clearInsight(sessionId) // 主动清除未在 agent 创建时注入 storage 时,这些方法会抛错。
适用于 WebSocket 等多客户端连接场景,通过引用计数管理 Engine 生命周期。
await agent.attachSession(sessionId, connectionId) // WS 连接建立
await agent.detachSession(sessionId, connectionId) // WS 连接断开
agent.hasActiveEngine(sessionId) // 是否有活跃 Engine
agent.getEngineRefCount(sessionId) // 当前引用计数回收策略:
createStelloAgent({
runtime: {
resolver: myResolver,
recyclePolicy: { idleTtlMs: 30_000 },
},
})
// 运行时更新
agent.updateConfig({ runtime: { idleTtlMs: 60_000 } })const root = await agent.createSession({ label: 'Main' })
await agent.enterSession(root.id)
await agent.turn(root.id, '你好')
await agent.turn(root.id, '继续上个话题')
await agent.leaveSession(root.id)const root = await agent.createSession({ label: 'Main' })
await agent.enterSession(root.id)
await agent.turn(root.id, '我需要研究三个市场')
const children = await Promise.all([
agent.forkSession(root.id, { label: '美国市场', systemPrompt: '你是美国市场专家' }),
agent.forkSession(root.id, { label: '欧洲市场', systemPrompt: '你是欧洲市场专家' }),
agent.forkSession(root.id, { label: '亚洲市场', systemPrompt: '你是亚洲市场专家' }),
])
await Promise.all(
children.map(async (child) => {
await agent.enterSession(child.id)
await agent.turn(child.id, '分析半导体供应链')
await agent.leaveSession(child.id) // 触发 consolidation
}),
)// 独立的研究/写作两条线,互不影响
const research = await agent.createSession({ label: 'Research' })
const writing = await agent.createSession({ label: 'Writing' })
await agent.enterSession(research.id)
await agent.turn(research.id, '调研材料 ...')
await agent.enterSession(writing.id)
await agent.turn(writing.id, '基于已有材料写一份 ...')
const all = await agent.listRoots() // 两个 root 都会出现async function reflect(agent: StelloAgent, llm: LLMAdapter): Promise<void> {
const digests = await agent.listSessionDigests({ status: 'active' })
// ... 应用层 prompt 把 digests 喂给 llm,解析出 per-target insight ...
for (const [id, content] of Object.entries(insightsByTarget)) {
await agent.putInsight(id, content)
}
}详见 stello-agent-creation §7。
ws.on('connection', async (socket) => {
const holderId = socket.id
socket.on('enter', async ({ sessionId }) => {
await agent.attachSession(sessionId, holderId)
await agent.enterSession(sessionId)
})
socket.on('message', async ({ sessionId, input }) => {
const stream = await agent.stream(sessionId, input)
for await (const chunk of stream) {
socket.send(JSON.stringify({ type: 'chunk', data: chunk }))
}
const result = await stream.result
socket.send(JSON.stringify({ type: 'done', data: result }))
})
socket.on('close', async () => {
for (const sessionId of socket.sessions) {
await agent.detachSession(sessionId, holderId)
}
})
})| 方法 | 返回值 | 说明 |
|---|---|---|
createSession({ parentId?, label? }) | Promise<TopologyNode> | 创建拓扑节点(不传 parentId 即新 root;多 root 合法) |
enterSession(id) | Promise<BootstrapResult> | 进入 session,触发 bootstrap |
turn(id, input, opts?) | Promise<EngineTurnResult> | 同步对话轮次(含 tool call 循环) |
stream(id, input, opts?) | Promise<EngineStreamResult> | 流式对话轮次 |
leaveSession(id) | Promise<{ sessionId }> | 离开 session,触发 consolidation 调度 |
forkSession(id, opts) | Promise<TopologyNode> | 创建子 session,执行配置合成链 |
archiveSession(id) | Promise<{ sessionId }> | 归档 session |
consolidateSession(id) | Promise<void> | 手动触发该 session 的 consolidation |
attachSession(id, holderId) | Promise<OrchestratorEngine> | 附着 runtime 持有者 |
detachSession(id, holderId) | Promise<void> | 释放 runtime 持有者 |
hasActiveEngine(id) | boolean | 是否有活跃 Engine |
getEngineRefCount(id) | number | 当前引用计数 |
updateConfig(patch) | void | 热更新运行时配置 |
storage)| 方法 | 返回值 | 说明 |
|---|---|---|
listSessions(filter?) | Promise<SessionMeta[]> | 列出所有 session |
listRoots() | Promise<TopologyNode[]> | 列出所有 root |
getTopology() | Promise<SessionTreeNode[]> | 完整森林(嵌套树) |
getTopologyNode(id) | Promise<TopologyNode | null> | 单个节点 |
getSessionMetadata(id) | Promise<{ memory, insight }> | 单 session 的 memory + insight |
listSessionDigests(filter?) | Promise<SessionDigest[]> | 批量收集所有 Session 的 digest |
listMessages(id, options?) | Promise<Message[]> | 读取 L3 消息 |
putMemory(id, content) | Promise<void> | 写入 memory |
putInsight(id, content) | Promise<void> | 写入 insight(一次性) |
clearInsight(id) | Promise<void> | 清除 insight |
| 属性 | 类型 | 说明 |
|---|---|---|
config | StelloAgentConfig | 归一化后的完整配置 |
sessions | SessionTree | 拓扑树 |
memory | MemoryEngine | 记忆引擎 |
storage | SessionStorage | undefined | 数据存储(未注入时 data-IO 方法不可用) |
profiles | ForkProfileRegistry | undefined | Fork 模板注册表 |
© stello-agent, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/stello-agent-usage of stello-agent/stello.
Open the folder on GitHubat commit 3bc9493
Stello Agent Usage next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Stello Agent Usage this skillstello-agent/stello | 112 | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| Monitor Streamruvnet/ruflo | 74k | — | ~188 | Automated safety check: Pass | MIT | |
| Streaming HTMLthedaviddias/Front-End-Checklist | 74k | — | ~553 | Automated safety check: Pass | MIT | |
| Streamingalsk1992/CloddsBot | 2.9k | 1 repos | ~810 | Automated safety check: Pass | MIT | |
| Assistant UI Streamingcompozy/compozy | 2.8k | — | ~813 | Automated safety check: Pass | MIT | |
| Google Cloud Solution Agentic AI Bidirectional Streaminggoogle/skills | 21k | — | ~2.3k | Automated safety check: Pass | Apache-2.0 |
ruvnet/ruflo
Stream live swarm events using the Monitor tool for real-time observability
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing server-side rendering setup, Next.js App Router pages, or Node.js HTTP handlers to verify that HTML is streamed incrementally rather than buffered until…
alsk1992/CloddsBot
Response streaming configuration and real-time output. An agent skill from alsk1992/CloddsBot.
compozy/compozy
Guide for assistant-stream package and streaming protocols. An agent skill from compozy/compozy.
Guides agents to interactively discover customer requirements for live, bidirectional multi-agent AI systems that process continuous streams of multimodal data for real-time technical guidance and…
Nethereum/Nethereum
Stream real-time blockchain data with Nethereum. An agent skill from Nethereum/Nethereum.
stello-agent/stello
Fork 机制完整说明。覆盖 ForkProfile 与 EngineForkOptions 的字段对齐、四层 fallback 合成链(sessionDefaults → parent → profile → forkOptions)、systemPrompt 合成三种模式、skills 三态语义、持久化边界(SerializableSessionConfig 只固化…
stello-agent/stello
Stello 框架内所有 LLM 调用位置的消息结构速查。覆盖 Session 对话、compress、consolidate;应用层 reflection 调用由 orchestrator 自行决定。
stello-agent/stello
Session 对话单元的设计理念、上下文组装规则、memory / insight 槽位语义、单一 Session 模型与跨 Session 通信模型。
stello-agent/stello
StelloAgent 创建配置教程。完整说明 createStelloAgent 的每个配置项,包含 sessionDefaults、storage、tools、skills、forkProfiles、session 层接入、orchestration 等。
stello-agent/stello
Stello 仓库总览入口。快速理解各包的关系、推荐入口、编排模型、单一 Session 模型. An agent skill from stello-agent/stello.
stello-agent/stello
存储接口的设计原则、SessionMeta 与 TopologyNode 解耦、上下文槽位、单一 SessionStorage 接口。触发条件:理解或实现 SessionStorage / SessionTree。
StelloAgent 运行时使用教程。覆盖 Session 生命周期、createSession、turn/stream 对话、fork 配置合成链、orchestrator-facing 数据 SDK、runtime 管理、热更新等运行时 API。. Stello Agent Usage is an agent skill from stello-agent/stello.
Run `npx skills add stello-agent/stello --skill stello-agent-usage -a claude-code`. Or copy the skill folder (.agents/skills/stello-agent-usage in stello-agent/stello) into .claude/skills/stello-agent-usage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add stello-agent/stello --skill stello-agent-usage -a codex`. Or copy the skill folder (.agents/skills/stello-agent-usage in stello-agent/stello) into .agents/skills/stello-agent-usage in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add stello-agent/stello --skill stello-agent-usage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/stello-agent-usage, .gemini/skills/stello-agent-usage, .github/skills/stello-agent-usage and .opencode/skills/stello-agent-usage in your project.
SKILL.md names no scripts, command-line tools or credentials: Stello Agent Usage is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Stello Agent Usage is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Stello Agent Usage: Monitor Stream (ruvnet/ruflo, 74k stars), Streaming HTML (thedaviddias/Front-End-Checklist, 74k stars), Streaming (alsk1992/CloddsBot, 2.9k stars) and Assistant UI Streaming (compozy/compozy, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
stello-agent (a GitHub organization) maintains it in stello-agent/stello, which has 112 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on July 24, 2026.
Source: stello-agent/stello on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.