Agent skill

Agdb API

by agnesoft in agnesoft/agdb

Navigate agdb API structure, endpoints, authentication, and client libraries.

Apache-2.0Auto-check passedBackend & APIs

Install Agdb API

skills CLI
$ npx skills add agnesoft/agdb --skill agdb-api -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install agnesoft/agdb agdb-api --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/agnesoft/agdb.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/agdb-api .claude/skills/agdb-api && rm -rf skills-src

Use ~/.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/

Facts

Skill name
agdb-api
GitHub stars
143
Token cost
~6k tokens
SKILL.md length
1,596 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
Apache-2.0

At a glance

Navigate agdb API structure, endpoints, authentication, and client libraries.

  • Works in 6 steps: Call POST /user/login or POST… → Server returns a token string. → Include token in Authorization: Bearer… → …
  • Building API clients
  • SKILL.md covers API organization, Authentication & authorization, Client libraries and Server configuration reference, plus 5 more sections
  • Calls cargo

What it does

Agdb API is an agent skill from agnesoft/agdb. Navigate agdb API structure, endpoints, authentication, and client libraries. Use this skill when building API clients, writing server tests, understanding endpoint behavior, or working with API transpilations to other languages.

Its SKILL.md is about 6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Authentication. It works with Rust. The repository describes itself as: Agnesoft Graph Database. The licence is Apache-2.0.

When your agent uses it

  • Building API clients
  • Writing server tests
  • Understanding endpoint behavior
  • Working with API transpilations to other languages

Example prompts

  • “/agdb-api”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Call POST /user/login or POST /cluster/user/login with {username, password}.
  2. Server returns a token string.
  3. Include token in Authorization: Bearer header for subsequent requests.
  4. Token expires after token_expiry_seconds (configurable, default 3600, range 60–86400).
  5. Expired tokens return 401 Unauthorized.
  6. Each login creates a new session; multiple sessions per user are allowed.

What it can do on your machine

Read from SKILL.md and the folder at commit 0d70098. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • cargo

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • packagist.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Agdb API loads about 6k tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 1,596 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~60
When it runs · the whole SKILL.md, loaded when a task matches
~6k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from agnesoft/agdb at commit 0d70098, republished under its Apache-2.0 licence (© agnesoft). 1,596 words, ~5,986 tokens.

