| 45-content-as-skills |
01 |
skills |
| skill-registry |
| content-generation |
| local-nexus-content |
| creative-group |
| libsql |
| drizzle |
|
| phase |
provides |
| 40-job-infrastructure |
content_jobs table and renderContent dispatcher with all 9 jobTypes |
|
| phase |
provides |
| 41-diagrams-icons-theme-engine |
diagram, icon-set, theme-palette renderers |
|
| phase |
provides |
| 42-wallpapers-social-format-conversion-voice |
wallpaper, social-post, convert renderers |
|
| phase |
provides |
| 43-documents-branding |
pdf-document, brand-kit renderers |
|
| phase |
provides |
| 44-video-presentations |
presentation renderer |
|
|
| 9 SKILL.md files in server/src/skills/content/ with frontmatter, jobType docs, and output docs |
| local-nexus-content source type in skill-registry-fetcher.ts |
| fetchLocalNexusContent function that reads .SKILL.md files, computes SHA-1 hash, upserts skills |
| nexus-content entry in BUILT_IN_SOURCES pointing to local skills/content dir |
| seedCreativeGroupMembers() export in skill-registry-db.ts seeding 9 content skills into builtin/creative group |
| getRawClient() export for test access to raw LibSQL client |
| Unified startup block in index.ts |
| DB init -> fetchAll -> seedCreativeGroupMembers -> reconcile pending groups |
|
| 9 unit tests for SKILL.md files, fetchLocalNexusContent, and Creative group seeding |
|
| agents-with-creative-group |
| skill-registry-api |
| pendingSkillGroups-reconciler |
|
| added |
patterns |
|
|
| local-nexus-content source type |
| discriminated union variant in SkillSourceConfig for filesystem-based skill discovery |
|
| SHA-1 content hash for idempotency on local files (no commit SHA available) |
| seedCreativeGroupMembers uses INSERT OR IGNORE — safe to call multiple times |
| getRawClient() exposes LibSQL singleton for direct SQL outside drizzle context |
|
|
| created |
modified |
| server/src/skills/content/diagram.SKILL.md |
| server/src/skills/content/icon-set.SKILL.md |
| server/src/skills/content/theme-palette.SKILL.md |
| server/src/skills/content/wallpaper.SKILL.md |
| server/src/skills/content/social-post.SKILL.md |
| server/src/skills/content/convert.SKILL.md |
| server/src/skills/content/pdf-document.SKILL.md |
| server/src/skills/content/brand-kit.SKILL.md |
| server/src/skills/content/presentation.SKILL.md |
| server/src/__tests__/skill-registry-content-skills.test.ts |
|
| server/src/services/skill-registry-fetcher.ts |
| server/src/services/skill-registry-db.ts |
| server/src/index.ts |
| server/src/__tests__/skill-registry-fetch.test.ts |
|
|
| SkillSourceConfig changed to discriminated union — fetchAnthropicMarketplace/fetchGitHubTree narrowed to Extract types for tsc safety |
| SHA-1 content hash used for local SKILL.md idempotency — no Git commit SHA available for local files |
| seedCreativeGroupMembers does NOT run inside getSkillRegistryDb() — must run after fetchAll so skill rows exist first |
| getRawClient() exported for test access — tests need raw SQL for skill_group_members queries |
| pendingSkillGroups reconciler merged into skill registry init block — guarantees Creative group is seeded before reconciliation |
| skill-registry-fetch.test.ts Test 7 updated to expect 4 BUILT_IN_SOURCES — auto-fixed to reflect new local source |
|
| local-nexus-content pattern: filesystem skill source reads .SKILL.md files, derives slug from filename sans extension |
| Content hash idempotency: SHA-1 of file content serves as version identifier for local files |
|
| SKILL-01 |
| SKILL-02 |
| SKILL-03 |
|
3min |
2026-04-04 |