Claude Code Skills
Skills are reusable workflows that Claude Code can execute via /skill-name in any session within the vault. They live in .claude/skills/ at the repository root (invisible to Obsidian) and sync across all machines via git.
Each skill has a guidelines document in the vault — the human-readable reference that’s visible here in Obsidian, linked into the graph, and searchable via QMD. The skill file reads its guidelines doc as part of execution.
How to Use Skills
Section titled “How to Use Skills”In any Claude Code session (VS Code or terminal SSH):
- Type
/to see available skills in autocomplete - Select a skill or type its name
- Add arguments after the skill name if prompted
How to Create a New Skill
Section titled “How to Create a New Skill”See how-to-create-skills for the full guide — when to create a skill vs. a standing rule, how to describe the workflow to Claude, naming conventions, and examples of good candidates.
Creation checklist
Section titled “Creation checklist”When creating a new skill, always complete all four steps:
- Create the guidelines document in the appropriate vault area (human-readable reference, visible in Obsidian graph)
- Create
.claude/skills/skill-name/SKILL.md(machine-readable skill that Claude Code executes) - Add the skill to this index — both the summary table and a detailed section below
- Commit and push — the skill syncs to all machines via
git pull
Available Skills
Section titled “Available Skills”| Skill | Command | Guidelines | Purpose |
|---|---|---|---|
| Create Campaign | /create-campaign [topic] | _campaign-creation-guidelines | Create a content campaign (blog + newsletter + social) fully linked into the knowledge base |
| Write Blog Post | /write-blog-post [topic] | _blog-post-guidelines | Write or continue a blog post — loads KB context, voice guides, and structures for SEO/AI discoverability |
| Write Page Copy | /write-page-copy [page] | WRITING-PROCESS | Write or revise copy for a baseworks.com page — voice compliance, Elementor sections, AI discoverability |
| Publish Article | /publish-article <vault-file> | — | Publish a finalized blog post to baseworks.com — media upload, Gutenberg blocks, ACF fields, taxonomy, SEOPress |
| Compress Photos | /compress-photos <folder> <b2-dest> | — | Process photos into WebP + JPEG, upload to B2, output CDN URLs |
| Create Newsletter | /create-newsletter <note-path> | — | Generate production-ready HTML email from a newsletter note, using the Baseworks template |
| Create Email | /create-email <description> | — | Create email templates (plain text + optional HTML) for all non-newsletter communications — onboarding, administrative, engagement, event confirmations |
| Update Science Content | /update-science-content [URL or vault path] | update-science-content-guidelines | Update or write science-based web content — aligns with current scientific framing in science.md, fact-checks claims, balances general readability with specialist accuracy |
| Create Event Post | /create-event-post [event name or vault file] | _event-guidelines | Publish an upcoming event post to baseworks.com — creates or reads the vault note, confirms all metadata, and publishes via WP-CLI with ACF fields, taxonomies, and SEOPress configured |
| Session Summary | /session-summary "Spring 2026" session 1 | _session-summary-guidelines | Generate a session summary from a study group transcript — speaker differentiation, KB cross-referencing, optional translation |
| Draft Response | /draft-response <description> | communications-guide | Draft a response to a participant, collaborator, or vendor — loads voice guides, communications guide, and contact history |
| Vault Audit | /vault-audit | — | Run a comprehensive health check across CLAUDE.md, vault index, qmd, vault structure, sync status, and growth trends |
Skill Details
Section titled “Skill Details”/create-campaign
Section titled “/create-campaign”What it does: Walks through the full process of creating a content campaign — researches the knowledge base for source material, proposes a plan, creates the campaign directory and note, sets up or updates the newsletter issue (including Brain Fodder), updates all indexes, and validates wikilinks.
Arguments: Campaign topic or title (e.g., “Spring 2026 Study Group Enrollment”)
Guidelines: _campaign-creation-guidelines
Phases:
- Pre-flight — loads voice guides, guidelines, checks inboxes, researches KB
- Campaign planning — presents findings, gets confirmation
- Create structure — directories, campaign note, newsletter issue, blog post
- Update indexes — campaign index, newsletter index, blog index, cross-references
- Validation — wikilink checker, bidirectional link verification
Available on: All machines (Patrick’s Mac, Asia’s Mac Mini, M1 Laptop, MacBook Air, VPS)
/write-blog-post
Section titled “/write-blog-post”What it does: Loads all necessary context (voice guides, blog guidelines, KB sources) and walks through researching, drafting, revising, and finalizing a Baseworks blog post. Handles both new posts and continuing existing drafts. Ensures voice compliance, correct terminology, proper internal/external hyperlinking, and SEO/AI-optimized structure.
Arguments: Blog post topic, title, or filename (e.g., “winter study group recap”)
Guidelines: _blog-post-guidelines
Phases:
- Pre-flight — loads guidelines, voice guides, blog index, checks inboxes, pulls repo
- KB research — consults method history, educational programs, taxonomy, and topic-specific sources; presents findings
- Drafting/revising — creates or continues the post with voice compliance and structural best practices
- Review and finalization — hyperlink scan, voice check, terminology check, factual check, draft notes update
- Handoff — inbox item, commit and push
Available on: All machines (Patrick’s Mac, Asia’s Mac Mini, M1 Laptop, MacBook Air, VPS)
/write-page-copy
Section titled “/write-page-copy”What it does: Loads voice guides and WRITING-PROCESS.md, then walks through writing or revising copy for a baseworks.com page. Handles the full lifecycle: context research, section-by-section copy development, voice compliance rounds, structured edit proposals (numbered, with rationale), approach options for section rewrites, and documentation (live copy snapshots, discussion files, change logs). Built from the iterative process used on the Spring 2026 Study Group landing page.
Arguments: Page name, URL, or topic (e.g., “practice sessions page” or “baseworks.com/smsg-spring-2026/”)
Guidelines: WRITING-PROCESS (shared writing process — the page copy skill uses this as its guidelines doc since page copy follows the same voice loading order and three-filter checklist as all content)
Key differences from blog posts:
- Copy is organized by Elementor section (Hero, body, testimonials, FAQ, enrollment), not by article flow
- Each section has a specific function — the skill defines what each section should and should not do
- Explicit prohibition on generic marketing patterns (manufactured urgency, pain-point exploitation, conversion tricks)
- Proposed edits use the red text convention (
<span style="color: red">) and Approach A/B/C structure for section rewrites - Documentation includes both a live copy snapshot and a discussion/change log file
Phases:
- Pre-flight — loads WRITING-PROCESS.md, voice guides, site inventory, checks inboxes, pulls repo
- Context research — establishes page purpose, audience, desired action; researches KB sources; checks for prior copy work
- Writing/revision — section-by-section copy with voice compliance, structured edit proposals, AI discoverability
- Documentation — live copy snapshot, discussion file update, French version notes, inbox update
- Handoff — inbox item, commit and push
Available on: All machines (Patrick’s Mac, Asia’s Mac Mini, M1 Laptop, MacBook Air, VPS)
/publish-article
Section titled “/publish-article”What it does: Publishes a finalized blog post from the Obsidian vault to baseworks.com as a WordPress article post type. Handles the full technical workflow: uploading WebP images to the media library, converting markdown to Gutenberg blocks, setting ACF fields (hero image, subtitle), assigning categories and tags, configuring SEOPress meta, and verifying the result. Always saves as draft for human review before publication.
Arguments: Vault filename or slug (e.g., 2026-03-perception-gap-body-awareness)
Prerequisites: Blog post must be finalized in the vault with approved photos on the CDN/NAS. Use /write-blog-post for content creation and /compress-photos for media processing first.
Key technical details:
- WP-CLI on the server outputs a PHP deprecation warning that must be filtered from all output — the skill documents how to avoid embedding it in post content
- Taxonomy assignment requires
--by=idflag — without it, numeric IDs are treated as term names - ACF field keys documented:
article_image(hero),article_subtitle - Category and tag ID lookup tables included
- Cloudflare cache purge after changes
Phases:
- Pre-flight — read vault file, confirm media is ready, check server connection
- Upload media — transfer WebP from NAS to server, import into WP media library
- Create article — build Gutenberg block HTML, create draft post
- Set metadata — featured image, ACF hero, ACF subtitle, categories, tags, SEOPress
- Verification — confirm all fields are set correctly, no debug text in content
- Cache purge — clear Cloudflare
- Handoff — present post ID and checklist to user for review
Available on: Patrick’s Mac (requires SSH access to baseworks.com server)
/create-event-post
Section titled “/create-event-post”What it does: Walks through the full workflow of publishing an event post to baseworks.com. Handles two starting points: an existing vault note in 02-areas/website/events/, or a new event described in conversation. Confirms all ACF fields, taxonomy terms, author (which controls which facilitator profile the Elementor template displays), Elementor template decision and timeline, redirect decision, booking fields, media IDs, and SEOPress metadata. Publishes via WP-CLI and updates the vault note with the live post ID and URL. WPML translation is always the last optional step.
Arguments: Event name, vault filename, or new to start from a description
Guidelines: _event-guidelines
Key details:
- Author controls facilitator display:
pandasia(Asia only),basework(Patrick only),baseworks(both) - All ACF field keys documented in the skill — both the data key and the
_field_keyreference must be set - Two taxonomy patterns: global default template (auto via
event_year), or custom per-event Elementor template - Redirect pattern:
post_type_linkfilter via Fluent Snippet — keeps event post indexed for discovery while sending widget/archive traffic to a landing page - Schema location serialization formula included for
_seopress_pro_schemas
Phases:
- Pre-flight — reads event-post-system.md, checks inbox, pulls repo, verifies server access
- Event note — reads existing note or creates one from user description
- Confirm metadata — all fields, template decision, redirect decision, booking, media, SEO
- Publish — WP-CLI sequence: create post, set all meta, set taxonomy, set SEO, verify, publish
- Post-publish — update vault note, provide redirect snippet if needed, inbox item if template pending
- WPML translation — last step, optional
Available on: Asia’s Mac Mini (requires SSH access to baseworks.com server)
/update-science-content
Section titled “/update-science-content”What it does: Updates existing science-based posts and pages to align with the current Baseworks scientific framing in science.md. Can also write new science-based content from scratch. Loads core method context (key-definitions.md), appropriate voice guides, does a literature scan, and — critically — conducts a structured strategy conversation with the user before any drafting begins. Designed for content that must work for both a general reader and a specialist.
Arguments: URL of the live page/post, or vault path for already-imported content (e.g. content in _rework/)
Guidelines: update-science-content-guidelines
Voice guide logic:
- Page on baseworks.com → unified voice only
- Asia’s article/blog post → unified + Asia’s voice
Phases:
- Pre-flight — determine content type, load voice guides, key-definitions.md, science.md, check git and inboxes
- Fetch current content — live URL or vault import
- Structured input — ask user for their notes and priorities before any analysis
- Literature scan — recent papers relevant to the topic (skippable)
- Assessment — what to keep, replace, move elsewhere, and add; dual-audience check
- Conversation rounds — as many as needed; does not draft until user confirms ready
- Draft — with method context, wikilinks, citations, and voice compliance
- Specialist check — review for overclaims, imprecision, unsupported assertions
- Handoff — save to vault, route displaced content, update indexes, inbox item if needed
Available on: All machines (Patrick’s Mac, Asia’s Mac Mini, M1 Laptop, MacBook Air, VPS)
/create-email
Section titled “/create-email”What it does: Creates email templates for all non-newsletter Baseworks communications. Produces a plain text Markdown template (saved to the vault as a reference document) and optionally generates production-ready HTML output for pasting into FluentCRM. Handles onboarding emails, administrative communications, engagement emails, event confirmations, policy responses, and follow-ups. Adjusts tone based on email purpose (warm for onboarding, firm for policy, conversational for engagement).
Arguments: Description of the email to create (e.g., “welcome email for new practice sessions participants”)
Phases:
- Pre-flight — determine email type and tone, load voice guides, load program context, check for existing templates
- Confirm — present email purpose, audience, tone, key content points to user
- Write — create the plain text template following voice guidelines
- Save — store template in the appropriate subfolder of
02-areas/communications/email-templates/, update the index - HTML (optional) — generate styled HTML using the Baseworks email design system (600px layout, Jost/Oswald fonts, teal accents,
media.baseworks.combrand assets), output to terminal and clipboard. HTML is NOT saved to the vault.
Key technical details:
- HTML design system matches the newsletter template (600px container, same fonts, colors, and responsive breakpoints)
- All images served from
media.baseworks.com/— never from Stripo or third-party CDNs - Brand assets at
media.baseworks.com/brand/(logo, circle logo, podcast icons) - Footer includes FluentCRM merge tags (
##crm.unsubscribe_url##,##web_preview_url##) - Email templates organized by program:
practice-sessions/,study-groups/,events/,inquiries/,participant-support/
Available on: All machines (Patrick’s Mac, Asia’s Mac Mini, M1 Laptop, MacBook Air, VPS)
/draft-response
Section titled “/draft-response”What it does: Drafts a response to any participant, collaborator, vendor, or professional communication. Loads the full context stack — voice guides, communications guide, contact inquiry history, and relevant program context — so the response is informed by Baseworks tone conventions, the existing communication thread, and any applicable policies or precedents. Covers participant inquiries, ongoing support, policy enforcement, boundary-setting, vendor communications, and de-escalation.
Arguments: Description of who to respond to and what about (e.g., “reply to Noémie about assignment progress”, “email to Proto Studio confirming April 11 logistics”)
Guidelines: communications-guide (the communications guide serves as the guidelines doc — it covers principles, tone-by-context, and all communication scenarios)
Key features:
- Automatically loads the communications guide alongside voice guides (unlike
/create-email, which loads voice guides only) - Searches contact inquiry history and participant communications logs for prior thread context
- Checks reference responses for similar past situations
- Communication-type detection determines tone register (warm/direct/firm/factual/collegial)
- After approval, documents the response in the vault and optionally adds it to reference responses
Phases:
- Pre-flight — determine communication type, load voice guides + communications guide, find communication thread, load program context
- Confirm — present recipient, channel, tone register, key points, policy considerations to user
- Draft — write the response following voice and communications guidelines
- Documentation — add to communications log or contact inquiry file, optionally add to reference responses, flag any communications guide gaps
Available on: All machines (Patrick’s Mac, Asia’s Mac Mini, M1 Laptop, MacBook Air, VPS)
/session-summary
Section titled “/session-summary”What it does: Generates a session summary from a study group transcript. Handles the full workflow: saves the transcript to the program’s transcripts/ folder, identifies and differentiates speakers (Patrick, Asia, participants by name), cross-references the knowledge base (Form Index, Movement Patterns, Primer Lessons, Philosophy Notes), drafts the English summary with speaker attribution woven into the narrative, gets approval, optionally translates to other languages, updates the program index, and commits all files.
Arguments: Program identifier and session number (e.g., "Spring 2026" session 1)
Guidelines: _session-summary-guidelines
Key improvements over Winter 2026 workflow:
- Transcripts are stored in the vault (
transcripts/folder per program) instead of being ephemeral in Claude Desktop conversations - Speaker differentiation — identifies who said what and attributes statements naturally in the summary
- Translation is optional — the skill asks after English approval whether translation is needed and to which language(s)
- Folder structure is created automatically on first run for each program
Phases:
- Pre-flight — parse arguments, locate program, read guidelines/template/previous summary, check/create folders
- Transcript handling — save transcript to program’s
transcripts/folder - Transcript analysis — speaker differentiation (confirmed by user), content extraction
- KB check — Form Index, Movement Patterns, form transcripts, Primer Lessons, Philosophy Notes
- English draft — generate summary with speaker attribution, save to
session-summaries/ - Review — terminology, grammar, YAML, framing checks; wait for approval
- Translation (optional) — ask user, translate if needed, save with language suffix
- Index update & commit — update program index, verify links, commit
Available on: All machines (Patrick’s Mac, Asia’s Mac Mini, M1 Laptop, MacBook Air, VPS)
/vault-audit
Section titled “/vault-audit”What it does: Runs a comprehensive health check across the entire knowledge base infrastructure — CLAUDE.md effectiveness (line count, stale pointers, reference material detection), vault-index.db health (freshness, file count match, broken links, orphan files, tag typos), qmd embedding health (freshness, document count, vector count), vault structure (missing index.md files, stray root files, .gitignore), sync status (launchd/cron, log recency, uncommitted changes, remote divergence), and growth tracking (compares to previous audits, flags significant changes).
Arguments: None. Use --json for programmatic output.
Output: Color-coded report with OK / WARNING / ACTION NEEDED categories. Growth metrics appended to scripts/audit-log.json for trend tracking.
When to run:
- Monthly or after significant vault changes
- After structural changes (renaming, moving, creating areas)
- After onboarding new machines to the sync system
Available on: All machines (Patrick’s Mac Mini, MacBook Pro, Asia’s Mac Mini, MacBook Air, VPS)
Related
Section titled “Related”- agent-system — broader Claude Code agent infrastructure docs
- _campaign-index — editorial calendar (uses the create-campaign skill)