Skip to content

Releases: charlesjones-dev/claude-code-plugins-dev

v2.4.3

28 Apr 20:46

Choose a tag to compare

AI-Workflow Plugin (v1.4.0 → v1.5.0)

Added

  • /workflow-rules — Add, remove, or list curated behavior rules in CLAUDE.md (cross-project, picked from a shipped library). Distinct from /workflow-principles (project-specific coding standards): /workflow-rules controls how Claude behaves (PR/commit hygiene, scope discipline, communication style) and is identical across projects.
    • Interactive flow via AskUserQuestion: Add / Remove / List / Cancel.
    • Cross-platform target resolution — user-level ~/.claude/CLAUDE.md (POSIX) or %USERPROFILE%\.claude\CLAUDE.md (Windows), or project-level ./CLAUDE.md.
    • Each installed rule is wrapped in <!-- workflow-rules:id=<id> --> comment markers so adds are idempotent and removes are precise — even after the user edits the rule's title.
    • Already-installed rules are filtered from the add picker; multi-select lets the user install many at once.
    • Diff preview + explicit confirm before any write. Never auto-creates ~/.claude/CLAUDE.md without asking.
    • Library ships lean (10 rules across PR & Commit Hygiene, Scope Discipline, Communication Style); syncs across machines via /plugin update.

v2.4.2 — ai-knowledge v1.5.0: cross-platform date resolution bug fix

22 Apr 02:50

Choose a tag to compare

Fixed

AI-Knowledge Plugin (v1.4.0 → v1.5.0)

  • All /kb-* skills — Fixed last-updated frontmatter bug where Claude would infer the date by incrementing the existing value (often producing a date in the future) instead of checking what today actually is. Every skill that writes created / last-updated now mandates resolving today's date once at the start of its write phase by running a shell command and reusing that single value for every write. Guessing, inferring, and incrementing are explicitly forbidden.
  • Cross-platform date resolution — Documented in every writing skill: date +%Y-%m-%d on macOS / Linux / WSL / Git Bash, Get-Date -Format 'yyyy-MM-dd' on Windows PowerShell, powershell -NoProfile -Command ... fallback for cmd.exe, plus Node / Python portable fallbacks. Skills walk the list until one returns a valid YYYY-MM-DD string, making them reliable on both macOS and Windows environments.
  • Idempotent writeslast-updated is now only bumped when the file's content actually changed. Untouched files are no longer rewritten, so drive-by date bumps during cross-reference and index passes stop happening. /kb-upgrade explicitly notes that already-compliant files must not be rewritten on re-runs.

Skills covered

kb-learn, kb-add, kb-harvest, kb-discover, kb-query, kb-import, kb-absorb, kb-organize, kb-prune, kb-remove, kb-ingest, kb-upgrade, kb-init (13 write-capable skills). Read-only skills (kb-auto, kb-list, kb-load, kb-search) were untouched.

Full Changelog: v2.4.1...v2.4.2

v2.4.1 — ai-geo llms.txt discoverability signals

18 Apr 04:35

Choose a tag to compare

ai-geo v1.0.0 → v1.1.0

Extends all three ai-geo skills with the stackable weak-signal stack for llms.txt discovery beyond serving /llms.txt at root.

🧪 No major LLM provider (OpenAI, Anthropic, Perplexity, Google) has publicly committed to reading llms.txt as a first-class signal. Discovery today depends on multiple weak signals stacked together.

Changed

/geo-audit

  • Category 1 (llms.txt Protocol Compliance) gains four discoverability-signal checks:
    • <head> <link rel="alternate" type="text/markdown" title="llms.txt" href="/llms.txt">Medium if missing
    • sitemap.xml <url><loc>/llms.txt</loc></url> entry — Medium if missing
    • robots.txt # LLM index: https://<domain>/llms.txt comment — Low / informational
    • Public directory submission (llmstxt.site, directory.llmstxt.cloud) — Low / manual; never auto-detected, never Critical/High
  • Report template gains "On llms.txt discovery" subsection documenting the weak-signal landscape and 🧪 experimental marker.

