本文へ移動
cccskills
無料GitHub で公開

content

Validate, install, update, list, rescan, remove, and reveal data-only Pulp content packs for installed plugins. Use for presets, themes, samples, sample banks, wavetables, and other end-user data that must be reviewed before install or update.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md6.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Pulp Content

Use this skill when a user has a .pulpcontent archive or local content-pack directory for an installed plugin.

Content packs are valuable because:

  • plugin authors ship presets, themes, samples, sample banks, and wavetables without custom installers;
  • users get validation, a visible target plugin/content path, and reversible removal;
  • runtime plugins consume installed data through ContentRegistry or PresetManager content capabilities.

Trust Boundary

pulp add <name> is for curated developer dependency packages.

pulp kit ... is for developer artifacts that may transform a project.

pulp content ... is for end-user data installed into a plugin-specific content directory.

Trust rules:

  • content commands copy data only; they never run package CMake, JavaScript, scripts, dynamic libraries, or network fetches;
  • .pulpcontent archives must include files.sha256.json, and every payload file must be listed and hash-matched before preview/install/update;
  • update uses an explicit local path, not registry resolution, and rolls back a replaced version on failure;
  • install/update/remove/reveal require safe single-component plugin/package/version ids;
  • rescan is metadata-only and records plugin_id plus manifest_sha256;
  • removal deletes only the installed pack root; user edits stay in the plugin's normal user preset path. The OK line names the deleted pack path — Removed content pack <id> for <plugin> (removed <path>) — for parity with tool uninstall.

Built plugins should embed pulp.plugin-runtime.json via pulp_add_plugin(... CONTENT_CAPABILITIES ... CONTENT_KINDS ...). Agents and in-app installers should preview with that manifest before approval, then install with approved=true. Validate built bundles with ValidationHarness::validate_plugin_runtime_manifest(...).

For generic bundled-audio banks, use capability content.sample-banks.v1, kind sample-banks, and exports.sampleBanks. Bank manifests use pulp.sample-bank.v1; their audio paths are relative to the content-pack root and their lowercase SHA-256 hashes are verified before decode. Preserve future edit, analysis, and playback metadata under namespaced extensions keys.

Sampler Heritage profile JSON is not a content pack: validate, canonicalize, inspect, and render it with pulp audio heritage .... Use pulp content only when a profile and its assets are deliberately packaged as data for an installed plugin; the Heritage CLI itself neither installs files nor targets a plugin content root.

Commands

./build/pulp content validate <path> --json
./build/pulp content preview <path> --plugin-runtime <manifest> --json
./build/pulp content install <path> --plugin <plugin-id> --yes
./build/pulp content update <path> --plugin <plugin-id> --yes
./build/pulp content list --plugin <plugin-id> --json
./build/pulp content rescan --json
./build/pulp content reveal <package-id> --plugin <plugin-id> --version <version>
./build/pulp content remove <package-id> --plugin <plugin-id> --version <version> --yes

Use --root <dir> only for tests, CI, or explicit sandboxing. Normal installs use the platform user-data root.

Agent Workflow

  1. Validate the pack.
  2. Preview against the trusted plugin runtime manifest when available, and explain content id, version, capabilities, target plugin, supported kinds, and reload/restart policy.
  3. Preview the install root using reveal or the install plan text.
  4. Install or update only after explicit approval with --yes.
  5. Use rescan when the index is missing/stale or after manual repair.
  6. Remove only after explicit approval with --yes.
  7. Never delete user-created presets or files outside the installed pack root.

Use MCP tools when available:

  • pulp_content_validate
  • pulp_content_preview
  • pulp_content_install
  • pulp_content_update
  • pulp_content_list
  • pulp_content_rescan
  • pulp_content_remove
  • pulp_content_reveal

Related extend surfaces

packages, kits, content, and installable-tools are Pulp's four ways to extend a project or machine, and they share one lifecycle contract: add is validated, remove is confirmed + confined to the surface's own area + names what it deleted, and both add and remove ship tests. Pick the right surface and read the shared contract in extending-pulp.md.

  • packages — third-party audio DSP libraries → a project
  • kits — reusable Pulp code/UI/templates → a project
  • content — data-only packs (presets/samples) → an installed plugin
  • installable-tools — machine-level dev/agent tooling under ~/.pulp/tools/, plus the shared validate-and-uninstall-from-outside-a-checkout bar

