Skip to content

feat(skills): NL skill generation and GitHub repo mining (#2418, #1889)#2605

Merged
bug-ops merged 1 commit intomainfrom
nl-skill-generation
Apr 4, 2026
Merged

feat(skills): NL skill generation and GitHub repo mining (#2418, #1889)#2605
bug-ops merged 1 commit intomainfrom
nl-skill-generation

Conversation

@bug-ops
Copy link
Copy Markdown
Owner

@bug-ops bug-ops commented Apr 4, 2026

Summary

Config additions

[skills]
generation_provider = "fast"          # provider for /skill create
generation_output_dir = "skills/generated"

[skills.mining]
generation_provider = "fast"
embedding_provider = "fast"
dedup_threshold = 0.85
queries = ["devops automation", "data analysis"]
output_dir = "skills/mined"
rate_limit_rpm = 25

Test plan

  • cargo nextest run -p zeph-skills --lib — 361 tests pass (22 new unit tests for generator/miner)
  • Live session: /skill create "summarize a URL and save to file" — generates, previews, confirms, hot-reloads
  • Live session: cargo run --bin zeph-skills-miner -- --query "devops" --output /tmp/skills --dry-run — no files written
  • Verify generated skill appears with quarantined trust in zeph skills list
  • See .local/testing/playbooks/skill-generation.md for full live testing playbook

Follow-up issues (not in this PR)

  • Injection pattern warnings should block save unless user provides explicit override
  • GitHub token in SkillMiner should use Secret<String> with zeroize-on-drop
  • Add input length cap (2048 chars) on /skill create description
  • Retry prompt should include failed LLM output for better correction feedback
  • /skill create should dedup against existing registry before saving

Closes #2418
Closes #1889

Add two new skill acquisition pathways to zeph-skills:

1. `/skill create <description>` — generates a complete SKILL.md from a
   natural language description using an LLM (IronClaw NL-to-skill pattern).
   Generated skills are previewed, require explicit user approval, and are
   assigned quarantined trust level on save. Validates frontmatter and body
   for injection patterns before presenting to the user.

2. `zeph-skills-miner` binary — offline pipeline that crawls GitHub repos by
   topic query, generates SKILL.md from README content via LLM, deduplicates
   against the existing registry (cosine similarity >= 0.85), and writes novel
   skills to a configurable output directory for hot-reload pickup.

Config additions: `[skills] generation_provider`, `generation_output_dir`;
new `[skills.mining]` section with `generation_provider`, `embedding_provider`,
`dedup_threshold`, `queries`, `output_dir`, `rate_limit_rpm`.

Both features follow multi-model design: provider fields reference
`[[llm.providers]]` by name, falling back to the primary provider when unset.
@bug-ops bug-ops force-pushed the nl-skill-generation branch from d8658e9 to 7c9f3e4 Compare April 4, 2026 01:15
@bug-ops bug-ops merged commit 97a1666 into main Apr 4, 2026
27 checks passed
@bug-ops bug-ops deleted the nl-skill-generation branch April 4, 2026 01:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config Configuration file changes core zeph-core crate dependencies Dependency updates documentation Improvements or additions to documentation enhancement New feature or request rust Rust code changes size/XL Extra large PR (500+ lines) skills zeph-skills crate

Projects

None yet

1 participant