Skip to content

Feature/ollama integration#30

Merged
rosspeili merged 2 commits intoARPAHLS:mainfrom
rosspeili:feature/ollama-integration
Mar 23, 2026
Merged

Feature/ollama integration#30
rosspeili merged 2 commits intoARPAHLS:mainfrom
rosspeili:feature/ollama-integration

Conversation

@rosspeili
Copy link
Copy Markdown
Contributor

Description

This PR introduces native, local-first support for Ollama models and closes #2. Since many local-first models (like standard llama3) do not yet support the native OpenAI-style tool_calls API, we have implemented a Text-Based Prompt Routing strategy.

This update ensures Skillware is truly model-agnostic, enabling integration with any local LLM capable of generating structured JSON blocks. We have also hardened the core loader and expanded the test suite to ensure 100% deterministic reliability across all supported model families.

Logic & Cognition Changes

  • Framework Expansion: Added SkillLoader.to_ollama_prompt() to serialize skill manifests into markdown-formatted instructions suitable for a system prompt.
  • Hardened Loader: Updated the dynamic module loader in loader.py to use explicit issubclass validation against BaseSkill.
  • Reference Implementation: Created examples/ollama_skills_test.py featuring a robust execution loop that utilizes RegEx to extract and execute json blocks from the LLM's raw text stream.
  • Standardized Styling: Performed a repository-wide linting cleanup (PEP8) to ensure CI compatibility and code quality.

Type of Change (Matches Issue Templates)

  • 🚀 Skill Proposal: New Skill (Contains manifest.yaml, skill.py, and instructions.md)
  • 🐛 Bug Report Fix: Non-breaking change which fixes an execution error or framework bug
  • 📖 Doc Fix: Documentation Update
  • 🧠 Framework Feature / RFC Updates: Core Framework Update (Changes to base_skill.py, loader.py, etc.)

Checklist (For the Submitting Agent / Developer)

  • My code follows the Agent Code of Conduct.
  • I have included a properly formatted manifest.yaml (if submitting a new skill).
  • The skill logic operates purely in Python and does not rely on arbitrary LLM code generation.
  • Requirements and env_vars are explicitly documented in the manifest.
  • I have written unit tests proving deterministic execution and schema compliance (14/14 tests passing).
  • I have verified that SkillLoader successfully loads this module without missing dependency errors.

Constitution & Safety (If adding/modifying a Skill)

This framework update enables local execution, enhancing data privacy. No modifications were made to the internal safety boundaries of individual skills.

Related Issues

Closes #2

@rosspeili rosspeili merged commit f3f405c into ARPAHLS:main Mar 23, 2026
5 checks passed
@rosspeili rosspeili deleted the feature/ollama-integration branch March 23, 2026 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat]: Add Ollama / Local Model Support

1 participant