Skip to main content

code-card

Render a syntax-highlighted code card on the Argos brand background with scripts/code-card.mjs. Use whenever a social post, changelog, or slide needs a snippet shown as an image — never paste a raw terminal screenshot or use a third-party service.

Ir para a instalação

Informações da origem

Repositório
argos-ci/argos-ci.com
Última atividade na origem
9 de agosto de 2026 às 21:57
Idioma detectado do SKILL.md
inglês
Estrelas
25
Forks
10

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
code-card
description
Render a syntax-highlighted code card on the Argos brand background with scripts/code-card.mjs. Use whenever a social post, changelog, or slide needs a snippet shown as an image — never paste a raw terminal screenshot or use a third-party service.
# Code cards When a snippet is the point of a post, it ships as a rendered card: a macOS-style window on the Argos indigo gradient, syntax highlighted in the brand palette. Every card comes from `scripts/code-card.mjs`, so a set rendered months apart still looks like one system. This replaces SyntaxShot and similar services — they cap free renders per month and their themes don't match the brand. ## Inputs - **Script**: `scripts/code-card.mjs`. Uses `@playwright/test`, already a dependency — no install, no API key, no network. - **Output**: 1400×880 at `deviceScaleFactor: 2` → 2800×1760 PNG. 16:10 survives feed cropping on X, LinkedIn and Bluesky. - **Destination**: write to a scratch directory. These are social assets — do **not** commit them unless the image is also used on the site. ## Steps ### One card ```bash node scripts/code-card.mjs --code /tmp/snippet.sh --out /tmp/card.png ``` The window title defaults to the snippet's filename. Override with `--title`. ### A batch (preferred — keeps a set consistent and re-renderable) Write a spec, then render it in one pass: ```json { "cards": [ { "name": "POV1", "title": "assertion.ts", "code": "expect(button).toHaveClass('primary');" }, { "name": "AG1", "codeFile": "snippets/setup.sh" } ] } ``` ```bash node scripts/code-card.mjs --spec /tmp/cards.json --out-dir /tmp/cards ``` Each card writes to `<out-dir>/<name>.png`. Use `code` for short snippets and `codeFile` (resolved relative to the spec) for anything long. Keep the spec alongside the work — re-rendering the whole set after a style change is then one command, which is the whole point. ### Always review the result Read the PNG back before shipping it. Check: the card is centred with real margin, nothing clipped on the right, highlighting landed on the right tokens, and it's legible at feed thumbnail size. ## Writing the snippet - **Verify every command against the source before rendering.** A wrong flag in an image is worse than in text — it gets screenshotted and quoted. The CLI lives in `argos-javascript/packages/cli/src`; MCP tools in `argos/apps/backend/src/mcp`. Two real examples that shipped wrong: `argos build review --conclusion approve` (no such subcommand — it is `argos review create <build> --event approve`) and `argos upload --files <glob>` (`upload` takes a required `<directory>` argument first). - **Keep it to 6 lines or fewer.** The font is deliberately large so the card reads in a feed; long snippets shrink into unreadability. - **Lead with a `#` or `//` comment** stating the point, when the code alone doesn't carry it. Comments render dimmed and italic, so they read as narration. - **Break long commands** with a trailing `\` and two-space continuation indent. - Match the snippet to the post copy. If the post shortened an identifier, the card should too. ## What gets highlighted The tokenizer handles single, double and backtick strings, `#` and `//` comments, `--flags`, `<placeholders>`, URLs, numbers, and `$skill` references. It colors the first word of a line when it's a known command (`argos`, `npx`, `claude`, `codex`, …) and the second when it's a known subcommand (`build`, `review`, `comment`, `deploy`, …). JS/TS keywords like `await` and `expect` are also colored. Adding a new command or subcommand means adding it to the `COMMANDS` / `SUBCOMMANDS` sets at the top of the script — otherwise it renders as plain text, which is a safe fallback rather than a bug. ## Choosing between a code card and an illustration - **Code card** — the snippet _is_ the message: a command, a config, an API shape. - **Concept illustration** — the idea is abstract (a workflow, a tradeoff, scale). Use `gpt-image-2` with a no-text prompt; see the `changelog-image` skill for the house style, and never let the model render letterforms. A post should carry one or the other, never a code card of prose.
Ver no GitHub