Use when writing Java code with `dev.axllm:ax` for agent memory, recall callbacks, dynamic skill discovery, loaded-skill state, and used-skill tracking.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add ax-llm/ax --skill ax-java-agent-memory-skills --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ax Java Agent Memory Skills?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ax-llm-ax-java-agent-memory-skills-ax)More formats (shields.io, HTML) on the badges page.
---
name: "ax-java-agent-memory-skills"
description: "Use when writing Java code with `dev.axllm:ax` for agent memory, recall callbacks, dynamic skill discovery, loaded-skill state, and used-skill tracking."
version: "24.0.16"
---
# AxAgent Memory And Skills For Java
This skill helps an agent write Java code with the generated Ax package `dev.axllm:ax`. Use the generated package API, examples, and manifests; do not import TypeScript-only APIs unless you are editing the TypeScript package.
## When To Use
- Load memories or skill guides into an RLM agent run.
- Use static skillsCatalog or memoriesCatalog search without host callbacks.
- Preload constructor or forward-time skills with deterministic id merging.
- Track which memories or skills actually influenced a turn.
- Register non-fatal loaded/used observers in native option maps or target callback wrappers.
## Package Facts
- Language: Java.
- Package: `dev.axllm:ax`.
- Package API docs: `API.md` and `axir-api.json`.
- Capability manifest: `axir-capabilities.json`.
- Runnable examples: `examples/`.
- Real network support: yes.
- Scripted no-key transport support: yes.
- Runtime profiles: `javascript-quickjs`, `python-pyodide`.
## Core Pattern
```java
AxAgent helper = Ax.agent("question:string -> answer:string", java.util.Map.of());
var out = helper.forward(llm, java.util.Map.of("question", "How should I proceed?"));
```
## Lifecycle And State
- Constructor `skills` seed the loaded-skill prompt without firing load observers.
- Forward-time `skills` override constructor entries by normalized ID and remain loaded for later calls. IDs and names are trimmed, malformed entries are skipped, valid empty content is preserved, and rendered entries are ID-sorted.
- A forward input named `memories` seeds the first actor turn. Recalled entries merge by ID for that run, then memory state resets before the next forward.
- `onSkillsSearch` / `onMemoriesSearch` take precedence over static catalogs. Without a host callback, `skillsCatalog` / `memoriesCatalog` use the built-in deterministic lexical ranker.
- `onLoadedMemories` / `onLoadedSkills` observe runtime recall and discovery, not constructor presets. `onUsedMemories` / `onUsedSkills` emit one consolidated notification per forward. Forward observers override constructor observers, and observer errors are ignored.
- `relevanceRanking` produces advisory skill and memory hints using the same tokenization, weighting, tie suppression, limits, snippets, and already-loaded exclusion as TypeScript.
- `getState()` and `setState(...)` preserve the legacy bare-runtime snapshot shape. Use `exportRuntimeState()` and `restoreRuntimeState(...)` for the complete portable agent snapshot, including loaded skills and constructor-preset reapplication. Do not interchange the two shapes.
## Runnable Examples
- Provider-backed memory, skill, and observer lifecycle: `src/examples/java/long-agents/SkillsAndMemoryAssistantExample.java`.
- Catalog-only search and relevance hints: the target's `smart-defaults-agent` example under `src/examples/java/long-agents/`.
- Website gallery: https://axllm.dev/java/examples/long-agents/.
## Relevant API Surface
- Agents And RLM: `Ax.agent`, `AxAgent`
- Runtime Profiles: `ProcessCodeRuntime`, `RuntimeCapabilities`, `RuntimeEnvelope`, `javascript-quickjs`, `python-pyodide`
## Guardrails
- Start from package examples for exact native syntax before inventing a new call shape.
- Use `provider-api` examples only when the user explicitly has provider credentials available.
- Use `no-key` examples for deterministic local checks and provider request mapping.
- Treat AxIR as the source of generated package truth: if package docs disagree with source code, update the compiler and regenerate packages.
- Do not copy repo-maintainer skills from `tools/*/skills/` into user packages.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!