Skill contract for the Ageri personal-AI platform — SkillBase, SkillResult, Task, OrchestratorContext, and proxy ABCs.
Project description
ageri-sdk
Skill contract for the Ageri personal-AI platform.
Ageri is a self-hosted "chief of staff" agent system that runs 24/7, remembers across sessions, and coordinates specialist skills across every domain of your work. This package is the stable boundary every skill imports from — the abstract base classes, dataclasses, and helpers that define what a skill looks like to the Ageri runtime.
If you want to author an Ageri skill, install this package. If you want to run Ageri itself, see docs.ageri.ai/install.
Install
pip install ageri-sdk
Python 3.11+ required. No runtime dependencies — the SDK is pure ABCs +
dataclasses. Skills declare their own deps in their bundle's requirements.txt.
Minimal skill
from ageri_sdk import SkillBase, SkillResult, Task, OrchestratorContext
class HelloSkill(SkillBase):
name = "Hello"
description = "Greets the user."
version = "0.1.0"
intent_domain = "general"
async def handle(self, task: Task, ctx: OrchestratorContext) -> SkillResult:
return SkillResult(
status="done",
response=f"Hello, {ctx.user.display_name}!",
)
That's the whole contract. The runtime injects an OrchestratorContext with
proxies for memory, agents (LLMs), reply, browser/screen/input automation,
and so on. Your handle() does the work and returns a SkillResult.
What's in the package
SkillBase— abstract base every skill subclasses.Task— what the user asked for + routing metadata.SkillResult— what the skill produced (response + declared memory writes).OrchestratorContext— the only interface skills have to the outside world. Memory, agents, reply, user, agent identity, tools.- Proxy ABCs —
MemoryProxy,AgentProxy,ReplyProxy,BrowserProxy,ScreenProxy,InputProxy,FsProxy,NetworkProxy,ClipboardProxy,ProcessProxy. Skills code against these; the runtime supplies concrete implementations. - Helpers —
SkillCommand(slash-command metadata),ConfigField(declarable config schema),MessagingSkillBase(Slack/Telegram/Zalo-OA adapter base), vision-click + browser-automation primitives, and more.
Full API reference: https://docs.ageri.ai/sdk/.
Versioning
ageri-sdk follows semver. The major version bumps if the contract breaks
(adding a required method to SkillBase, changing a dataclass field that
already-shipped skills rely on, etc.). Minor versions add new capabilities;
patch versions are bugfixes.
Skill bundles declare their compatible SDK range via manifest_compat in
skill.json:
{
"manifest_compat": ">=0.5.0,<1.0.0"
}
The Ageri runtime refuses to load a skill whose manifest_compat doesn't
include the running SDK version.
License
MIT. See LICENSE.
The Ageri platform that consumes this SDK has its own license (see the main Ageri repo). The SDK is MIT so skill authors can freely build on it, publish skills under whatever license they choose, and integrate against Ageri without IP friction.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ageri_sdk-0.5.0.tar.gz.
File metadata
- Download URL: ageri_sdk-0.5.0.tar.gz
- Upload date:
- Size: 35.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16efe827d1ec4c7fdcccf80d6d140190e678d23ab0b87f70ecde06cc739d98c3
|
|
| MD5 |
a0363f026ff6df8db91a0d6ef422b22b
|
|
| BLAKE2b-256 |
816f750a2e9242688e292aa3119e875bbb5dbc65ee89ca84ba8bb1f455a3bbbe
|
Provenance
The following attestation bundles were made for ageri_sdk-0.5.0.tar.gz:
Publisher:
release.yml on ageri-platform/ageri-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ageri_sdk-0.5.0.tar.gz -
Subject digest:
16efe827d1ec4c7fdcccf80d6d140190e678d23ab0b87f70ecde06cc739d98c3 - Sigstore transparency entry: 1550095021
- Sigstore integration time:
-
Permalink:
ageri-platform/ageri-sdk@070250fa980011893822f5b43c2c889804888033 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/ageri-platform
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@070250fa980011893822f5b43c2c889804888033 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ageri_sdk-0.5.0-py3-none-any.whl.
File metadata
- Download URL: ageri_sdk-0.5.0-py3-none-any.whl
- Upload date:
- Size: 33.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb7334eecfbbdffda909e56f99b3cde97dbe7de0a7402280fb8bf6aa669f2155
|
|
| MD5 |
f199b32ec78d2ca164b26fca687c036b
|
|
| BLAKE2b-256 |
1d1f3da9608205433c812316da0935a90addf753897d8dbcb7b0ffcc7f73e47a
|
Provenance
The following attestation bundles were made for ageri_sdk-0.5.0-py3-none-any.whl:
Publisher:
release.yml on ageri-platform/ageri-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ageri_sdk-0.5.0-py3-none-any.whl -
Subject digest:
fb7334eecfbbdffda909e56f99b3cde97dbe7de0a7402280fb8bf6aa669f2155 - Sigstore transparency entry: 1550095050
- Sigstore integration time:
-
Permalink:
ageri-platform/ageri-sdk@070250fa980011893822f5b43c2c889804888033 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/ageri-platform
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@070250fa980011893822f5b43c2c889804888033 -
Trigger Event:
push
-
Statement type: