Skip to content
Back to skills

Subtasks

ASecurity

Create a new in-repo skill that teaches an agent to **build artifacts well** — distinctive, accessible, dual-theme HTML pages published as files in this repo. The skill converges four captured design skills (`artifact-design`, `dataviz`, `design-sync`, `frontend-design`, currently at repo-root `tmp_skills/`) into one self-contained skill, **written in** — adapted and rewritten for our publish mechanism, never pasted verbatim (the sources are Anthropic-authored and this repo is public). On top of

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 29, 2026
ai-agentsgonoderailsgitfrontend

Works with

  • cli
  • mcp

Security analysis

A100/100

Pro scans all 14 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add sidhanthapoddar99/agent-knowledge-system --skill subtasks --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Subtasks?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Subtasks
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sidhanthapoddar99-subtasks-87d5ec9c/badge)](https://www.skillsdirectory.com/skills/sidhanthapoddar99-subtasks-87d5ec9c)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
title: "Author the converged agent-ks-artifacts skill (SKILL.md + references + scripts)"
status: done
---

## Goal

Create a new in-repo skill that teaches an agent to **build artifacts well** —
distinctive, accessible, dual-theme HTML pages published as files in this repo.
The skill converges four captured design skills (`artifact-design`, `dataviz`,
`design-sync`, `frontend-design`, currently at repo-root `tmp_skills/`) into one
self-contained skill, **written in** — adapted and rewritten for our publish
mechanism, never pasted verbatim (the sources are Anthropic-authored and this
repo is public). On top of the converged design craft, it adds **our layer**:
where artifacts live in this framework (docs sections and tracker
`brainstorm/`/`notes/` folders), the metadata-sidecar contract, and flows for
authoring whole **brand systems / design systems** as a docs section full of
artifacts + commentary.

This is the largest subtask. The section-by-section convergence plan — which
source feeds which section, which overlaps to merge, what to drop, what to keep
verbatim-ish — is the authoring-skill-design brainstorm at
[`../brainstorm/02_discuss_authoring-skill-design.md`](../brainstorm/02_discuss_authoring-skill-design.md).
The provenance of the four sources and the upstream-fold-in protocol are in
[`../notes/01_skill-sources-and-provenance.md`](../notes/01_skill-sources-and-provenance.md)
(kept true by [`70_upstream-provenance.md`](./70_upstream-provenance.md)). The
skill's own reserved-URL and sidecar knowledge must match the code from
[`10_component.md`](./10_component.md), [`20_route.md`](./20_route.md), and
[`30_reserved-url-guard.md`](./30_reserved-url-guard.md); the sibling-skill
integration is [`50_skills-integration.md`](./50_skills-integration.md).

## Where it lives

A new skill folder under `plugins/agent-ks/skills/<name>/` (peer of
the existing `agent-ks-docs/` and `agent-ks-issues/` skills) — suggested name
`agent-ks-artifacts`. Structure mirrors the existing skills:
`SKILL.md` + `references/` + `scripts/`. Per the plugin parity rule (MEMORY.md),
the identical tree must also be mirrored into the installed cache at
`/home/sid/.claude/plugins/cache/sids-plugin-marketplace/agent-ks/<version>/skills/<name>/`
and the plugin manifest / marketplace version bumped — coordinate that bump with
`50`. The four `tmp_skills/` sources are **input**, not shipped content; their
permanent home is decided in `70`.

## What each source contributes (adaptation stance)

- **artifact-design** — the spine: treatment calibration (utilitarian vs
  editorial), honor-what's-there precedence, fundamentals, the anti-generic
  cliché list, both-themes token discipline, typography, process, editorial
  pass. Keep ~85% as craft; **strip** its claude.ai specifics (font-as-data-URI
  CSP workaround, the viewer `data-theme`-stamping contract) and rewrite for our
  publish target.
- **dataviz** — the chart chapter, essentially re-parameterizable as-is: the
  7-step form→color→validate procedure, non-negotiables, and the anti-pattern
  catalog become a reference file; its `palette.md` is the **swappable instance**
  we replace with values derived from *this* framework's theme contract.
- **design-sync** — strip the entire claude.ai/design upload pipeline (the
  `DesignSync` tool, `window.<Global>` bundle, `_ds_sync.json`, storybook compare
  harness, subagent fan-out). Keep only the **doctrine**: what a design system
  *is* as a consumable contract, the write-conventions-for-a-guessing-agent rule,
  the validate-names-against-built-artifacts rule, and the absolute
  Styled/Complete/Plausible grading rubric.
- **frontend-design** — mostly subsumed by artifact-design. Salvage only its
  *tone menu* (brutalist, art-deco, editorial-magazine…), "vary across
  generations / never converge on one face," and the background/texture idea
  list — folded into the **editorial branch only**, gated by artifact-design's
  restraint governor. **Drop** its uncalibrated "BOLD / UNFORGETTABLE" framing.

## Tasks

*(Grouped by skill artifact. Each SKILL.md section is one deliverable; the
brainstorm's §§3–4 are the authority for source→section mapping — §3's table of
contents and §4's merge decisions.)*

### Scaffold + frontmatter

- [x] **Scaffold the skill folder** `plugins/agent-ks/skills/agent-ks-artifacts/`
      with `SKILL.md`, `references/`, `scripts/`. Write YAML frontmatter
      (`name`, `description`, `license`) with a `description` tuned for
      triggering on artifact-building intent (building/designing an HTML artifact,
      dashboard, report page, design system, brand guideline) — distinct from the
      `agent-ks-docs` skill (which triages docs writing) and `agent-ks-issues`
      (tracker). Done when the skill loads and its description reads as
      action-triggering, not a summary.

### SKILL.md body — one task per section

- [x] **§0 Triage / calibrate the treatment.** Port artifact-design's "read the
      request first" (utilitarian vs editorial) nearly verbatim — the best single
      idea across the four sources. Fold frontend-design's Purpose/Tone/
      Differentiation questions in as the *editorial-branch* prompts. Recalibrate
      altitude for a docs repo: the utilitarian branch dominates (embedded
      explainers, dashboards); editorial = standalone showcase artifacts.

- [x] **§1 Honor the host design system first.** This is *stronger* here than on
      claude.ai because the framework has a real, mandatory theme contract. Write
      a **conventions section per design-sync's rules**: enumerate the actual
      token vocabulary (real `--color-*`, `--spacing-*`, the two-tier
      `--ui-text-*` / `--content-*` / `--display-*` model from CLAUDE.md Theming),
      name where the truth lives (`agent-ks-engine/src/styles/theme.yaml`,
      `color.css`, `font.css`), give one idiomatic snippet, and apply the
      validate-every-named-token rule (every token the skill names must exist in
      the shipped theme). State the precedence chain (user's words > host system >
      your choices) and its resolution: **palette/type tokens come from the theme;
      composition, layout concept, and structure are where distinctiveness
      lives** — unless the artifact deliberately commits to its own visual world
      (poster, game), the single-theme escape hatch generalized.

- [x] **§2 Fundamentals for every artifact.** Port wholesale from artifact-design
      (subject-grounding, hue-biased neutrals, layout-does-the-spacing with
      flex/grid + `gap`, `overflow-x: auto` for wide content, `tabular-nums`,
      build-cleanly / focus states / `prefers-reduced-motion`, CSS-specificity
      hygiene, copy-as-design-material, structure-is-information). No platform
      coupling here — minimal rewrite.

- [x] **§3 Anti-generic rules (merge).** Base = artifact-design's cliché list
      (warm-cream + serif + terracotta; near-black + acid-green; purple-blue
      gradient hero; Inter/Space Grotesk "safe" defaults; emoji section markers;
      everything centered; `rounded-lg`; accent rails) **plus** its "user's words
      always win" override. From frontend-design salvage only the tone menu,
      "vary across generations," and the texture/background idea list — into the
      editorial branch, gated by restraint. Drop the duplicate "match complexity
      to the vision" paragraph (keep artifact-design's).

- [x] **§4 Both-themes discipline (keep doctrine, rewrite the signal).** Keep
      token-level theming, "dark is *selected* not inverted," single-theme as a
      deliberate commitment. Rewrite the *mechanism* for our target: the artifact
      keeps the identical robust pattern (tokens on `:root`, `@media
      (prefers-color-scheme: dark)` default, `:root[data-theme="dark"]` /
      `[data-theme="light"]` overrides that win both ways), and **the framework's
      embed layer stamps `data-theme` into the iframe document** mirroring the
      site toggle (the `10` client renderer). State clearly which theme variables
      are (or are not) injected into the iframe so authors know whether to consume
      or merely derive from them.

- [x] **§5 Typography.** Port artifact-design's pairing guidance (65ch measure,
      type scale, `text-wrap: balance`, letter-spaced uppercase labels,
      display+body pairing). **Rewrite the font-delivery sentence**: replace
      "inline the face as a `@font-face` data URI (CSP workaround)" with "ship
      `.woff2` under the repo assets (served at `/assets/`) and reference it
      relatively." Keep the underlying warning — a missing/silently-fallen-back
      font looks "fine" at a glance; check the computed font, not the vibe
      (design-sync's `[FONT_MISSING]` lesson as prose).

- [x] **§6 When it's a UI / dashboard → route into dataviz.** Keep
      artifact-design's "when it's a UI, not a document" paragraph as the
      *router* (summary before detail, state encoded in form, semantic color ≠
      accent) and **delete its chart specifics** to avoid drift — the chart detail
      lives in the dataviz reference (next group).

- [x] **§7 Process — plan before code.** Port artifact-design's pre-code plan
      (4–6 named hex, 2+ type roles, one-sentence layout concept) plus the
      editorial review-for-genericness step.

- [x] **§8 Verify before publishing.** This is design-sync's unique
      contribution, stripped of harness. Rewrite the verify *target*: run
      `./start dev`, load the `/artifacts/<path>` full-page URL **and** an
      embedding docs page, check **both themes** and **both viewports** (embed
      width ~700–900px and full page). Apply the absolute rubric adapted:
      **Styled** (theme tokens visibly resolved — an unresolved `var()` freezing a
      fallback is the exact failure to catch), **Complete** (nothing collapsed /
      overflowing, no horizontal body scroll, focus visible, reduced-motion
      honored), **Plausible** (real content, never `foo`/`test`). Note the
      optional Playwright MCP tools for screenshots.

- [x] **§9 Realistic content rule.** One short shared rule from artifact-design
      ("real content, never lorem") + design-sync ("curate before inventing;
      never `foo`/`test`; canonical example + variant sweep + static states").

### references/ (the deep material — keep out of SKILL.md to keep it lean)

- [x] **`references/dataviz.md`** (or a small folder) — port the dataviz
      procedure, non-negotiables, and anti-pattern catalog. Rewrite `palette.md`
      as **our** instance: derive surfaces from `--color-bg-*`, ink from
      `--color-text-*`, and status from `--color-success/warning/error/info`;
      keep the categorical/sequential/diverging slots as the only novel values
      and **validate them against the theme surfaces** with the bundled validator.
      Make the theme contract authoritative for surfaces/ink (single source of
      truth) so it never double-declares with the docs theme.

- [x] **`references/design-system.md`** — the design-sync doctrine as prose: the
      anatomy of a design system as a consumable contract (tokens + fonts +
      component/pattern inventory + conventions doc + where-truth-lives
      pointers), the conventions-authoring rules, and the Styled/Complete/
      Plausible rubric with render-check habit.

- [x] **`references/publishing.md`** — **our layer**, greenfield. Where artifacts
      live (an `NN_.html` in a docs section, or in a tracker `brainstorm/`/
      `notes/` folder); the `NN_` prefix rule and whether artifacts are exempt
      like assets (state the rule the `10` loader actually implements); the
      **metadata sidecar contract** (same-name `.meta.json`/`.meta.jsonc`: title,
      description, sidebar fields, and the explicit declared values — palette,
      purpose, key data — so AI never parses the HTML); the reserved-`/artifacts`
      base-URL limitation; and "update = edit the file + rebuild; history lives in
      git." Include the self-containment stance: all CSS/JS inline or repo-local,
      images as repo assets or data URIs, **no external scripts ever** (XSS /
      offline-archive rationale); CDN fonts are a documented, discouraged opt-out.
      Design for the **embed width** first, test at both sizes.

- [x] **`references/brand-and-design-systems.md`** — the flows the user
      explicitly wants: authoring a design system *inside an issue's `brainstorm/`
      folder*, and publishing one as a *dedicated docs section* full of artifacts
      plus commentary documents that carry explicit values (so an agent reads the
      commentary, not the HTML). Tie each artifact to a sidecar's declared values.

### scripts/

- [x] **Bundle `scripts/validate_palette.js`** from `dataviz/scripts/` — the
      dependency-free ES-module palette validator (CLI **and** in-page
      `data-palette` modes, runs under bun/node). Document both invocations in the
      dataviz reference. **Drop the `.py` twin** (redundant under bun) but note in
      the provenance record that it exists upstream. Do **not** bundle any of the
      design-sync build pipeline (esbuild/ts-morph/Playwright sync machinery) —
      wrong contract, wrong input, heavy deps (see the brainstorm
      [`../brainstorm/02_discuss_authoring-skill-design.md`](../brainstorm/02_discuss_authoring-skill-design.md)
      §9).

- [x] **Provenance stub.** Add a short provenance pointer in the skill (header
      comment or a `references/PROVENANCE.md`) linking to
      [`../notes/01_skill-sources-and-provenance.md`](../notes/01_skill-sources-and-provenance.md);
      the full map + fold-in protocol is owned by `70`.

### Verification

- [x] **Trigger + self-test verification.** Confirm the skill triggers on a
      cold "build me a dashboard artifact / design system for this project"
      prompt (and does **not** steal docs-writing or tracker prompts from the
      sibling skills). Run the palette validator under bun (`node`/`bun
      scripts/validate_palette.js "#..,#.." --mode dark`) and confirm exit codes.
      Run `agent-ks check skill-links` (the `check-skill-links.mjs` validator)
      against the new skill so every relative reference resolves. Spot-check that
      every theme token the skill names actually exists in
      `agent-ks-engine/src/styles/theme.yaml` (the design-sync
      validate-names-against-reality rule applied to our own skill). Confirm the
      installed-cache mirror is byte-identical to the repo-local source.

## Landed (2026-07-07) — status review

Skill authored at `plugins/agent-ks/skills/agent-ks-artifacts/`
(`SKILL.md` + 4 references + a `dataviz/` sub-folder of 8 files + a bundled
`scripts/validate_palette.js` + `references/PROVENANCE.md`), mirrored byte-identical
into the installed cache at `…/agent-ks/0.5.4/skills/agent-ks-artifacts/`.
Plugin `plugin.json` description and `README.md` now enumerate **3 skills**.

**Two placement reconciliations** (the brainstorm §3 TOC is the authority for
source→section mapping, so where the task's file list and §3 differed, §3 won):

1. The task's `references/design-fundamentals.md` split of `SKILL.md` §§2/3/5/6/7/9
   was applied — those sections live in `references/design-fundamentals.md`, not
   inline; `SKILL.md` keeps only the load-bearing inline core (§0 calibrate, §1 honor
   theme, the both-themes + self-containment non-negotiables, the verify gate), per §3.
2. The task listed `references/design-system.md` **and**
   `references/brand-and-design-systems.md` separately; §3 consolidates both into one
   `references/design-systems.md` (doctrine + the two homes + the rubric). Shipped as one.

**Open cross-subtask dependencies the skill documents but does not decide** (flagged
for review / coordination):

- **Theme-CSS-into-iframe** (brainstorm §5 / `20_route`): whether `--color-*` resolve
  inside the artifact iframe. `publishing.md` teaches the always-safe self-defined
  pattern and marks the adopts-site variable set as "finalized by the route layer —
  verify before relying." Update the one availability sentence once `20_route` lands.
- **Version bump**: `plugin.json` stays at `0.5.4`; the skill was mirrored into the
  active `0.5.4` cache to preserve repo/cache parity. The semver bump is left to
  coordinate with `50_skills-integration` (both land as one release), per this
  subtask's note.
- The sidecar `artifact:` reserved-key list (brainstorm Thread B, left open for this
  skill) is finalized in `publishing.md` → *The metadata sidecar contract*
  (`purpose` · `type` · `theme` · `palette` · `data` · `interactions` · `sources` ·
  `embed_height`, block open for extras). `10_component` owns the filename mechanics.

Files in this skill

  • 100_variation-capability-audit.md7.2 KB
  • 10_component.md13.5 KB
  • 110_custom-page-html-fragments.md2.8 KB
  • 120_markdown-html-embeds.md2.8 KB
  • 20_route.md8.6 KB
  • 30_reserved-url-guard.md7.5 KB
  • 40_authoring-skill.md16.4 KB
  • 50_skills-integration.md11.1 KB
  • 60_documentation.md7.3 KB
  • 70_upstream-provenance.md8.8 KB
  • 80_tracker-artifact-rendering.md5.1 KB
  • 90_site-theme-mode.md6.4 KB
  • 95_skill-coherence-review.md3.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…