Download SKILL.mdSave it as .claude/skills/agdb-api/SKILL.md (or your agent's skills folder).
name
agdb-api
description
Navigate agdb API structure, endpoints, authentication, and client libraries. Use this skill when building API clients, writing server tests, understanding endpoint behavior, or working with API transpilations to other languages.
argument-hint
[navigate|explain|test|generate] [endpoint family or use case]

agdb API Skill

Use this skill when:

  • Understanding agdb server API structure and endpoints
  • Writing tests for agdb_server routes
  • Explaining API behavior to implement in client libraries
  • Planning API client generators or transpilations
  • Debugging authentication/authorization flows
  • Building wrappers or SDKs for other languages
  • Interacting with the server programmatically (always use the Rust SDK, never raw JSON)

Primary sources in this repository:

  • agdb_api/src/client.rs — Rust API client (all endpoint methods)
  • agdb_server/openapi.json — OpenAPI 3.1.0 specification (complete contract)
  • agdb_server/src/routes/ — Route implementations (auth, validation, errors)
  • agdb_server/tests/ — Integration tests
  • agdb_api/src/ — Rust client source package
  • agdb_api/typescript/ — TypeScript client package
  • agdb_api/php/ — PHP client package

API organization

The agdb server exposes a REST API at /api/v1 (or {basepath}/api/v1 when basepath is configured) organized into four endpoint families:

Admin routes (/api/v1/admin/...)

Require admin authentication. Manage all databases, users, and server state.

  • Database management: /admin/db/{owner}/{db}/...

    • POST /add — Create database (body: DbKind — Memory, Mapped, File)
    • GET /audit — View database audit log → DbAudit
    • POST /backup — Create backup snapshot
    • POST /clear — Clear resources (body: ClearAudit | ClearBackup | ClearAll)
    • POST /convert — Change storage type (body: DbKind)
    • POST /copy — Copy database (body: {new_name})
    • DELETE /delete — Permanently delete database and files
    • POST /optimize — Defragment storage, returns ServerDatabase with new size
    • POST /optimize_shrink_to_fit — Defragment and shrink file on disk
    • DELETE /remove — Disassociate from server (keep data files)
    • POST /rename — Rename/move database (body: {new_name})
    • POST /restore — Restore from backup
    • POST /rollback — Rollback to previous WAL checkpoint
    • POST /exec — Execute immutable queries → Vec<QueryResult>
    • POST /exec_mut — Execute mutable queries → Vec<QueryResult>
    • GET /user/list — List database users → Vec<DbUser>
    • PUT /user/{username}/add — Add database user (body: DbUserRole)
    • DELETE /user/{username}/remove — Remove database user
  • User management: /admin/user/...

    • POST /{username}/add — Create user (body: {password})
    • PUT /{username}/change_password — Change password (body: {password})
    • GET /list — List all users and sessions → Vec<UserStatus>
    • POST /{username}/logout — Logout user (all sessions on this node)
    • POST /{username}/logout?session={session} — Logout specific session
    • POST /logout_all — Logout all users on this node
    • DELETE /{username}/delete — Delete user and all owned databases
  • Server management: /admin/...

    • POST /shutdown — Graceful server shutdown
    • POST /set_log_level?new_level={level} — Set log level (trace, debug, info, warn, error, off)
    • GET /status — Server status and metrics → AdminStatus
User routes (/api/v1/user/...)

Require user authentication. User manages own account.

  • POST /login — Authenticate → token string (body: {username, password})
  • POST /logout — Logout current session
  • POST /logout?session=others — Logout all other sessions
  • POST /logout?session=all — Logout all sessions
  • POST /logout?session={session} — Logout specific session by id
  • PUT /change_password — Change own password (body: {password})
  • GET /status — Own status and sessions → UserStatus
Database routes (/api/v1/db/{owner}/{db}/...)

Require user authentication and appropriate role.

Same structure as admin database routes but scoped to owner/accessible databases:

RoleAllowed operations
Readexec, audit
WriteEverything Read + exec_mut
AdminEverything Write + backup, restore, rollback, convert, optimize, clear, user/add, user/remove

Additionally:

  • POST /add — Create database (owner must be self)
  • DELETE /delete — Delete (owner only)
  • DELETE /remove — Remove (owner only)
  • POST /rename — Rename (owner only)
  • POST /copy — Copy (owner scope)
  • GET /list — List accessible databases → Vec<ServerDatabase> (no {owner}/{db} path params)
Cluster routes (/api/v1/cluster/...)

Propagate operations across all cluster nodes. These endpoints replicate the action to every node via the Raft log.

  • POST /user/login — Authenticate cluster-wide → token valid on all nodes
  • POST /user/logout — Logout cluster-wide
  • POST /user/logout?session=others|all|{id} — Logout variants across cluster
  • POST /admin/user/{username}/logout — Admin logout user across cluster
  • POST /admin/user/{username}/logout?session={session} — Admin logout specific session across cluster
  • POST /admin/user/logout_all — Logout all users across cluster
  • GET /status — Cluster node statuses → Vec<ClusterStatus>
Health check
  • GET /api/v1/status — Server health (no auth required), returns HTTP 200

Authentication & authorization

Token-based authentication
  1. Call POST /user/login or POST /cluster/user/login with {username, password}.
  2. Server returns a token string.
  3. Include token in Authorization: Bearer <token> header for subsequent requests.
  4. Token expires after token_expiry_seconds (configurable, default 3600, range 60–86400).
  5. Expired tokens return 401 Unauthorized.
  6. Each login creates a new session; multiple sessions per user are allowed.
Roles and permissions

Users can have roles on databases:

  • Admin: Full control (all operations, including backup, restore, rollback, user management)
  • Write: Read + modify data (exec_mut)
  • Read: Query only (exec, audit)

Admin users have server-wide admin access and are required for user and server operations.

Common error codes
CodeMeaning
200Success with a response body (GET, exec, exec_mut)
201Created (create-like POST/PUT operations)
204No content (DELETE and other successful no-body operations)
400Bad request (malformed input)
401Unauthorized (missing/expired token, invalid credentials)
403Forbidden (insufficient permissions / wrong role)
404Not found (user, database, or resource does not exist)
461Password too short (<8 chars)
462User name too short (<3 chars)
463User already exists
464User not found
465Database already exists
467Invalid database name

Client libraries

Rust client (agdb_api::AgdbApi)

Hand-written, fully typed. Methods map directly to endpoints. This is the recommended way to interact with the server programmatically.

rs
use agdb_api::{AgdbApi, ReqwestClient, DbKind};
use agdb::QueryBuilder;

let mut client = AgdbApi::new(ReqwestClient::new(), "localhost:3000");

// Authenticate
client.user_login("admin", "password").await?;

// Create database
client.db_add("owner", "my_db", DbKind::Mapped).await?;

// Execute queries
let queries = vec![
    QueryBuilder::insert().nodes().aliases(["root"]).query().into(),
    QueryBuilder::insert().nodes().count(5).query().into(),
];
let (status, results) = client.db_exec_mut("owner", "my_db", &queries).await?;
// results[0].result == 1, results[1].result == 5

// Read back
let (status, results) = client.db_exec("owner", "my_db", &[
    QueryBuilder::select().search().from("root").where_().node().query().into(),
]).await?;

Location: agdb_api/src/client.rs

Package name: agdb_api

Cargo features:

  • api (default) — enables derive macros, tokio, and the full client
  • derive — agdb derive macros re-exported

Method naming convention: {family}_{resource}_{action}

  • admin_db_add, admin_db_exec_mut, admin_user_add
  • db_add, db_exec, db_exec_mut, db_backup, db_restore
  • cluster_user_login, cluster_status
  • user_login, user_logout, user_status

Custom HTTP client: Implement the HttpClient trait to replace ReqwestClient with any HTTP library. The trait defines delete, get, post, put methods.

TypeScript client

Generated from OpenAPI. Includes models and request types.

ts
import { client } from "@agnesoft/agdb_api";

const api = client("http://localhost:3000");
await api.user_login({ username: "admin", password: "password" });
const dbs = await api.db_list();

Location: agdb_api/typescript/src/

Package name: @agnesoft/agdb_api

PHP client

Generated from OpenAPI using openapi-generator.

php
$api = new \Agnesoft\AgdbApi\Api\AgdbApi(
    new \GuzzleHttp\Client(),
    $config
);
$api->userLogin(['userLogin' => new UserLogin(['username' => 'admin', 'password' => 'password'])]);

Location: agdb_api/php/lib/

Package name: agnesoft/agdb-api

URL: https://packagist.org/packages/agnesoft/agdb_api

Server configuration reference

The server reads a YAML-like config file (default: agdb_server.yaml). First run creates a default config.

KeyDefaultDescription
bind:::3000Socket bind address
addresshttp://localhost:3000Public address for cluster discovery
basepath(empty)URL path prefix (e.g. /api); auto-prepended / if missing
static_roots[]Directories to serve as static files
adminadminAdmin username (created on first run with password = username)
log_levelinfotrace, debug, info, warn, error, off
log_body_limit10240Max bytes of request/response body to log
request_body_limit10485760Max request body size (10 MiB)
data_diragdb_server_dataDirectory for databases and server state
pepper_path(empty)Path to 16-byte pepper file for password hashing
tls_certificate(empty)Path to TLS certificate (enables HTTPS)
tls_key(empty)TLS private key
tls_root(empty)TLS root CA (for cluster mutual TLS)
cluster_tokenclusterShared secret for cluster inter-node auth
cluster[]List of cluster node URLs
cluster_heartbeat_timeout_ms1000Raft heartbeat interval
cluster_term_timeout_ms3000Raft term/election timeout
cluster_election_factor_ms1000Per-node election delay (node_id × factor)
cluster_max_log_entries1000Max Raft log entries before pruning
cluster_max_chunk_size65536Max bytes per resync chunk
token_expiry_seconds3600Auth token TTL (range: 60–86400)
sync_modenonenone (OS-managed flush) or commit (fsync every commit)
Show full SKILL.md (566 more words)Show less

Cluster / Raft

The server supports Raft-based clustering for high availability:

  • Leader election: PreVote → Vote protocol. Election timeout staggered per node (node_id × cluster_election_factor_ms) to reduce split votes.
  • Log replication: Leader replicates ClusterAction entries (all mutating API operations) to followers.
  • Commit rule: Entry committed once majority (⌊N/2⌋ + 1) acknowledge.
  • Write forwarding: All mutable API requests on non-leader nodes are forwarded to the leader. Reads are served locally.
  • Resync: Nodes that fall behind fully resync databases from the leader in chunks.
  • Single-node mode: cluster: ["http://localhost:3000"] runs Raft but auto-commits immediately.
  • Cluster auth endpoints: /cluster/user/login and /cluster/user/logout propagate sessions across all nodes; regular /user/login is node-local.
Cluster setup

Each node needs its own config file. All nodes list the same cluster array. A node identifies itself by finding its address (+ basepath) in the list.

Node 1:

yaml
bind: :::3001
address: http://node1:3001
admin: admin
cluster_token: my_secret
cluster: ["http://node1:3001", "http://node2:3002", "http://node3:3003"]

Node 2:

yaml
bind: :::3002
address: http://node2:3002
admin: admin
cluster_token: my_secret
cluster: ["http://node1:3001", "http://node2:3002", "http://node3:3003"]

Agentic best practices (programmatic server interaction)

ALWAYS use the Rust SDK, never raw JSON

The query serialization format uses deeply nested Rust enums (QueryType, QueryCondition, Comparison, CountComparison, etc.) that are practically impossible to construct correctly as raw JSON. Always use agdb_api::AgdbApi with QueryBuilder.

Sample: full agentic Rust program
rs
use agdb::{DbType, QueryBuilder};
use agdb_api::{AgdbApi, ReqwestClient, DbKind};

#[derive(Debug, DbType)]
struct Evidence {
    identity: String,
    control_id: String,
    status: String,
}

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    // 1. Connect and authenticate
    let mut client = AgdbApi::new(ReqwestClient::new(), "localhost:3000");
    client.user_login("admin", "admin").await?;

    // 2. Create (or verify) database exists
    match client.db_add("admin", "evidence_db", DbKind::Mapped).await {
        Ok(_) => println!("Database created"),
        Err(e) if e.status == 465 => println!("Database already exists"),
        Err(e) => return Err(e.into()),
    }

    // 3. Set up schema: root node + index
    client.db_exec_mut("admin", "evidence_db", &[
        QueryBuilder::insert().nodes().aliases(["evidence_root"]).query().into(),
        QueryBuilder::insert().index("identity").query().into(),
        QueryBuilder::insert().index("control_id").query().into(),
    ]).await?;

    // 4. Insert data
    let records = vec![
        Evidence { identity: "app-1".into(), control_id: "SOX-001".into(), status: "pass".into() },
        Evidence { identity: "app-1".into(), control_id: "SOX-002".into(), status: "fail".into() },
        Evidence { identity: "app-2".into(), control_id: "SOX-001".into(), status: "pass".into() },
    ];

    let results = client.db_exec_mut("admin", "evidence_db", &[
        QueryBuilder::insert().nodes().values(&records).query().into(),
    ]).await?.1;

    // Link to root
    client.db_exec_mut("admin", "evidence_db", &[
        QueryBuilder::insert().edges().from("evidence_root").to(results[0].ids()).query().into(),
    ]).await?;

    // 5. Query: find all evidence for identity "app-1"
    let (_, results) = client.db_exec("admin", "evidence_db", &[
        QueryBuilder::select()
            .elements::<Evidence>()
            .search()
            .index("identity")
            .value("app-1")
            .query()
            .into(),
    ]).await?;

    let evidence: Vec<Evidence> = results[0].clone().try_into()?;
    for e in &evidence {
        println!("{}: {} = {}", e.identity, e.control_id, e.status);
    }

    // 6. Update: set status to "remediated" for SOX-002
    let (_, to_update) = client.db_exec("admin", "evidence_db", &[
        QueryBuilder::search()
            .from("evidence_root")
            .where_()
            .key("control_id").value("SOX-002")
            .and()
            .key("identity").value("app-1")
            .query()
            .into(),
    ]).await?;

    client.db_exec_mut("admin", "evidence_db", &[
        QueryBuilder::insert()
            .values_uniform([("status", "remediated").into()])
            .ids(to_update[0].ids())
            .query()
            .into(),
    ]).await?;

    // 7. Backup
    client.db_backup("admin", "evidence_db").await?;

    Ok(())
}
Error handling
rs
match client.db_exec_mut("owner", "db", &queries).await {
    Ok((status, results)) => {
        // status is the HTTP status code (200)
        // results is Vec<QueryResult>
    }
    Err(e) => {
        // e.status: HTTP status code (401, 403, 404, etc.)
        // e.description: error message from server
        eprintln!("API error {}: {}", e.status, e.description);
    }
}
Batch operations for atomicity

