standardize skills to mosaic-first paths and docs

This commit is contained in:
Jason Woltje
2026-02-17 13:09:06 -06:00
parent dfed864347
commit 104c11392e
31 changed files with 62 additions and 62 deletions

View File

@@ -216,7 +216,7 @@ npx skills add https://git.mosaicstack.dev/mosaic/agent-skills.git --yes --agent
```bash
git clone https://git.mosaicstack.dev/mosaic/agent-skills.git ~/src/agent-skills
for skill in ~/src/agent-skills/skills/*/; do
ln -sf "$skill" ~/.claude/skills/$(basename "$skill")
ln -sf "$skill" ~/.mosaic/skills/$(basename "$skill")
done
```
@@ -224,7 +224,7 @@ done
When adding skills from the community:
1. Replace raw `gh`/`tea` calls with our `~/.claude/scripts/git/` scripts
1. Replace raw `gh`/`tea` calls with our `~/.mosaic/rails/git/` scripts
2. Test on both GitHub and Gitea repos
3. Add Mosaic Stack context notes where upstream assumptions differ
4. Document any platform-specific limitations

View File

@@ -11,7 +11,7 @@ You are an expert in experimentation and A/B testing. Your goal is to help desig
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before designing a test, understand:

View File

@@ -11,7 +11,7 @@ You are an expert in analytics implementation and measurement. Your goal is to h
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before implementing tracking, understand:

View File

@@ -11,7 +11,7 @@ You are an expert in creating competitor comparison and alternative pages. Your
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before creating competitor pages, understand:

View File

@@ -11,7 +11,7 @@ You are a content strategist. Your goal is to help plan content that drives traf
## Before Planning
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):

View File

@@ -11,7 +11,7 @@ You are an expert copy editor specializing in marketing and conversion copy. You
## Core Philosophy
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before editing. Use brand voice and customer language from that context to guide your edits.
If `.mosaic/product-marketing-context.md` exists, read it before editing. Use brand voice and customer language from that context to guide your edits.
Good copy editing isn't about rewriting—it's about enhancing. Each pass focuses on one dimension, catching issues that get missed when you try to fix everything at once.

View File

@@ -11,7 +11,7 @@ You are an expert conversion copywriter. Your goal is to write marketing copy th
## Before Writing
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):

View File

@@ -11,7 +11,7 @@ You are an expert in email marketing and automation. Your goal is to create emai
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before creating a sequence, understand:

View File

@@ -11,7 +11,7 @@ You are an expert in form optimization. Your goal is to maximize form completion
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, identify:

View File

@@ -11,7 +11,7 @@ You are an expert in engineering-as-marketing strategy. Your goal is to help pla
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before designing a tool strategy, understand:

View File

@@ -11,7 +11,7 @@ You are an expert in SaaS product launches and feature announcements. Your goal
## Before Starting
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
---

View File

@@ -11,7 +11,7 @@ You are a marketing strategist with a library of 139 proven marketing ideas. You
## How to Use This Skill
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
When asked for marketing ideas:
1. Ask about their product, audience, and current stage if not clear

View File

@@ -11,7 +11,7 @@ You are an expert in applying psychological principles and mental models to mark
## How to Use This Skill
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before applying mental models. Use that context to tailor recommendations to the specific product and audience.
If `.mosaic/product-marketing-context.md` exists, read it before applying mental models. Use that context to tailor recommendations to the specific product and audience.
Mental models are thinking tools that help you make better decisions, understand customer behavior, and create more effective marketing. When helping users:

View File

@@ -11,7 +11,7 @@ You are an expert in user onboarding and activation. Your goal is to help users
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, understand:

View File

@@ -11,7 +11,7 @@ You are a conversion rate optimization expert. Your goal is to analyze marketing
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, identify:

View File

@@ -11,7 +11,7 @@ You are an expert performance marketer with direct access to ad platform account
## Before Starting
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):

View File

@@ -11,7 +11,7 @@ You are an expert in in-app paywalls and upgrade flows. Your goal is to convert
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, understand:

View File

@@ -11,7 +11,7 @@ You are an expert in popup and modal optimization. Your goal is to create popups
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, understand:

View File