/geo-fix

  • Safe-auto bucket gains three new fixes:
    • <link rel="alternate"> in <head> via framework-idiomatic head API (Next.js Metadata API alternates.types, Nuxt useHead, Vue + @unhead/vue, Astro layout, SvelteKit <svelte:head>, Remix meta export, vanilla <head>) — skip if already present
    • /llms.txt entry in sitemap (Next.js app/sitemap.ts push, static <url> block with changefreq=monthly + priority=0.5, @nuxtjs/sitemap, @astrojs/sitemap customPages) — skip if already present
    • # LLM index: https://<domain>/llms.txt comment in robots.txt with auto-derived domain (prompts if unresolvable) — skip if already present
  • New informational bucket prints directory-submission URLs as a manual next step (web forms, never automated).
  • Terminal summary gains "llms.txt discovery signals" block with per-signal status + build-order warning.
  • Build-order rule: when both llms.txt and sitemap are build-time generated, llms.txt generator MUST run first so the sitemap can read llms.txt's mtime. Warn with suggested reordering rather than silent reshuffle.

/geo-llms-txt

  • New Step 7.5 — Wire Discoverability Signals (post-write) offers to add the head link[rel=alternate] hint, sitemap /llms.txt entry, and robots.txt comment after writing llms.txt, each skipped if already present.
  • New Build pipeline — order dependency subsection under Step 6 documents per-framework rules: Next.js Metadata API (no order issue), Astro endpoint vs static, Nuxt prebuild hook, Vite/SvelteKit/Remix/TanStack Start warn-don't-reshuffle.
  • Terminal summary gains discoverability-signal statuses + manual directory-submission URLs.
  • Quality Assurance Checklist extended with post-write wiring + build-order + directory-submission items.
  • llms-full.txt logic unchanged.

Preserved

LLM Knowledge Gap Corrections, examples, and existing QA checklist items across all three skills.

Marketplace

  • ai-geo: 1.0.01.1.0
  • marketplace: 2.4.02.4.1

Full changelog: v2.4.0...v2.4.1

v2.4.0 — ai-seo and ai-geo plugins

17 Apr 21:43

Choose a tag to compare

What's new

Two new plugins for web-content optimization across both traditional search engines and AI answer engines.

🆕 ai-seo v1.0.0

Modern SEO auditing and remediation that catches deprecated patterns LLMs still generate (keywords meta tags, X-UA-Compatible, IE conditionals, float layouts, XHTML doctype, FID optimization) and enforces current best practices (JSON-LD, Core Web Vitals with INP, semantic HTML, framework-idiomatic meta APIs).

Skills:

  • /seo-audit — 9-category weighted audit with timestamped reports in /docs/seo-audit/
  • /seo-fix — tiered safe-auto / content-requiring / refactor remediation with --dry-run
  • /seo-schema — JSON-LD generator and validator for 15+ schema types

Framework support: Next.js (App + Pages Router), Nuxt, TanStack Start, Astro, SvelteKit, Remix, vanilla HTML. Context7 MCP integration with explicit training-data fallback.

🆕 ai-geo v1.0.0

Generative Engine Optimization (GEO) — the AI-engine counterpart to SEO. Optimizes web content for citation in ChatGPT, Perplexity, Claude, Gemini, Google AI Overviews, and Bing Copilot.

Skills:

  • /geo-audit — 10-category weighted audit (llms.txt protocol, AI crawler access, content structure, citation-worthiness, AI-friendly structured data, semantic chunking, content freshness, entity optimization, conversational alignment, technical AI accessibility)
  • /geo-fix — safe-auto / intent-requiring / content-requiring / refactor remediation with separate prompts for training-bot vs citation-bot policy
  • /geo-llms-txt — generate, update, or validate llms.txt and llms-full.txt per the llmstxt.org spec

Key distinctions from SEO:

  • Distinguishes training crawlers (GPTBot, ClaudeBot, Google-Extended, CCBot, Applebot-Extended, Bytespider, Amazonbot, FacebookBot, Omgilibot) from answer/citation crawlers (ChatGPT-User, OAI-SearchBot, PerplexityBot, Perplexity-User, Claude-Web) — never recommends blanket blocking
  • Emerging best practices marked with 🧪 so users apply judgment
  • Cross-references /seo-audit for overlap areas (structured data, semantic HTML, authoritativeness)

Framework-aware llms.txt placement for Next.js, Nuxt, TanStack Start, Astro, SvelteKit, Remix, and vanilla HTML.

Install

/plugin marketplace add charlesjones-dev/claude-code-plugins-dev
/plugin install ai-seo@claude-code-plugins-dev
/plugin install ai-geo@claude-code-plugins-dev

Full changelog

See CHANGELOG.md for the full v2.4.0 entry.

Full diff: v2.3.4...v2.4.0

v2.3.4 — Structured Dynamic Context Loading

06 Apr 17:59

Choose a tag to compare

AI-Knowledge Plugin v1.4.0

The Problem

The "When to Load" column in CLAUDE.md — the only mechanism Claude uses to decide which KB files to read — contained vague free-text like "When working in packages/api/" instead of structured, matchable criteria. Meanwhile, the actual scope patterns and tags were locked inside each KB file's frontmatter, invisible until loaded.

The Fix

Structured "When to Load" format — All KB commands now generate loading criteria with scope globs + topic keywords:

`src/api/**`, `*.controller.ts` — api, rest, middleware

Improved CLAUDE.md preamble — Explicit 4-point matching instructions telling Claude how to use scope patterns, keywords, and the pinned _index.md for routing.

Loading notifications — Claude now tells users when it loads a KB file: 📖 Loading KB: api-conventions.md

New Commands

  • /kb-upgrade — Comprehensive KB upgrade (replaces /kb-obsidian). Audits and fixes: Related body links, global learnings migration, "When to Load" format, preamble, _index.md schema, scope suggestions, frontmatter health, folder organization. Re-runnable and idempotent.

  • /kb-load — Manually load KB articles mid-conversation by filename, topic, or tag filter. Interactive picker when no argument given. Follows related cross-references one level deep.

Changes

  • scope frontmatter field now supports arrays: scope: ["src/api/**", "*.controller.ts"]
  • _index.md All Pages table includes a Scope column
  • /kb-organize now refreshes "When to Load" values during reorganization
  • All 10 table-writing skills updated with structured format instructions

Removed

  • /kb-obsidian — All functionality absorbed into /kb-upgrade

Upgrade Existing KBs

Run /kb-upgrade in any project with an existing knowledge base to bring it up to the latest practices.

v2.3.3 - AI-Knowledge v1.3.0 - Obsidian Compatibility, Query & Organize

05 Apr 18:08

Choose a tag to compare

AI-Knowledge Plugin (v1.3.0) — Obsidian Compatibility, Query & Organize

New Skills

  • /kb-query — Query the knowledge base and synthesize answers from multiple KB files. Optionally file answers back as new KB articles so explorations compound into the knowledge base. Inspired by Karpathy's LLM Wiki pattern.
  • /kb-obsidian — One-time migration to upgrade an existing KB for Obsidian compatibility. Adds ## Related body sections with [[wiki-links]] for graph view, migrates inline global learnings, generates _index.md and _log.md, and offers to reorganize flat files into category folders.
  • /kb-organize — Standalone folder reorganization for existing flat KB structures. Suggests category folders (architecture/, conventions/, testing/, etc.) based on tags and content with preview-first safety.

New Infrastructure Files

  • _index.md — Auto-generated, pinned catalog of all KB articles organized by category with one-line summaries. The LLM reads this first to find relevant pages before drilling into individual articles.
  • _log.md — Append-only chronological record of KB operations (ingests, queries, prunes, etc.) for tracking how the knowledge base evolves.

Changes to All Existing Skills

  • Obsidian-compatible Related Links — All /kb-* commands now maintain a ## Related section at the end of KB files with [[wiki-links]] for Obsidian graph view and link navigation.
  • Global Learnings as dedicated KB file — Stored in docs/kb/_global-learnings.md instead of inline in CLAUDE.md.
  • Subfolder organization — New KB files are preferentially placed in category subfolders.
  • Index & log maintenance — All KB-writing commands conditionally update _index.md and _log.md (backwards-compatible with older KBs).
  • Cross-reference cleanup includes body links/kb-remove and /kb-prune update both frontmatter and body ## Related sections.

Backwards Compatibility

All changes are fully backwards-compatible. Existing flat KB structures continue to work. _index.md and _log.md updates are conditional (only if the files exist). Run /kb-obsidian to upgrade an existing KB to the latest structure.

Full Changelog: v2.3.2...v2.3.3

v2.3.2 — /kb-harvest and /kb-discover skills

03 Apr 21:56

Choose a tag to compare

