← SpritesCONTENT HISTORY

Update to Sprites

Snapshot Oct 8, 2026 · 18:02 UTC · version 0.2.0

WHAT CHANGED · RULE-BASED ANALYSIS

Package or technical metadata updated

Package contents changed in 9 files: .app.json, .codex-plugin/plugin.json, .mcp.json, …. Open the file diff to inspect the edits.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Package file

Before

0862ee1a76406a168ef9dd99c6263c590811a6ca3bc7f06ac80447996cb752ff

After

9a223f32d3152c50ae98a9a9ddf1479b3334493a1dc0014cbd21db659252cf4b

Package file

Before

127

After

99

Package file

Before

db2f3d3bd23e715973fdc31d498627d35fc77d0b6aca10f2b73eefc571e682ec

After

55d4aa8370e12126a774a0ebe2f820fcb7bac835df8834ad8b111d608c7d40e3

Package file

Before

1583

After

1530

Compare saved observations

Download comparison JSON

skills/sprites/SKILL.md

--- before
+++ after
@@ -24,6 +24,8 @@
 Use the smallest direct tool for the request:
 
 - List sprites: `list_sprites`.
+- Inspect a mentioned Sprite's identity: `get_sprite_info` with `sprite` and `sprite_id`.
+- Open a visual inspection panel: `open_sprite_inspector`, optionally with `sprite`.
 - Create a sprite: `create_sprite`, then `list_sprites` only if the user asked to see the updated list.
 - Delete a sprite: `destroy_sprite`, only after explicit delete/destroy/remove intent.
 - Run a one-off command in a sprite: `exec`. Inspect or stop exec sessions with `exec_list` and `exec_kill`.
@@ -35,6 +37,16 @@
 
 Sprite-scoped tools usually require a `sprite` argument. If the user did not name a sprite and the task needs one, call `list_sprites` and choose the obvious match; ask a short clarification only when there is no clear choice.
 
+## Composer Mentions and Inspector
+
+On supported desktop clients, users can select individual Sprites from the composer. A Sprite reference uses `sprites://org/<org_id>/<encoded-name>?id=<sprite_id>` and identifies an environment in a particular organization. The Inspector can also attach a selected Sprite's name, ID, and organization to the conversation.
+
+Use that explicit selection as the target. Verify it with `get_sprite_info`, passing the decoded name as `sprite` and the reference's ID as `sprite_id`, and check that the returned organization matches the reference. Pass `sprite_id` alongside `sprite` to subsequent sprite-scoped tools that advertise it. If access fails or the identity has changed, report that the reference is stale or unavailable; do not substitute a similarly named environment. When multiple selections leave the target ambiguous, ask which one the user means. A selection supplies context, not permission to delete or restore an environment.
+
+When the user asks for a visual overview, open `open_sprite_inspector`. It lists environments and provides explicit reads for services, checkpoints, and the last 100 service-log lines. Runtime reads may wake the selected Sprite. The Inspector has no mutation controls; use the existing tools for requested changes. Its current selection is contextual and may be removed from the composer.
+
+These extensions require support from both the host and the hosted MCP server. If only the extension tools or UI are unavailable, continue using the existing list and inspection tools and summarize their results in chat. Do not attempt to register a second server. Composer search is host-driven; `search_sprite_mentions` is an app-only tool.
+
 ## Common Flows
 
 List sprites:
Full technical diff · 12 changed fields

changed /files/.app.json/sha256

BEFORE
"0862ee1a76406a168ef9dd99c6263c590811a6ca3bc7f06ac80447996cb752ff"
AFTER
"9a223f32d3152c50ae98a9a9ddf1479b3334493a1dc0014cbd21db659252cf4b"

changed /files/.app.json/size

BEFORE
127
AFTER
99

changed /files/.codex-plugin~1plugin.json/sha256

BEFORE
"db2f3d3bd23e715973fdc31d498627d35fc77d0b6aca10f2b73eefc571e682ec"
AFTER
"55d4aa8370e12126a774a0ebe2f820fcb7bac835df8834ad8b111d608c7d40e3"

changed /files/.codex-plugin~1plugin.json/size

BEFORE
1583
AFTER
1530

added /files/.mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "a88c217f4f9a8e8a7ff34742e84cb0b2876943b88069b8904b7304f79d16dae6",
  "size": 119
}

added /files/LICENSE

BEFORE
Field was absent
AFTER
{
  "sha256": "3214f21e3049a071cf7fcc7c82e71856c99e39f0896d6b1cd9ace97520b5124e",
  "size": 1063
}

added /files/README.md

BEFORE
Field was absent
AFTER
{
  "sha256": "2bd578d01aa8d419d3a497b63fb68060b382ae715ff2e84ed93ba082cd103845",
  "size": 6064
}

added /files/assets~1fly-logo.png

BEFORE
Field was absent
AFTER
{
  "sha256": "643b0f0142087e41ae87b918c552e024293a32d4316a2fbaca777fee9a35f312",
  "size": 47948
}

added /files/mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "a9430ddfbef64170d3e07e9d7b8b9bd56f87d4c4ac158dd6942e3ec2910fbe8d",
  "size": 193
}

added /files/plugin.json

BEFORE
Field was absent
AFTER
{
  "sha256": "52ba9c454ffbd486b8e8d74b4445cd3d44f8eba0648302aa002a771702252d1c",
  "size": 2001
}

changed /files/skills~1sprites~1SKILL.md/sha256

BEFORE
"d21dd8e4b15ed3f415a457e74294b7abf87ef5e2a2ea0790c5ba7c3bc80c3645"
AFTER
"d9b0f3981bc9333c6a54f0aae8f7c9cd599fc7d47cac26da49af95ee7b722ac6"

changed /files/skills~1sprites~1SKILL.md/size

BEFORE
4874
AFTER
6759
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "9a223f32d3152c50ae98a9a9ddf1479b3334493a1dc0014cbd21db659252cf4b",
      "size": 99
    },
    ".codex-plugin/plugin.json": {
      "sha256": "55d4aa8370e12126a774a0ebe2f820fcb7bac835df8834ad8b111d608c7d40e3",
      "size": 1530
    },
    ".mcp.json": {
      "sha256": "a88c217f4f9a8e8a7ff34742e84cb0b2876943b88069b8904b7304f79d16dae6",
      "size": 119
    },
    "LICENSE": {
      "sha256": "3214f21e3049a071cf7fcc7c82e71856c99e39f0896d6b1cd9ace97520b5124e",
      "size": 1063
    },
    "README.md": {
      "sha256": "2bd578d01aa8d419d3a497b63fb68060b382ae715ff2e84ed93ba082cd103845",
      "size": 6064
    },
    "assets/fly-logo.png": {
      "sha256": "643b0f0142087e41ae87b918c552e024293a32d4316a2fbaca777fee9a35f312",
      "size": 47948
    },
    "mcp.json": {
      "sha256": "a9430ddfbef64170d3e07e9d7b8b9bd56f87d4c4ac158dd6942e3ec2910fbe8d",
      "size": 193
    },
    "plugin.json": {
      "sha256": "52ba9c454ffbd486b8e8d74b4445cd3d44f8eba0648302aa002a771702252d1c",
      "size": 2001
    },
    "skills/sprites/SKILL.md": {
      "sha256": "d9b0f3981bc9333c6a54f0aae8f7c9cd599fc7d47cac26da49af95ee7b722ac6",
      "size": 6759
    }
  }
}

SHA-256 of public snapshot: 0252831125fa7eb500e48ed7d87dd613d9c7cedf25564f4702febfc3f1148c4d