chore(skills): move blog-authoring and CMS skills to the shared library#157
Conversation
…ADME The blog-post authoring workflow and editorial/voice guidance now live in a separate, reusable agent-skills library that drives writing through this site's Payload CMS MCP server. Remove the skills that moved out and adjust everything that pointed at them. - Delete the `author` workflow skill and the `blog-post-authoring-guidelines` skill (including its author-voice references). - Keep `payload-cms-mcp`: it documents this repository's own MCP server and supports ad-hoc existing-post edits from within the repo. - Lift the `outline` / `authoringNotes` field specification into a new "CMS content model" section in the README — the external authoring skill defers its field spec here, so this becomes the source of truth. - Update the AGENTS.md skill index and workflow entry points, the load-pattern classification table and totals, and the two `payload-cms-mcp` back-references that pointed at the removed authoring-artifacts reference. - Reference the external library generically (no repo name/link) to avoid leaking a private repository into this public repository's docs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012upW731xn25t4dH6NNPzBx
Complete the migration by moving CMS-editing operation guidance out too, so all create-and-edit operations on this site's CMS content — new posts and edits to existing ones — now run from the separate agent-skills library rather than from this repository. - Delete the `payload-cms-mcp` skill and its references. - Remove its skill-index row from AGENTS.md and its load-pattern classification entry (adjusting the totals), and reword the Project Overview note so the external library owns both authoring and CMS-editing operations while this repository owns the CMS content model and the MCP server itself. - Reword the README's MCP section so it documents the server without pointing at the removed skill. The README "Connecting AI agents to Payload CMS (MCP)" section still documents the endpoint, authentication, tool discovery, and caveats for any MCP-capable agent connecting to the server. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012upW731xn25t4dH6NNPzBx
|
@claude review Generated by Claude Code |
Code review0 important, 0 nits. No issues found. This is a documentation/skill-only migration (22 files, no application code, routes, or Payload schema touched), so Mandatory checks (per REVIEW.md):
Fidelity spot-checks (per the PR's own "Notes for reviewers," which flagged the new README "CMS content model" section as worth checking against the deleted
The PR body itself flags two decisions for the maintainer to confirm (full |
The CMS content model section listed what belongs in `authoringNotes` but not how to structure it. Add the recommended section skeleton (ねらい / 結論 / 対象読者 / 編集方針 / 進行状態 / 公開前チェックリスト), the single-merged-checklist rule, and the requirement to record 進行状態 with phase, completed work, and artifact links. This is the authoringNotes field's content contract — the resumable-state guidance that lets a fresh session continue a post from CMS state alone. It was part of the removed authoring-artifacts reference and had no home after the migration; the README is the declared source of truth for the field spec, which the external authoring skill defers to. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012upW731xn25t4dH6NNPzBx
|
@claude review Generated by Claude Code |
Code review0 important, 2 nits. Re-reviewed after the latest commit (6684f2a, adding the Mandatory checks (per REVIEW.md):
Nits:
Both prior fidelity spot-checks still hold: the |
…lection Address a review nit: the CMS content model section listed "the site profile" among the collections, but it is the `website` global (a Payload GlobalConfig singleton), not a collection. Distinguish it now that this section is the declared source of truth for the content model. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012upW731xn25t4dH6NNPzBx
|
@claude review Generated by Claude Code |
Code review0 important, 0 nits. Re-reviewed at the tip ( Mandatory checks (per REVIEW.md):
Fidelity spot-checks (continuing from the PR's own "Notes for reviewers"):
|
🚀 Preview deploymentTorn down — the isolated Turso database ( |
Summary
The blog-post authoring workflow, editorial/voice guidance, and Payload CMS MCP
operation guidance have moved into a separate, reusable agent-skills library
that drives writing and CMS edits through this site's Payload MCP server. This
PR completes the btnopen.com side of that migration: it removes the skills that
now live externally and repoints everything that referenced them.
Why: those skills were personal, cross-project authoring assets with no
btnopen-specific code coupling — a better fit for a shared library than this
public application repo. Centralizing them removes duplication and keeps this
repository focused on the app and its CMS content model.
What changed:
author— the/authorblog-post authoring workflow.blog-post-authoring-guidelines— editorial rules and the author-voicereferences.
payload-cms-mcp— the CMS MCP operation how-to (new posts and edits toexisting ones now run from the external library too).
model" section specifies the
blog-postsoutline/authoringNotesauthoring-artifact fields (their Agentic-tab placement, non-localized nature,
never-rendered/agentic-view visibility, and what belongs in each). The external
authoring skill defers its field specification here, so the README is now the
source of truth for it. This content was lifted from the removed
authoring-artifactsreference rather than lost.skill index (and the
/authorworkflow entry point), added a Project Overviewnote that authoring and CMS-editing operations live in the external library
while this repo owns the CMS content model and the MCP server, and adjusted the
load-pattern classification table and its totals.
/authorand MCP references — the "Developmentworkflow" section now points to the external library for authoring, and the
"Connecting AI agents to Payload CMS (MCP)" section documents the server
(endpoint, auth, tool discovery, caveats) without pointing at the removed
skill.
The external library is referenced generically throughout (no repository name or
link) because this repository is public and the library is not.
Related issues
No tracking issue — this is the follow-up half of a skills migration whose first
half landed in the external library.
Verification
npx @biomejs/biome@2.4.11 check(the pinnednpm run lint) → exit 0,212 files checked. The one reported warning is pre-existing in
scripts/prune-preview-blobs.mjsand is untouched by this change. Biome doesnot process Markdown (
files.ignoreUnknown: true), so the.md-only diff isoutside its coverage — see the manual checks below.
grepacross the repo confirms zero remainingreferences to the removed skills (
author,blog-post-authoring-guidelines,payload-cms-mcp) in any Markdown, JSON, or source file.#cms-content-model) resolves;the collection slugs named in the new section (
blog-posts,tags,cover-images,media,payload-mcp-api-keys) were verified againstpayload/collections/*; the load-pattern totals (2 runnable · 1 always-on ·16 on-demand) match the remaining rows.
build/test:unit/test:e2e— no code, route, config, orTypeScript surface changed (documentation and skill Markdown only).
Risks and breaking changes
ships in-repo skills for writing posts or editing CMS content — those
operations are now expected to run from the external agent-skills library
(which connects to this site's Payload MCP server). The README "Connecting AI
agents to Payload CMS (MCP)" section is retained, so connecting any MCP-capable
agent to the server is still fully documented here.
changes, and no application code is touched.
Notes for reviewers
destination for the removed
authoring-artifactsspecification and the partworth checking for fidelity against the deleted reference.
payload-cms-mcpas well (fullconsolidation — all CMS create/edit operations move out), and (2) referencing
the external library generically rather than by name/link, to avoid exposing a
non-public repository from this public one.
Generated by Claude Code