Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问许可证需确认审计提醒

fragno-author弗拉尼奥作者

Agent Skill

用于辅助安全审计、权限检查、凭据风险、认证流程和常见漏洞排查。它适合让 Agent 梳理敏感配置、检查依赖风险、分析鉴权逻辑或生成安全复核清单。使用时不能把工具输出直接当最终结论,涉及密钥、令牌、用户数据或生产系统时,应先确认最小权限、脱敏方式和操作边界。

总安装

689

周安装

29

GitHub Stars

41

下载量

241
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:fragno-author(弗拉尼奥作者)
来源仓库:https://github.com/rejot-dev/fragno
仓库路径:skills/fragno-author
安装命令:
npx skills add https://github.com/rejot-dev/fragno --skill fragno-author
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/rejot-dev/fragno --skill fragno-author

简介

fragno-author 用于辅助安全审计、权限检查和认证流程分析。

  • 适合梳理敏感配置、检查依赖风险或生成安全复核清单。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装,需确认权限和维护状态。
  • 不能将工具输出直接当作最终结论,涉及密钥或生产系统时应先确认最小权限。
  • 使用时需脱敏处理用户数据,并明确操作边界。

SKILL.md

Fragno Fragment Creation

Note: All file paths referenced in this document are relative to this SKILL.md file.

Overview

Create or extend a Fragno fragment package with typed routes and client hooks for multiple frameworks.

Important: Before implementing anything, always curl the full docs page for the topic you're working on (see the "Full docs" commands below). The local guidance here is intentionally concise and assumes you have read the full docs first.

Also important: Rules of Fragno are required reading for any database-backed fragment work. They capture the transaction/handler, hook, and ID conventions that should guide your design. See references/rules-of-fragno.md and the full docs link below.

Workflow (Library Author)

Setup

  • Prefer creating a new package via the create CLI. For scripted/non-interactive usage:
pnpm create fragno@latest --non-interactive --name my-fragment

This uses sensible defaults: tsdown build tool, database layer included, no agent docs, path set to <name>.

  • OR: Install @fragno-dev/core manually. See "assets" below.

Core building blocks

  1. Define fragment + config in a definition module

- defineFragment<TConfig>("fragment-name").build() - Export config type and any shared schemas.

  1. Optional dependencies / services

- Use withDependencies(({config}) => ({...})) for server-only deps. - Dependencies are not bundled into the client.

  1. Define routes in dedicated route modules

- defineRoutes(definition).create(({defineRoute, config, deps, services}) => [...]) - defineRoute options: method, path, inputSchema, outputSchema, handler, errorCodes, queryParameters. - Handler input context: input.valid() and request data helpers. - Handler output helpers: json, jsonStream, empty, error.

  1. Server-side fragment instance (server entry module)

- instantiate(definition).withConfig(config).withRoutes([...]).withOptions(options).build()

  1. Client-side builder (client builder module)

- createClientBuilder(definition, publicConfig, routes) - Export hooks/composables: createHook, createMutator.

  1. Framework client entrypoints (React/Vue/Svelte/Solid/Vanilla)

- Create a file per framework: React, Vue, Svelte, Solid, Vanilla JS. - Each file wraps with the matching useFragno from @fragno-dev/core/<framework>.

Reference guide (read these notes after curling docs)

Each section below includes the intro excerpt from the docs plus definitions for key terms. For DB fragments, start with Database Integration Overview, then Database Testing before writing any tests.

Docs lookup

  • Search the docs index:

- curl -s "https://fragno.dev/api/search?query=defineRoutes"

  • Fetch docs as Markdown:

- curl -L "https://fragno.dev/docs/fragno/for-library-authors/getting-started" -H "accept: text/markdown"

References (docs intros + full docs)

Each section includes the docs intro and a curl command for the full page.

Config, Dependencies, and Services

The config is the basic contract between the Fragment author and the user. It is used to pass configuration to the Fragment, such as API keys and options. It can also be used to let the user react to events happening in the Fragment by providing callback functions.

Dependencies are objects that are available to route handlers. They are provided using the withDependencies method in the library definition. Dependencies are server-side only and are not included in the client bundle. They are private to the Fragment and cannot be used by the user directly.

Services are reusable business logic that can be exposed to Fragment users or shared between Fragments. Like dependencies, services are server-side only and not included in the client bundle. Fragments can both provide services (using providesService()) and require services (using usesService()), enabling composition and modularity.

  • Definitions:

- Config: fragment-specific runtime settings supplied by users (API keys, feature flags). - Dependency: server-only external resource wired into handlers/services (DB, HTTP client). - Service: reusable server-side logic built from config + deps and exposed to routes.

  • Covers: config shape, dependency injection, services exposure.
  • Read when: wiring external APIs, secrets, or shared services into handlers.
  • Full docs: curl -L "https://fragno.dev/docs/fragno/for-library-authors/features/dependencies-and-services" -H "accept: text/markdown"

Route Definitions

The defineRoute function is the core building block for creating API endpoints. It provides a type-safe way to define HTTP routes with validation, error handling, and automatic type inference.

  • Definitions:

- Route: method + path + handler contract exposed by a fragment. - Input schema: validation/typing for request body, params, and query. - Output schema: typed shape for successful responses (incl. streaming when used). - Error code: typed, declared error variant returned by a handler.

  • Covers: route API, schemas, error codes, query params, handler helpers.
  • Read when: adding or changing routes, request/response schemas, or error behavior.
  • Full docs: curl -L "https://fragno.dev/docs/fragno/for-library-authors/features/route-definition" -H "accept: text/markdown"

Client-side State Management

An important feature of Fragno is the ability to define client-side components as part of the Fragment. Under the hood, Fragno uses Nanostores to manage state. These reactive primitives integrate seamlessly with many popular frontend frameworks, such as React, Svelte, Vue, and vanilla JavaScript. Helper functions are provided to automatically create reactive stores for each API route. These are inspired by the popular TanStack Query library.

  • Definitions:

- Hook: client API for reads (stateful, cached, subscribes to changes). - Mutator: client API for writes (triggers requests + cache invalidation). - Invalidation: targeted cache refresh keyed by route/path and params. - Store: custom client-side state container tied to fragment data.

  • Covers: hooks, mutators, invalidation, custom stores, fetch config.
  • Read when: designing client APIs, caching/invalidation, or custom state.
  • Full docs: curl -L "https://fragno.dev/docs/fragno/for-library-authors/features/client-state-management" -H "accept: text/markdown"

Code Splitting

Fragments are "full-stack" libraries. As such, they contain both server-side and client-side components. Since frameworks differ in how they handle code splitting, Fragno must provide a way to split the code between client and server bundles on the Fragment level.

  • Definitions:

- Server-only module: code that must never ship to the client (deps, DB). - Client entrypoint: framework-specific exports that are safe for browsers. - Export boundary: package export that enforces server/client separation. - Unplugin: build-time transform that splits code for server/client bundles.

  • Covers: unplugin usage, exports, server-only boundaries, peer deps.
  • Read when: publishing or changing build config/exports.
  • Full docs: curl -L "https://fragno.dev/docs/fragno/for-library-authors/features/code-splitting" -H "accept: text/markdown"

Database Integration Overview

The @fragno-dev/db package provides an optional database layer for Fragments that need persistent storage. This allows Fragment authors to define a type-safe schema while users provide their existing database connection.

  • Definitions:

- Database adapter: configurable DB backend provided by the app (SQLite/Postgres/etc). - Fragment persistence: optional storage layer for fragment data and hooks. - Adapter config: user-supplied driver/dialect settings for the adapter.

  • Covers: when to add DB support and how the API is structured.
  • Read when: committing to persistence or picking adapters.
  • Full docs: curl -L "https://fragno.dev/docs/fragno/for-library-authors/database-integration/overview" -H "accept: text/markdown"

Rules of Fragno

