SkillAgentSearch skills...

platform-strip

Generate non-pixel-art, horizontally repeatable platform strips from real image sources as fixed Texture2D cells or AtlasTexture regions.

Install / Use

npx skills add RandallLiuXin/GodotMaker --skill platform-strip

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

82/100

Category

Legal

Supported Platforms

Universal

Our assessment of platform-strip

platform-strip scores 82/100 on our quality scale, 176th of 247 Legal skills we index.

Its SKILL.md is 7.1 KB long, split into 4 sections with 1 code example: a thorough specification that gives an agent plenty to work with.

It has 549 GitHub stars, a meaningful sign that others use it.

Substance
29/30
Structure
12/20
Description
15/15
Adoption
12/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 16 days ago, so platform-strip is actively maintained.
  • No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
  • Its trust signals score 88/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.

Automated pattern scan on 2026-10-04. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

platform-strip compared with similar skills

All 4 of these similar skills score higher than platform-strip; compare them before choosing.

SkillScoreStarsUpdatedFormat
platform-strip (this skill)by RandallLiuXin8254916d agoSKILL.md
LocalAIby mudler10049.4ktodayMCP Server
algorithmic-artby anthropics100177.9k11d agoSKILL.md
pptxby anthropics100177.9k11d agoSKILL.md
designby nextlevelbuilder100130.2k12d agoSKILL.md

Frequently asked questions

How do I install platform-strip?
Run npx skills add RandallLiuXin/GodotMaker --skill platform-strip. The install tabs above show the steps for each supported agent.
Which AI agents does platform-strip work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is platform-strip safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It declares no license and scores 88/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is platform-strip still maintained?
The repository was last updated 16 days ago, so platform-strip is actively maintained.

name: platform-strip description: Generate non-pixel-art, horizontally repeatable platform strips from real image sources as fixed Texture2D cells or AtlasTexture regions.

Platform Strip Asset

Use for collision-aligned floors, bridges, rails, pipes, terrain ledges, and long horizontal hazards. Do not use for characters, UI, compact props, full backgrounds, or pixel art.

Contract

Accept the shared Asset Skill request schema at .godotmaker/asset-runtime/schema/asset-skill-request.schema.json with asset_type: "platform-strip". Use the shared result schema and checker. This skill can be invoked directly or by an orchestrator with the same contract. Do not read or write ASSETS.md, tags, stage state, or generated manifests.

spec must contain exactly:

{
  "kind": "single" | "atlas",
  "grid": {"columns": 3, "rows": 1, "cell_width": 160, "cell_height": 80},
  "segments": [
    {"name": "left_cap", "role": "left_cap", "slot": [0, 0]},
    {"name": "repeat_middle", "role": "repeat_middle", "slot": [1, 0]},
    {"name": "right_cap", "role": "right_cap", "slot": [2, 0]}
  ]
}

The fixed grid dimensions are positive integers. This v1 family is one closed horizontal row: rows must be 1, columns must equal segments.length, and entries must be declared in left-to-right slot order as [0, 0] through [columns - 1, 0]. The first entry is the only left_cap, the last is the only right_cap, and every interior entry is repeat_middle. Empty slots, reordered entries, and a request without a repeatable middle segment are unsupported.

references is optional. With references, validate every path is readable, preserve each declared role, and pass the actual images to the selected provider. Do not replace image attachments with prompt text. If the pinned provider cannot accept the supplied images, return STOP. Without references, generate from the written brief.

Honor the requested provider exactly. native, codex, gemini, openai, and wan never fall back to another provider. For Codex, call the image provider with referenced_image_paths containing each readable local reference image. If that attachment cannot be made, STOP. Record the provider, model, prompt, reference paths and roles, provider payload or trace, raw source path, and processing reports under .godotmaker/asset-generation/ using the provider's controlled report or claim tool; never hand-write provenance JSON.

Produce

  1. Reject pixel-art requests. Request non-pixel-art painted, illustrated, or rendered source art. Do not use nearest-neighbor scaling.

  2. Create a layout-only guide with tools/asset_layout_guide.py using the declared grid. The guide is not art and is not a runtime output.

  3. Request one real provider source sheet with one horizontal slot per declared segment. Require a solid #FF00FF background, a shared walkable top height, no labels, UI, actors, text, props, or grid lines. Preserve the provider's returned pixels as the raw source even when its raster dimensions differ from the target grid.

  4. Store the unmodified provider image at .godotmaker/asset-generation/sources/<asset_id>_source.png. For codex, follow skills/core/gm-asset/references/providers/codex.md: write the planned generated-path record and the runtime generated-path record, then run python .godotmaker/asset-runtime/tools/codex_image_claim.py --plan <plan.json> --report <generated-paths.json> --project-root . --out-report .godotmaker/asset-generation/reports/<asset_id>_source.json. Use that claim result as the provenance record. For API-backed providers, use tools/asset_source_generate.py --spec with its report_path. The report must be generated by those controlled tools, not hand-written. Do not create, draw, or alter visual source art with temporary scripts, Pillow, System.Drawing, ImageMagick, SVG, canvas, Godot drawing, or placeholder generation.

  5. Split the raw provider sheet before any crop, resize, or padding. Never normalize the whole sheet as one image: doing so changes the declared grid coordinates. Use the owned deterministic tool with the declared source grid and names in declared slot order. It deterministically covers every source pixel even if the provider raster dimensions are not evenly divisible by the requested grid:

    python tools/asset_sheet_process.py --source <raw-source> --out-dir <sliced-dir> --grid <columns>x1 --names <segment-names-in-slot-order> --background magenta --snap-mode grid --preserve-cell-bounds --report .godotmaker/asset-generation/reports/<asset_id>_sheet.json
    

    Use the report to reject missing art, opaque magenta pixels, edge-touching art that breaks the declared slot, or a cell that does not retain its fixed dimensions.

  6. For each already-sliced cell, use asset_sheet_process.py --grid 1x1 --background transparent --snap-mode grid without --preserve-cell-bounds to crop that cell's visible AABB. Then finalize that cropped cell independently with asset_image_finalize.py --resize <cell_width>x<cell_height> --no-origin. Save each output under <normalized-dir>/<segment>.png and each finalize report at .godotmaker/asset-generation/reports/<asset_id>_<segment>_normalize.json. Do not recombine or resize the raw sheet between slicing and this per-cell finalization.

  7. For kind: "single", publish every normalized cell at res://assets/generated/platform-strip/<asset_id>/<segment>.png and return it as Texture2D.

  8. For kind: "atlas", create an explicit fixed-slot declaration from the normalized cells. Assemble it only with tools/asset_atlas_assemble.py; publish <asset_id>.png and <asset_id>.json in the stable platform-strip directory. Each metadata region uses the declared slot rectangle, pivot: [0.5, 1.0], and nine_slice: null. Compile every logical region to res://assets/generated/platform-strip/<asset_id>/<segment>.tres as AtlasTexture with zero margin.

  9. Run standalone_validation.compile_and_validate() with exactly GM_EVAL_GODOT_PATH or GODOT_BIN when either is configured; do not search for or substitute another Godot executable. When retaining .godotmaker/asset-generation/reports/<asset_id>_validation.json, write the validator's actual result rather than a self-reported verdict. validation.levels in the generic result is optional; include it only when it is the direct validator output.

Result

Return exactly one shared generic result JSON object and no prose.

Before returning, persist the exact shared request/result pair at .godotmaker/asset-generation/<asset_id>-request.json and .godotmaker/asset-generation/<asset_id>-result.json.

For single, declare one sources entry with layout: "single" for every processed segment and one runtime Texture2D output per segment. For atlas, declare one sources entry for the physical atlas with layout: "region_atlas" and one runtime AtlasTexture output per segment. Use only stable platform-strip paths.

If the semantic strip contract, provider contract, source art, processing report, fixed slot assembly, compiler, or Godot check cannot complete, return the shared failed result with outputs: [], validation.passed: false, and explanatory notes. Do not publish partial runtime outputs.

Related Skills

View on GitHub
GitHub Stars549
CategoryLegal
Updated16d ago
Forks50

Languages

Python

Trust signals

88/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 medium