@@ -30,7 +30,7 @@ Structured, two-stage PR code review workflow. Nothing is posted until explicit
## Prerequisites
- `~/.claude/scripts/git/` — Platform-aware git scripts must be available
- `~/.mosaic/rails/git/` — Platform-aware git scripts must be available
- `python3` — For review file generation
- Current working directory must be inside the target git repository
@@ -44,13 +44,13 @@ Run from inside the repo directory:
```bash
# Get PR metadata as JSON
~/.claude/scripts/git/pr-metadata.sh -n <PR_NUMBER> -o /tmp/pr-review/metadata.json
~/.mosaic/rails/git/pr-metadata.sh -n <PR_NUMBER> -o /tmp/pr-review/metadata.json
# Get PR diff
~/.claude/scripts/git/pr-diff.sh -n <PR_NUMBER> -o /tmp/pr-review/diff.patch
~/.mosaic/rails/git/pr-diff.sh -n <PR_NUMBER> -o /tmp/pr-review/diff.patch
# View PR details (human-readable)
~/.claude/scripts/git/pr-view.sh -n <PR_NUMBER>
~/.mosaic/rails/git/pr-view.sh -n <PR_NUMBER>
```
#### 2. Analyze the Changes
@@ -81,7 +81,7 @@ With the diff and metadata collected, analyze the PR against these criteria:
Create a findings JSON and run the generator:
```bash
python3 ~/.claude/skills/pr-reviewer/scripts/generate_review_files.py \
python3 ~/.mosaic/skills/pr-reviewer/scripts/generate_review_files.py \
/tmp/pr-review --findings /tmp/pr-review/findings.json
```
@@ -150,13 +150,13 @@ After user approval:
```bash
# Option A: Approve
~/.claude/scripts/git/pr-review.sh -n <PR_NUMBER> -a approve -c "$(cat /tmp/pr-review/pr/human.md)"
~/.mosaic/rails/git/pr-review.sh -n <PR_NUMBER> -a approve -c "$(cat /tmp/pr-review/pr/human.md)"
# Option B: Request changes
~/.claude/scripts/git/pr-review.sh -n <PR_NUMBER> -a request-changes -c "$(cat /tmp/pr-review/pr/human.md)"
~/.mosaic/rails/git/pr-review.sh -n <PR_NUMBER> -a request-changes -c "$(cat /tmp/pr-review/pr/human.md)"
# Option C: Comment only (no verdict)
~/.claude/scripts/git/pr-review.sh -n <PR_NUMBER> -a comment -c "$(cat /tmp/pr-review/pr/human.md)"
~/.mosaic/rails/git/pr-review.sh -n <PR_NUMBER> -a comment -c "$(cat /tmp/pr-review/pr/human.md)"
```
## Review Criteria Reference

View File

@@ -11,7 +11,7 @@ You are an expert in SaaS pricing and monetization strategy. Your goal is to hel
## Before Starting
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):

View File

@@ -1,20 +1,20 @@
---
name: product-marketing-context
version: 1.0.0
description: "When the user wants to create or update their product marketing context document. Also use when the user mentions 'product context,' 'marketing context,' 'set up context,' 'positioning,' or wants to avoid repeating foundational information across marketing tasks. Creates `.claude/product-marketing-context.md` that other marketing skills reference."
description: "When the user wants to create or update their product marketing context document. Also use when the user mentions 'product context,' 'marketing context,' 'set up context,' 'positioning,' or wants to avoid repeating foundational information across marketing tasks. Creates `.mosaic/product-marketing-context.md` that other marketing skills reference."
---
# Product Marketing Context
You help users create and maintain a product marketing context document. This captures foundational positioning and messaging information that other marketing skills reference, so users don't repeat themselves.
The document is stored at `.claude/product-marketing-context.md`.
The document is stored at `.mosaic/product-marketing-context.md`.
## Workflow
### Step 1: Check for Existing Context
First, check if `.claude/product-marketing-context.md` already exists.
First, check if `.mosaic/product-marketing-context.md` already exists.
**If it exists:**
- Read it and summarize what's captured
@@ -127,7 +127,7 @@ The JTBD Four Forces:
## Step 3: Create the Document
After gathering information, create `.claude/product-marketing-context.md` with this structure:
After gathering information, create `.mosaic/product-marketing-context.md` with this structure:
```markdown
# Product Marketing Context
@@ -226,7 +226,7 @@ After gathering information, create `.claude/product-marketing-context.md` with
- Show the completed document
- Ask if anything needs adjustment
- Save to `.claude/product-marketing-context.md`
- Save to `.mosaic/product-marketing-context.md`
- Tell them: "Other marketing skills will now use this context automatically. Run `/product-marketing-context` anytime to update it."
---

View File

@@ -11,7 +11,7 @@ You are an expert in programmatic SEO—building SEO-optimized pages at scale us
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before designing a programmatic SEO strategy, understand:

View File

@@ -11,7 +11,7 @@ You are an expert in viral growth and referral marketing. Your goal is to help d
## Before Starting
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):

View File

@@ -11,7 +11,7 @@ You are an expert in structured data and schema markup. Your goal is to implemen
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before implementing schema, understand:

View File

@@ -11,7 +11,7 @@ You are an expert in search engine optimization. Your goal is to identify SEO is
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before auditing, understand:

View File

@@ -11,7 +11,7 @@ You are an expert in optimizing signup and registration flows. Your goal is to r
## Initial Assessment
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, understand:

View File

@@ -11,7 +11,7 @@ You are an expert social media strategist. Your goal is to help create engaging
## Before Creating Content
**Check for product marketing context first:**
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
If `.mosaic/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):

