skillware 0.2.5__tar.gz → 0.2.7__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 (72) hide show
  1. skillware-0.2.7/MANIFEST.in +3 -0
  2. {skillware-0.2.5 → skillware-0.2.7}/PKG-INFO +13 -8
  3. {skillware-0.2.5 → skillware-0.2.7}/README.md +12 -7
  4. {skillware-0.2.5 → skillware-0.2.7}/pyproject.toml +9 -1
  5. skillware-0.2.7/skills/compliance/mica_module/card.json +25 -0
  6. skillware-0.2.7/skills/compliance/mica_module/instructions.md +9 -0
  7. skillware-0.2.7/skills/compliance/mica_module/manifest.yaml +28 -0
  8. skillware-0.2.7/skills/compliance/mica_module/mica_corpus.json +3368 -0
  9. skillware-0.2.7/skills/compliance/pii_masker/card.json +25 -0
  10. skillware-0.2.7/skills/compliance/pii_masker/instructions.md +6 -0
  11. skillware-0.2.7/skills/compliance/pii_masker/manifest.yaml +28 -0
  12. skillware-0.2.7/skills/compliance/tos_evaluator/card.json +29 -0
  13. skillware-0.2.7/skills/compliance/tos_evaluator/instructions.md +34 -0
  14. skillware-0.2.7/skills/compliance/tos_evaluator/manifest.yaml +71 -0
  15. skillware-0.2.7/skills/data_engineering/__init__.py +0 -0
  16. skillware-0.2.7/skills/data_engineering/synthetic_generator/card.json +33 -0
  17. skillware-0.2.7/skills/data_engineering/synthetic_generator/instructions.md +6 -0
  18. skillware-0.2.7/skills/data_engineering/synthetic_generator/manifest.yaml +35 -0
  19. skillware-0.2.7/skills/finance/__init__.py +0 -0
  20. skillware-0.2.7/skills/finance/wallet_screening/card.json +21 -0
  21. skillware-0.2.7/skills/finance/wallet_screening/data/entities.ftm.json +3527 -0
  22. skillware-0.2.7/skills/finance/wallet_screening/data/malicious_scs_2025.json +109 -0
  23. skillware-0.2.7/skills/finance/wallet_screening/data/normalized_fbi_lazarus_20250722_180019.json +332 -0
  24. skillware-0.2.7/skills/finance/wallet_screening/data/normalized_israel_nbctf_20250722_180019.json +8818 -0
  25. skillware-0.2.7/skills/finance/wallet_screening/data/normalized_uniswap_trm.json +9778 -0
  26. skillware-0.2.7/skills/finance/wallet_screening/instructions.md +24 -0
  27. skillware-0.2.7/skills/finance/wallet_screening/manifest.yaml +33 -0
  28. skillware-0.2.7/skills/office/__init__.py +0 -0
  29. skillware-0.2.7/skills/office/pdf_form_filler/__init__.py +0 -0
  30. skillware-0.2.7/skills/office/pdf_form_filler/card.json +31 -0
  31. skillware-0.2.7/skills/office/pdf_form_filler/instructions.md +21 -0
  32. skillware-0.2.7/skills/office/pdf_form_filler/manifest.yaml +34 -0
  33. skillware-0.2.7/skills/optimization/__init__.py +0 -0
  34. skillware-0.2.7/skills/optimization/prompt_rewriter/card.json +34 -0
  35. skillware-0.2.7/skills/optimization/prompt_rewriter/instructions.md +15 -0
  36. skillware-0.2.7/skills/optimization/prompt_rewriter/manifest.yaml +29 -0
  37. skillware-0.2.7/skillware/__init__.py +0 -0
  38. skillware-0.2.7/skillware/core/__init__.py +0 -0
  39. {skillware-0.2.5 → skillware-0.2.7}/skillware/core/loader.py +149 -10
  40. {skillware-0.2.5 → skillware-0.2.7}/skillware.egg-info/PKG-INFO +13 -8
  41. skillware-0.2.7/skillware.egg-info/SOURCES.txt +68 -0
  42. skillware-0.2.7/tests/test_loader.py +236 -0
  43. skillware-0.2.7/tests/test_skill_issuer.py +105 -0
  44. skillware-0.2.5/skillware.egg-info/SOURCES.txt +0 -32
  45. skillware-0.2.5/tests/test_loader.py +0 -63
  46. {skillware-0.2.5 → skillware-0.2.7}/LICENSE +0 -0
  47. {skillware-0.2.5 → skillware-0.2.7}/setup.cfg +0 -0
  48. {skillware-0.2.5/skillware → skillware-0.2.7/skills}/__init__.py +0 -0
  49. {skillware-0.2.5/skillware/core → skillware-0.2.7/skills/compliance}/__init__.py +0 -0
  50. {skillware-0.2.5 → skillware-0.2.7}/skills/compliance/mica_module/__init__.py +0 -0
  51. {skillware-0.2.5 → skillware-0.2.7}/skills/compliance/mica_module/skill.py +0 -0
  52. {skillware-0.2.5 → skillware-0.2.7}/skills/compliance/pii_masker/__init__.py +0 -0
  53. {skillware-0.2.5 → skillware-0.2.7}/skills/compliance/pii_masker/skill.py +0 -0
  54. {skillware-0.2.5 → skillware-0.2.7}/skills/compliance/tos_evaluator/__init__.py +0 -0
  55. {skillware-0.2.5 → skillware-0.2.7}/skills/compliance/tos_evaluator/skill.py +0 -0
  56. {skillware-0.2.5 → skillware-0.2.7}/skills/compliance/tos_evaluator/test_skill.py +0 -0
  57. {skillware-0.2.5 → skillware-0.2.7}/skills/data_engineering/synthetic_generator/__init__.py +0 -0
  58. {skillware-0.2.5 → skillware-0.2.7}/skills/data_engineering/synthetic_generator/skill.py +0 -0
  59. {skillware-0.2.5 → skillware-0.2.7}/skills/finance/wallet_screening/__init__.py +0 -0
  60. {skillware-0.2.5 → skillware-0.2.7}/skills/finance/wallet_screening/maintenance/normalization_tool.py +0 -0
  61. {skillware-0.2.5 → skillware-0.2.7}/skills/finance/wallet_screening/maintenance/normalize_uniswap_trm.py +0 -0
  62. {skillware-0.2.5 → skillware-0.2.7}/skills/finance/wallet_screening/skill.py +0 -0
  63. {skillware-0.2.5 → skillware-0.2.7}/skills/office/pdf_form_filler/skill.py +0 -0
  64. {skillware-0.2.5 → skillware-0.2.7}/skills/office/pdf_form_filler/utils.py +0 -0
  65. {skillware-0.2.5 → skillware-0.2.7}/skills/optimization/prompt_rewriter/__init__.py +0 -0
  66. {skillware-0.2.5 → skillware-0.2.7}/skills/optimization/prompt_rewriter/skill.py +0 -0
  67. {skillware-0.2.5 → skillware-0.2.7}/skillware/core/base_skill.py +0 -0
  68. {skillware-0.2.5 → skillware-0.2.7}/skillware/core/env.py +0 -0
  69. {skillware-0.2.5 → skillware-0.2.7}/skillware.egg-info/dependency_links.txt +0 -0
  70. {skillware-0.2.5 → skillware-0.2.7}/skillware.egg-info/requires.txt +0 -0
  71. {skillware-0.2.5 → skillware-0.2.7}/skillware.egg-info/top_level.txt +0 -0
  72. {skillware-0.2.5 → skillware-0.2.7}/tests/test_mica_module.py +0 -0
