/package
Package a product for distribution across 33+ platforms. Strips WHY comments, generates triple manifests (vault.yaml + plugin.json + agentskills.yaml), stages .publish/. Use when: 'package', 'prepare for publish', or 'bundle it'.
$ npx -y skills add myclaude-sh/myclaude-creator-engine --skill package --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/package
Context preview
The summary Claude sees to decide when to auto-load this skill.
Package a product for distribution across 33+ platforms. Strips WHY comments, generates triple manifests (vault.yaml + plugin.json + agentskills.yaml), stages .publish/. Use when: 'package', 'prepare for publish', or 'bundle it'.
SKILL.md
package.SKILL.mdname: package
description: >-
Package a product for distribution across 33+ platforms. Strips WHY comments, generates
triple manifests (vault.yaml + plugin.json + agentskills.yaml), stages .publish/. Use
when: 'package', 'prepare for publish', or 'bundle it'.
argument-hint: "[product-slug] [--express]"
allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
Packager
Stage a product for distribution with triple manifests (MyClaude + Anthropic Plugin + Agent Skills universal).
**When to use:** After /validate passes. Before /publish.
**When NOT to use:** If the product hasn't been validated yet (run /validate first).
---
Activation Protocol
0. **Shared preamble:** Load `references/quality/activation-preamble.md` — context assembly, persona adaptation, deterministic routing rules. 1. Identify product: `$ARGUMENTS` as slug → `workspace/{slug}/` 1b. **Mode selection (Express vs Guided).** Read `creator.yaml → preferences.workflow_style`. Resolve the flow mode:
- `--express` flag OR `workflow_style == "autonomous"` → **Express mode**. Skip the "confirm before stage" prompt, skip the manifest preview step, and produce a single post-stage summary. The safety invariants below still hold — only the conversational confirmations are trimmed.
- `workflow_style == "guided"` or missing → **Guided mode** (default). Confirm before staging, show manifest preview, and walk the creator through the pipeline with full voice.
2. Read `.meta.yaml` → verify state is "validated" and MCS score >= 75% 3. Read `creator.yaml` → load author metadata for manifests. If missing → "Creator profile not found. Run `/onboard` first." and stop. 4. **Maintain creator persona**: Adapt language, depth, and examples to `profile.type` and `technical_level` throughout this skill's execution. A developer gets code examples; a domain expert gets plain language. 5. Load `product-dna/{type}.yaml` → get install_target 6. Load `config.yaml` → vault_defaults for missing fields 6b. **Load proactives:** Load `references/engine-proactive.md` — wire #1 (pipeline guidance: after package, guide to /publish), #20 (test mandate: if MCS-2+ and `.meta.yaml.test_result != "pass"`, block packaging with message "Run /test first"). 7. **Load voice identity:** Load `references/quality/engine-voice-core.md`. Every user-facing line in this skill honors the ✦ signature, three tones, and six anti-patterns. 8. **CLI contract:** Load `references/cli-contract.md` for unified error handling. This skill has conditional severity based on pricing model. Severity map:
- **Blocking (paid products only):** `stripe status` — if product price > 0 and Stripe not connected, halt packaging
- **Silent-skip (free products):** `stripe status` — irrelevant for free products, skip without warning
- **Silent-skip:** `search --category {type} --sort price-desc` — competitive pricing scan, skip without warning on failure
- **All queries:** append `2>/dev/null`, 15s timeout, treat invalid JSON as CLI absent
---
Core Instructions
PACKAGING PIPELINE
**SAFETY INVARIANTS — see end of file (positioned per D19 attention-aware authoring for maximum model compliance).**
**Step 1 — Verify Validation**
Read `.meta.yaml` for validation state:
- If state != "validated" AND state != "packaged": "Product not validated. Run /validate first."
- If MCS score < 75%: "Product below MCS-1 threshold. Run /validate --fix."
- If mcs_target is "MCS-2" or "MCS-3" AND (test_result is null OR test_result != "pass"): "MCS-2+ products require behavioral testing before packaging. Run /test first." — BLOCKING. This gate ensures structural validation (/validate) AND behavioral validation (/test) both pass before distribution.
**Step 1.5 — Package Rename** (if applicable)
Check `product-dna/{type}.yaml` for `package_rename` field. If present, rename the primary file to the specified pattern during copy to `.publish/`.
Currently applies to:
- **minds:** `AGENT.md` → `{slug}.md` (flat file convention for `.claude/agents/`)
This rename ensures the installed filename matches Claude Code's native discovery pattern.
**Step 2 — Strip WHY Comments + Inject Attribution** (SE-D17)
Create a clean copy of all product files.
**REMOVE:**
- `<!-- WHY: ... -->` (HTML comment blocks — may span multiple lines)
- Lines matching `# WHY:` pattern (markdown comment format)
- `# WHY:` pattern in shell scripts (`.sh` files)
- JSON keys prefixed with `_` (e.g., `_comment`, `_why`, `_events_reference`) from `.json`
files. These are documentation keys used in workspace but must not pollute the user's settings.json when hooks are installed. Strip by parsing JSON, removing `_`-prefixed top-level keys, and re-serializing.
**INJECT TWO THINGS** into the `.publish/` copy of the primary file (SKILL.md, AGENT.md, etc.):
**1. Marketplace URL in frontmatter** (PRD D3 — viral vector #1): Add a `marketplace_url` field to the YAML frontmatter of the primary file. This field is read by Claude Code in EVERY session where the product is installed — making every buyer a passive distribution carrier.
---
name: {slug}
description: >
{original description — DO NOT MODIFY}
marketplace_url: "https://myclaude.sh/p/{slug}"
---Rules:
- Add `marketplace_url` as a NEW field — never modify the existing `description`
- Only add to the `.publish/` copy — never touch the original in workspace/
- Use the slug from vault.yaml
**2. Attribution comment at end of file:**
<!-- Published on MyClaude (myclaude.sh) | Quality: MCS-{level} ({score}%) | Engine: Studio v3 -->This attribution comment is:
- Invisible to Claude (HTML comment, does not affect behavior)
- Visible in source code (GitHub renders it in raw view)
- Indexable by search engines (creates discoverable MyClaude references)
- A quality signal (MCS score travels with the product)
Never modify originals — work on the copy in `.publish/`.
**Step 2c — Inject README Badges** (PRD B2 — viral vectors #2)
Append
Read more
name: package description: >- Package a product for distribution across 33+ platforms. Strips WHY comments, generates triple manifests (vault.yaml + plugin.json + agentskills.yaml), stages .publish/. Use when: 'package', 'prepare for publish', or 'bundle it'. argument-hint: "[product-slug] [--express]" allowed-tools: - Read - Write - Edit - Glob - Grep
Packager
Stage a product for distribution with triple manifests (MyClaude + Anthropic Plugin + Agent Skills universal).
**When to use:** After /validate passes. Before /publish.
**When NOT to use:** If the product hasn't been validated yet (run /validate first).
---
Activation Protocol
0. **Shared preamble:** Load `references/quality/activation-preamble.md` — context assembly, persona adaptation, deterministic routing rules. 1. Identify product: `$ARGUMENTS` as slug → `workspace/{slug}/` 1b. **Mode selection (Express vs Guided).** Read `creator.yaml → preferences.workflow_style`. Resolve the flow mode:
- `--express` flag OR `workflow_style == "autonomous"` → **Express mode**. Skip the "confirm before stage" prompt, skip the manifest preview step, and produce a single post-stage summary. The safety invariants below still hold — only the conversational confirmations are trimmed.
- `workflow_style == "guided"` or missing → **Guided mode** (default). Confirm before staging, show manifest preview, and walk the creator through the pipeline with full voice.
2. Read `.meta.yaml` → verify state is "validated" and MCS score >= 75% 3. Read `creator.yaml` → load author metadata for manifests. If missing → "Creator profile not found. Run `/onboard` first." and stop. 4. **Maintain creator persona**: Adapt language, depth, and examples to `profile.type` and `technical_level` throughout this skill's execution. A developer gets code examples; a domain expert gets plain language. 5. Load `product-dna/{type}.yaml` → get install_target 6. Load `config.yaml` → vault_defaults for missing fields 6b. **Load proactives:** Load `references/engine-proactive.md` — wire #1 (pipeline guidance: after package, guide to /publish), #20 (test mandate: if MCS-2+ and `.meta.yaml.test_result != "pass"`, block packaging with message "Run /test first"). 7. **Load voice identity:** Load `references/quality/engine-voice-core.md`. Every user-facing line in this skill honors the ✦ signature, three tones, and six anti-patterns. 8. **CLI contract:** Load `references/cli-contract.md` for unified error handling. This skill has conditional severity based on pricing model. Severity map:
- **Blocking (paid products only):** `stripe status` — if product price > 0 and Stripe not connected, halt packaging
- **Silent-skip (free products):** `stripe status` — irrelevant for free products, skip without warning
- **Silent-skip:** `search --category {type} --sort price-desc` — competitive pricing scan, skip without warning on failure
- **All queries:** append `2>/dev/null`, 15s timeout, treat invalid JSON as CLI absent
---
Core Instructions
PACKAGING PIPELINE
**SAFETY INVARIANTS — see end of file (positioned per D19 attention-aware authoring for maximum model compliance).**
**Step 1 — Verify Validation**
Read `.meta.yaml` for validation state:
- If state != "validated" AND state != "packaged": "Product not validated. Run /validate first."
- If MCS score < 75%: "Product below MCS-1 threshold. Run /validate --fix."
- If mcs_target is "MCS-2" or "MCS-3" AND (test_result is null OR test_result != "pass"): "MCS-2+ products require behavioral testing before packaging. Run /test first." — BLOCKING. This gate ensures structural validation (/validate) AND behavioral validation (/test) both pass before distribution.
**Step 1.5 — Package Rename** (if applicable)
Check `product-dna/{type}.yaml` for `package_rename` field. If present, rename the primary file to the specified pattern during copy to `.publish/`.
Currently applies to:
- **minds:** `AGENT.md` → `{slug}.md` (flat file convention for `.claude/agents/`)
This rename ensures the installed filename matches Claude Code's native discovery pattern.
**Step 2 — Strip WHY Comments + Inject Attribution** (SE-D17)
Create a clean copy of all product files.
**REMOVE:**
- `<!-- WHY: ... -->` (HTML comment blocks — may span multiple lines)
- Lines matching `# WHY:` pattern (markdown comment format)
- `# WHY:` pattern in shell scripts (`.sh` files)
- JSON keys prefixed with `_` (e.g., `_comment`, `_why`, `_events_reference`) from `.json`
files. These are documentation keys used in workspace but must not pollute the user's settings.json when hooks are installed. Strip by parsing JSON, removing `_`-prefixed top-level keys, and re-serializing.
**INJECT TWO THINGS** into the `.publish/` copy of the primary file (SKILL.md, AGENT.md, etc.):
**1. Marketplace URL in frontmatter** (PRD D3 — viral vector #1): Add a `marketplace_url` field to the YAML frontmatter of the primary file. This field is read by Claude Code in EVERY session where the product is installed — making every buyer a passive distribution carrier.
---
name: {slug}
description: >
{original description — DO NOT MODIFY}
marketplace_url: "https://myclaude.sh/p/{slug}"
---Rules:
- Add `marketplace_url` as a NEW field — never modify the existing `description`
- Only add to the `.publish/` copy — never touch the original in workspace/
- Use the slug from vault.yaml
**2. Attribution comment at end of file:**
<!-- Published on MyClaude (myclaude.sh) | Quality: MCS-{level} ({score}%) | Engine: Studio v3 -->This attribution comment is:
- Invisible to Claude (HTML comment, does not affect behavior)
- Visible in source code (GitHub renders it in raw view)
- Indexable by search engines (creates discoverable MyClaude references)
- A quality signal (MCS score travels with the product)
Never modify originals — work on the copy in `.publish/`.
**Step 2c — Inject README Badges** (PRD B2 — viral vectors #2)
Append
The creation pipeline for Claude Code products — research, create, validate, publish. 13 types, 20 quality patterns, zero coding required.
Repo: myclaude-sh/myclaude-creator-engine
Other skills on myclaude-creator-engine.
create
Scaffold a new product with MCS-1 valid structure and WHY comments. Supports all 13 types. Use when the creator says 'new skill', 'create', 'scaffold', 'start…
explore
Search the marketplace, analyze competition, discover gaps, and find inspiration. Use when: 'explore', 'search marketplace', 'what exists for', 'competitors',…
fill
Guide content filling for scaffolded products. Walks sections, asks domain questions, writes expertise into files. Use after /create in 'scaffold' state, or…
help
Show all available Studio Engine commands with descriptions. Displays command list organized by category, current edition features, and quick start guide. Use…
import
Import existing skills from .claude/skills/ into the Engine workspace for validation, packaging, and publishing. Auto-detects type, creates .meta.yaml, runs…