AI-Knowledge Plugin (v1.2.0)

New Skills

/kb-harvest — Harvest knowledge from external sources

Ingest documentation from sibling git repos, local directories, individual files, or web URLs into your centralized knowledge base.

  • Scan sibling repos: C:/Source/*/docs/**/*.md
  • Fetch and distill web pages (wikis, Confluence, internal docs)
  • Auto-tag with module:{name} based on source directory structure
  • Track provenance via source frontmatter field for future re-harvesting
  • Discovery report with batch selection (pre-checked/unchecked sources)
  • Per-article content preview and approval before writing
  • Detects topic overlap with existing KB files and proposes appending

/kb-discover — Extract implicit knowledge from source code

Analyze source code to discover architecture patterns, naming conventions, API contracts, and unwritten rules — then distill them into KB articles.

  • Targeted analysis (specific directories), focus areas (topics), or full codebase scan
  • Auto-detects tech stack and prioritizes analysis targets
  • Extracts 8 knowledge categories: architecture, naming, API contracts, data models, error handling, config, testing, cross-cutting conventions
  • Groups findings into coherent KB articles (not raw category dumps)
  • Per-article draft preview and approval before writing
  • Evidence-based only — requires observed repetition across files
  • Right-sizes articles to 50–150 lines for context-friendly loading
  • Tracks provenance via discovered-from frontmatter field

Full Changelog: v2.3.1...v2.3.2

v2.3.1

03 Apr 05:15

Choose a tag to compare

AI-Knowledge Plugin (v1.1.0)

Added

  • /kb-ingest - Ingest specific markdown files from anywhere in the project into the KB, as a targeted alternative to /kb-absorb
    • Accepts one or more file paths (e.g., /kb-ingest docs/api-guide.md)
    • Distills content into concise, actionable KB format with proper frontmatter
    • Detects overlap with existing KB files and proposes appending instead of creating duplicates
    • Registers new KB entries in the CLAUDE.md Knowledge Base table
    • Preserves source files (never modifies or deletes originals)

Fixed

  • Fixed pinned file loading instruction in kb-init - The CLAUDE.md template previously told Claude to check frontmatter of every KB file to find pinned entries, defeating the purpose of the dynamic loading table. Now correctly directs Claude to use the "When to Load" column ("Always (pinned)") as the source of truth

v2.3.0 - AI Knowledge Plugin

03 Apr 01:00

Choose a tag to compare

New Plugin: AI Knowledge (v1.0.0)

Knowledge base management for Claude Code — capture conversation learnings, maintain topic-specific KB files, and dynamically reference institutional knowledge in CLAUDE.md.

10 New Skills

Command Description
/kb-init Initialize the KB section in CLAUDE.md and create docs/kb/ directory (idempotent)
/kb-learn Analyze conversation to extract learnings into KB files
/kb-add Quickly add a learning or rule with interactive location picker
/kb-import Register existing KB files in CLAUDE.md (adds missing frontmatter)
/kb-absorb Migrate existing CLAUDE.md sections and docs/ content into the KB
/kb-remove Remove a KB file and its CLAUDE.md reference
/kb-list List all registered KB files with status, tags, dates, and cross-references
/kb-search Search across KB files by keyword, topic, or tag (tag:security)
/kb-prune Interactive cleanup: stale refs, duplicates, merges, frontmatter health
/kb-auto Toggle automatic knowledge capture at end of conversations

Key Features

  • YAML Frontmatter on all KB files with tags, related, created, last-updated, pinned, and scope fields
  • Cross-references between KB files via related: [[other-file]] for linked knowledge loading
  • Pinned KB files (pinned: true) are always loaded regardless of work context
  • Tag-based search for cross-cutting discovery across topics
  • Security-aware — never stores secrets, API keys, or credentials in KB files
  • Token-conscious — concise entries optimized for minimal context window usage

Install

/plugin marketplace add charlesjones-dev/claude-code-plugins-dev
/plugin install ai-knowledge@claude-code-plugins-dev

v2.2.2

31 Mar 19:24

Choose a tag to compare

Fixed

AI-ADO Plugin (v1.3.1)

  • Fixed skill name parsing - Changed ado-work-items skill name from Azure DevOps Work Items (with spaces) to ado-work-items so Claude Code can parse it correctly (fixes #8)