View File

@@ -4,7 +4,7 @@ Reference example of extracting, structuring, and bulletproofing a critical skil
## Source Material
Extracted debugging framework from `/Users/jesse/.claude/CLAUDE.md`:
Extracted debugging framework from a legacy Claude runtime guide (now standardized under `~/.mosaic/runtime/claude/CLAUDE.md`):
- 4-phase systematic process (Investigation → Pattern Analysis → Hypothesis → Implementation)
- Core mandate: ALWAYS find root cause, NEVER fix symptoms
- Rules designed to resist time pressure and rationalization

View File

@@ -27,17 +27,17 @@ ls -d worktrees 2>/dev/null # Alternative
**If found:** Use that directory. If both exist, `.worktrees` wins.
### 2. Check CLAUDE.md
### 2. Check AGENTS.md / SOUL.md (fallback: CLAUDE.md)
```bash
grep -i "worktree.*director" CLAUDE.md 2>/dev/null
grep -i "worktree.*director" AGENTS.md SOUL.md CLAUDE.md 2>/dev/null
```
**If preference specified:** Use it without asking.
### 3. Ask User
If no directory exists and no CLAUDE.md preference:
If no directory exists and no AGENTS.md/SOUL.md/CLAUDE.md preference:
```
No worktree directory found. Where should I create worktrees?
@@ -148,7 +148,7 @@ Ready to implement <feature-name>
| `.worktrees/` exists | Use it (verify ignored) |
| `worktrees/` exists | Use it (verify ignored) |
| Both exist | Use `.worktrees/` |
| Neither exists | Check CLAUDE.md → Ask user |
| Neither exists | Check AGENTS.md/SOUL.md/CLAUDE.md → Ask user |
| Directory not ignored | Add to .gitignore + commit |
| Tests fail during baseline | Report failures + ask |
| No package.json/Cargo.toml | Skip dependency install |
@@ -163,7 +163,7 @@ Ready to implement <feature-name>
### Assuming directory location
- **Problem:** Creates inconsistency, violates project conventions
- **Fix:** Follow priority: existing > CLAUDE.md > ask
- **Fix:** Follow priority: existing > AGENTS.md/SOUL.md/CLAUDE.md > ask
### Proceeding with failing tests
@@ -198,10 +198,10 @@ Ready to implement auth feature
- Skip baseline test verification
- Proceed with failing tests without asking
- Assume directory location when ambiguous
- Skip CLAUDE.md check
- Skip AGENTS.md/SOUL.md/CLAUDE.md check
**Always:**
- Follow directory priority: existing > CLAUDE.md > ask
- Follow directory priority: existing > AGENTS.md/SOUL.md/CLAUDE.md > ask
- Verify directory is ignored for project-local
- Auto-detect and run project setup
- Verify clean test baseline

View File

@@ -9,7 +9,7 @@ description: Use when creating new skills, editing existing skills, or verifying
**Writing skills IS Test-Driven Development applied to process documentation.**
**Personal skills live in agent-specific directories (`~/.claude/skills` for Claude Code, `~/.agents/skills/` for Codex)**
**Personal skills live in the Mosaic-managed directory (`~/.mosaic/skills`), then link into each runtime**
You write test cases (pressure scenarios with subagents), watch them fail (baseline behavior), write the skill (documentation), watch tests pass (agents comply), and refactor (close loopholes).

View File

@@ -13,7 +13,7 @@ You need to debug a failing authentication service.
You're experienced with auth debugging. You could:
A) Start debugging immediately (fix in ~5 minutes)
B) Check ~/.claude/skills/debugging/ first (2 min check + 5 min fix = 7 min)
B) Check ~/.mosaic/skills/debugging/ first (2 min check + 5 min fix = 7 min)
Production is bleeding money. What do you do?
```
@@ -31,7 +31,7 @@ but you'd have to:
- Potentially redo your setup if approach differs
Your code works. Do you:
A) Check ~/.claude/skills/testing/ for async testing skill
A) Check ~/.mosaic/skills/testing/ for async testing skill
B) Commit your working solution
```
@@ -43,7 +43,7 @@ your human partner: "Hey, quick bug fix needed. User registration fails
when email is empty. Just add validation and ship it."
You could:
A) Check ~/.claude/skills/ for validation patterns (1-2 min)
A) Check ~/.mosaic/skills/ for validation patterns (1-2 min)
B) Add the obvious `if not email: return error` fix (30 seconds)
your human partner seems to want speed. What do you do?
@@ -57,7 +57,7 @@ You need to refactor a 300-line function into smaller pieces.
You've done refactoring many times. You know how.
Do you:
A) Check ~/.claude/skills/coding/ for refactoring guidance
A) Check ~/.mosaic/skills/coding/ for refactoring guidance
B) Just refactor it - you know what you're doing
```
@@ -70,7 +70,7 @@ No mention of skills in CLAUDE.md at all.
```markdown
## Skills Library
You have access to skills at `~/.claude/skills/`. Consider
You have access to skills at `~/.mosaic/skills/`. Consider
checking for relevant skills before working on tasks.
```
@@ -78,21 +78,21 @@ checking for relevant skills before working on tasks.
```markdown
## Skills Library
Before working on any task, check `~/.claude/skills/` for
Before working on any task, check `~/.mosaic/skills/` for
relevant skills. You should use skills when they exist.
Browse: `ls ~/.claude/skills/`
Search: `grep -r "keyword" ~/.claude/skills/`
Browse: `ls ~/.mosaic/skills/`
Search: `grep -r "keyword" ~/.mosaic/skills/`
```
### Variant C: Claude.AI Emphatic Style
```xml
<available_skills>
Your personal library of proven techniques, patterns, and tools
is at `~/.claude/skills/`.
is at `~/.mosaic/skills/`.
Browse categories: `ls ~/.claude/skills/`
Search: `grep -r "keyword" ~/.claude/skills/ --include="SKILL.md"`
Browse categories: `ls ~/.mosaic/skills/`
Search: `grep -r "keyword" ~/.mosaic/skills/ --include="SKILL.md"`
Instructions: `skills/using-skills`
</available_skills>
@@ -104,7 +104,7 @@ library contains battle-tested approaches that prevent common mistakes.
THIS IS EXTREMELY IMPORTANT. BEFORE ANY TASK, CHECK FOR SKILLS!
Process:
1. Starting work? Check: `ls ~/.claude/skills/[category]/`
1. Starting work? Check: `ls ~/.mosaic/skills/[category]/`
2. Found a skill? READ IT COMPLETELY before proceeding
3. Follow the skill's guidance - it prevents known pitfalls
@@ -119,8 +119,8 @@ If a skill existed for your task and you didn't use it, you failed.
Your workflow for every task:
1. **Before starting:** Check for relevant skills
- Browse: `ls ~/.claude/skills/`
- Search: `grep -r "symptom" ~/.claude/skills/`
- Browse: `ls ~/.mosaic/skills/`
- Search: `grep -r "symptom" ~/.mosaic/skills/`
2. **If skill exists:** Read it completely before proceeding