3tears-agent-skills
Procedural memory for 3tears-based agents. Stores per-agent / per-user
labeled markdown procedures (body) and tool-surface modifications
(tool_additions, tool_restrictions) plus a prompt_mode enum
controlling how the body interacts with the consumer's base system prompt.
This package provides the schema + Collection layer:
agent_skills-- one row per skill (partition columnagent_id).agent_skill_invocations-- one row per skill load with synchronous outcome tracking populated by the consumer's post-LLM hook (partition columnagent_id; composite FK CASCADE on parent skill).- Two
BaseEntitysubclasses (AgentSkillEntity,AgentSkillInvocationEntity). - Two
BaseCollectionsubclasses exposing the public skill-registry API. - A trigger-maintained
search_vector(FTS forskill_listquery-filter ranking; NOT auto-load).
Agent tools and the per-turn composition renderer do not live here.
Migration registration
from threetears.agent.skills import register as register_skills
from threetears.core.data.migrations import MigrationRunner
runner = MigrationRunner()
register_skills(runner)
Migrations are agent-scoped and depend on conversations (the
invocation rows carry conversation_id -- ordering on apply, not an
FK constraint).
SkillRegistryClient Protocol -- why this package takes no ACL / tools deps
agent-memory (a sibling package) takes direct dependencies on
3tears-agent-acl and 3tears-agent-tools because its memory tools
need first-class ACL evaluator + tool-registry types in their public
surface. agent-skills deliberately diverges. The tool factories take
a thin SkillRegistryClient Protocol (three async methods,
acl_permits / list_skill_eligible_tools / get_tool_introspect,
plus a ConversationIdResolver / ActiveSkillProbe /
ActiveSkillSetter callable triple wired by the consumer) instead of
importing the ACL evaluator or the tool registry types directly.
The trade-off: callers must implement a small adapter (~10 lines over
their existing NamespaceCollection + ACL cache + in-process tool
registry), but agent-skills ships with zero hard deps beyond core
and langchain-core. The consumer wires this; tests mock it. The
ACL-via-evaluator approach targets the composition renderer, not the
tools surface.
Future sibling packages should follow whichever pattern their public surface demands -- direct deps when types are part of the contract, Protocol when the contract is method-shaped and the deps are incidental.
Release files for 3tears-agent-skills 0.44.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| 3tears_agent_skills-0.44.0.tar.gz | 84.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 3tears_agent_skills-0.44.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 134.4 kB
Release files / 3tears_agent_skills-0.44.0.tar.gz
| Download URL | 3tears_agent_skills-0.44.0.tar.gz |
|---|---|
| Size | 84.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
344702bbc0b7430ee18ba4fcc3afea490f290d91e2f8db766f6f1af9ccacf55e
|
|
BLAKE2b-256 checksum How to use checksums |
794a4b58da502577827d78c48118d86a95e6966c40c0709c2e729c23b0ae588d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / 3tears_agent_skills-0.44.0-py3-none-any.whl
| Download URL | 3tears_agent_skills-0.44.0-py3-none-any.whl |
|---|---|
| Size | 50.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
22b05e9e7b1df35ce7c7f4ef74c2a51442d96aacf2c0824d148f275ad9d18ce2
|
|
BLAKE2b-256 checksum How to use checksums |
0f920207bdd836e59bf2ec37d05f0a02d859a31f36ced6fad69fba716b4d301d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency log