AgentKit
DocsKitsCLI ReferenceDesktop App

Skills

Organize project marketing assets with ak:assets-organizing

Plan and apply reviewable names and paths under assets while preventing accidental moves, overwrites, deletions, or scope expansion.

Use ak:assets-organizing to choose consistent paths and filenames for marketing files under a project-owned assets/ tree. The Skill supplies naming, date, directory, and asset-type conventions for new outputs and for an approved reorganization of existing files.

It is a convention and file-organization workflow. It does not upload assets, publish them, validate their content, deduplicate by file contents, or manage a digital-asset platform.

Choose ak:assets-organizing for local file structure

Use ak:assets-organizing when

  • A new marketing output needs a predictable project-local destination.
  • Existing assets need a proposed mapping into assets/ categories.
  • A campaign or multi-file deliverable should remain self-contained.
  • You need consistent kebab-case slugs, date prefixes, variants, platform folders, or scene numbering.

Choose another workflow when

  • You need to create or edit the asset itself. Use the relevant writing, design, image, video, audio, or analysis Skill.
  • You need cloud sync, CDN publication, provider metadata, rights management, or a remote asset catalog.
  • You need binary deduplication, checksums, media validation, or a reversible migration tool. This Skill ships no dedicated organizing script.
  • You cannot review exact source and destination paths before files change.

Prepare the project and authority boundary

Before running the Skill:

  • Complete Onboarding and install Marketing Kit for the current runtime and scope.
  • Open the project whose assets/ directory you intend to inspect.
  • Preserve unrelated and untracked work.
  • State whether the run is preview-only or may create directories, move files, or rename files after approval.
  • Define collision behavior. The safe default is never overwrite, delete, or replace an existing path.
  • Identify sensitive, licensed, client-owned, or source-controlled files that must not be moved or exposed.
RuntimeInvocationAvailability boundary
Claude Code/ak:assets-organizing ...Native delivery is the default; explicit plugin delivery is also supported. Actual filesystem mutations depend on the tools and authority granted in the session.
Cursor/ak:assets-organizing ...Slash invocation is user-verified. This does not prove identical file-operation safeguards across runtime setups.
Codex$ak:assets-organizing ...Native Skill discovery is supported. Hook projection is partial, so inspect the proposed filesystem diff directly.

See Runtime adapters for component-level differences.

Start with a preview-only mapping

/ak:assets-organizing Audit ./incoming-assets and propose target paths under assets/. Return a source-to-destination table. Do not create, move, rename, delete, or overwrite any file until I approve the exact mapping

The public argument hint is [directory or asset-type]. Always add the desired outcome and mutation boundary; a directory alone does not say whether you want an audit, a proposed structure, or approved file changes.

Apply the canonical naming rules

RuleContract
SlugLowercase, replace spaces with hyphens, remove special characters, keep numbers, remove edge hyphens, and cap at 50 characters at a word boundary
Default dateUse CK_PLAN_DATE_FORMAT when set; otherwise use YYMMDD-HHmm
Date-only formYYMMDD for date-sensitive assets that do not need a time
VariantUse {name}-{width}x{height}.{ext}, {name}-{size}.{ext}, {name}-{platform}.{ext}, {name}-v{N}.{ext}, or {name}-{variant}.{ext} as appropriate
SceneUse scene-{NN}-{position}.{ext} with two-digit numbering for storyboard frames
Multi-file outputKeep related files in one self-contained folder
Platform outputUse a platform subfolder when the content is platform-specific

The packaged references conflict on article dating: the quick path uses assets/articles/{date}-{slug}/, while the asset-type guidance calls articles evergreen and says to omit the date prefix. Do not silently choose. Ask the owner whether the article is time-bound, then record the selected convention.

Use the smallest useful path pattern