Archive entry names are screened portably

Content-pack archive entries pass through pulp::runtime::is_safe_relative_path before extraction and path_within after the join. The helper refuses rooted forms (/x, \x, C:x, \\server\share), ./../empty components, and any \ or : inside a component on every OS, so a pack whose names would escape on Windows is refused on macOS and Linux as well. A pack authored with backslash separators or colons in file names therefore fails validation everywhere.

Design-import UI source snapshots stay out of content-pack extraction

The design-import pulp ui build/check surface emits and verifies an owned UI source snapshot with a deterministic manifest. Keep its source/build contract and clean-output validation in the UI/importer lane; do not route generated UI source through content-pack extraction.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

aax

無料

Optional AAX support for Pulp, including developer-supplied Avid SDK setup, CMake enablement, DigiShell/AAX Validator workflows, and local AAX builds on macOS or Windows.

日本語の概要は準備中です。原文の説明を表示しています。

Generous-Corp/pulp222026年10月10日 更新

Configure, implement, and test Pulp's optional desktop Ableton Link tempo-sync adapter while preserving the developer-supplied SDK, licensing, realtime, latency-compensation, and no-install boundaries.

日本語の概要は準備中です。原文の説明を表示しています。

Generous-Corp/pulp222026年10月10日 更新

Maintain Pulp's installed design-time agent capability manifest and public-surface ledger. Use when adding, removing, renaming, or materially changing public audio, MIDI, signal, timebase, or sequence APIs; registering a new algorithm for generators; changing capability support or deprecation state; or repairing agent-capabilities freshness, schema, fingerprint, tombstone, or installed-SDK tests.

日本語の概要は準備中です。原文の説明を表示しています。

Generous-Corp/pulp222026年10月10日 更新

android

無料

Android platform development for Pulp — NDK cross-compilation, Oboe audio, Dawn/Skia GPU rendering, JNI bridge, touch interaction, emulator workflows, and end-to-end smoke validation. Covers build, deploy, debug, and the gotchas discovered during bringup.

日本語の概要は準備中です。原文の説明を表示しています。

Generous-Corp/pulp222026年10月10日 更新

ara

無料

Optional ARA support for Pulp, including developer-supplied ARA SDK setup, CMake enablement, adapter companion APIs, validation, and ARA-aware plugin implementation guidance.

日本語の概要は準備中です。原文の説明を表示しています。

Generous-Corp/pulp222026年10月10日 更新

The measurement surface for ALL Pulp DSP and audio-pipeline work — read it BEFORE writing or gating DSP, not only when something already sounds wrong. Covers the C++ harness (signal generators, metrics, assertions, RenderScenario, contracts), the offline Audio Doctor (magnitude/frequency response, THD/THD+N, phase/group delay), and their Python sibling the Audio Quality Lab (tools/audio/quality-lab — null residual + alignment, LTAS log-spectral distance, spectral flux/centroid, HNR, Theil-Sen drift slope, Kaiser-sinc resampling, license-guarded corpus, regression-net ratchet). TRIGGER on AUTHORING work — "build/design an oscillator/filter/synth/effect", "add a DSP module", "what should the acceptance gate be", "how do I measure aliasing / anti-aliasing / alias floor", "null against a reference", "is this DSP correct", "choose a tolerance", "golden/regression corpus for audio", "measure drift or jitter", "A/B two renders" — AND on DEBUGGING work — "is there sound / no audio / I hear nothing", "does this filter/compressor/synth/delay produce the right signal", "prove the DSP / prove the contract", "measure the frequency response", "what's the THD / is it distorting", "what's the group delay / phase response / measured latency", "magnitude response curve", "render a test tone and assert", "audio regression", "64-frame works but 128 is silent", "sample-rate change pitch-shifted it", "describe what's in this buffer", "audio doctor", "compare before/after a DSP refactor". Reach for this BEFORE hand-rolling any FFT, null test, alias measurement, pitch tracker, or golden-render script — most of it already exists in one of the two lanes. Test/tool layer over HeadlessHost — deterministic, no audio device, no speakers. Off the realtime thread entirely.

日本語の概要は準備中です。原文の説明を表示しています。

Generous-Corp/pulp222026年10月10日 更新

Generous-Corp のスキルをすべて見る

このスキルの問題を報告する