Skip to content

Commit eac5991

Browse files
HKTITANclaude
andcommitted
v1.7.0 — multi-agent plugin manifests (hyperframes pattern)
Ship three agent-specific plugin manifests alongside the skills.sh install path, following the heygen-com/hyperframes layout. Each major host can now install via its native plugin system without going through the cross-agent skills.sh shim. - .claude-plugin/plugin.json (new) — minimal Claude Code plugin metadata; no skills field, auto-discovery from skills/. - .claude-plugin/marketplace.json (refactored) — single-entry pattern with source: ./, top-level owner instead of author, drops nested skills[] in favor of auto-discovery. - .codex-plugin/plugin.json (new) — full Codex manifest with keywords, skills path, and an interface block (displayName, shortDescription, longDescription, category Design, capabilities, defaultPrompt array, brandColor #0a0a0a). - .cursor-plugin/plugin.json (new) — Cursor IDE manifest with $schema, displayName, publisher, category developer-tools, tags, keywords, skills path. CI gains two new steps: Plugin manifests are valid JSON (parses all four with Python) and Plugin manifest versions match (verifies all four manifests + SKILL.md report the same version — drift fails the lint). Required-files check extended to the three new manifests. README's Install section grows per-agent commands. AGENTS.md adds a Plugin manifests section documenting the version-parity convention. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent cc70f05 commit eac5991

9 files changed

Lines changed: 238 additions & 19 deletions

File tree

.claude-plugin/marketplace.json

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,19 @@
11
{
22
"$schema": "https://raw.githubusercontent.com/anthropics/claude-code/main/schemas/marketplace.schema.json",
33
"name": "design-engineering",
4-
"displayName": "Design Engineering",
5-
"description": "Design engineering wisdom — animation, transitions, taste, typography, color, components, layout, accessibility, anti-patterns. Plus Agentation workflow, design.md consumption, SOUL.md identity layer, and six workflow subagents (ui-reviewer, motion-auditor, anti-pattern-scanner, agentation-fix-loop, design-md-consumer, pov-curator). From Emil Kowalski, Benji Taylor, Jakub Antalik, guidelines.sh, Vercel, Ben DC, DiceBear, lucide-animated, Google Labs design.md.",
6-
"author": {
4+
"owner": {
75
"name": "HKTITAN",
86
"email": "harshitkhemani@gmail.com",
97
"url": "https://github.com/HKTITAN"
108
},
11-
"homepage": "https://github.com/AgentsORG/design-engineering",
12-
"repository": "https://github.com/AgentsORG/design-engineering",
13-
"license": "MIT",
14-
"version": "1.6.0",
159
"plugins": [
1610
{
1711
"name": "design-engineering",
18-
"displayName": "Design Engineering",
19-
"description": "A skill graph for design engineering — animation decisions, transition techniques, taste, typography, color, hover states, anti-patterns.",
20-
"skills": [
21-
{
22-
"name": "design-engineering",
23-
"path": "skills/design-engineering"
24-
}
25-
]
12+
"source": "./",
13+
"description": "Design engineering for AI agents — animation, transitions, typography, color, components, layout, accessibility, anti-patterns. Plus a SOUL.md identity layer and six workflow subagents. Distills Emil Kowalski, Benji Taylor, Jakub Antalik, guidelines.sh, Vercel, Ben DC, DiceBear, lucide-animated, Google Labs design.md, Agentation.",
14+
"version": "1.7.0",
15+
"homepage": "https://github.com/AgentsORG/design-engineering",
16+
"license": "MIT"
2617
}
2718
]
2819
}

.claude-plugin/plugin.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"name": "design-engineering",
3+
"description": "Design engineering for AI agents — animation timing, transitions, typography, color, components, layout, accessibility, anti-patterns. Plus a SOUL.md identity layer and six workflow subagents (ui-reviewer, motion-auditor, anti-pattern-scanner, agentation-fix-loop, design-md-consumer, pov-curator). Distills Emil Kowalski, Benji Taylor, Jakub Antalik, guidelines.sh, Vercel, Ben DC, DiceBear, lucide-animated, Google Labs design.md, Agentation.",
4+
"version": "1.7.0",
5+
"author": {
6+
"name": "HKTITAN",
7+
"email": "harshitkhemani@gmail.com",
8+
"url": "https://github.com/HKTITAN"
9+
},
10+
"homepage": "https://github.com/AgentsORG/design-engineering",
11+
"repository": "https://github.com/AgentsORG/design-engineering",
12+
"license": "MIT"
13+
}

.codex-plugin/plugin.json

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
{
2+
"name": "design-engineering",
3+
"version": "1.7.0",
4+
"description": "Design engineering for AI agents — animation timing, transitions, typography, color, components, layout, accessibility, anti-patterns. Plus a SOUL.md identity layer and six workflow subagents. Distills Emil Kowalski, Benji Taylor, Jakub Antalik (transitions.dev), guidelines.sh, Vercel, Ben DC, DiceBear, lucide-animated, Google Labs design.md, Agentation.",
5+
"author": {
6+
"name": "HKTITAN",
7+
"email": "harshitkhemani@gmail.com",
8+
"url": "https://github.com/HKTITAN"
9+
},
10+
"homepage": "https://github.com/AgentsORG/design-engineering",
11+
"repository": "https://github.com/AgentsORG/design-engineering",
12+
"license": "MIT",
13+
"keywords": [
14+
"design-engineering",
15+
"design-system",
16+
"animation",
17+
"motion",
18+
"transitions",
19+
"typography",
20+
"color",
21+
"shadows",
22+
"components",
23+
"layout",
24+
"accessibility",
25+
"anti-patterns",
26+
"ui-review",
27+
"taste",
28+
"agentation",
29+
"design-md",
30+
"obsidian",
31+
"skill-graph"
32+
],
33+
"skills": "./skills/",
34+
"interface": {
35+
"displayName": "Design Engineering by HKTITAN",
36+
"shortDescription": "Make AI-generated UI feel right",
37+
"longDescription": "A navigable skill graph for design engineering. Eight themed clusters (philosophy, motion, typography, surface, components, layout, anti-patterns, meta), 63 atomic nodes, six workflow subagents, a SOUL.md identity layer, and an AGENTS.md operating guide. Load it when reviewing UI code, choosing an easing curve, auditing for AI-default tells, consuming a DESIGN.md, or asking 'why does this feel flat?' Distills Emil Kowalski, Benji Taylor, Jakub Antalik (transitions.dev), guidelines.sh, Vercel design guidelines, Ben DC, DiceBear, lucide-animated, Google Labs design.md, and Agentation into one Obsidian-compatible graph.",
38+
"developerName": "HKTITAN",
39+
"category": "Design",
40+
"capabilities": ["Read", "Write"],
41+
"websiteURL": "https://github.com/AgentsORG/design-engineering",
42+
"defaultPrompt": [
43+
"Review this component for design-engineering issues",
44+
"Audit this animation against the motion cluster",
45+
"Scan this page for AI-default tells",
46+
"Apply our DESIGN.md tokens to this layout",
47+
"Help me fork pov.md for my own taste"
48+
],
49+
"brandColor": "#0a0a0a"
50+
}
51+
}

.cursor-plugin/plugin.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"$schema": "https://cursor.com/schemas/cursor-plugin/plugin.json",
3+
"name": "design-engineering",
4+
"displayName": "Design Engineering by HKTITAN",
5+
"version": "1.7.0",
6+
"description": "Design engineering for AI agents — animation timing, transitions, typography, color, components, layout, accessibility, anti-patterns. Plus a SOUL.md identity layer and six workflow subagents. Distills Emil Kowalski, Benji Taylor, Jakub Antalik, guidelines.sh, Vercel, Ben DC, DiceBear, lucide-animated, Google Labs design.md, Agentation.",
7+
"author": {
8+
"name": "HKTITAN",
9+
"email": "harshitkhemani@gmail.com"
10+
},
11+
"publisher": "HKTITAN",
12+
"homepage": "https://github.com/AgentsORG/design-engineering",
13+
"repository": "https://github.com/AgentsORG/design-engineering",
14+
"license": "MIT",
15+
"category": "developer-tools",
16+
"keywords": [
17+
"design-engineering",
18+
"design-system",
19+
"animation",
20+
"motion",
21+
"transitions",
22+
"typography",
23+
"color",
24+
"shadows",
25+
"components",
26+
"layout",
27+
"accessibility",
28+
"anti-patterns",
29+
"ui-review",
30+
"taste",
31+
"agentation",
32+
"design-md",
33+
"obsidian",
34+
"skill-graph"
35+
],
36+
"tags": [
37+
"design",
38+
"animation",
39+
"ui-review",
40+
"design-system",
41+
"workflow"
42+
],
43+
"skills": "./skills/"
44+
}

