Receber por email
← Voltar para o catálogo

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

25estrelas
Atualizado há 6 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add myclaude-sh/myclaude-creator-engine

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/package/svg)](https://www.skillteca.com.br/skills/package)

Skills relacionadas

Ver todas de Pesquisa e Web →

Alerta por categoria

Receba novas skills de Pesquisa e Web toda segunda

1 email curto, só com as skills novas de Pesquisa e Web. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

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

  1. Shared preamble: Load references/quality/activation-preamble.md — context assembly, persona adaptation, deterministic routing rules.
  2. 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.
  • Read .meta.yaml → verify state is "validated" and MCS score >= 75%
  • Read creator.yaml → load author metadata for manifests. If missing → "Creator profile not found. Run /onboard first." and stop.
  • 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.
  • Load product-dna/{type}.yaml → get install_target
  • 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").

  1. 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.
  2. CLI contract: Load references/cli-contract.md for unified error handling. This skill has conditional severity based on pricing model. Severity map:
  3. Blocking (paid products only): stripe status — if product price > 0 and Stripe not connected, halt packaging
  4. Silent-skip (free products): stripe status — irrelevant for free products, skip without warning
  5. Silent-skip: search --category {type} --sort price-desc — competitive pricing scan, skip without warning on failure
  6. 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 MCS and Available badges to the end of .publish/README.md:


---

[![MCS-{level}](https://myclaude.sh/badge/mcs/{level}.svg)](https://myclaude.sh/quality)
[![Available on MyClaude](https://myclaude.sh/badge/available.svg)](https://myclaude.sh/p/{slug})

<sub>Built with MyClaude Studio Engine</sub>

Precondition: Verify .publish/README.md exists before injection. If missing (bundle type has no README requirement), skip badge injection silently — do not create a README just for badges.

README quality gate: Before badge injection, verify README follows templates/readme/README.md.template structure — at minimum: Hero, Install (with myclaude install {slug}), Quick Start, Features (3+), Requirements. If missing critical sections, WARN: "README is missing sections that help users decide to install. Consider running /fill to complete it." Continue packaging — this is advisory, not blocking.

Rules:

  • Inject ONLY in .publish/README.md — never modify the original
  • MCS level from .meta.yaml state.dna_compliance or overall_score. Default to 1 if not validated
  • Slug from vault.yaml name field
  • Add a blank line before the --- separator to avoid markdown parsing issues

Step 2b — Verify WHY Removal

Grep all files in .publish/ for the pattern WHY:. If match count > 0, re-run stripping on the matched files. If still > 0 after second pass, report error with file paths and line numbers — do not proceed to manifest generation with unstripped WHY comments.

Step 2d — Post-Strip Integrity Check

After WHY removal, verify the stripped files are still structurally valid:

  • For .md files: verify YAML frontmatter still parses (regex for ^---\n ... \n---\n)
  • For .json files (hooks.json, settings-fragment.json): parse with JSON validator after _-prefixed key removal. If parse fails → abort with file path and error. Never ship invalid JSON.
  • For .sh files: verify shebang line survived stripping (first line must start with #!)
  • If any check fails: report the specific file + line + issue. Do NOT proceed to manifest generation.

Step 3 — Generate vault.yaml

Read .meta.yaml → intent_declaration.language (written by /create Step 11). This is the canonical source of truth for the product's source language — it captures what language the product was forged in, not what language the cre

Compartilhar X LinkedIn