-
Notifications
You must be signed in to change notification settings - Fork 0
Skills
Skills are self-contained capabilities Jarvis can run. Each lives in skills/<name>/ with:
-
skill.py— the hands (a small CLI:python skill.py <subcommand> [args]). -
SKILL.md— the method/judgment (how and when to use it). - optional
requirements.txt— Python deps (installed into the venv).
-
web—search/fetch/researchthe live web (no API key). Used for skeptical, current-fact answers. -
discover— scan the host + local network, organize findings into a per-host knowledge doc, queue + answer open questions (the curiosity loop), and propose work. -
deep-search— deep code research: locate → ripgrep trace → parallel explore → synthesize + red-team. Needsripgrep. -
youtube-research— search YouTube, pull captions, clean + chunk for reading. Needsyt-dlp.
From chat, type / for an autocomplete menu, then e.g.:
/web is ubuntu 26 out
/discover
/deep-search how does the tick lock work
/youtube-research lofi study beats
Or from the CLI:
./install.sh skill list
./install.sh skill install youtube-research
./install.sh skill run web research "best practices for X"In Settings → Skills, click Install on a skill with deps. Failures are shown inline (no silent failure) with a Retry. Skills resolve their own tools (e.g. yt-dlp) from the venv, so a successful install actually works.
You don't have to touch the repo. In Settings → Skills, click + and paste a SKILL.md (a title,
a short description, and the steps — including any helper script path and how to run it). It's saved to
state/skills/<name>/SKILL.md (reinstall-safe) and auto-detected — its catalog is injected into the
prompt so any routed model can use it. You can also just ask Jarvis to add a skill ("add a skill for
… here's the script and steps") and it writes the file for you.
-
mkdir skills/my-skilland addskill.pywith anargparseCLI and arequirements.txt(if needed). - Add a
SKILL.mddescribing the method and when to use it. - Add a manifest entry so it appears in
list_skills()(seejarvis/skills.py). - Preflight runtime deps and fail with a clear message if something's missing — never return empty/baseless output.
- Keep it mechanical; let the mind supply judgment via
SKILL.md.
Skills can also be shipped in an extras/skills/ overlay (gitignored) for private capabilities.