unique-skill-tool 2026.22.0.dev2__tar.gz → 2026.22.0.dev4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (14) hide show
  1. {unique_skill_tool-2026.22.0.dev2 → unique_skill_tool-2026.22.0.dev4}/PKG-INFO +2 -2
  2. {unique_skill_tool-2026.22.0.dev2 → unique_skill_tool-2026.22.0.dev4}/pyproject.toml +2 -2
  3. {unique_skill_tool-2026.22.0.dev2 → unique_skill_tool-2026.22.0.dev4}/unique_skill_tool/__init__.py +1 -2
  4. {unique_skill_tool-2026.22.0.dev2 → unique_skill_tool-2026.22.0.dev4}/unique_skill_tool/config.py +2 -2
  5. {unique_skill_tool-2026.22.0.dev2 → unique_skill_tool-2026.22.0.dev4}/unique_skill_tool/schemas.py +3 -24
  6. {unique_skill_tool-2026.22.0.dev2 → unique_skill_tool-2026.22.0.dev4}/README.md +0 -0
  7. {unique_skill_tool-2026.22.0.dev2 → unique_skill_tool-2026.22.0.dev4}/unique_skill_tool/examples/README.md +0 -0
  8. {unique_skill_tool-2026.22.0.dev2 → unique_skill_tool-2026.22.0.dev4}/unique_skill_tool/examples/analyze-data/SKILL.md +0 -0
  9. {unique_skill_tool-2026.22.0.dev2 → unique_skill_tool-2026.22.0.dev4}/unique_skill_tool/examples/analyze-factsheet/SKILL.md +0 -0
  10. {unique_skill_tool-2026.22.0.dev2 → unique_skill_tool-2026.22.0.dev4}/unique_skill_tool/examples/draft-email/SKILL.md +0 -0
  11. {unique_skill_tool-2026.22.0.dev2 → unique_skill_tool-2026.22.0.dev4}/unique_skill_tool/examples/review-contract/SKILL.md +0 -0
  12. {unique_skill_tool-2026.22.0.dev2 → unique_skill_tool-2026.22.0.dev4}/unique_skill_tool/prompts.py +0 -0
  13. {unique_skill_tool-2026.22.0.dev2 → unique_skill_tool-2026.22.0.dev4}/unique_skill_tool/service.py +0 -0
  14. {unique_skill_tool-2026.22.0.dev2 → unique_skill_tool-2026.22.0.dev4}/unique_skill_tool/utils.py +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: unique-skill-tool
3
- Version: 2026.22.0.dev2
3
+ Version: 2026.22.0.dev4
4
4
  Summary:
5
5
  Author: Fabian Schläpfer
6
6
  Author-email: Fabian Schläpfer <fabian@unique.ch>
7
7
  License: Proprietary
8
8
  Requires-Dist: jinja2>=3.1.0,<4
9
9
  Requires-Dist: pydantic>=2.8.2,<3
10
- Requires-Dist: unique-toolkit>=2026.22.0.dev5,<2026.22.0rc0
10
+ Requires-Dist: unique-toolkit>=2026.22.0.dev6,<2026.22.0rc0
11
11
  Requires-Python: >=3.12, <4
12
12
  Description-Content-Type: text/markdown
13
13
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_skill_tool"
3
- version = "2026.22.0.dev2"
3
+ version = "2026.22.0.dev4"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  license = { text = "Proprietary" }
@@ -11,7 +11,7 @@ requires-python = ">=3.12,<4"
11
11
  dependencies = [
12
12
  "jinja2>=3.1.0,<4",
13
13
  "pydantic>=2.8.2,<3",
14
- "unique-toolkit>=2026.22.0.dev5,<2026.22.0rc0",
14
+ "unique-toolkit>=2026.22.0.dev6,<2026.22.0rc0",
15
15
  ]
16
16
 
17
17
  [build-system]
@@ -1,10 +1,9 @@
1
1
  from unique_skill_tool.config import SkillToolConfig
2
- from unique_skill_tool.schemas import SelectableSkill, SkillDefinition
2
+ from unique_skill_tool.schemas import SkillDefinition
3
3
  from unique_skill_tool.service import SkillTool
4
4
 
5
5
  __all__ = [
6
6
  "SkillTool",
7
7
  "SkillToolConfig",
8
8
  "SkillDefinition",
9
- "SelectableSkill",
10
9
  ]
@@ -6,6 +6,7 @@ from pydantic import BaseModel, Field
6
6
  from unique_toolkit._common.pydantic.rjsf_tags import CustomWidgetName, RJSFMetaTag
7
7
  from unique_toolkit._common.pydantic_helpers import get_configuration_dict
8
8
  from unique_toolkit.agentic.tools.schemas import BaseToolConfig
9
+ from unique_toolkit.app.schemas import SkillReference
9
10
 
10
11
  from unique_skill_tool.prompts import (
11
12
  DEFAULT_TOOL_DESCRIPTION,
@@ -15,7 +16,6 @@ from unique_skill_tool.prompts import (
15
16
  DEFAULT_TOOL_PARAMETER_SKILL_NAME_DESCRIPTION,
16
17
  DEFAULT_TOOL_SYSTEM_REMINDER_FOR_USER_MESSAGE,
17
18
  )
18
- from unique_skill_tool.schemas import SelectableSkill
19
19
 
20
20
  CHARS_PER_TOKEN = 4
21
21
  DEFAULT_CHAR_BUDGET = 8_000
@@ -37,7 +37,7 @@ class SkillSelection(BaseModel):
37
37
  default="",
38
38
  description="The root skills folder ID.",
39
39
  )
40
- selected: list[SelectableSkill] = Field(
40
+ selected: list[SkillReference] = Field(
41
41
  default_factory=list,
42
42
  description="Individual skills selected from the knowledge base.",
43
43
  )
@@ -7,30 +7,6 @@ SKILL_NAME_PATTERN = r"^[a-z0-9]+(?:-[a-z0-9]+)*$"
7
7
  SKILL_NAME_MAX_LENGTH = 64
8
8
 
9
9
 
10
- class SelectableSkill(BaseModel):
11
- """A specific skill file selected by reference from the knowledge base.
12
-
13
- Each entry resolves to exactly one knowledge base document via its
14
- ``content_id``; ``scope_id`` scopes the lookup so access is explicit,
15
- and ``name`` is the skill file's own frontmatter name.
16
- """
17
-
18
- model_config = get_configuration_dict()
19
-
20
- name: str = Field(
21
- default="",
22
- description=("Skill name"),
23
- )
24
- scope_id: str = Field(
25
- default="",
26
- description="Knowledge base scope ID that contains the skill file.",
27
- )
28
- content_id: str = Field(
29
- default="",
30
- description="Knowledge base content ID of the ``SKILL.md`` file.",
31
- )
32
-
33
-
34
10
  class SkillDefinition(BaseModel):
35
11
  """A skill that the agent can activate via the SkillTool.
36
12
 
@@ -57,3 +33,6 @@ class SkillDefinition(BaseModel):
57
33
  content: str = Field(
58
34
  description="Full prompt / instructions injected when the skill is invoked.",
59
35
  )
36
+ content_id: str = Field(
37
+ description="Knowledge-base content ID this skill was loaded from.",
38
+ )