@@ -0,0 +1,3 @@
1
+ graft skills
2
+ global-exclude __pycache__
3
+ global-exclude *.py[cod]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skillware
3
- Version: 0.2.5
3
+ Version: 0.2.7
4
4
  Summary: A framework for modular, self-contained AI skills.
5
5
  Author-email: ARPA Hellenic Logic Systems <skillware-os@arpacorp.net>
6
6
  License: MIT License
@@ -155,7 +155,7 @@ load_env_file()
155
155
 
156
156
  # 1. Load the Skill from the Registry
157
157
  # The loader reads the code, manifest, and instructions automatically
158
- skill_bundle = SkillLoader.load_skill("category/skill_name")
158
+ skill_bundle = SkillLoader.load_skill("category/skill_name") # see docs/usage/README.md for path search order
159
159
 
160
160
  # 2. Model & Chat Setup
161
161
  model = genai.GenerativeModel(
@@ -175,20 +175,25 @@ print(response.text)
175
175
 
176
176
  * **[Core Logic & Philosophy](docs/introduction.md)**: Details on how Skillware decouples Logic, Cognition, and Governance.
177
177
  * **[Testing Guidelines](docs/TESTING.md)**: Instructions for validating skills and checking local coverage.
178
+ * **[Usage guides](docs/usage/README.md)**: Provider adapters and navigation to integration docs.
179
+ * **[Agent loops](docs/usage/agent_loops.md)**: Shared load, tool-call, and `execute` pattern across providers.
178
180
  * **[Usage Guide: Gemini](docs/usage/gemini.md)**: Integration with Google's GenAI SDK.
179
181
  * **[Usage Guide: Claude](docs/usage/claude.md)**: Integration with Anthropic's SDK.
182
+ * **[Usage Guide: OpenAI](docs/usage/openai.md)**: Integration with OpenAI Chat Completions tool calling.
183
+ * **[Usage Guide: DeepSeek](docs/usage/deepseek.md)**: Integration with the DeepSeek API via `to_deepseek_tool()`.
180
184
  * **[Usage Guide: Ollama](docs/usage/ollama.md)**: Native integration for local models via Ollama.
185
+ * **[API Keys for Skills](docs/usage/api_keys.md)**: Environment variables, cloud/CI setup, and security for skills that call external APIs.
181
186
  * **[Skill Library](docs/skills/README.md)**: Available capabilities.
182
187
 
183
188
  ## Contributing
184
189
 
185
- We are building the "App Store" for Agents and require professional, robust, and safe skills.
190
+ We are building the "App Store" for Agents and require professional, robust, and safe skills. We welcome contributions to the skill registry, documentation, tests, and core framework.
186
191
 
187
- We actively encourage both humans and autonomous agents to contribute to this repository!
188
-
189
- * Please read our **[Agent Code of Conduct](CODE_OF_CONDUCT.md)** which outlines our strict expectations for deterministic outputs, zero LLM code generation, and safety boundaries.
190
- * When submitting skills, our new **Agent-Friendly Pull Request Template** provides a checklist to ensure your logic aligns natively with `loader.py` and `base_skill.py`.
191
- * Please also review **[CONTRIBUTING.md](CONTRIBUTING.md)** for detailed guidelines on folder structure and schema definitions.
192
+ * **[CONTRIBUTING.md](CONTRIBUTING.md)** — Contribution types, skill standard, pull request process, and navigation to all contributor docs.
193
+ * **[Agent Contribution Workflow](docs/contributing/ai_native_workflow.md)** — Workflow for AI agents contributing to the repository (operators supervise).
194
+ * **[Agent Code of Conduct](CODE_OF_CONDUCT.md)** — Deterministic outputs, safety boundaries, and acceptable use of skills.
195
+ * **[TESTING.md](docs/TESTING.md)** — Local linting and pytest before you open a PR.
196
+ * **[Pull request template](.github/PULL_REQUEST_TEMPLATE.md)** — Checklists for skills, docs, and framework changes (complete only the sections that apply).
192
197
 
193
198
  ## Comparison
194
199
 
@@ -107,7 +107,7 @@ load_env_file()
107
107
 
108
108
  # 1. Load the Skill from the Registry
109
109
  # The loader reads the code, manifest, and instructions automatically
110
- skill_bundle = SkillLoader.load_skill("category/skill_name")
110
+ skill_bundle = SkillLoader.load_skill("category/skill_name") # see docs/usage/README.md for path search order
111
111
 
112
112
  # 2. Model & Chat Setup
113
113
  model = genai.GenerativeModel(
@@ -127,20 +127,25 @@ print(response.text)
127
127
 
128
128
  * **[Core Logic & Philosophy](docs/introduction.md)**: Details on how Skillware decouples Logic, Cognition, and Governance.
129
129
  * **[Testing Guidelines](docs/TESTING.md)**: Instructions for validating skills and checking local coverage.
130
+ * **[Usage guides](docs/usage/README.md)**: Provider adapters and navigation to integration docs.
131
+ * **[Agent loops](docs/usage/agent_loops.md)**: Shared load, tool-call, and `execute` pattern across providers.
130
132
  * **[Usage Guide: Gemini](docs/usage/gemini.md)**: Integration with Google's GenAI SDK.
131
133
  * **[Usage Guide: Claude](docs/usage/claude.md)**: Integration with Anthropic's SDK.
134
+ * **[Usage Guide: OpenAI](docs/usage/openai.md)**: Integration with OpenAI Chat Completions tool calling.
135
+ * **[Usage Guide: DeepSeek](docs/usage/deepseek.md)**: Integration with the DeepSeek API via `to_deepseek_tool()`.
132
136
  * **[Usage Guide: Ollama](docs/usage/ollama.md)**: Native integration for local models via Ollama.
137
+ * **[API Keys for Skills](docs/usage/api_keys.md)**: Environment variables, cloud/CI setup, and security for skills that call external APIs.
133
138
  * **[Skill Library](docs/skills/README.md)**: Available capabilities.
134
139
 
135
140
  ## Contributing
136
141
 
137
- We are building the "App Store" for Agents and require professional, robust, and safe skills.
142
+ We are building the "App Store" for Agents and require professional, robust, and safe skills. We welcome contributions to the skill registry, documentation, tests, and core framework.
138
143
 
139
- We actively encourage both humans and autonomous agents to contribute to this repository!
140
-
141
- * Please read our **[Agent Code of Conduct](CODE_OF_CONDUCT.md)** which outlines our strict expectations for deterministic outputs, zero LLM code generation, and safety boundaries.
142
- * When submitting skills, our new **Agent-Friendly Pull Request Template** provides a checklist to ensure your logic aligns natively with `loader.py` and `base_skill.py`.
143
- * Please also review **[CONTRIBUTING.md](CONTRIBUTING.md)** for detailed guidelines on folder structure and schema definitions.
144
+ * **[CONTRIBUTING.md](CONTRIBUTING.md)** — Contribution types, skill standard, pull request process, and navigation to all contributor docs.
145
+ * **[Agent Contribution Workflow](docs/contributing/ai_native_workflow.md)** — Workflow for AI agents contributing to the repository (operators supervise).
146
+ * **[Agent Code of Conduct](CODE_OF_CONDUCT.md)** — Deterministic outputs, safety boundaries, and acceptable use of skills.
147
+ * **[TESTING.md](docs/TESTING.md)** — Local linting and pytest before you open a PR.
148
+ * **[Pull request template](.github/PULL_REQUEST_TEMPLATE.md)** — Checklists for skills, docs, and framework changes (complete only the sections that apply).
144
149
 
145
150
  ## Comparison
146
151
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "skillware"
7
- version = "0.2.5"
7
+ version = "0.2.7"
8
8
  description = "A framework for modular, self-contained AI skills."
9
9
  readme = "README.md"
10
10
  authors = [
@@ -35,5 +35,13 @@ dev = [
35
35
  "black",
36
36
  ]
37
37
 
38
+ [tool.setuptools]
39
+ include-package-data = true
40
+
38
41
  [tool.setuptools.packages.find]
39
42
  include = ["skillware*", "skills*"]
43
+
44
+ # Non-Python skill assets (yaml, md, json, data/) ship via MANIFEST.in (graft skills)
45
+ # and this wildcard. No per-skill entries needed when adding registry skills.
46
+ [tool.setuptools.package-data]
47
+ skills = ["**/*"]
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "MiCA Module",
3
+ "description": "Evaluate and screen crypto-asset queries against the MiCA regulation.",
4
+ "issuer": {
5
+ "name": "Ross Peili",
6
+ "email": "vpeilivanidis@gmail.com",
7
+ "github": "rosspeili",
8
+ "org": "ARPAHLS"
9
+ },
10
+ "icon": "book-open",
11
+ "color": "#1F618D",
12
+ "ui_schema": {
13
+ "type": "card",
14
+ "fields": [
15
+ {
16
+ "key": "run_evaluator",
17
+ "label": "Enable Evaluator"
18
+ },
19
+ {
20
+ "key": "evaluator_model",
21
+ "label": "Evaluator Model"
22
+ }
23
+ ]
24
+ }
25
+ }
@@ -0,0 +1,9 @@
1
+ # MiCA Compliance Firewall
2
+
3
+ You are using the `compliance/mica_module` skill.
4
+ Use this skill whenever a user asks questions regarding the Markets in Crypto-Assets (MiCA) regulation, creating a new stablecoin, e-money licenses, or crypto-asset service provider (CASP) rules.
5
+
6
+ **Core Directives:**
7
+ 1. **RAG-Driven Answers**: You MUST use the `user_prompt` parameter to retrieve specific statutory text before answering.
8
+ 2. **Traceability**: Your final response MUST explicitly cite the Article numbers provided in the context (e.g., "According to Article 59...").
9
+ 3. **Policy Enforcement**: If the evaluator flags `HIGH_RISK_DETECTED`, you must prioritize regulatory safety and clearly state the compliance barriers.
@@ -0,0 +1,28 @@
1
+ name: compliance/mica_module
2
+ version: 0.1.0
3
+ description: A highly specialized, localized RAG and policy enforcement engine for the Markets in Crypto-Assets (MiCA) regulation.
4
+ issuer:
5
+ name: Ross Peili
6
+ email: vpeilivanidis@gmail.com
7
+ github: rosspeili
8
+ org: ARPAHLS
9
+ parameters:
10
+ type: object
11
+ properties:
12
+ user_prompt:
13
+ type: string
14
+ description: The user's query regarding crypto-assets, e-money licenses, or MiCA rules.
15
+ run_evaluator:
16
+ type: boolean
17
+ description: If true, triggers a lightweight side-call to evaluate and correct the response against regulatory holes.
18
+ evaluator_model:
19
+ type: string
20
+ description: "Optional. Specify the model for the evaluator node (e.g., 'gemini-2.5-flash-lite'). Defaults to gemini-2.5-flash-lite."
21
+ required:
22
+ - user_prompt
23
+ requirements:
24
+ - google.generativeai
25
+ constitution: |
26
+ 1. COMPLIANCE: Do not invent or hallucinate financial regulations. Base all enforcement strictly on the provided MiCA corpus blocks.
27
+ 2. FOCUS: Act exclusively as a compliance firewall and RAG engine; retrieve relevant chunks incrementally.
28
+ 3. EVALUATION: If the evaluator is run, strictly flag HIGH_RISK_DETECTED if the user's intent violates MiCA or misses required filings.