diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 82fa62b..a86bfc4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,7 +6,7 @@ Welcome to the Skillware project. We are building the definitive "App Store" for ## The Skill Package Standard -Every new skill must reside in its own directory under `skillware/skills///`. It **must** contain the following files: +Every new skill must reside in its own directory under `skills///`. It **must** contain the following files: ### 1. `manifest.yaml` (The Metadata) Defines the interface and constitution. @@ -74,7 +74,7 @@ This is the most critical file. It is the "driver" for the LLM. [Open a New Issue Here](https://github.com/ARPAHLS/skillware/issues/new/choose) is the first step. *Wait for approval/feedback before writing code.* 2. **Fork** the repository. -3. **Create** your skill folder: `skillware/skills///`. +3. **Create** your skill folder: `skills///`. 4. **Implement** the 4 required files (`manifest.yaml`, `skill.py`, `instructions.md`, `card.json`). 5. **Add** a test script in `examples/`. 6. **Submit** PR. diff --git a/README.md b/README.md index e08b632..6fa7287 100644 --- a/README.md +++ b/README.md @@ -47,20 +47,23 @@ This repository is organized into a core framework, a registry of skills, and do ```text Skillware/ +Skillware/ ├── skillware/ # Core Framework Package -│ ├── core/ -│ │ ├── base_skill.py # Abstract Base Class for skills -│ │ ├── loader.py # Universal Skill Loader & Model Adapter -│ │ └── env.py # Environment Management -│ └── skills/ # Skill Registry (Domain-driven) -│ └── finance/ -│ └── wallet_screening/ -│ ├── skill.py # Logic -│ ├── manifest.yaml # Metadata & Constitution -│ ├── instructions.md # Cognitive Map -│ ├── card.json # UI Presentation -│ ├── data/ # Integrated Knowledge Base -│ └── maintenance/ # Maintenance Tools +│ └── core/ +│ ├── base_skill.py # Abstract Base Class for skills +│ ├── loader.py # Universal Skill Loader & Model Adapter +│ └── env.py # Environment Management +├── skills/ # Skill Registry (Domain-driven) +│ └── finance/ +│ └── wallet_screening/ +│ ├── skill.py # Logic +│ ├── manifest.yaml # Metadata & Constitution +│ ├── instructions.md # Cognitive Map +│ ├── card.json # UI Presentation +│ ├── data/ # Integrated Knowledge Base +│ └── maintenance/ # Maintenance Tools +├── templates/ # New Skill Templates +│ └── python_skill/ # Standard Python Skill Template ├── examples/ # Reference Implementations │ ├── gemini_wallet_check.py # Google Gemini Integration │ └── claude_wallet_check.py # Anthropic Claude Integration diff --git a/examples/claude_wallet_check.py b/examples/claude_wallet_check.py index 863a144..f64f644 100644 --- a/examples/claude_wallet_check.py +++ b/examples/claude_wallet_check.py @@ -1,5 +1,9 @@ import os import json +import sys +# Add repo root to path to allow import of 'skillware' +sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) + import anthropic from skillware.core.loader import SkillLoader from skillware.core.env import load_env_file diff --git a/examples/gemini_wallet_check.py b/examples/gemini_wallet_check.py index e455908..404bf8d 100644 --- a/examples/gemini_wallet_check.py +++ b/examples/gemini_wallet_check.py @@ -12,7 +12,7 @@ # 1. Load the Skill dynamically # Adjust path to where the skill is located relative to this script -SKILL_PATH = "skillware/skills/finance/wallet_screening" +SKILL_PATH = "finance/wallet_screening" skill_bundle = SkillLoader.load_skill(SKILL_PATH) print(f"Loaded Skill: {skill_bundle['manifest']['name']}") diff --git a/skillware/skills/finance/wallet_screening/__init__.py b/skills/finance/wallet_screening/__init__.py similarity index 100% rename from skillware/skills/finance/wallet_screening/__init__.py rename to skills/finance/wallet_screening/__init__.py diff --git a/skillware/skills/finance/wallet_screening/card.json b/skills/finance/wallet_screening/card.json similarity index 100% rename from skillware/skills/finance/wallet_screening/card.json rename to skills/finance/wallet_screening/card.json diff --git a/skillware/skills/finance/wallet_screening/data/entities.ftm.json b/skills/finance/wallet_screening/data/entities.ftm.json similarity index 100% rename from skillware/skills/finance/wallet_screening/data/entities.ftm.json rename to skills/finance/wallet_screening/data/entities.ftm.json diff --git a/skillware/skills/finance/wallet_screening/data/malicious_scs_2025.json b/skills/finance/wallet_screening/data/malicious_scs_2025.json similarity index 100% rename from skillware/skills/finance/wallet_screening/data/malicious_scs_2025.json rename to skills/finance/wallet_screening/data/malicious_scs_2025.json diff --git a/skillware/skills/finance/wallet_screening/data/normalized_fbi_lazarus_20250722_180019.json b/skills/finance/wallet_screening/data/normalized_fbi_lazarus_20250722_180019.json similarity index 100% rename from skillware/skills/finance/wallet_screening/data/normalized_fbi_lazarus_20250722_180019.json rename to skills/finance/wallet_screening/data/normalized_fbi_lazarus_20250722_180019.json diff --git a/skillware/skills/finance/wallet_screening/data/normalized_israel_nbctf_20250722_180019.json b/skills/finance/wallet_screening/data/normalized_israel_nbctf_20250722_180019.json similarity index 100% rename from skillware/skills/finance/wallet_screening/data/normalized_israel_nbctf_20250722_180019.json rename to skills/finance/wallet_screening/data/normalized_israel_nbctf_20250722_180019.json diff --git a/skillware/skills/finance/wallet_screening/data/normalized_uniswap_trm.json b/skills/finance/wallet_screening/data/normalized_uniswap_trm.json similarity index 100% rename from skillware/skills/finance/wallet_screening/data/normalized_uniswap_trm.json rename to skills/finance/wallet_screening/data/normalized_uniswap_trm.json diff --git a/skillware/skills/finance/wallet_screening/instructions.md b/skills/finance/wallet_screening/instructions.md similarity index 100% rename from skillware/skills/finance/wallet_screening/instructions.md rename to skills/finance/wallet_screening/instructions.md diff --git a/skillware/skills/finance/wallet_screening/maintenance/normalization_tool.py b/skills/finance/wallet_screening/maintenance/normalization_tool.py similarity index 100% rename from skillware/skills/finance/wallet_screening/maintenance/normalization_tool.py rename to skills/finance/wallet_screening/maintenance/normalization_tool.py diff --git a/skillware/skills/finance/wallet_screening/maintenance/normalize_uniswap_trm.py b/skills/finance/wallet_screening/maintenance/normalize_uniswap_trm.py similarity index 100% rename from skillware/skills/finance/wallet_screening/maintenance/normalize_uniswap_trm.py rename to skills/finance/wallet_screening/maintenance/normalize_uniswap_trm.py diff --git a/skillware/skills/finance/wallet_screening/manifest.yaml b/skills/finance/wallet_screening/manifest.yaml similarity index 100% rename from skillware/skills/finance/wallet_screening/manifest.yaml rename to skills/finance/wallet_screening/manifest.yaml diff --git a/skillware/skills/finance/wallet_screening/skill.py b/skills/finance/wallet_screening/skill.py similarity index 100% rename from skillware/skills/finance/wallet_screening/skill.py rename to skills/finance/wallet_screening/skill.py diff --git a/skillware/skills/__init__.py b/skillware/skills/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/skillware/templates/python_skill/README.md b/templates/python_skill/README.md similarity index 100% rename from skillware/templates/python_skill/README.md rename to templates/python_skill/README.md diff --git a/skillware/templates/python_skill/__init__.py b/templates/python_skill/__init__.py similarity index 100% rename from skillware/templates/python_skill/__init__.py rename to templates/python_skill/__init__.py diff --git a/skillware/templates/python_skill/manifest.yaml b/templates/python_skill/manifest.yaml similarity index 100% rename from skillware/templates/python_skill/manifest.yaml rename to templates/python_skill/manifest.yaml diff --git a/skillware/templates/python_skill/skill.py b/templates/python_skill/skill.py similarity index 90% rename from skillware/templates/python_skill/skill.py rename to templates/python_skill/skill.py index 967b8ca..5e8280b 100644 --- a/skillware/templates/python_skill/skill.py +++ b/templates/python_skill/skill.py @@ -1,5 +1,5 @@ from typing import Any, Dict -from ...core.base_skill import BaseSkill +from skillware.core.base_skill import BaseSkill class MyAwesomeSkill(BaseSkill): @property