Agent skill

Axone Logic Predicate

by axone-protocol in axone-protocol/axoned

Add or change predicates in the AXONE logic module. An agent skill from axone-protocol/axoned.

Apache-2.0Auto-check passed

Install Axone Logic Predicate

skills CLI
$ npx skills add axone-protocol/axoned --skill axone-logic-predicate -a claude-code

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

GitHub CLI
$ gh skill install axone-protocol/axoned axone-logic-predicate --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/axone-protocol/axoned.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/axone-logic-predicate .claude/skills/axone-logic-predicate && 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
axone-logic-predicate
GitHub stars
176
Token cost
~1.9k tokens
SKILL.md length
892 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
Apache-2.0

At a glance

Add or change predicates in the AXONE logic module. An agent skill from axone-protocol/axoned.

  • Works in 2 steps: pure Prolog predicates implemented in… → Prolog predicates implemented in…
  • Working on x/logic predicate behavior
  • SKILL.md covers Architectural direction, Choose the implementation shape, VFS model and Implementation patterns, plus 6 more sections
  • Calls make

What it does

Axone Logic Predicate is an agent skill from axone-protocol/axoned. Add or change predicates in the AXONE logic module. Use when working on x/logic predicate behavior, Prolog libraries, predicate docs, VFS-backed logic capabilities, or feature scenarios. Follows the current architecture direction: new predicates should be written in Prolog, either pure Prolog or Prolog backed by the path-based logic VFS, not as new native Go predicates.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires go, make, and docker for validation and doc generation.

It works with Go. The repository describes itself as: ⛓️ Axone blockchain 💫. The licence is Apache-2.0.

When your agent uses it

  • Working on x/logic predicate behavior
  • Prolog libraries
  • VFS-backed logic capabilities
  • Feature scenarios

Example prompts

  • “/axone-logic-predicate”

Requirements

  • Docker
  • Compatibility (from SKILL.md): Requires go, make, and docker for validation and doc generation.

