Skip to main content

Procedural memory for LLM agents -- skill definitions + invocation history

Project description

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 column agent_id).
  • agent_skill_invocations -- one row per skill load with synchronous outcome tracking populated by the consumer's post-LLM hook (partition column agent_id; composite FK CASCADE on parent skill).
  • Two BaseEntity subclasses (AgentSkillEntity, AgentSkillInvocationEntity).
  • Two BaseCollection subclasses exposing the public skill-registry API.
  • A trigger-maintained search_vector (FTS for skill_list query-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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

3tears_agent_skills-0.14.0.tar.gz (75.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

3tears_agent_skills-0.14.0-py3-none-any.whl (47.4 kB view details)

Uploaded Python 3

File details

Details for the file 3tears_agent_skills-0.14.0.tar.gz.

File metadata

  • Download URL: 3tears_agent_skills-0.14.0.tar.gz
  • Upload date:
  • Size: 75.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for 3tears_agent_skills-0.14.0.tar.gz
Algorithm Hash digest
SHA256 aaf51e2aeca628545efc3101e76a5138a1752d9839197c6a2fe5d03a651a50de
MD5 4c4253b93f4b727deb57c8df25ffcd36
BLAKE2b-256 a9d61ae954f1b7d613238ebd7d6a70a04bab3730728aad4b14594674ac3b353b

See more details on using hashes here.

File details

Details for the file 3tears_agent_skills-0.14.0-py3-none-any.whl.

File metadata

  • Download URL: 3tears_agent_skills-0.14.0-py3-none-any.whl
  • Upload date:
  • Size: 47.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for 3tears_agent_skills-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 72f76791a8b5f6edc27cba95288b01c63dcd7c6219e7b931f342cf95c24e4ed1
MD5 b9bcc7a6106776e61cbc82543ff7102c
BLAKE2b-256 7e31a209fda8c95be33596657ca3f20d0c9515be56a95eb625e7cbfc4881a337

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page