--- name: to-skills-core description: 'Shared types, SKILL.md renderer, and token budgeting for to-skills plugins' license: MIT --- # @to-skills/core Shared types, SKILL.md renderer, and token budgeting for to-skills plugins ## When to Use - You have one or more ExtractedSkill objects and need SKILL.md + references/ output - Building a custom extraction pipeline that bypasses the TypeDoc plugin - You need fine-grained control over rendering a single skill - You have RenderedSkill objects from renderSkills() and need to persist them to the filesystem - Building a custom pipeline that separates rendering from writing (e.g., for preview or dry-run) - You need structured README sections for audit context or skill enrichment - The audit engine calls this to check for Features and Troubleshooting sections - You want programmatic quality feedback on JSDoc coverage before publishing skills - Building a CI gate that blocks PRs with undocumented exports - You have hand-written prose docs (tutorials, guides, architecture) in a docs/ directory - You want these docs included alongside API skills for richer agent context - You have ParsedMarkdownDoc objects from scanDocs() and need to attach them to an ExtractedSkill - You want to include well-known root-level markdown files (ARCHITECTURE.md, MIGRATION.md, CONTRIBUTING.md) as documents - Supplementing API skills with project-level documentation context - You have an `examples/` directory alongside source code - You want to link example files to the exported symbols they demonstrate - You have scanned examples with `scanExamples` and want to attach them to - the relevant exported symbols inside an `ExtractedSkill` **Avoid when:** - Rapid local iteration where audit noise slows you down — use the skillsAudit: false option instead - Your docs/ directory contains only auto-generated API docs — they duplicate the TypeDoc output - Your root directory has many auto-generated or release-tracking markdown files — use explicit include lists instead - Your examples are embedded as - API surface: 18 functions, 25 types ## Pitfalls - NEVER set maxTokens below 500 — reference files become truncated mid-signature, producing broken code blocks that confuse LLMs - NEVER pass skills with empty `name` — the output directory becomes a bare `/` path - NEVER set maxTokens below 500 — reference files become truncated mid-signature, producing broken code blocks ## Configuration 3 configuration interfaces — see references/config.md for details. - **SkillRenderOptions** — Options controlling skill rendering - **LlmsTxtOptions** - **DocsExtractionOptions** — Configuration options that control how a docs directory is scanned and which markdown files are included in the extraction. ## Quick Reference **Rendering:** `renderSkills`, `renderSkill` **I/O:** `writeSkills` **Token Management:** `estimateTokens`, `truncateToTokenBudget` **llms-txt:** `renderLlmsTxt`, `LlmsTxtResult` **Parsing:** `parseReadme`, `parseMarkdownDoc`, `scanDocs`, `docsToExtractedDocuments`, `scanRootDocs`, `scanExamples`, `linkExamplesToSkill` **Audit:** `auditSkill`, `formatAuditText`, `formatAuditJson` **config-renderer:** `renderConfigSurfaceSection`, `renderConfigReference` **types:** `ExtractedSkill`, `ExtractedFunction`, `ExtractedClass`, `ExtractedType`, `ExtractedEnum`, `ExtractedParameter`, `ExtractedProperty`, `ExtractedVariable`, `ExtractedDocument`, `RenderedFile`, `RenderedSkill` **audit-types:** `AuditSeverity`, `AuditIssue`, `AuditPass`, `AuditContext`, `ParsedReadme`, `AuditResult` **config-types:** `ConfigSourceType`, `ExtractedConfigSurface`, `ExtractedConfigOption`, `ExtractedConfigArgument` **markdown-types:** `ParsedSection`, `ParsedMarkdownDoc` **examples-scanner:** `ParsedExample` ## Links - [Repository](https://github.com/pradeepmouli/to-skills) - Author: Pradeep Mouli