.github/workflows/lint.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ jobs:
7777
"spec/agent-skills-spec.md"
7878
"template/TEMPLATE.md"
7979
".claude-plugin/marketplace.json"
80+
".claude-plugin/plugin.json"
81+
".codex-plugin/plugin.json"
82+
".cursor-plugin/plugin.json"
8083
)
8184
for f in "${required[@]}"; do
8285
if [ ! -f "$f" ]; then
@@ -146,6 +149,36 @@ jobs:
146149
fi
147150
echo "All subagents carry a ## Soul section."
148151
152+
- name: Plugin manifests are valid JSON
153+
run: |
154+
set -e
155+
fails=0
156+
for f in .claude-plugin/plugin.json .claude-plugin/marketplace.json .codex-plugin/plugin.json .cursor-plugin/plugin.json; do
157+
if ! python3 -c "import json,sys; json.load(open('$f'))" 2>/dev/null; then
158+
echo "::error file=$f::Invalid JSON"
159+
fails=$((fails + 1))
160+
fi
161+
done
162+
if [ $fails -gt 0 ]; then
163+
echo "::error::$fails plugin manifest(s) failed JSON validation"
164+
exit 1
165+
fi
166+
echo "All four plugin manifests are valid JSON."
167+
168+
- name: Plugin manifest versions match
169+
run: |
170+
set -e
171+
v_claude=$(python3 -c "import json; print(json.load(open('.claude-plugin/plugin.json'))['version'])")
172+
v_market=$(python3 -c "import json; print(json.load(open('.claude-plugin/marketplace.json'))['plugins'][0]['version'])")
173+
v_codex=$(python3 -c "import json; print(json.load(open('.codex-plugin/plugin.json'))['version'])")
174+
v_cursor=$(python3 -c "import json; print(json.load(open('.cursor-plugin/plugin.json'))['version'])")
175+
v_skill=$(grep -m 1 'version:' skills/design-engineering/SKILL.md | sed -E 's/.*"([^"]+)".*/\1/')
176+
if [ "$v_claude" != "$v_market" ] || [ "$v_claude" != "$v_codex" ] || [ "$v_claude" != "$v_cursor" ] || [ "$v_claude" != "$v_skill" ]; then
177+
echo "::error::Version mismatch — claude:$v_claude marketplace:$v_market codex:$v_codex cursor:$v_cursor skill:$v_skill"
178+
exit 1
179+
fi
180+
echo "All plugin manifests + SKILL.md report version $v_claude."
181+
149182
link-check:
150183
name: Internal wikilink check
151184
runs-on: ubuntu-latest