The Rules of Fragno are the default architectural constraints for database-backed fragments:

  • One handlerTx() per route (compose all reads/writes inside it)
  • Webhook routes are thin; durable hooks do the work
  • idColumn() is the app-facing ID (it can be external, but doesn't have to)
  • Full docs: curl -L "https://fragno.dev/docs/fragno/for-library-authors/rules-of-fragno" -H "accept: text/markdown"
  • Local reference: references/rules-of-fragno.md

Data Model and Queries (Author Notes)

Use this when designing a fragment’s data model first. Fragno does not support arbitrary joins; your schema must explicitly encode the query graph you need.

  • Local reference: references/data-model-and-queries.md

Defining Schemas

Learn how to define type-safe database schemas with the append-only log approach.

  • Definitions:

- Schema: versioned description of tables, columns, and relations. - Table: named collection of records owned by the fragment. - Column: typed field in a table, including constraints/defaults. - Index: query optimization and uniqueness declaration. - Relation: link between tables expressed via foreign keys.

  • Covers: schema DSL, indexes, relations, evolution rules.
  • Read when: authoring or evolving a schema.
  • Full docs: curl -L "https://fragno.dev/docs/fragno/for-library-authors/database-integration/defining-schemas" -H "accept: text/markdown"

Querying

Fragno DB queries are type-safe and based on your schema. The recommended way to query is via the Transaction Builder this.handlerTx() in route handlers, so reads/writes can be composed and batched into a single transaction.

  • Definitions:

- Query builder: typed API for selects/inserts/updates/deletes. - Read flow: data access patterns optimized for indexes and pagination. - Write flow: mutations executed in services/handlers with validation.

  • Covers: query builder patterns and common read/write flows.
  • Read when: implementing DB reads/writes and service-layer access patterns.
  • Full docs: curl -L "https://fragno.dev/docs/fragno/for-library-authors/database-integration/querying" -H "accept: text/markdown"

Durable Hooks

Durable hooks solve a common problem:

What if your database transaction commits, but your side effect (email, webhook, API call) fails?

With durable hooks, you register a hook trigger during the transaction. The trigger is persisted in the database as part of the same commit, and then the hook is executed after the commit. If execution fails, it's retried with an exponential backoff policy.

  • Definitions:

- Hook: declared side effect triggered by DB changes. - Outbox: internal table that persists hook events for reliable delivery. - Dispatcher: process that consumes outbox events and runs hooks.

  • Covers: outbox-style side effects and dispatchers.
  • Read when: you need reliable side effects or background processing.
  • Full docs: curl -L "https://fragno.dev/docs/fragno/for-library-authors/database-integration/durable-hooks" -H "accept: text/markdown"

Transactions

In the Fragno database layer, transactions are built around a two-phase pattern:

  • Retrieval phase: schedule reads, then execute them together
  • Mutation phase: schedule writes, then execute them atomically

In terms of code organization, the important architectural rule is:

  • Route handlers control transaction execution via this.handlerTx()
  • Services define reusable operations via this.serviceTx(schema)

This lets you call multiple service methods inside one transaction, and the DB work will be batched.

  • Definitions:

- Transaction: atomic unit of DB work that commits or rolls back together. - .check(): validation step inside a transaction to abort on invariants. - Boundary: the scope that decides what runs inside a transaction.

  • Covers: transaction boundaries and .check() patterns.
  • Read when: composing multi-step DB operations that must be atomic.
  • Full docs: curl -L "https://fragno.dev/docs/fragno/for-library-authors/database-integration/transactions" -H "accept: text/markdown"

Database Testing

This section covers database test utilities, including usage of the in-memory adapter.

Important: Use the test harness below. It applies fragment migrations plus Fragno internal tables for hooks/outbox behavior and handles cleanup. Avoid copying internal adapters or migrations.

  • Definitions:

- Test harness: helper that wires adapters, migrations, and fragments for tests. - Test adapter: SQLite-backed test DB configuration for fast local tests. - Migration: schema setup step applied before tests run. - Cleanup: teardown that closes connections and removes temp files.

  • Covers: DB test harness and adapters (@fragno-dev/test).
  • Read when: before writing database-backed fragment tests.
  • Full docs: curl -L "https://fragno.dev/docs/fragno/for-library-authors/database-integration/testing" -H "accept: text/markdown"

Testing

Fragno provides comprehensive testing utilities to help you test your fragments without running a server. The createFragmentForTest function creates a test instance with type-safe route handling and response parsing.

  • Definitions:

- Test fragment: in-memory fragment instance for unit/integration tests. - callRoute: typed helper to invoke routes without a server. - Response union: discriminated response types (json, jsonStream, empty, error).

  • Covers: core test utilities and callRoute behavior.
  • Read when: writing unit/integration tests for non-DB fragments or route behavior.
  • Full docs: curl -L "https://fragno.dev/docs/fragno/for-library-authors/testing" -H "accept: text/markdown"

Assets (example code)

When creating a Fragment using the create command with database support, the following assets will automatically be created.

AssetWhat it isSource
database-index.tsComplete database-backed fragment: definition, services, routes, client../../../packages/create/templates/optional/database/index.ts
database-schema.tsSchema definition with tables, columns, indexes, and relations../../../packages/create/templates/optional/database/schema.ts

适合场景

01

研究助手

02

事实核查

03

知识库问答

04

带来源的搜索总结

能力概览

能力 1

组合搜索和大模型调用

能力 2

支持多来源检索和总结

能力 3

强调引用来源和事实核查

能力 4

适合研究型 Agent 流程

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.98%
按下载量换算87

Claude

28.58%
按下载量换算69

Cursor

18.02%
按下载量换算43

Gemini CLI

9.24%
按下载量换算22

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills