Skip to content

feat(seo): merge claude-seo into the SEO skill catalog + fix skills F…#4

Merged
deve1993 merged 1 commit into
mainfrom
feat/seo-skills-merge-and-fts-fix
Jun 21, 2026
Merged

feat(seo): merge claude-seo into the SEO skill catalog + fix skills F…#4
deve1993 merged 1 commit into
mainfrom
feat/seo-skills-merge-and-fts-fix

Conversation

@deve1993

Copy link
Copy Markdown
Collaborator

…TS sync

Incorporates the claude-seo repo (MIT, (c) 2026 agricidaniel) into Synapse's git-tracked skill catalog (packages/codegraph/data/skill/), which the container ships and the entrypoint auto-imports on every boot — so this propagates to prod on deploy with no manual step.

SEO skills (20):

  • 11 enriched: seo, seo-technical, seo-audit, seo-geo, seo-schema, seo-content, seo-hreflang, seo-images, seo-sitemap-advanced, seo-competitor-pages, seo-plan (audit/E-E-A-T/GEO methodology, CWV thresholds, falsifiability, primary-source Google guidance; kept our Next.js implementation code)
  • 6 new: seo-backlinks, seo-local, seo-ecommerce, seo-sxo, seo-content-drift, seo-topical-clusters; +1 reference dataset: seo-google-guidelines
  • 2 optional generic-named integration refs: seo-rank-data, seo-crawl-data
  • adapted to our style, no brand names in skill names, MIT attribution footer.

FTS fix (the boot-time import was silently corrupting the index every deploy):

  • skills upsert: INSERT OR REPLACE -> INSERT ... ON CONFLICT(name) DO UPDATE. INSERT OR REPLACE churned skills.rowid on every write, orphaning the FTS5 external-content index (skills_fts) -> fts5: missing row in skill_route after each re-import. Stable rowids also preserve autolearning columns for free and keep status on null (importer) vs default active on insert.
  • migration 035: AFTER INSERT/UPDATE(OF indexed cols)/DELETE triggers maintain FTS via the external-content delete+insert protocol + a one-time rebuild that repairs existing orphans on any DB (incl. prod at deploy). Removed the redundant manual FTS write from code.
  • +5 regression tests (skills-store-fts). Tests: storage 19, codegraph 294 green.

…TS sync

Incorporates the claude-seo repo (MIT, (c) 2026 agricidaniel) into Synapse's
git-tracked skill catalog (packages/codegraph/data/skill/), which the container
ships and the entrypoint auto-imports on every boot — so this propagates to prod
on deploy with no manual step.

SEO skills (20):
- 11 enriched: seo, seo-technical, seo-audit, seo-geo, seo-schema, seo-content,
  seo-hreflang, seo-images, seo-sitemap-advanced, seo-competitor-pages, seo-plan
  (audit/E-E-A-T/GEO methodology, CWV thresholds, falsifiability, primary-source
  Google guidance; kept our Next.js implementation code)
- 6 new: seo-backlinks, seo-local, seo-ecommerce, seo-sxo, seo-content-drift,
  seo-topical-clusters; +1 reference dataset: seo-google-guidelines
- 2 optional generic-named integration refs: seo-rank-data, seo-crawl-data
- adapted to our style, no brand names in skill names, MIT attribution footer.

FTS fix (the boot-time import was silently corrupting the index every deploy):
- skills upsert: INSERT OR REPLACE -> INSERT ... ON CONFLICT(name) DO UPDATE.
  INSERT OR REPLACE churned skills.rowid on every write, orphaning the FTS5
  external-content index (skills_fts) -> `fts5: missing row` in skill_route after
  each re-import. Stable rowids also preserve autolearning columns for free and
  keep status on null (importer) vs default active on insert.
- migration 035: AFTER INSERT/UPDATE(OF indexed cols)/DELETE triggers maintain FTS
  via the external-content delete+insert protocol + a one-time rebuild that repairs
  existing orphans on any DB (incl. prod at deploy). Removed the redundant manual
  FTS write from code.
- +5 regression tests (skills-store-fts). Tests: storage 19, codegraph 294 green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@deve1993 deve1993 merged commit b728689 into main Jun 21, 2026
1 check passed
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