Skip to content

feat(skill): add frontmatter fields and single SKILL.md import - #29

Merged
liut merged 1 commit into
mainfrom
feat/skill-frontmatter-fields
Sep 14, 2026
Merged

liut merged 1 commit into
mainfrom
feat/skill-frontmatter-fields

Conversation

@liut

@liut liut commented Sep 14, 2026

Copy link
Copy Markdown
Owner

Features

  • Skill gains seven frontmatter-derived columns (version, author, license, platform, category, homepage, related_skills), validated against DB widths
  • skill.description widened to text (DB), 500-char soft cap at the model layer
  • POST /api/skills/import: import a single SKILL.md (JSON content or multipart file, 10MiB, UTF-8); name from frontmatter, owner = current user, conflicts reject without overwrite
  • import-skill CLI with --owner (username or oid, resolved against users) and --channel flags

Changes

  • Frontmatter parses into (meta, body, ok); Skill.Content stores the body only, frontmatter is consumed into the seven columns
  • CreateSkillWithFiles / UpdateSkillWithFiles no longer re-parse Content; callers fill the metadata columns. Package-level CreateSkill / UpdateSkill extracted for reuse
  • ParseChannels reports unknown names instead of dropping them
  • Skill implements comm.ModelOwner (GetOwnerID / SetOwnerID / OwnerEmpty)

Features
- Skill gains seven frontmatter-derived columns (version, author, license,
  platform, category, homepage, related_skills), validated against DB widths
- skill.description widened to text (DB), 500-char soft cap at the model layer
- POST /api/skills/import: import a single SKILL.md (JSON content or
  multipart file, 10MiB, UTF-8); name from frontmatter, owner = current user,
  conflicts reject without overwrite
- import-skill CLI with --owner (username or oid, resolved against users)
  and --channel flags

Changes
- Frontmatter parses into (meta, body, ok); Skill.Content stores the body
  only, frontmatter is consumed into the seven columns
- CreateSkillWithFiles / UpdateSkillWithFiles no longer re-parse Content;
  callers fill the metadata columns. Package-level CreateSkill / UpdateSkill
  extracted for reuse
- ParseChannels reports unknown names instead of dropping them
- Skill implements comm.ModelOwner (GetOwnerID / SetOwnerID / OwnerEmpty)
- schema 20260914000000_skill_frontmatter.up.sql adds the seven columns and
  ALTERs description to text
@liut
liut merged commit 38685ef into main Sep 14, 2026
2 checks passed
@liut
liut deleted the feat/skill-frontmatter-fields branch September 14, 2026 05:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant