back to home

harlan-zw / skilld

Generate AI agent skills from your NPM dependencies. npx skilld

223 stars
4 forks
6 issues
TypeScriptJavaScript

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing harlan-zw/skilld in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/harlan-zw/skilld)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

skilld > Generate AI agent skills from your NPM dependencies. Why? When using new packages or migrating to new versions, agents often struggle to use the appropriate best practices. This is because agents have knowledge cutoffs and predict based on existing patterns. Methods of getting the right context to your agent require either manual curation, author opt-in, external servers or vendor lock-in. See the landscape for more details. Skilld generates agent skills from the references maintainers already create: docs, release notes and GitHub issues. With these we can create version-aware, local-first, and optimized skills. Made possible by my Sponsor Program πŸ’– Follow me @harlan_zw 🐦 β€’ Join Discord for help Features β€’ 🌍 **Any Source: Opt-in** - Any NPM dependency or GitHub source, docs auto-resolved β€’ πŸ“¦ **Bleeding Edge Context** - Latest issues, discussions, and releases. Always use the latest best practices and avoid deprecated patterns. β€’ πŸ“š **Opt-in LLM Sections** - Enhance skills with LLM-generated , , or your own custom prompts β€’ 🧩 **No Agent Required** - Export prompts and run them in any LLM (ChatGPT, Claude web, API). No CLI agent dependency. β€’ πŸ” **Semantic Search** - Query indexed docs across all skills via retriv embeddings β€’ 🧠 **Context-Aware** - Follows Claude Code skill best practices: SKILL.md stays under 500 lines, references are separate files the agent discovers on-demand β€” not inlined into context β€’ 🎯 **Safe & Versioned** - Prompt injection sanitization, version-aware caching, auto-updates on new releases β€’ 🀝 **Ecosystem** - Compatible with and skills-npm Quick Start Run skilld in a project to generate skills for your dependencies through a simple interactive wizard: __Requires Node 22.6.0 or higher.__ Or add a specific package directly: If you need to re-configure skilld, just run to update your agent, model, or preferences. **No agent CLI?** No problem β€” choose "No agent" when prompted. You get a base skill immediately, plus portable prompts you can run in any LLM: Tips β€’ **Be selective** - Only add skills for packages your agent struggles with. Not every dependency needs one. β€’ **LLM is optional** - Skills work without any LLM, but enhancing with one makes them significantly better. β€’ **Multi-agent** - Run to sync skills to another agent. The doc cache is shared. Installation Global Install globally to use across all projects without : Then run in any project directory. Per-Project If you'd like to install skilld and track the lock file references, add it as a dev dependency: Automatic Updates Add to to keep skills fresh on install: FAQ Why don't the skills run? Try this in your project/user prompt: How is this different from Context7? Context7 is an MCP that fetches raw doc chunks at query time. You get different results each prompt, no curation, and it requires their server. Skilld is local-first: it generates a SKILL.md that lives in your project, tied to your actual package versions. No MCP dependency, no per-prompt latency, and it goes further with LLM-enhanced sections, prompt injection sanitization, and semantic search. Will I be prompt injected? Skilld pulls issues from GitHub which could be abused for potential prompt injection. Skilld treats all data as untrusted, running in permissioned environments and using best practices to avoid injections. However, always be cautious when using skills from untrusted sources. Do skills update when my deps update? Yes. Run to regenerate outdated skills, or add to your prepare script and they regenerate in the background whenever you install packages. CLI Usage Commands | Command | Description | |---------|-------------| | | Interactive wizard (first run) or status menu (existing skills) | | | Add skills for package(s), space or comma-separated | | | Update outdated skills (all or specific) | | | Search indexed docs ( to filter by package) | | | List installed skills ( for machine-readable output) | | | Show skill info and config | | | Configure agent, model, preferences | | | Restore references from lockfile | | | Remove installed skills | | | Remove all skilld data | | | Cache management (clean expired LLM cache entries) | | | Eject skill as portable directory (no symlinks) | | | Merge LLM output files back into SKILL.md (auto-discovers) | Works Without an Agent CLI No Claude, Gemini, or Codex CLI? Choose "No agent" when prompted. You get a base skill immediately, plus portable prompts you can run in any LLM to enhance it: auto-discovers skills with pending output files. re-exports prompts for outdated packages. Eject Export a skill as a portable, self-contained directory for sharing via git repos: Share via β€” consumers get fully functional skills with no LLM cost. CLI Options | Option | Alias | Default | Description | |--------|-------|---------|-------------| | | | | Install globally to | | | | auto-detect | Target specific agent (claude-code, cursor, etc.) | | | | | Skip prompts, use defaults | | | | | Ignore all caches, re-fetch docs and regenerate | | | | config default | LLM model for skill generation (sonnet, haiku, opus, etc.) | | | | | Custom skill directory name (eject only) | | | | | Output directory path override (eject only) | | | | | Collect releases/issues/discussions from this date (YYYY-MM-DD, eject only) | | | | | Save raw LLM output to logs/ for each section | The Landscape Several approaches exist for steering agent knowledge. Each fills a different niche: | Approach | Versioned | Curated | No Opt-in | Local | Any LLM | |:---------|:---------:|:-------:|:---------:|:-----:|:-------:| | **Manual rules** | βœ— | βœ“ | βœ“ | βœ“ | βœ“ | | **llms.txt** | ~ | βœ— | βœ— | βœ— | βœ“ | | **MCP servers** | βœ“ | βœ— | βœ— | βœ— | βœ— | | **skills.sh** | βœ— | ~ | βœ“ | βœ— | βœ— | | **skills-npm** | βœ“ | βœ“ | βœ— | βœ“ | βœ— | | **skilld** | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | > **Versioned** β€” tied to your installed package version. **Curated** β€” distilled best practices, not raw docs. **No Opt-in** β€” works wit…