All queries in a single exec_mut call execute atomically. Use this to ensure consistency:

rs
// These three operations are atomic
let results = client.db_exec_mut("owner", "db", &[
    QueryBuilder::insert().nodes().aliases(["container"]).query().into(),
    QueryBuilder::insert().nodes().values(&items).query().into(),
    // If any query fails, all are rolled back
]).await?.1;

// Chain results: use ids from first query in second
client.db_exec_mut("owner", "db", &[
    QueryBuilder::insert().edges().from("container").to(results[1].ids()).query().into(),
]).await?;

Testing patterns

Unit tests in agdb_server

Located in agdb_server/tests/ and route modules.

  • Route tests: Test individual endpoint handlers with mocked dependencies.
  • Auth tests: Verify token validation, expiration, role checks.
  • Error tests: Confirm correct error codes for edge cases.

Example pattern:

rs
#[tokio::test]
async fn test_endpoint_success() {
    let api = setup_test_api().await;
    let result = api.some_endpoint(...).await;
    assert_eq!(result.status(), 200);
}

#[tokio::test]
async fn test_endpoint_unauthorized() {
    let api = setup_test_api_without_token().await;
    let result = api.some_endpoint(...).await;
    assert_eq!(result.status(), 401);
}
Integration tests

Test end-to-end workflows:

  • User lifecycle (create, login, change password, delete)
  • Database workflows (create, execute queries, backup, restore)
  • Permission enforcement (role-based access)
  • Token management (expiry, logout)

