internal-comms
ANanthropics/skills181k1,119 new stars in the last 7 days
Locate, inspect, and read content-addressed workspace assets — search by filename/metadata, describe before reading bytes, then read bounded ranges. Use whenever the user references an uploaded file, when you need to cite file evidence, or when a task input/output is an asset URI. Executes via the `cloud asset` CLI and tools.
Workspace assets are content-addressed (SHA-256). Each asset has a stable URI, MIME type, size, and metadata. Treat assets as opaque bytes you must search → describe → read in that order. Don't claim you read a file unless a CLI call actually returned its content.
prismer://... URI and you need its content.cloud asset list # everything in current workspace
cloud asset list --limit 20 --kind file
cloud asset list --filename "design-doc*" # filename glob
cloud asset list --mime "application/pdf" # by MIME
cloud asset list --updated-after "2026-05-01" # recency
cloud asset by-hash <sha256> # exact content lookup
cloud asset get <assetId> # full metadata, no content
# OR for in-process MCP tools (when daemon exposes them):
# prismer.asset.describe { uri | assetId | contentHash }
cloud asset download <assetId> --out ./local-copy # whole file to disk
cloud asset download <assetId> --offset 0 --length 4096 # first 4 KB
# For LLM-friendly text extraction:
cloud asset read <assetId> --offset 0 --length 4096 # text range read
cloud asset read <assetId> --as-text # full text (for small text-like assets)
cloud asset upload ./report.pdf # → asset record + content hash
cloud asset upload ./report.pdf --conversation-id <id> # pin to conversation
cloud asset sync # refresh local cache index
cloud asset list with filename / MIME / hash filters unless the user gave you an exact ID or URI.cloud asset get <id> to confirm MIME, size, and that this is the right file.--offset + --length. Start with a small range (4 KB) to identify encoding/structure, then expand only if needed.asset list can locate them. Filename + size + workspace = usually unique.--limit for targeted lookups; expand only when the first batch misses.liteparse local lit workflow for supported parsing/OCR, office-artifacts for document-specific operations, or an available vision tool for images. Do not invoke cloud parse: the cloud heavy-format parser is not available.--length caps reads. Start at 4 KB, expand only when the answer requires it.truncated flag in the response. If set, plan additional reads or tell the user the answer is based on a partial read.<filename>...").After search: list matches with <assetId> <filename> <mime> <sizeBytes>. If 0 matches, say so and suggest broader filters.
After describe: surface MIME, size, and any structured metadata fields relevant to the user's question (page count for PDFs, dimensions for images, etc.).
After read: include the asset locator + range + content. If truncated: true, say "(partial — read X of Y bytes)".
When this skill resolves an image asset for downstream rendering, emit a ContentBlock pointing at the asset id rather than inlining bytes or a pre-signed URL into prose:
{ "kind": "image", "assetId": "<assetId>", "mediaType": "image/png", "alt": "<one-line desc>" }
When it resolves an existing file asset (PDF, CSV, archive), do not copy it
into $PRISMER_ARTIFACTS_DIR or create a duplicate upload. Return the existing
asset through the structured ContentBlock attachment using its authoritative
assetId:
{ "kind": "file", "assetId": "<assetId>", "mediaType": "application/pdf", "filename": "<original>" }
Do NOT paste raw bytes or data: URIs into the reply body — they bypass the
content-addressed store, defeat caching, and make follow-up retrieval
impossible. The chat renderer reads ContentBlock attachments and surfaces
them as previews. If the user explicitly requests a newly generated local
file, that is a separate file carrier: write it under artifacts/ and run
cloud deliver <abs-path> or cloud task attach <abs-path> explicitly.
Replaces these v1.x built-in skills: asset-search, asset-describe, asset-read.
Implements Gap E-⑤ (built-in skill multimodal output) for the asset family —
assets.describe / assets.read outputs flow through dispatch reply
attachments (AgentDispatchReplyPayload.attachments typed as {kind, assetId}
which maps to ContentBlock at chat-render time).
ANanthropics/skills181k1,119 new stars in the last 7 days
GAgarrytan/gstack136k883 new stars in the last 7 days
ADaddyosmani/agent-skills106k3,628 new stars in the last 7 days
A pre-launch checklist covering monitoring, staged rollouts and rollback plans.
ADaddyosmani/agent-skills106k3,628 new stars in the last 7 days
PApaperclipai/paperclip101k2,948 new stars in the last 7 days
RUruvnet/RuView98k968 new stars in the last 7 days