Workflow steps

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

  1. pure Prolog predicates implemented in x/logic/lib/*.pl, or
  2. Prolog predicates implemented in x/logic/lib/*.pl and backed by the path-based logic VFS for host I/O.

What it can do on your machine

Read from SKILL.md and the folder at commit 4780d35. 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:

    • make

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

  • Network

    No URLs in SKILL.md.

    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.

  • Compatibility

    Requires go, make, and docker for validation and doc generation.

    From compatibility in the SKILL.md frontmatter.

Context cost

Axone Logic Predicate loads about 1.9k tokens when it runs. Until then it costs about 99 tokens; SKILL.md has 892 words of instructions outside code blocks.

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

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 axone-protocol/axoned at commit 4780d35, republished under its Apache-2.0 licence (© axone-protocol). 892 words, ~1,934 tokens.

Download SKILL.mdSave it as .claude/skills/axone-logic-predicate/SKILL.md (or your agent's skills folder).
name
axone-logic-predicate
description
Add or change predicates in the AXONE logic module. Use when working on x/logic predicate behavior, Prolog libraries, predicate docs, VFS-backed logic capabilities, or feature scenarios. Follows the current architecture direction: new predicates should be written in Prolog, either pure Prolog or Prolog backed by the path-based logic VFS, not as new native Go predicates.
compatibility
Requires go, make, and docker for validation and doc generation.

Axone Logic Predicate

Use this skill when changing predicate behavior in x/logic.

Architectural direction

New predicates should not be introduced as native Go predicates in x/logic/predicate or registered through x/logic/interpreter/registry.go.

The target model is:

  1. pure Prolog predicates implemented in x/logic/lib/*.pl, or
  2. Prolog predicates implemented in x/logic/lib/*.pl and backed by the path-based logic VFS for host I/O.

For transactional endpoints, use the existing device-file model: path-based VFS access plus a half-duplex request/commit/response interaction pattern.

Treat x/logic/predicate and the interpreter registry as existing runtime primitives and legacy surface area. Change them only for maintenance, bug fixes, or truly unavoidable interpreter-level work. If you need to touch them for new functionality, call that out explicitly as an architectural exception.

Choose the implementation shape

  • If the behavior can be expressed by composing existing predicates and libraries, implement it as pure Prolog in x/logic/lib/*.pl.
  • If the behavior needs host data or external capabilities, expose that capability through the VFS under x/logic/fs/**, then wrap it with a Prolog predicate in x/logic/lib/*.pl.
  • If the behavior is an interactive transactional endpoint, expose it under /v1/dev/... and use the device helpers from x/logic/lib/dev.pl.
  • Do not add a new Go predicate when a Prolog wrapper over open/4, read_term/3, write_term/3, or dev_call/4 would solve the problem.

VFS model

The logic VFS is the boundary between logical evaluation and host capabilities.

  • /v1/lib: embedded Prolog libraries
  • /v1/run: invocation-scoped runtime resources
  • /v1/var/lib: persistent host-managed resources
  • /v1/dev: interactive device-like capabilities

Choose the path family that matches the semantics:

  • Snapshot or read-only runtime state: prefer /v1/run/...
  • Persistent queryable resources: prefer /v1/var/lib/...
  • Request-response endpoints: prefer /v1/dev/...

For /v1/dev/... endpoints, keep the protocol aligned with the existing half-duplex model:

  1. writes build the request
  2. the first read commits the transaction
  3. subsequent reads stream the response

Implementation patterns

Public textual representation

Public domain predicates must use atoms as the canonical representation for textual inputs and outputs. Do not make a public predicate accept atoms, character lists, and character code lists through a broad text contract unless representation conversion is the predicate's explicit purpose.

  • Use must_be(atom, Value) at public predicate boundaries for textual values.
  • Return textual values as atoms.
  • Keep byte payloads as list(byte) when the API is explicitly byte-oriented.
  • Leave conversion predicates such as atom_chars/2, atom_codes/2, string_bytes/3, and stream-reading helpers responsible for representation conversion.
  • Require callers to perform explicit conversions before calling domain predicates when they hold character lists or code lists.
Pure Prolog predicate
  • Add or update a library file in x/logic/lib/*.pl
  • Validate inputs with with_context/2 and must_be/2 when appropriate
  • Use setup_call_cleanup/3 around stream access
  • Write PlDoc comments because make doc-predicate depends on them
VFS-backed predicate
  • Implement the host-facing filesystem in x/logic/fs/**
  • Mount it through the standard VFS if it is part of the canonical host surface
  • Expose an ergonomic Prolog predicate in x/logic/lib/*.pl
  • Prefer returning logical terms from Prolog wrappers, not leaking protocol details unless the predicate is intentionally low-level
Transactional device-backed predicate
  • Reuse dev_call/4, dev_write_bytes/2, and dev_read_bytes/2 from x/logic/lib/dev.pl
  • Encode protocol errors in-band when designing the device protocol
  • Keep transport details inside the VFS device and Prolog wrapper; keep the public predicate ergonomic
  • Follow the pattern used by wasm_query/3 and codec-backed helpers
Show full SKILL.md (372 more words)Show less

Documentation contract

For Prolog predicates, documentation is not optional. The generated predicate docs depend on the source comments.

  • Put a %! signature line immediately above the predicate definition, for example %! wasm_query(+Address, +RequestBytes, -ResponseBytes) is det.
  • Continue the doc block with % comment lines directly above the predicate head.
  • Keep the doc block attached to the predicate. The generator reads the contiguous % block and associates it with the next predicate head.
  • Document the public predicate, not just helper predicates.
  • Include enough description for the generated ## Description section to stand on its own.
  • Mention loading expectations when relevant, but do not duplicate the auto-generated consult('/v1/lib/...') section in prose.

Feature contract

Every predicate change should come with feature coverage in x/logic/tests/predicate/features.

  • Name the feature file after the predicate, using the generated doc naming convention: name_arity.feature for name/arity.
  • Start with Feature: name/arity.
  • Add scenarios for the main success path and important failure paths.
  • Mark the scenarios that should appear in generated docs with @great_for_documentation.
  • Treat features as both executable tests and documentation examples. Keep them readable and domain-oriented.
  • When the predicate is provided by a library file under /v1/lib, include the explicit consult('/v1/lib/...'). step in the scenario program unless the scenario is specifically testing availability before consult.

Files to update

  • Predicate API: x/logic/lib/*.pl
  • Host capability surface: x/logic/fs/**
  • Predicate feature coverage: x/logic/tests/predicate/features/*.feature
  • Predicate docs generator inputs: PlDoc in x/logic/lib/*.pl

Only touch these for exceptions or maintenance:

  • x/logic/predicate/*.go
  • x/logic/interpreter/registry.go

Validation

  • Run make doc-predicate
  • Run make test-go
  • If you changed Go code under x/logic/fs/** or related plumbing, also run make lint-go

Gotchas

  • make doc-predicate still scans both Go predicates and Prolog predicates. That is a generator detail, not a design recommendation.
  • New .pl files under x/logic/lib are embedded automatically and become available under /v1/lib/....
  • Feature files under x/logic/tests/predicate/features are both behavioral tests and documentation inputs. Only scenarios tagged @great_for_documentation are rendered into generated docs.
  • dev_call/4 is the preferred low-level abstraction for transactional endpoints. Build a higher-level domain predicate on top of it instead of exposing raw device usage directly to callers when possible.
  • If a predicate should be auto-loaded as part of the interpreter bootstrap rather than explicitly consulted from /v1/lib/..., treat that as a special case and justify it before editing bootstrap files.

Read first

  • x/logic/fs/std_fs.go
  • x/logic/lib/dev.pl
  • x/logic/lib/wasm.pl
  • x/logic/tests/predicate/features/dev_call_4.feature
  • scripts/generate_predicates_doc.go

© axone-protocol, 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 .agents/skills/axone-logic-predicate of axone-protocol/axoned.

Open the folder on GitHubat commit 4780d35

Compare with similar skills

Axone Logic Predicate 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.

Axone Logic Predicate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Axone Logic Predicate this skillaxone-protocol/axoned176—~1.9kAutomated safety check: PassApache-2.0
Add Redis Command to go-redisredis/go-redis22k—~1.4kAutomated safety check: PassBSD-2-Clause
Go Pedantrychromedp/chromedp13k—~3.7kAutomated safety check: PassMIT
Fory Releaseapache/fory4.6k—~2.9kAutomated safety check: PassApache-2.0
AO Desktop App LauncherOrchestratorInc/agent-orchestrator13k—~2.4kAutomated safety check: PassApache-2.0
Go-Redis Release Preparationredis/go-redis22k—~1.1kAutomated safety check: PassBSD-2-Clause

Similar skills

  • Official

    Walks through adding a new Redis or Redis module command to the go-redis client, from fetching the spec and docs to the type, interface wiring, parsing and tests.

    22k GitHub stars~1.4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Go Pedantry

    chromedp/chromedp

    This skill should be used when the user is writing Go code and needs guidance on Go-specific pedantry: error wrapping with fmt.Errorf and %w, interface design (accept interfaces return structs)…

    13k GitHub stars~3.7k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Fory Release

    apache/fory

    Prepare an Apache Fory release candidate from a clean release branch, including the version bump, RC tag, JVM staging, ASF source artifacts, SVN upload, and vote email.

    4.6k GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • AO Desktop App Launcher

    OrchestratorInc/agent-orchestrator

    Launches, restarts and troubleshoots the real AO Electron desktop app from a checkout, with isolated or real local data and checks for stale processes.

    13k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Official

    Prepares a go-redis release locally: picks the next semver, gathers merged PRs, writes the RELEASE-NOTES entry and bumps versions, without publishing.

    22k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Starts a Dozzle dev server on a port derived from the current worktree so you can test by hand in a browser, without disturbing instances started elsewhere.

    15k GitHub stars~747 tokensUpdated yesterday
    DevelopmentAuto-check passed

More from axone-protocol/axoned

  • Axone Proto Specification

    axone-protocol/axoned

    Design and evolve protobuf APIs for this repository. An agent skill from axone-protocol/axoned.

    176 GitHub stars~828 tokensUpdated 2 days ago
    Auto-check passed
  • Axone Contributor Workflow

    axone-protocol/axoned

    Contribute safely to the AXONE axoned repository. An agent skill from axone-protocol/axoned.

    176 GitHub stars~830 tokensUpdated 2 days ago
    Auto-check passed

Works with

Questions about Axone Logic Predicate

What does Axone Logic Predicate do?

Add or change predicates in the AXONE logic module. An agent skill from axone-protocol/axoned. Axone Logic Predicate is an agent skill from axone-protocol/axoned. Add or change predicates in the AXONE logic module.

When should I use Axone Logic Predicate?

Axone Logic Predicate fits situations like: working on x/logic predicate behavior; prolog libraries; VFS-backed logic capabilities; feature scenarios.

How do I install Axone Logic Predicate in Claude Code?

Run `npx skills add axone-protocol/axoned --skill axone-logic-predicate -a claude-code`. Or copy the skill folder (.agents/skills/axone-logic-predicate in axone-protocol/axoned) into .claude/skills/axone-logic-predicate in your project. Claude Code loads it when a task matches its description.

How do I install Axone Logic Predicate in Codex?

Run `npx skills add axone-protocol/axoned --skill axone-logic-predicate -a codex`. Or copy the skill folder (.agents/skills/axone-logic-predicate in axone-protocol/axoned) into .agents/skills/axone-logic-predicate in your project. Codex loads it when a task matches its description.

Can I use Axone Logic Predicate 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 axone-protocol/axoned --skill axone-logic-predicate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/axone-logic-predicate, .gemini/skills/axone-logic-predicate, .github/skills/axone-logic-predicate and .opencode/skills/axone-logic-predicate in your project.

What does Axone Logic Predicate need to run?

Going by SKILL.md and its folder, Axone Logic Predicate needs the command-line tools its instructions call (make). Our summary lists: Docker. Compatibility (from SKILL.md): Requires go, make, and docker for validation and doc generation..

Does Axone Logic Predicate access the network?

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.

Is Axone Logic Predicate 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 Axone Logic Predicate use?

Axone Logic Predicate 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 Axone Logic Predicate use?

About 1.9k tokens (SKILL.md is roughly 7.7k 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 Axone Logic Predicate?

Skills that share tags, products or a category with Axone Logic Predicate: Add Redis Command to go-redis (redis/go-redis, 22k stars), Go Pedantry (chromedp/chromedp, 13k stars), Fory Release (apache/fory, 4.6k stars) and AO Desktop App Launcher (OrchestratorInc/agent-orchestrator, 13k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Axone Logic Predicate?

axone-protocol (a GitHub organization) maintains it in axone-protocol/axoned, which has 176 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 6, 2026.

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