Skip to content
Development
Skill

/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'.

From plugin
myclaude-creator-engine
2515 skills5 agents
Install
$ npx -y skills add myclaude-sh/myclaude-creator-engine --skill package --agent claude-code

How 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.md
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

Read more
Ships withmyclaude-creator-engine

The creation pipeline for Claude Code products — research, create, validate, publish. 13 types, 20 quality patterns, zero coding required.

Get the whole plugin
Stats
25
Stars
2
Forks
Maintained
Maintenance
Python
Language
MIT
License
5mo ago
Last commit
6mo ago
Created

Repo: myclaude-sh/myclaude-creator-engine

Other skills on myclaude-creator-engine.