Skip to content

[WIP][OMEGA-76] Add workflow plugin to allow adding new skills via MarkDown files#259

Draft
vsbogd wants to merge 12 commits into
asi-alliance:mainfrom
vsbogd:add-skills-plugin
Draft

[WIP][OMEGA-76] Add workflow plugin to allow adding new skills via MarkDown files#259
vsbogd wants to merge 12 commits into
asi-alliance:mainfrom
vsbogd:add-skills-plugin

Conversation

@vsbogd

@vsbogd vsbogd commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Description

This PR supersedes #155 by implementing the same functionality via plugin API.
The PR introduces:

  • MeTTa plugin loader which allows writing OmegaClaw plugins in MeTTa language ./src/plugin.metta
  • MeTTa plugin API to add or remove agent's skills and extend prompt or remove extensions ./src/pluginapi.metta
  • adds few utility functions
  • adds MeTTa unit tests for the added components ./test directory
  • adds MeTTa unit test step into the CI workflow
  • adds "workflow" plugin (./plugins/workflow) which allows adding new skills via MarkDown files under ./plugins/workflow/instructions directory, please see [WIP] [OMEGA-76] Support adding skills using MarkDown descriptions #155 for the details of the "workflow" plugin behaviour

How Has This Been Tested?

MeTTa unit tests are written for the MeTTa plugin loader and API functions introduced.
To test the "workflow" plugin start the agent and ask "Start research. build a classifier for iris dataset using sklearn, compare logistic regression and random forest"

Checklist

  • The code generated by LLM is reviewed by the PR creator
  • Self-review completed
  • Test scenarios above are passed with the version of the code from PR

vsbogd and others added 9 commits July 16, 2026 19:36
Add separate loader to load plugins written in MeTTa. Add
add-skill/remove-skill add-prompt-extension/remove-prompt-extension
MeTTa functions to allow modifying prompt dynamically by plugins.
This plugin implements functionality introduced by PR #155. It adds
agent skills to list available workflows, load and unload workflow
instructions. Loading workflow instructions dynamically modifies list of
the agent's skills and prompt in order to make agent following the
workflow.

Co-authored-by: Svetlana Besaeva <BesSveta@gmail.com>
Because of trueagi-io/PeTTa#196 the only way
of writing MeTTa plugins now is using a single MeTTa file.
Create workspace for workflows directory on load. Allow configuring
instructions directory of the workflow plugin. Add list available
workflows to the prompt.
@vsbogd

vsbogd commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator Author

@besSveta please help to review and test plugin implementation

Comment on lines +46 to +49
(pin (strings-concat ("ACTIVE: " $research-name
" FILE: " $filename
" STATUS: executing"
" NEXT: follow loaded instructions")))

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @patham9 , I would like to ensure my understanding of pin is correct. I see it is implemented as

(= (pin $x)
   PIN-SUCCESS)

i.e. it doesn't do anything. My understanding when the LLMt calls it then call is written into the history.txt and it is the only purpose, isn't it?

@besSveta used pin in her implementation of loadable skills. But my understanding calling pin from the OmegaClaw-Core code is useless because in such case it is not written into the history.txt.

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.

1 participant