OpenAPI specification

The agdb_server/openapi.json is the single source of truth for the API contract.

Key sections
  • info: Title, version, description
  • servers: Base URL (http://localhost:3000)
  • paths: All endpoints with methods, parameters, responses
  • components/schemas: All request/response types and enums
  • components/securitySchemes: Token bearer authentication
Regenerating OpenAPI

The spec is regenerated when API routes, response types, or error codes change.

Command: cargo run -r -p agdb_ci

API transpilation workflow

When adding support for new languages:

  1. Ensure openapi.json is current — Run cargo run -r -p agdb_ci
  2. Generate client — Use openapi-generator:
    bash
    openapi-generator-cli generate \
      -i agdb_server/openapi.json \
      -g <language> \
      -o agdb_api/<language>/ \
      --additional-properties packageName=agdb_api
  3. Customize if needed — Hand-write convenience methods, add documentation, handle edge cases
  4. Add tests — Verify client works against running server
  5. Package and publish — Integrate into CI/CD

Key design principles

  1. Single OpenAPI spec drives all clients — Consistency across languages
  2. Token-based auth with expiry — Stateless servers enable horizontal scaling
  3. Role-based access control — Fine-grained permissions per database (Read/Write/Admin)
  4. Immutable and mutable query separation — exec vs exec_mut provides compile-time safety
  5. Descriptive error codes — Custom 46x codes for domain-specific errors
  6. Cluster-aware routes — /cluster/... propagates operations; /user/... and /db/... are node-local (writes auto-replicated by Raft)
  7. Atomic batch execution — Multiple queries in one exec_mut call run in a single transaction

File organization reference

agdb_api/
  src/
    client.rs              ← Hand-written Rust client (all methods)
    api_types.rs           ← Shared types (UserStatus, DbUser, ServerDatabase, etc.)
    api_types/
      config_impl.rs       ← Server config struct and serialization
    api_error.rs           ← AgdbApiError struct
    api_result.rs          ← AgdbApiResult type alias
    http_client.rs         ← HttpClient trait + ReqwestClient implementation
    lib.rs                 ← Crate root, re-exports
  typescript/
    src/                   ← Generated TypeScript client
  php/
    lib/                   ← Generated PHP client
    lib/Model/             ← Schema models

agdb_server/
  src/
    api.rs                 ← utoipa OpenAPI schema registration
    config.rs              ← Config parsing
    cluster.rs             ← Cluster coordination (Raft integration)
    cluster_log.rs         ← Raft log persistence
    raft.rs                ← Generic Raft implementation
    routes/
      admin/
        db.rs              ← Admin database routes
        user.rs            ← Admin user routes
      cluster.rs           ← Cluster routes
      db/                  ← User database routes
      user.rs              ← User auth routes
  openapi.json             ← OpenAPI specification
  tests/                   ← Integration tests

Validation checklist for new endpoints

Before adding new endpoints:

  • Method (GET, POST, PUT, DELETE) aligns with semantics
  • Path parameters in {braces} are documented
  • Query parameters with ?key=value are clearly named
  • Request body (if any) is a well-defined schema
  • All response codes (200, 201, 204, 4xx, 5xx) are listed
  • Security requirement (Token auth) is specified
  • Operation id is unique and matches handler name
  • Description explains intent and side effects
  • OpenAPI spec is regenerated with cargo run -r -p agdb_ci
  • Rust client method added in agdb_api/src/client.rs

© agnesoft, 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

Files

Just SKILL.md in .github/skills/agdb-api of agnesoft/agdb.

Open the folder on GitHubat commit 0d70098

Compare with similar skills

Agdb API 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.

Agdb API compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Agdb API this skillagnesoft/agdb143—~6kAutomated safety check: PassApache-2.0
Auth Architecturemajiayu000/litellm-rs117—~1.9kAutomated safety check: PassMIT
Cdesktopcdesktop-ai/cdesktop157—~697Automated safety check: PassApache-2.0
Golem Add HTTP Auth Rustgolemcloud/golem1.5k—~565Automated safety check: PassCustom licence
Rust Service Securityhashgraph-online/awesome-codex-plugins1.2k—~921Automated safety check: PassMIT
Azure Identity Rustaiskillstore/marketplace4305 repos~952Automated safety check: PassNone

Similar skills

  • Auth Architecture

    majiayu000/litellm-rs

    LiteLLM-RS Authentication Architecture. An agent skill from majiayu000/litellm-rs.

    117 GitHub stars~1.9k tokensUpdated today
    Backend & APIsAuto-check passed
  • Cdesktop

    cdesktop-ai/cdesktop

    Operate the cdesktop coding-session environment — agent teams, session management, file conventions.

    157 GitHub stars~697 tokensUpdated 4 mo ago
    Backend & APIsAuto-check passed
  • Golem Add HTTP Auth Rust

    golemcloud/golem

    Enabling authentication on Rust HTTP endpoints. An agent skill from golemcloud/golem.

    1.5k GitHub stars~565 tokensUpdated today
    Backend & APIsAuto-check passed
  • Rust Service Security

    hashgraph-online/awesome-codex-plugins

    A skill your agent uses when adding, changing, testing, or reviewing security-sensitive Rust web service behavior, especially login flows, password hashing, credential checks, session cookies, flash…

    1.2k GitHub stars~921 tokensUpdated today
    Backend & APIsAuto-check passed
  • Azure Identity Rust

    aiskillstore/marketplace

    Azure Identity SDK for Rust authentication. An agent skill from aiskillstore/marketplace.

    430 GitHub starsUsed in 5 repos~952 tokens
    DevOps & CloudAuto-check passed
  • Azure Identity Rust

    microsoft/skills

    Official

    Azure Identity library for Rust. An agent skill from microsoft/skills.

    3.1k GitHub stars~1.6k tokensUpdated yesterday
    DevOps & CloudAuto-check passed

More from agnesoft/agdb

  • Agdb Query

    agnesoft/agdb

    Build, review, and explain agdb queries accurately. An agent skill from agnesoft/agdb.

    143 GitHub stars~4.4k tokensUpdated yesterday
    Auto-check passed
  • Php Composer Setup

    agnesoft/agdb

    Install PHP and Composer, verify they are available in PATH, and confirm the PHP tooling required by this repository works.

    143 GitHub stars~1k tokensUpdated yesterday
    Auto-check: notes

Works with

Categories

Questions about Agdb API

What does Agdb API do?

Navigate agdb API structure, endpoints, authentication, and client libraries. Agdb API is an agent skill from agnesoft/agdb. Navigate agdb API structure, endpoints, authentication, and client libraries.

When should I use Agdb API?

Agdb API fits situations like: building API clients; writing server tests; understanding endpoint behavior; working with API transpilations to other languages.

How do I install Agdb API in Claude Code?

Run `npx skills add agnesoft/agdb --skill agdb-api -a claude-code`. Or copy the skill folder (.github/skills/agdb-api in agnesoft/agdb) into .claude/skills/agdb-api in your project. Claude Code loads it when a task matches its description.

How do I install Agdb API in Codex?

Run `npx skills add agnesoft/agdb --skill agdb-api -a codex`. Or copy the skill folder (.github/skills/agdb-api in agnesoft/agdb) into .agents/skills/agdb-api in your project. Codex loads it when a task matches its description.

Can I use Agdb API in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add agnesoft/agdb --skill agdb-api -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agdb-api, .gemini/skills/agdb-api, .github/skills/agdb-api and .opencode/skills/agdb-api in your project.

What does Agdb API need to run?

Going by SKILL.md and its folder, Agdb API needs the command-line tools its instructions call (cargo).

Does Agdb API access the network?

SKILL.md names 1 domain. As links in the text: packagist.org. This is read from the text; nothing was executed.

Is Agdb API safe to install?

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.

What licence does Agdb API use?

Agdb API 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.

How many tokens does Agdb API use?

About 6k tokens (SKILL.md is roughly 24k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Agdb API?

Skills that share tags, products or a category with Agdb API: Auth Architecture (majiayu000/litellm-rs, 117 stars), Cdesktop (cdesktop-ai/cdesktop, 157 stars), Golem Add HTTP Auth Rust (golemcloud/golem, 1.5k stars) and Rust Service Security (hashgraph-online/awesome-codex-plugins, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Agdb API?

agnesoft (a GitHub user) maintains it in agnesoft/agdb, which has 143 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 6, 2026.

Source: agnesoft/agdb on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.