AGENTS.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,17 @@ The lint job is the authoritative gate. If it passes on your branch, the PR is m
103103

104104
This skill is indexed at [skills.sh/agentsorg/design-engineering/design-engineering](https://www.skills.sh/agentsorg/design-engineering/design-engineering). Discovery is automatic — skills.sh re-indexes on `npx skills add` calls. If the live page shows stale metadata after a release, re-run `npx skills add AgentsORG/design-engineering` once to trigger a re-index. There is no manual publish step.
105105

106+
## Plugin manifests
107+
108+
Three agent-specific manifests ship alongside the skills.sh registry entry, following the same pattern as [heygen-com/hyperframes](https://github.com/heygen-com/hyperframes):
109+
110+
- **`.claude-plugin/plugin.json`** — minimal Claude Code plugin metadata (name, description, version, author, homepage, repository, license). Omits a `skills` field — Claude Code auto-discovers the root `skills/` directory.
111+
- **`.claude-plugin/marketplace.json`** — single-entry marketplace with `"source": "./"` so the repo doubles as its own marketplace. Add via `/plugin marketplace add AgentsORG/design-engineering`.
112+
- **`.codex-plugin/plugin.json`** — richer manifest with `keywords`, `skills: "./skills/"`, and an `interface` block (displayName, shortDescription, longDescription, developerName, category, capabilities, defaultPrompt, brandColor).
113+
- **`.cursor-plugin/plugin.json`** — Cursor IDE manifest with `$schema`, `displayName`, `publisher`, `category`, `tags`, `keywords`, and the same `skills` path.
114+
115+
When changing version: bump it in all four files plus `skills/design-engineering/SKILL.md`. The `Plugin manifest versions match` CI step enforces parity — drift will fail the lint job.
116+
106117
## License
107118

108119
MIT.

CHANGELOG.md

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,44 @@ All notable changes to this skill are recorded here. Format follows [Keep a Chan
44

55
## [Unreleased]
66

7+
## [1.7.0] — 2026-05-22
8+
9+
### Added — multi-agent plugin manifests (hyperframes pattern)
10+
11+
The repo now ships three agent-specific plugin manifests in addition to the skills.sh / `npx skills add` install path, following the same pattern as [heygen-com/hyperframes](https://github.com/heygen-com/hyperframes). Each major agent host can install the design-engineering skill via its native plugin system without going through the cross-agent `skills.sh` shim.
12+
13+
- **`.claude-plugin/plugin.json`** (NEW) — minimal Claude Code plugin metadata (name, description, version, author, homepage, repository, license). No `skills` field — Claude Code auto-discovers from `skills/`.
14+
- **`.claude-plugin/marketplace.json`** (refactored) — single-entry pattern with `"source": "./"` so the repo doubles as its own marketplace. Drops the nested `plugins[].skills[]` array in favor of auto-discovery. Top-level `owner` instead of `author` (matches the hyperframes / Claude Code marketplace schema).
15+
- **`.codex-plugin/plugin.json`** (NEW) — full OpenAI Codex manifest with `keywords`, `skills: "./skills/"`, and an `interface` block (displayName: "Design Engineering by HKTITAN", shortDescription, longDescription, developerName, category: Design, capabilities: Read+Write, defaultPrompt array, brandColor: `#0a0a0a`).
16+
- **`.cursor-plugin/plugin.json`** (NEW) — Cursor IDE manifest with `$schema`, `displayName`, `publisher`, `category: developer-tools`, `tags`, `keywords`, and the same `skills` path.
17+
18+
Install paths now read:
19+
20+
```bash
21+
# Cross-agent (recommended) — skills.sh
22+
npx skills add AgentsORG/design-engineering
23+
24+
# Claude Code marketplace
25+
/plugin marketplace add AgentsORG/design-engineering
26+
/plugin install design-engineering
27+
28+
# Codex marketplace
29+
codex plugin marketplace add AgentsORG/design-engineering --sparse .codex-plugin --sparse skills
30+
31+
# Cursor — sideload via Settings → Plugins → Load unpacked
32+
```
33+
34+
### Changed
35+
36+
- **`README.md`** — Install section expanded with per-agent commands. Repository-layout tree updated to show all three plugin dotfolders.
37+
- **`AGENTS.md`** — new `## Plugin manifests` section documenting the four manifests and the version-parity convention.
38+
- **`.github/workflows/lint.yml`** — required-files check extended to `.claude-plugin/plugin.json`, `.codex-plugin/plugin.json`, `.cursor-plugin/plugin.json`. New `Plugin manifests are valid JSON` step parses all four manifests with Python. New `Plugin manifest versions match` step verifies that all four manifests + SKILL.md report the same version (drift fails the lint job).
39+
- **`skills/design-engineering/SKILL.md`** version bumped to 1.7.0.
40+
41+
### Breaking-ish
42+
43+
The Claude Code `marketplace.json` schema changed shape: top-level `owner` replaces `author`, and the nested `plugins[].skills[]` array was removed in favor of auto-discovery from `skills/`. Existing installs continue to work because the skill content path (`skills/design-engineering/SKILL.md`) is unchanged. New installs via `/plugin marketplace add` use the simpler pattern.
44+
745
## [1.6.0] — 2026-05-22
846

947
### Added — per-agent souls
@@ -212,7 +250,8 @@ Initial public release of the `design-engineering` skill graph.
212250
npx skills add AgentsORG/design-engineering
213251
```
214252

215-
[Unreleased]: https://github.com/AgentsORG/design-engineering/compare/v1.6.0...HEAD
253+
[Unreleased]: https://github.com/AgentsORG/design-engineering/compare/v1.7.0...HEAD
254+
[1.7.0]: https://github.com/AgentsORG/design-engineering/compare/v1.6.0...v1.7.0
216255
[1.6.0]: https://github.com/AgentsORG/design-engineering/compare/v1.5.0...v1.6.0
217256
[1.5.0]: https://github.com/AgentsORG/design-engineering/compare/v1.4.0...v1.5.0
218257
[1.4.0]: https://github.com/AgentsORG/design-engineering/compare/v1.3.0...v1.4.0

README.md

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,43 @@ Not a tutorial. Not a doc site. **A working memory the agent loads** when you're
1010

1111
## Install
1212

13+
The fastest path — one command, any agent:
14+
1315
```bash
1416
npx skills add AgentsORG/design-engineering
1517
```
1618

1719
This uses the [skills.sh](https://skills.sh) CLI to install into your detected agent (Claude Code, Cursor, Windsurf, Codex, Gemini, Cline, Aider, and [18+ others](https://www.skills.sh/agent)). The CLI prompts for scope (project vs. global) and method (symlink vs. copy).
1820

21+
### Per-agent install
22+
23+
The repo also ships agent-specific plugin manifests so you can install via each agent's native plugin system:
24+
25+
**Claude Code** — uses `.claude-plugin/marketplace.json` + `.claude-plugin/plugin.json`. Skills under `skills/` auto-discover.
26+
27+
```bash
28+
# Add as a marketplace
29+
/plugin marketplace add AgentsORG/design-engineering
30+
/plugin install design-engineering
31+
32+
# Or test locally
33+
claude --plugin-dir .
34+
```
35+
36+
**Codex** — uses `.codex-plugin/plugin.json` with the full `interface` block (default prompts, brand color, capabilities).
37+
38+
```bash
39+
codex plugin marketplace add AgentsORG/design-engineering --sparse .codex-plugin --sparse skills
40+
```
41+
42+
**Cursor** — uses `.cursor-plugin/plugin.json`. Install via the Cursor Marketplace or sideload locally.
43+
44+
```text
45+
Settings → Plugins → Load unpacked → point at this repo root
46+
```
47+
48+
All three manifests share the same `name`, `version`, `description`, `author`, `homepage`, `repository`, and `license` so plugin identity stays consistent across hosts. The Codex manifest adds `interface` (default prompts, brand color, capabilities); the Cursor manifest adds `displayName`, `publisher`, `tags`, and a `$schema` URL. CI lints all four manifests for valid JSON and version-parity with `SKILL.md` on every PR.
49+
1950
### Recommended companions
2051

2152
Two tools that compound the value of this skill — install both:
@@ -134,9 +165,15 @@ design-engineering/
134165
├── CHANGELOG.md ← Keep a Changelog / SemVer
135166
├── LICENSE ← MIT
136167
├── .github/
137-
│ ├── workflows/lint.yml ← markdownlint + frontmatter + wikilinks + subagent fields
168+
│ ├── workflows/lint.yml ← markdownlint + frontmatter + wikilinks + subagent fields + manifest version-parity
138169
│ └── PULL_REQUEST_TEMPLATE.md
139-
├── .claude-plugin/marketplace.json ← Claude Code marketplace manifest
170+
├── .claude-plugin/
171+
│ ├── marketplace.json ← Claude Code marketplace manifest (single-entry, auto-discovery)
172+
│ └── plugin.json ← Claude Code plugin metadata
173+
├── .codex-plugin/
174+
│ └── plugin.json ← OpenAI Codex manifest with full interface block
175+
├── .cursor-plugin/
176+
│ └── plugin.json ← Cursor IDE plugin manifest
140177
├── .markdownlint.jsonc
141178
├── spec/
142179
│ └── agent-skills-spec.md ← pointer to the Agent Skills specification

skills/design-engineering/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ license: MIT
55
compatibility: Agent-agnostic. Pairs with Obsidian as a vault, Agentation for click-to-annotate review, and any coding agent that reads SKILL.md (Claude Code, Cursor, Codex, Windsurf, Aider, Cline, Gemini, 18+ via skills.sh).
66
metadata:
77
author: HKTITAN
8-
version: "1.6.0"
8+
version: "1.7.0"
99
graph: true
1010
subagents: skills/design-engineering/agents/
1111
soul: SOUL.md

0 commit comments

Comments
 (0)