Asset classCanonical pattern
Article bundleassets/articles/{date}-{slug}/ or an explicitly approved evergreen variant
Storyboardassets/storyboards/{date}-{slug}/
Video bundleassets/videos/{date}-{slug}/
Transcriptassets/transcripts/{slug}.md
Bannerassets/banners/{campaign}/{variant}-{size}.{ext}
Design bundleassets/designs/{project}/
Social postassets/posts/{platform}/{date}-{slug}.{ext}
General reportassets/reports/{category}/{date}-{descriptive-slug}.md
Copyassets/copy/{type}/
Campaign bundleassets/campaigns/{date}-{slug}/ with briefs/, creatives/, reports/, and assets/ as needed
Generated assetassets/generated/{type}/{date}-{slug}.{ext}

Do not create every listed directory preemptively. Create only the parent and children required by the approved deliverable. If an intentionally empty directory must be tracked in Git, the source convention uses .gitkeep, which is another file creation to review.

Understand the stages

  1. Inventory the requested scope. List source files, types, sizes, current locations, and relevant relationships without reading or moving unrelated content.
  2. Classify each deliverable. Choose the narrowest asset class and determine whether it is a single file, multi-file bundle, campaign group, or platform-specific output.
  3. Generate names. Apply the approved slug, date, variant, and scene rules.
  4. Check collisions. Compare every destination with existing files and identify case-only, extension, version, and folder conflicts.
  5. Present a mapping. Show source, proposed destination, rule used, and any unresolved choice. No mutation occurs in preview-only mode.
  6. Apply only approved changes. Create the minimum directories, then write, move, or rename only the accepted paths without overwriting.
  7. Verify. Confirm every expected file exists at its destination and report unchanged sources, skipped conflicts, and any partial failure.

Keep file effects safe and reversible

Organization changes project state

A clean-looking tree can still break links, imports, embeds, scripts, Git history, or publishing pipelines. Approve a complete mapping and dependency update plan before moving existing files.

  • Preview is read-only. Directory creation, file creation, rename, move, copy, overwrite, and delete are separate mutations.
  • Default to copy-and-verify or version-control-backed moves when recovery is important. Do not delete the source as part of an unreviewed cleanup.
  • Search for references to every moved path and update them only within the approved scope.
  • Preserve file bytes, metadata that matters to the workflow, and unrelated user changes. A naming convention is not permission to rewrite contents.
  • Organization is local only. It does not authorize upload, publication, provider requests, account changes, or spend.

Verify outputs and evidence

A complete run should provide:

  • A source-to-destination mapping with the chosen naming rule for every file.
  • A list of created directories and changed paths.
  • Collision decisions and skipped files.
  • Evidence that expected destination files exist and required references still resolve.
  • A list of source files intentionally preserved or removed, with approval for any removal.
  • Remaining ambiguities, especially the article date convention or an unknown asset type.

Troubleshoot or continue

SymptomSafe next step
A destination already existsStop that item, preserve both files, and choose a new variant or version name.
The same asset fits several categoriesChoose the category of its primary deliverable and link or reference it elsewhere instead of duplicating bytes without a reason.
Moved files break links or embedsStop further moves, restore or update only the approved references, and verify the dependent workflow.
Date guidance conflictsAsk whether the asset is time-bound or evergreen and record the chosen pattern.
The Skill proposes broad cleanupNarrow the input directory and require an explicit mapping; do not authorize recursive deletion.
Runtime cannot find ak:assets-organizingFollow Runtime cannot find a Skill or Agent.

Continue with Projects, artifacts, and checkpoints before recovery, or return to the Marketing Kit overview.

Know the current limits

  • The Skill supplies conventions but no dedicated script for atomic moves, rollback, checksums, content deduplication, or reference rewriting.
  • Several source examples still use legacy command names. Treat the canonical runtime Skill name as ak:assets-organizing and use examples only as path guidance.
  • Asset-type references contain broad templates with placeholder claims, metrics, pricing, and ROI fields. Never fill those with invented data.