Skip to content

feat: Add text-based skill execution for Ollama#29

Merged
rosspeili merged 1 commit intoARPAHLS:mainfrom
rosspeili:feature/ollama-integration
Mar 23, 2026
Merged

feat: Add text-based skill execution for Ollama#29
rosspeili merged 1 commit intoARPAHLS:mainfrom
rosspeili:feature/ollama-integration

Conversation

@rosspeili
Copy link
Copy Markdown
Contributor

Description

This PR implements native support for local models running via Ollama and closes #2.

Since many local-first models (like the standard Llama 3) do not yet support the native OpenAI-style tool_calls API, we have introduced a Text-Based Prompt Routing strategy. This ensures Skillware is truly model-agnostic and works with any local LLM capable of generating JSON.

Key Changes

  • Universal Adapter: Added SkillLoader.to_ollama_prompt() to serialize skill manifests into markdown-formatted instructions for the system prompt.
  • Robust Loading: Hardened the dynamic module loader in loader.py using issubclass validation.
  • Local Integration Example: Created examples/ollama_skills_test.py which demonstrates a robust execution loop using Regex to extract json blocks from model responses.
  • Enhanced Test Coverage:
    • Added tests/test_loader.py to verify all LLM adapters (Gemini, Claude, Ollama).
    • Added tests/skills/finance/test_wallet_screening.py with full API mocking for the finance skill.
  • Documentation: New Using Ollama guide and discovery updates in README/Introduction.

Type of Change (Matches Issue Templates)

  • 🚀 Skill Proposal: New Skill
  • 🐛 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 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.
  • I have verified that SkillLoader successfully loads this module without missing dependency errors.

Constitution & Safety (If adding/modifying a Skill)

This update focuses on core framework infrastructure and documentation to enable local-first execution. No modifications were made to skill-specific safety boundaries.

Related Issues

Closes #2

@rosspeili rosspeili merged commit d9b098a into ARPAHLS:main Mar 23, 2026
@rosspeili rosspeili deleted the feature/ollama-integration branch March 23, 2026 17:41
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