| name | test-skill |
| description | Extended diagnostic skill that validates the full Cognithor skill lifecycle — SkillRegistry scanning, keyword matching (exact + fuzzy at 70% threshold), and async execution. Use when testing skill discovery, debugging keyword matching accuracy, validating the SkillRegistry scan cycle, or verifying async execute() behavior. |
Test Skill
Extended diagnostic that validates the full skill lifecycle: directory scan → SkillRegistry registration → keyword matching → async execute().
Steps
- Trigger the skill — Cognithor must match via keyword similarity:
cognithor test_skill <eingabe>
- Verify registration — confirm the skill appears in the registry:
User > Zeige alle registrierten Skills
# Expected: test_skill listed with NAME="test_skill", VERSION="0.1.0"
- Check keyword matching — the SkillRegistry uses exact match (case-insensitive) then fuzzy match (70% threshold). Verify the input routes to this skill, not the sibling
test skill
- Inspect the response —
execute() returns:
{"status": "ok", "result": "TODO"}
- Confirm async execution — the skill runs via
async def execute(self, params), so verify no blocking calls appear in logs
Example
User > cognithor test_skill Prüfe den Lifecycle
Cognithor > {"status": "ok", "result": "TODO"}
# Success: skill was discovered, matched, and executed asynchronously
Troubleshooting
| Symptom | Cause | Fix |
|---|
Routes to test instead | Fuzzy match overlap | Use the full slug test_skill to force exact match |
ModuleNotFoundError | __init__.py missing | Verify skills/test_skill/__init__.py exists |
| Timeout on execute | Event loop blocked | Check for synchronous calls in skill.py |
Notes
Diagnostic-only skill — "result": "TODO" is intentional. Differs from test by validating keyword disambiguation and the full scan-to-execute lifecycle.