From bcc903b8698ca77789984c9540a0b757336fddf5 Mon Sep 17 00:00:00 2001 From: tianyao Date: Tue, 15 Sep 2026 03:24:47 +0000 Subject: [PATCH 01/12] docs(marketplace): design cross-platform external catalog --- ...ss-platform-external-marketplace-design.md | 159 ++++++++++++++++++ feature_list.json | 11 ++ progress.md | 21 ++- 3 files changed, 180 insertions(+), 11 deletions(-) create mode 100644 docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md diff --git a/docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md b/docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md new file mode 100644 index 0000000..88b589e --- /dev/null +++ b/docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md @@ -0,0 +1,159 @@ +# Cross-Platform Firstsun External Marketplace Design + +**Date:** 2026-09-15 +**Status:** Approved for specification; implementation requires a separate plan +**Audience:** Individual developers who want practical, curated AI-agent skills + +## Context + +The repository currently exposes two unrelated marketplaces: + +- `.agents/plugins/marketplace.json` publishes five portable external-skill bundles for ChatGPT and Codex. +- `.claude-plugin/marketplace.json` publishes the personal, local-only `most-used-skills` bundle for Claude Code. + +Their names, audiences, bundle membership, packaging model, and update paths differ. Keeping both files at the repository root also makes the repository's public product unclear. The desired outcome is one public Firstsun External catalog whose contents are identical in ChatGPT/Codex and Claude Code while retaining the manifest syntax each platform expects. + +## Product Positioning + +The marketplace is a curated Firstsun product, not a complete mirror presented without judgment. + +- **Marketplace name:** `firstsun-external` +- **Display name:** `Firstsun External` +- **Promise:** Curated skills for practical AI development. +- **Primary user:** An individual developer improving an AI-assisted workflow. +- **Publisher role:** Firstsun selects, reviews, groups, and updates third-party skills without claiming authorship. + +Every user-facing description must distinguish Firstsun curation from upstream authorship. Bundle names should describe user outcomes rather than storage taxonomy. + +## Goals + +1. Publish the same plugin names and skill membership to ChatGPT/Codex and Claude Code. +2. Generate both marketplace formats from one canonical catalog. +3. Keep public packages portable when imported from GitHub. +4. Make drift detectable in local verification and CI. +5. Preserve upstream provenance in canonical external skills and `skills-lock.json`. +6. Keep the weekly external-skill update workflow responsible for refreshing generated marketplace packages. + +## Non-Goals + +- Publishing Firstsun-maintained `custom/` skills in this marketplace. +- Combining the personal `most-used-skills` bundle with the public catalog. +- Building a web storefront, ratings system, analytics service, or paid marketplace. +- Rewriting third-party skills merely to make the marketplace uniform. +- Depending on symlinks in GitHub-imported plugin packages. + +## Canonical Catalog + +Add a tracked catalog file at `marketplace/external/catalog.json`. It is the only manually maintained definition of: + +- marketplace identity and shared descriptions; +- plugin identifiers, display names, categories, versions, and prompts; +- source roots included in each bundle; +- exclusions that require an explicit reason. + +Generated marketplace manifests and copied skill packages must not be edited directly. The generator should place a short generated-file notice beside outputs where the format permits documentation. + +The catalog uses source directories rather than enumerating every skill. Recursive discovery includes every directory containing `SKILL.md`, so newly synchronized skills enter their assigned bundle automatically. Duplicate skill names across source roots are fatal because installation would otherwise be ambiguous. + +## Bundle Model + +The initial cross-platform catalog retains five practical bundles: + +| Plugin ID | Display name | Purpose | +| --- | --- | --- | +| `agent-workflows` | Agent Workflows | Agent orchestration, research, documentation, and reasoning | +| `developer-workflows` | Developer Workflows | Code quality, DevOps, security, infrastructure, i18n, and specification workflows | +| `frontend-design` | Frontend Design | Frontend construction, design systems, responsive UI, and interaction | +| `visual-production` | Visual Production | Video, Remotion, branding, banners, and data visualization | +| `career-wellness` | Career & Wellness | Career preparation, productivity, fitness, nutrition, sleep, and psychoeducation | + +The `external-` prefix is removed from plugin IDs because the marketplace name already communicates provenance. Existing OpenSpec skills under `external/develop/openspec/` join `developer-workflows`; a sixth specification bundle is unnecessary until its independent usage justifies another installation decision. + +## Generated Package Layout + +Each public plugin is generated once and contains both platform manifests over one shared skill directory: + +```text +plugins// +├── skills/ +│ └── /... +├── .codex-plugin/ +│ └── plugin.json +└── .claude-plugin/ + └── plugin.json +``` + +`skills/` contains real copied files rather than symlinks. This preserves GitHub portability and prevents importer behavior from depending on symlink support. The copies remain generated artifacts; canonical third-party content stays under `external/`. + +## Marketplace Outputs + +The generator writes two manifests with identical ordered plugin sets: + +- `.agents/plugins/marketplace.json` uses Codex source objects with `source: "local"` and paths relative to the repository root. +- `.claude-plugin/marketplace.json` uses Claude-compatible string paths. + +Both manifests use `firstsun-external` as the marketplace identifier and point to the same `plugins/` directories. Platform-only fields may differ, but shared identity, descriptions, version, category, and bundle membership come from the canonical catalog. + +The current `tianyao-skills` marketplace and `plugin-most-used` package are removed from the repository's public root marketplace. If the personal bundle is retained, it belongs in an explicitly private/local location outside the public marketplace generation path and is not documented as part of Firstsun External. + +## Generation Flow + +`scripts/sync-external-marketplace.mjs` becomes the single generator: + +1. Parse and validate `marketplace/external/catalog.json`. +2. Resolve each configured external source root inside the repository. +3. Discover skill directories recursively and reject duplicate names. +4. Rebuild each `plugins//skills/` directory from canonical sources. +5. Generate both plugin manifests for every bundle. +6. Generate both marketplace manifests from the same ordered plugin collection. +7. Run an internal parity check before exiting successfully. + +Generation must be deterministic: running it twice without source changes produces no Git diff. + +## Validation and Failure Handling + +The generator exits non-zero without claiming success when it encounters: + +- malformed catalog JSON or missing required fields; +- a source root outside `external/`; +- a missing source root or a skill directory without `SKILL.md`; +- duplicate plugin IDs or duplicate skill names within a bundle; +- invalid generated JSON; +- different plugin sets or skill membership between platform outputs. + +Verification covers: + +1. Parse the catalog and every generated manifest with a strict JSON parser. +2. Confirm both marketplace manifests expose the same ordered plugin IDs. +3. Confirm each plugin has both manifests and one shared `skills/` directory. +4. Confirm copied skill directories exactly match their canonical external sources. +5. Run `/validate-skills` against affected canonical skills according to the repository's external-upstream exception policy. +6. Run `./init.sh` and check `git status` for unexpected changes. + +CI runs the generator followed by `git diff --exit-code`. Any manually edited or stale generated output therefore fails verification. + +## Documentation + +Update `README.md` and `SKILLS_LIST.md` to present one public catalog with two supported clients. Installation instructions must state which manifest each client consumes while promising identical bundle content. Counts are generated or verified rather than maintained as unchecked prose. + +Personal/local plugins must appear in a separate section so users do not mistake them for reviewed, portable Firstsun External packages. + +## Rollout + +1. Introduce the canonical catalog and parity validation without changing bundle membership except for adding the omitted OpenSpec source root. +2. Generate dual manifests for all five bundles. +3. Replace both root marketplace manifests with generated `firstsun-external` outputs. +4. Update documentation and the weekly synchronization workflow. +5. Run full repository verification and inspect the generated diff. +6. Import or synchronize the GitHub marketplace in ChatGPT, then add the same repository marketplace in Claude Code and confirm matching plugin lists. + +Renaming existing plugin IDs creates new marketplace entries rather than silently adopting old workspace plugin identities. The rollout accepts that clean break because the existing packages are version `0.1.0` and the new names materially improve product clarity. Existing imported plugins can be removed after the new entries are verified. + +## Success Criteria + +- ChatGPT/Codex and Claude Code list the same five Firstsun External plugins. +- Every corresponding plugin contains the same skill names and files. +- OpenSpec skills are present in Developer Workflows. +- A change to the canonical catalog or `external/` can refresh both platforms with one command. +- CI catches any marketplace or bundle drift. +- Public descriptions consistently communicate Firstsun curation and third-party authorship. diff --git a/feature_list.json b/feature_list.json index 3d77633..34c539f 100644 --- a/feature_list.json +++ b/feature_list.json @@ -149,6 +149,17 @@ ], "status": "done", "evidence": "Installed @fission-ai/openspec v1.13.0 globally. Ran openspec init . with English artifacts, the core profile, and Codex/Claude Code integrations. Added openspec/config.yaml, empty specs/archive structure, and six Claude Code OPSX commands; excluded the pre-existing ignored .claude/worktrees/ worktree." + }, + { + "id": "feat-016", + "name": "Unify Firstsun External marketplace across platforms", + "description": "Generate equivalent ChatGPT/Codex and Claude Code Firstsun External marketplaces from one canonical catalog, with portable dual-manifest plugin bundles and parity validation.", + "dependencies": [ + "feat-006", + "feat-014" + ], + "status": "not-started", + "evidence": "Design approved in chat and specified in docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md; implementation plan pending user review." } ] } diff --git a/progress.md b/progress.md index 0dbb508..a75d127 100644 --- a/progress.md +++ b/progress.md @@ -3,16 +3,21 @@ ## Current State **Last Updated:** 2026-09-15 -**Active Feature:** feat-015 done; feat-005 next up +**Active Feature:** feat-016 design review; implementation not started Completed work is archived in [archive/](./archive/), one file per calendar month — this file only tracks what's still open. ## What's In Progress -- [ ] feat-005: Remaining external/ validation failures — not started this session +- [ ] feat-016: Cross-platform Firstsun External marketplace — design specification awaiting user review ## Since Last Update +feat-016 design approved in chat and written to +`docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md`. The design uses +one canonical catalog to generate equivalent Codex and Claude marketplace manifests plus portable +dual-manifest plugin bundles. No marketplace implementation has started. + feat-015 completed 2026-09-15: installed OpenSpec CLI v1.13.0 and initialized this repository with the English core schema plus Codex and Claude Code integrations. The tracked configuration is `openspec/`; the six project-level Claude commands are under `.claude/commands/opsx/`. @@ -23,15 +28,9 @@ feat-014's evidence in `feature_list.json`. Completed history is in [archive/202 ## What's Next -1. Fix name/directory mismatches: `external/develop/windmill-rust-backend` (name field says "rust-backend"), `external/think/decision-management` (name field says "running-decision-processes") -2. Fix invalid name format: `external/video-design/ckm-banner-design` (name field is "ckm:banner-design" — colon not allowed) -3. Split or trim oversized SKILL.md bodies (>500 lines): `imagegen-frontend-mobile` (1465 lines), - `imagegen-frontend-web` (987 lines), `brandkit` (798 lines), `mental-health-psychoeducation` (561 lines) -4. Rewrite imperative-voice descriptions to third-person: `fitness-coach`, `habit-tracker`, - `workout-program-designer` (also fix verbatim description-in-body repeat), `remotion-best-practices` - (missing "when to use") -5. Convert backtick-style references to markdown links: `healthkit`, `personal-productivity` -6. Fix `firecrawl-search` "See also" links pointing to non-existent sibling skills +1. Ask the user to review and approve the feat-016 design specification. +2. After approval, create the implementation plan through the required writing-plans workflow. +3. Keep feat-005 unchanged as known upstream validation debt. ## Blockers / Risks From cd3af5099c5dc22a4ae5230f308b5a61da289e0d Mon Sep 17 00:00:00 2001 From: tianyao Date: Tue, 15 Sep 2026 03:26:50 +0000 Subject: [PATCH 02/12] docs(marketplace): define practical catalog taxonomy --- ...ss-platform-external-marketplace-design.md | 49 +++++++++++++------ feature_list.json | 2 +- progress.md | 4 +- 3 files changed, 38 insertions(+), 17 deletions(-) diff --git a/docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md b/docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md index 88b589e..6309609 100644 --- a/docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md +++ b/docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md @@ -55,19 +55,37 @@ Generated marketplace manifests and copied skill packages must not be edited dir The catalog uses source directories rather than enumerating every skill. Recursive discovery includes every directory containing `SKILL.md`, so newly synchronized skills enter their assigned bundle automatically. Duplicate skill names across source roots are fatal because installation would otherwise be ambiguous. -## Bundle Model +## Marketplace Taxonomy -The initial cross-platform catalog retains five practical bundles: +The marketplace uses three brand-level categories for discovery and seven task-level plugins for installation. Categories communicate the journey from building to designing to personal growth; plugins remain small enough that users can install only the capabilities relevant to their work. -| Plugin ID | Display name | Purpose | -| --- | --- | --- | -| `agent-workflows` | Agent Workflows | Agent orchestration, research, documentation, and reasoning | -| `developer-workflows` | Developer Workflows | Code quality, DevOps, security, infrastructure, i18n, and specification workflows | -| `frontend-design` | Frontend Design | Frontend construction, design systems, responsive UI, and interaction | -| `visual-production` | Visual Production | Video, Remotion, branding, banners, and data visualization | -| `career-wellness` | Career & Wellness | Career preparation, productivity, fitness, nutrition, sleep, and psychoeducation | +### Build -The `external-` prefix is removed from plugin IDs because the marketplace name already communicates provenance. Existing OpenSpec skills under `external/develop/openspec/` join `developer-workflows`; a sixth specification bundle is unnecessary until its independent usage justifies another installation decision. +| Plugin ID | Display name | Purpose | Initial skills | +| --- | --- | --- | ---: | +| `agent-toolkit` | Agent Toolkit | Skill creation and validation, research, documentation, brainstorming, subagents, reasoning, and decisions | 13 | +| `software-delivery` | Software Delivery | Code quality, testing, DevOps, cloud platforms, infrastructure, Git, security, i18n, and Rust | 16 | +| `spec-driven-development` | Spec-Driven Development | The complete OpenSpec proposal, specification, implementation, verification, archive, and documentation workflow | 16 | + +### Design + +| Plugin ID | Display name | Purpose | Initial skills | +| --- | --- | --- | ---: | +| `frontend-product-design` | Frontend & Product Design | React, Tailwind, UI/UX, design systems, mobile interfaces, interaction, and Three.js | 19 | +| `visual-content` | Visual Content | AI video, Remotion, brand systems, banners, image generation, and data visualization | 10 | + +### Grow + +| Plugin ID | Display name | Purpose | Initial skills | +| --- | --- | --- | ---: | +| `career-productivity` | Career & Productivity | Resumes, interviews, discovery conversations, personal productivity, and habit tracking | 5 | +| `health-wellness` | Health & Wellness | Nutrition, fitness, sleep, HealthKit, and mental-health psychoeducation | 7 | + +The initial catalog contains 86 external skills. Counts are validation expectations derived from the current `SKILLS_LIST.md`, not permanent caps; generated documentation must update them when canonical sources change. + +The `external-` prefix is removed from plugin IDs because the marketplace name already communicates provenance. OpenSpec receives a dedicated plugin because its 16 skills form one coherent lifecycle and would otherwise make Software Delivery too broad. Career and health are separate installation decisions because neither audience should need to install the other domain. + +Where a platform exposes only a single category field rather than hierarchical navigation, the plugin manifest uses the closest supported platform category while the Firstsun category remains part of its description and catalog metadata. Platform constraints must not change bundle membership. ## Generated Package Layout @@ -124,7 +142,7 @@ The generator exits non-zero without claiming success when it encounters: Verification covers: 1. Parse the catalog and every generated manifest with a strict JSON parser. -2. Confirm both marketplace manifests expose the same ordered plugin IDs. +2. Confirm both marketplace manifests expose the same ordered set of seven plugin IDs and their Firstsun category assignments. 3. Confirm each plugin has both manifests and one shared `skills/` directory. 4. Confirm copied skill directories exactly match their canonical external sources. 5. Run `/validate-skills` against affected canonical skills according to the repository's external-upstream exception policy. @@ -140,8 +158,8 @@ Personal/local plugins must appear in a separate section so users do not mistake ## Rollout -1. Introduce the canonical catalog and parity validation without changing bundle membership except for adding the omitted OpenSpec source root. -2. Generate dual manifests for all five bundles. +1. Introduce the canonical catalog and parity validation while mapping all 86 external skills into the approved seven-plugin taxonomy. +2. Generate dual manifests for all seven bundles. 3. Replace both root marketplace manifests with generated `firstsun-external` outputs. 4. Update documentation and the weekly synchronization workflow. 5. Run full repository verification and inspect the generated diff. @@ -151,9 +169,10 @@ Renaming existing plugin IDs creates new marketplace entries rather than silentl ## Success Criteria -- ChatGPT/Codex and Claude Code list the same five Firstsun External plugins. +- ChatGPT/Codex and Claude Code list the same seven Firstsun External plugins under the Build, Design, and Grow taxonomy where the client supports category presentation. - Every corresponding plugin contains the same skill names and files. -- OpenSpec skills are present in Developer Workflows. +- All 86 current external skills are assigned exactly once. +- All 16 OpenSpec skills are present in Spec-Driven Development. - A change to the canonical catalog or `external/` can refresh both platforms with one command. - CI catches any marketplace or bundle drift. - Public descriptions consistently communicate Firstsun curation and third-party authorship. diff --git a/feature_list.json b/feature_list.json index 34c539f..9a78e63 100644 --- a/feature_list.json +++ b/feature_list.json @@ -159,7 +159,7 @@ "feat-014" ], "status": "not-started", - "evidence": "Design approved in chat and specified in docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md; implementation plan pending user review." + "evidence": "Design approved in chat and specified in docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md. Taxonomy revision approved: Build, Design, and Grow contain seven task-oriented plugins covering all 86 external skills. Implementation plan pending final user review." } ] } diff --git a/progress.md b/progress.md index a75d127..dc4fb49 100644 --- a/progress.md +++ b/progress.md @@ -16,7 +16,9 @@ Completed work is archived in [archive/](./archive/), one file per calendar mont feat-016 design approved in chat and written to `docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md`. The design uses one canonical catalog to generate equivalent Codex and Claude marketplace manifests plus portable -dual-manifest plugin bundles. No marketplace implementation has started. +dual-manifest plugin bundles. The approved taxonomy groups seven installable plugins under Build, +Design, and Grow and assigns all 86 current external skills exactly once. No marketplace +implementation has started. feat-015 completed 2026-09-15: installed OpenSpec CLI v1.13.0 and initialized this repository with the English core schema plus Codex and Claude Code integrations. The tracked configuration From adb3407fbd49be2ff11ad5a84602652652c3a55b Mon Sep 17 00:00:00 2001 From: tianyao Date: Tue, 15 Sep 2026 03:29:28 +0000 Subject: [PATCH 03/12] docs(marketplace): plan cross-platform catalog implementation --- ...-15-cross-platform-external-marketplace.md | 501 ++++++++++++++++++ feature_list.json | 2 +- progress.md | 16 +- 3 files changed, 511 insertions(+), 8 deletions(-) create mode 100644 docs/superpowers/plans/2026-09-15-cross-platform-external-marketplace.md diff --git a/docs/superpowers/plans/2026-09-15-cross-platform-external-marketplace.md b/docs/superpowers/plans/2026-09-15-cross-platform-external-marketplace.md new file mode 100644 index 0000000..5a63646 --- /dev/null +++ b/docs/superpowers/plans/2026-09-15-cross-platform-external-marketplace.md @@ -0,0 +1,501 @@ +# Cross-Platform Firstsun External Marketplace Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Publish identical seven-plugin Firstsun External catalogs for ChatGPT/Codex and Claude Code from one canonical configuration. + +**Architecture:** A canonical JSON catalog defines shared identity, the Build/Design/Grow taxonomy, and source roots. A focused Node.js library validates the catalog, discovers canonical external skills, copies portable plugin packages, and renders both platform formats; a thin CLI supports write and drift-check modes. Node's built-in assertion library provides fixture-based tests without adding dependencies. + +**Tech Stack:** Node.js ESM and built-in `node:fs`, `node:path`, `node:assert`, and `node:os`; JSON manifests; Bash verification; GitHub Actions. + +**Spec:** `docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md` + +## Global Constraints + +- Marketplace identifier is `firstsun-external`; display name is `Firstsun External`. +- The public promise is “Curated skills for practical AI development.” +- Publish seven plugins grouped as Build, Design, and Grow, with every external skill assigned exactly once. +- Both platform outputs must share plugin IDs, versions, descriptions, source membership, and copied skill contents. +- Public plugin packages contain real files, never symlinks. +- Canonical third-party content remains under `external/`; generated copies are never edited directly. +- External provenance in `skills-lock.json` must remain unchanged. +- Do not publish `custom/`, `plugin-most-used`, or the personal `tianyao-skills` marketplace through this catalog. +- Generation is deterministic and stale generated output fails local verification and CI. + +## File Map + +- Create `marketplace/external/catalog.json`: sole hand-maintained marketplace and bundle definition. +- Create `scripts/lib/external-marketplace.mjs`: pure catalog validation, discovery, rendering, copying, and parity functions. +- Modify `scripts/sync-external-marketplace.mjs`: thin `--write`/`--check` CLI around the library. +- Create `scripts/test-external-marketplace.mjs`: dependency-free fixture and repository contract tests. +- Regenerate `.agents/plugins/marketplace.json`: Codex marketplace output. +- Regenerate `.claude-plugin/marketplace.json`: Claude marketplace output. +- Replace `plugins/external-*` with seven generated `plugins/` packages containing dual manifests. +- Delete `plugin-most-used`: remove the local-only package from the public repository catalog surface. +- Modify `init.sh`: enforce marketplace tests and zero-drift output. +- Modify `.github/workflows/update-external-skills.yml`: stage and verify both platform outputs. +- Modify `README.md`: document one public marketplace with two clients. +- Modify `SKILLS_LIST.md`: document the three categories, seven bundles, and generated counts. +- Modify `feature_list.json` and `progress.md`: record completion evidence and leave a restartable repository. + +--- + +### Task 1: Define and validate the canonical catalog + +**Files:** +- Create: `marketplace/external/catalog.json` +- Create: `scripts/lib/external-marketplace.mjs` +- Create: `scripts/test-external-marketplace.mjs` + +**Interfaces:** +- Produces: `loadCatalog(repoRoot: string): Catalog` +- Produces: `discoverSkills(repoRoot: string, plugin: PluginDefinition): SkillRecord[]` +- `Catalog` contains `name`, `displayName`, `promise`, and ordered `plugins`. +- `PluginDefinition` contains `id`, `displayName`, `brandCategory`, `platformCategory`, `version`, `shortDescription`, `longDescription`, `defaultPrompt`, `expectedSkillCount`, and `sourceRoots`. +- `SkillRecord` contains `name`, `absolutePath`, and `relativePath`. + +- [ ] **Step 1: Write catalog validation and discovery tests** + +Create `scripts/test-external-marketplace.mjs` with a temporary fixture helper and these initial cases: + +```js +import assert from 'node:assert/strict'; +import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { discoverSkills, loadCatalog } from './lib/external-marketplace.mjs'; + +function fixture() { + const root = mkdtempSync(join(tmpdir(), 'firstsun-marketplace-')); + mkdirSync(join(root, 'marketplace/external'), { recursive: true }); + mkdirSync(join(root, 'external/basic/alpha'), { recursive: true }); + writeFileSync(join(root, 'external/basic/alpha/SKILL.md'), '---\nname: alpha\n---\n'); + return root; +} + +function writeCatalog(root, overrides = {}) { + const catalog = { + name: 'firstsun-external', + displayName: 'Firstsun External', + promise: 'Curated skills for practical AI development.', + plugins: [{ + id: 'agent-toolkit', + displayName: 'Agent Toolkit', + brandCategory: 'Build', + platformCategory: 'Developer', + version: '1.0.0', + shortDescription: 'Practical agent workflows.', + longDescription: 'Reviewed third-party workflows for practical agent work.', + defaultPrompt: 'Use the relevant Agent Toolkit skill for this task.', + expectedSkillCount: 1, + sourceRoots: ['external/basic'], + }], + ...overrides, + }; + writeFileSync(join(root, 'marketplace/external/catalog.json'), `${JSON.stringify(catalog, null, 2)}\n`); +} + +const root = fixture(); +try { + writeCatalog(root); + const catalog = loadCatalog(root); + assert.equal(catalog.name, 'firstsun-external'); + assert.deepEqual(discoverSkills(root, catalog.plugins[0]).map((skill) => skill.name), ['alpha']); + assert.throws(() => writeCatalog(root, { name: 'wrong-name' }) || loadCatalog(root), /firstsun-external/); +} finally { + rmSync(root, { recursive: true, force: true }); +} + +console.log('external marketplace tests: PASS'); +``` + +Add separate fixtures before finishing the test file for duplicate plugin IDs, source roots outside `external/`, missing source roots, duplicate skill directory names, and `expectedSkillCount` mismatch. Each must assert the exact diagnostic fragment. + +- [ ] **Step 2: Run the test and confirm the module is missing** + +Run: `node scripts/test-external-marketplace.mjs` + +Expected: FAIL with `ERR_MODULE_NOT_FOUND` for `scripts/lib/external-marketplace.mjs`. + +- [ ] **Step 3: Implement minimal catalog validation and recursive discovery** + +Create `scripts/lib/external-marketplace.mjs`. Export `loadCatalog` and `discoverSkills`; validate all fields named in the Interfaces block, allow only brand categories `Build`, `Design`, and `Grow`, reject absolute/traversing source roots, recursively find directories containing `SKILL.md`, sort by skill name, and reject duplicate names. Use this error style so tests and CI remain actionable: + +```js +function fail(message) { + throw new Error(`External marketplace catalog: ${message}`); +} + +export function loadCatalog(repoRoot) { + const path = join(repoRoot, 'marketplace/external/catalog.json'); + const catalog = JSON.parse(readFileSync(path, 'utf8')); + if (catalog.name !== 'firstsun-external') fail('name must be firstsun-external'); + if (!Array.isArray(catalog.plugins) || catalog.plugins.length === 0) fail('plugins must be non-empty'); + const ids = new Set(); + for (const plugin of catalog.plugins) { + for (const key of ['id', 'displayName', 'brandCategory', 'platformCategory', 'version', 'shortDescription', 'longDescription', 'defaultPrompt']) { + if (typeof plugin[key] !== 'string' || plugin[key].trim() === '') fail(`${plugin.id ?? 'plugin'}.${key} must be a non-empty string`); + } + if (ids.has(plugin.id)) fail(`duplicate plugin id: ${plugin.id}`); + ids.add(plugin.id); + if (!['Build', 'Design', 'Grow'].includes(plugin.brandCategory)) fail(`${plugin.id}.brandCategory is invalid`); + if (!Number.isInteger(plugin.expectedSkillCount) || plugin.expectedSkillCount < 1) fail(`${plugin.id}.expectedSkillCount must be a positive integer`); + if (!Array.isArray(plugin.sourceRoots) || plugin.sourceRoots.length === 0) fail(`${plugin.id}.sourceRoots must be non-empty`); + for (const sourceRoot of plugin.sourceRoots) { + if (!sourceRoot.startsWith('external/') || sourceRoot.includes('..')) fail(`${plugin.id} source root must stay inside external/`); + } + } + return catalog; +} +``` + +Import `readFileSync` from `node:fs` and `join` from `node:path`; use the explicit checks above rather than weakening validation to truthiness tests. + +- [ ] **Step 4: Add the approved seven-plugin catalog** + +Create `marketplace/external/catalog.json` with these exact mappings and `version: "1.0.0"` for every plugin: + +```json +{ + "name": "firstsun-external", + "displayName": "Firstsun External", + "promise": "Curated skills for practical AI development.", + "plugins": [ + { "id": "agent-toolkit", "displayName": "Agent Toolkit", "brandCategory": "Build", "platformCategory": "Developer", "expectedSkillCount": 13, "sourceRoots": ["external/ai-agents", "external/basic", "external/think"] }, + { "id": "software-delivery", "displayName": "Software Delivery", "brandCategory": "Build", "platformCategory": "Developer", "expectedSkillCount": 16, "sourceRoots": ["external/develop/code-quality", "external/develop/devops", "external/develop/security", "external/develop/internationalization-i18n", "external/develop/windmill-rust-backend"] }, + { "id": "spec-driven-development", "displayName": "Spec-Driven Development", "brandCategory": "Build", "platformCategory": "Developer", "expectedSkillCount": 16, "sourceRoots": ["external/develop/openspec"] }, + { "id": "frontend-product-design", "displayName": "Frontend & Product Design", "brandCategory": "Design", "platformCategory": "Design", "expectedSkillCount": 19, "sourceRoots": ["external/develop/frontend"] }, + { "id": "visual-content", "displayName": "Visual Content", "brandCategory": "Design", "platformCategory": "Design", "expectedSkillCount": 10, "sourceRoots": ["external/video-design"] }, + { "id": "career-productivity", "displayName": "Career & Productivity", "brandCategory": "Grow", "platformCategory": "Productivity", "expectedSkillCount": 5, "sourceRoots": ["external/career", "external/lifestyle"] }, + { "id": "health-wellness", "displayName": "Health & Wellness", "brandCategory": "Grow", "platformCategory": "Productivity", "expectedSkillCount": 7, "sourceRoots": ["external/health"] } + ] +} +``` + +Expand every plugin object with the required version, descriptions, and default prompt before saving. Descriptions must say “reviewed third-party skills” or “curated third-party skills”; Health & Wellness must state that it is not medical care. + +- [ ] **Step 5: Run unit and repository contract tests** + +Run: `node scripts/test-external-marketplace.mjs` + +Expected: PASS and `external marketplace tests: PASS`; the real catalog discovers exactly 86 unique external skills. + +- [ ] **Step 6: Commit the catalog contract** + +```bash +git add marketplace/external/catalog.json scripts/lib/external-marketplace.mjs scripts/test-external-marketplace.mjs +git commit -m "feat(marketplace): define canonical external catalog" +``` + +### Task 2: Generate portable dual-platform packages + +**Files:** +- Modify: `scripts/lib/external-marketplace.mjs` +- Modify: `scripts/sync-external-marketplace.mjs` +- Modify: `scripts/test-external-marketplace.mjs` +- Regenerate: `.agents/plugins/marketplace.json` +- Regenerate: `.claude-plugin/marketplace.json` +- Delete: `plugin-most-used/**` +- Replace: `plugins/external-*/**` with `plugins/{agent-toolkit,software-delivery,spec-driven-development,frontend-product-design,visual-content,career-productivity,health-wellness}/**` + +**Interfaces:** +- Consumes: `loadCatalog(repoRoot)` and `discoverSkills(repoRoot, plugin)` from Task 1. +- Produces: `buildOutputs(repoRoot: string, catalog: Catalog): Map`. +- Produces: `writeOutputs(repoRoot: string, outputs: Map): void`. +- Produces: `checkOutputs(repoRoot: string, outputs: Map): string[]` where an empty array means no drift. + +- [ ] **Step 1: Add a failing fixture test for both marketplace formats** + +Extend the temporary fixture to call `buildOutputs` and assert: + +```js +const outputs = buildOutputs(root, loadCatalog(root)); +const codex = JSON.parse(outputs.get('.agents/plugins/marketplace.json')); +const claude = JSON.parse(outputs.get('.claude-plugin/marketplace.json')); +assert.deepEqual(codex.plugins.map((plugin) => plugin.name), ['agent-toolkit']); +assert.deepEqual(claude.plugins.map((plugin) => plugin.name), ['agent-toolkit']); +assert.deepEqual(codex.plugins[0].source, { source: 'local', path: './plugins/agent-toolkit' }); +assert.equal(claude.plugins[0].source, './plugins/agent-toolkit'); +assert.ok(outputs.has('plugins/agent-toolkit/.codex-plugin/plugin.json')); +assert.ok(outputs.has('plugins/agent-toolkit/.claude-plugin/plugin.json')); +assert.ok(outputs.has('plugins/agent-toolkit/skills/alpha/SKILL.md')); +``` + +Also assert both plugin manifests share `name`, `version`, `description`, and author `Firstsun Dev`; verify the Codex manifest contains its `interface` fields and the Claude manifest contains the shared metadata supported by that format. + +- [ ] **Step 2: Run tests and confirm generation exports are missing** + +Run: `node scripts/test-external-marketplace.mjs` + +Expected: FAIL because `buildOutputs` is not exported. + +- [ ] **Step 3: Implement deterministic in-memory output construction** + +Implement `buildOutputs` so JSON always uses two-space indentation, a trailing newline, catalog order for plugins, alphabetical order for discovered skills, and POSIX `/` separators in output keys. Construct the two marketplace entries exactly as follows: + +```js +const codexEntry = { + name: plugin.id, + source: { source: 'local', path: `./plugins/${plugin.id}` }, + category: plugin.platformCategory, +}; +const claudeEntry = { + name: plugin.id, + description: plugin.shortDescription, + author: { name: 'Firstsun Dev' }, + category: plugin.platformCategory.toLowerCase(), + source: `./plugins/${plugin.id}`, +}; +``` + +Use the same canonical plugin data for both plugin manifests. Copy every file below each discovered skill into the output map and reject symbolic links with `lstatSync(path).isSymbolicLink()`. + +- [ ] **Step 4: Implement exact output reconciliation and CLI modes** + +Replace the current hard-coded script with argument handling: + +```js +#!/usr/bin/env node +import { resolve } from 'node:path'; +import { buildOutputs, checkOutputs, loadCatalog, writeOutputs } from './lib/external-marketplace.mjs'; + +const repoRoot = resolve(import.meta.dirname, '..'); +const mode = process.argv[2] ?? '--write'; +const outputs = buildOutputs(repoRoot, loadCatalog(repoRoot)); + +if (mode === '--write') { + writeOutputs(repoRoot, outputs); +} else if (mode === '--check') { + const drift = checkOutputs(repoRoot, outputs); + if (drift.length) { + console.error(`External marketplace drift:\n${drift.map((path) => `- ${path}`).join('\n')}`); + process.exitCode = 1; + } +} else { + console.error('Usage: node scripts/sync-external-marketplace.mjs [--write|--check]'); + process.exitCode = 2; +} +``` + +`writeOutputs` must remove only these resolved, validated targets before writing: `.agents/plugins/marketplace.json`, `.claude-plugin/marketplace.json`, `plugin-most-used`, the seven catalog plugin directories, and the five explicit legacy `plugins/external-*` directories. It must report any other immediate child of `plugins/` as unexpected instead of deleting it. Reject a repository root that lacks `AGENTS.md`, `external/`, or `marketplace/external/catalog.json` before removal. + +`checkOutputs` must report missing, changed, and unexpected generated files, including legacy plugin directories. It must never mutate the repository. + +- [ ] **Step 5: Test write, check, mutation detection, and symlink rejection** + +In the temporary fixture, run `writeOutputs`, assert `checkOutputs` returns `[]`, mutate the copied `SKILL.md`, and assert its path is reported. Add a symlink fixture where supported and assert generation fails with `symbolic link is not portable`. + +Run: `node scripts/test-external-marketplace.mjs` + +Expected: PASS. + +- [ ] **Step 6: Generate the repository outputs** + +Run: `node scripts/sync-external-marketplace.mjs --write` + +Expected: the two root manifests name `firstsun-external`; exactly seven immediate directories exist under `plugins/`; every plugin contains both manifests; `plugin-most-used` and all five legacy `plugins/external-*` directories are gone. + +- [ ] **Step 7: Verify parity and deterministic generation** + +Run: `node scripts/sync-external-marketplace.mjs --check` + +Expected: exit 0 with no drift output. + +Run: + +```bash +git diff --binary > /tmp/firstsun-marketplace-before.diff +node scripts/sync-external-marketplace.mjs --write +git diff --binary > /tmp/firstsun-marketplace-after.diff +cmp /tmp/firstsun-marketplace-before.diff /tmp/firstsun-marketplace-after.diff +``` + +Expected: `cmp` exits 0, proving a second generation introduces no further diff. + +- [ ] **Step 8: Commit portable marketplace generation** + +```bash +git add .agents/plugins/marketplace.json .claude-plugin/marketplace.json plugins scripts/lib/external-marketplace.mjs scripts/sync-external-marketplace.mjs scripts/test-external-marketplace.mjs +git add -u plugin-most-used +git commit -m "feat(marketplace): generate dual-platform external bundles" +``` + +### Task 3: Enforce parity locally and in weekly synchronization + +**Files:** +- Modify: `init.sh:4-48` +- Modify: `.github/workflows/update-external-skills.yml:105-176` +- Modify: `scripts/test-external-marketplace.mjs` + +**Interfaces:** +- Consumes: CLI `node scripts/sync-external-marketplace.mjs --check` from Task 2. +- Produces: `./init.sh` fails when tests fail or tracked marketplace outputs drift. + +- [ ] **Step 1: Prove drift checking fails on a controlled fixture** + +Ensure the Task 2 test suite includes this sequence: + +```js +writeOutputs(root, outputs); +assert.deepEqual(checkOutputs(root, outputs), []); +writeFileSync(join(root, '.claude-plugin/marketplace.json'), '{}\n'); +assert.deepEqual(checkOutputs(root, outputs), ['.claude-plugin/marketplace.json']); +``` + +Run: `node scripts/test-external-marketplace.mjs` + +Expected: PASS. + +- [ ] **Step 2: Add the marketplace gate to `init.sh`** + +Insert after repository structure sanity and before skill-directory validation: + +```bash +echo "=== external marketplace parity ===" +node scripts/test-external-marketplace.mjs +node scripts/sync-external-marketplace.mjs --check +echo "OK: external marketplace outputs match the canonical catalog" +``` + +- [ ] **Step 3: Update the weekly workflow's generated-output scope** + +Keep the existing refresh step, then add an explicit check step: + +```yaml + - name: Verify external marketplace parity + run: node scripts/sync-external-marketplace.mjs --check +``` + +Replace the old `add-paths` entries for marketplace output with: + +```yaml + .agents/plugins/marketplace.json + .claude-plugin/marketplace.json + marketplace/external/catalog.json + external/** + plugins/** + skills-lock.json +``` + +- [ ] **Step 4: Run all local gates** + +Run: `node scripts/test-external-marketplace.mjs && node scripts/sync-external-marketplace.mjs --check && ./init.sh` + +Expected: all three commands exit 0; `init.sh` prints the marketplace parity success line. + +- [ ] **Step 5: Commit verification integration** + +```bash +git add init.sh .github/workflows/update-external-skills.yml scripts/test-external-marketplace.mjs +git commit -m "ci(marketplace): enforce cross-platform parity" +``` + +### Task 4: Align public documentation with the new taxonomy + +**Files:** +- Modify: `README.md:34-53` +- Modify: `SKILLS_LIST.md:197-210` + +**Interfaces:** +- Consumes: seven plugin IDs, categories, and counts from `marketplace/external/catalog.json`. +- Produces: installation and catalog copy that describes one Firstsun External product on both platforms. + +- [ ] **Step 1: Add a documentation contract test** + +Extend `scripts/test-external-marketplace.mjs` to read the real repository `README.md` and `SKILLS_LIST.md`, then assert every plugin ID and both manifest paths occur. Assert the obsolete public names `tianyao-skills`, `most-used-skills`, and `external-career-health` do not occur in either marketplace documentation section. + +Run: `node scripts/test-external-marketplace.mjs` + +Expected: FAIL because the current documentation contains the obsolete names and lacks the seven IDs. + +- [ ] **Step 2: Rewrite the README marketplace section** + +Describe **Firstsun External** once, followed by: + +- the promise “Curated skills for practical AI development”; +- Build, Design, and Grow with their plugin names; +- ChatGPT import instructions using repository URL `https://github.com/firstsun-dev/skills` and an empty Path; +- Claude Code installation using the repository's `.claude-plugin/marketplace.json` discovery flow; +- the guarantee that both clients receive identical copied skill contents; +- the generated-artifact warning for `plugins/` and both root manifests. + +- [ ] **Step 3: Replace the Plugins table in `SKILLS_LIST.md`** + +List one marketplace row followed by category subheadings and seven plugin rows with counts `13, 16, 16, 19, 10, 5, 7`. Link each plugin row to `./plugins//.codex-plugin/plugin.json` and mention that a sibling Claude manifest exists in the same package. + +Remove the personal `tianyao-skills` and `most-used-skills` rows and the five legacy plugin rows. + +- [ ] **Step 4: Run documentation and parity checks** + +Run: `node scripts/test-external-marketplace.mjs && node scripts/sync-external-marketplace.mjs --check && git diff --check` + +Expected: PASS with no stale-name assertion or whitespace errors. + +- [ ] **Step 5: Commit documentation** + +```bash +git add README.md SKILLS_LIST.md scripts/test-external-marketplace.mjs +git commit -m "docs(marketplace): present Build Design Grow catalog" +``` + +### Task 5: Complete repository verification and state records + +**Files:** +- Modify: `feature_list.json` +- Modify: `progress.md` + +**Interfaces:** +- Consumes: successful generator tests, parity check, JSON parsing, and `./init.sh`. +- Produces: feat-016 completion evidence and a clean restart state. + +- [ ] **Step 1: Validate all JSON manifests explicitly** + +Run: + +```bash +jq -e . marketplace/external/catalog.json .agents/plugins/marketplace.json .claude-plugin/marketplace.json >/dev/null +find plugins -type f \( -path '*/.codex-plugin/plugin.json' -o -path '*/.claude-plugin/plugin.json' \) -print0 | xargs -0 -n1 jq -e >/dev/null +``` + +Expected: exit 0. + +- [ ] **Step 2: Verify package shape and total assignment** + +Run: + +```bash +test "$(find plugins -mindepth 1 -maxdepth 1 -type d | wc -l)" -eq 7 +test "$(find plugins -mindepth 4 -maxdepth 4 -type f -name SKILL.md | wc -l)" -eq 86 +test "$(find plugins -type l | wc -l)" -eq 0 +``` + +Expected: exit 0. If upstream changes during implementation, update `expectedSkillCount`, documentation counts, and the expected total together before rerunning. + +- [ ] **Step 3: Run the complete repository gate** + +Run: `./init.sh && git diff --check` + +Expected: harness initialization and marketplace parity pass with no whitespace errors. + +- [ ] **Step 4: Inspect scope and provenance** + +Run: `git status --short` and `git diff -- skills-lock.json` + +Expected: only feat-016 files are modified; `skills-lock.json` has no provenance changes. + +- [ ] **Step 5: Record completion** + +Set feat-016 to `done` in `feature_list.json` with evidence containing the seven plugin IDs, `86` assigned skills, the test command, parity command, `./init.sh`, and the implementation commit hashes. Update `progress.md` so feat-016 moves out of “What's In Progress” and its concise completion record points to the feature evidence. + +- [ ] **Step 6: Commit final state records** + +```bash +git add feature_list.json progress.md +git commit -m "chore(marketplace): record cross-platform catalog completion" +``` + +- [ ] **Step 7: Perform final clean verification** + +Run: `node scripts/sync-external-marketplace.mjs --check && ./init.sh && git status --short` + +Expected: both verification commands pass and `git status --short` prints nothing. diff --git a/feature_list.json b/feature_list.json index 9a78e63..aed9e46 100644 --- a/feature_list.json +++ b/feature_list.json @@ -159,7 +159,7 @@ "feat-014" ], "status": "not-started", - "evidence": "Design approved in chat and specified in docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md. Taxonomy revision approved: Build, Design, and Grow contain seven task-oriented plugins covering all 86 external skills. Implementation plan pending final user review." + "evidence": "Design approved in chat and specified in docs/superpowers/specs/2026-09-15-cross-platform-external-marketplace-design.md. Taxonomy revision approved: Build, Design, and Grow contain seven task-oriented plugins covering all 86 external skills. Implementation plan written at docs/superpowers/plans/2026-09-15-cross-platform-external-marketplace.md; execution pending." } ] } diff --git a/progress.md b/progress.md index dc4fb49..32491fd 100644 --- a/progress.md +++ b/progress.md @@ -3,13 +3,13 @@ ## Current State **Last Updated:** 2026-09-15 -**Active Feature:** feat-016 design review; implementation not started +**Active Feature:** feat-016 implementation planned; execution not started Completed work is archived in [archive/](./archive/), one file per calendar month — this file only tracks what's still open. ## What's In Progress -- [ ] feat-016: Cross-platform Firstsun External marketplace — design specification awaiting user review +- [ ] feat-016: Cross-platform Firstsun External marketplace — implementation plan ready ## Since Last Update @@ -20,6 +20,9 @@ dual-manifest plugin bundles. The approved taxonomy groups seven installable plu Design, and Grow and assigns all 86 current external skills exactly once. No marketplace implementation has started. +Implementation tasks are documented in +`docs/superpowers/plans/2026-09-15-cross-platform-external-marketplace.md`; execution has not started. + feat-015 completed 2026-09-15: installed OpenSpec CLI v1.13.0 and initialized this repository with the English core schema plus Codex and Claude Code integrations. The tracked configuration is `openspec/`; the six project-level Claude commands are under `.claude/commands/opsx/`. @@ -30,9 +33,8 @@ feat-014's evidence in `feature_list.json`. Completed history is in [archive/202 ## What's Next -1. Ask the user to review and approve the feat-016 design specification. -2. After approval, create the implementation plan through the required writing-plans workflow. -3. Keep feat-005 unchanged as known upstream validation debt. +1. Execute `docs/superpowers/plans/2026-09-15-cross-platform-external-marketplace.md` task by task. +2. Keep feat-005 unchanged as known upstream validation debt. ## Blockers / Risks @@ -43,5 +45,5 @@ bodies, which need a real content split (progressive disclosure into references/ ## Notes for Next Session -Start with `./init.sh`, then work through feat-005's "What's Next" list above — each item maps to a specific -skill directory. Fix, then re-run `/validate-skills` on just that skill before moving to the next. +Start with `./init.sh`, read the feat-016 spec and implementation plan, then execute Task 1. Keep the +external-upstream exceptions documented under feat-005 unchanged. From dbc8ddd9eb09ac12940a6c81c403043baaf3e5b1 Mon Sep 17 00:00:00 2001 From: tianyao Date: Tue, 15 Sep 2026 03:30:32 +0000 Subject: [PATCH 04/12] chore(repo): ignore local worktrees --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 5b46eca..29c5e66 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .agents/skills/ .claude/skills .claude/worktrees +.worktrees/ .cache/ From d4cd7daee957792c25745c171b7091e633f6d036 Mon Sep 17 00:00:00 2001 From: tianyao Date: Tue, 15 Sep 2026 05:59:12 +0000 Subject: [PATCH 05/12] feat(marketplace): define canonical external catalog Add the firstsun-external catalog (7 plugins, 86 skills) plus loadCatalog/discoverSkills library functions and a test suite covering field validation, source-root safety, in-plugin and cross-plugin duplicate-name rejection, expectedSkillCount enforcement, and a repository-level contract test against the real external/ tree. Co-Authored-By: Claude Sonnet 5 --- marketplace/external/catalog.json | 97 +++++++++++++++ scripts/lib/external-marketplace.mjs | 118 ++++++++++++++++++ scripts/test-external-marketplace.mjs | 170 ++++++++++++++++++++++++++ 3 files changed, 385 insertions(+) create mode 100644 marketplace/external/catalog.json create mode 100644 scripts/lib/external-marketplace.mjs create mode 100644 scripts/test-external-marketplace.mjs diff --git a/marketplace/external/catalog.json b/marketplace/external/catalog.json new file mode 100644 index 0000000..c02f589 --- /dev/null +++ b/marketplace/external/catalog.json @@ -0,0 +1,97 @@ +{ + "name": "firstsun-external", + "displayName": "Firstsun External", + "promise": "Curated skills for practical AI development.", + "plugins": [ + { + "id": "agent-toolkit", + "displayName": "Agent Toolkit", + "brandCategory": "Build", + "platformCategory": "Developer", + "version": "1.0.0", + "shortDescription": "Reviewed third-party skills for building and running AI agents.", + "longDescription": "A collection of reviewed third-party skills covering agent frameworks, prompt patterns, and structured reasoning techniques for building reliable AI agents.", + "defaultPrompt": "Use the relevant Agent Toolkit skill for this task.", + "expectedSkillCount": 13, + "sourceRoots": ["external/ai-agents", "external/basic", "external/think"] + }, + { + "id": "software-delivery", + "displayName": "Software Delivery", + "brandCategory": "Build", + "platformCategory": "Developer", + "version": "1.0.0", + "shortDescription": "Curated third-party skills for shipping and operating software.", + "longDescription": "A collection of curated third-party skills covering code quality, DevOps, security, internationalization, and backend engineering practices for shipping and operating software.", + "defaultPrompt": "Use the relevant Software Delivery skill for this task.", + "expectedSkillCount": 16, + "sourceRoots": [ + "external/develop/code-quality", + "external/develop/devops", + "external/develop/security", + "external/develop/internationalization-i18n", + "external/develop/windmill-rust-backend" + ] + }, + { + "id": "spec-driven-development", + "displayName": "Spec-Driven Development", + "brandCategory": "Build", + "platformCategory": "Developer", + "version": "1.0.0", + "shortDescription": "Reviewed third-party skills for spec-driven development workflows.", + "longDescription": "A collection of reviewed third-party skills for the OpenSpec workflow: proposing, exploring, implementing, verifying, and archiving spec-driven changes.", + "defaultPrompt": "Use the relevant Spec-Driven Development skill for this task.", + "expectedSkillCount": 16, + "sourceRoots": ["external/develop/openspec"] + }, + { + "id": "frontend-product-design", + "displayName": "Frontend & Product Design", + "brandCategory": "Design", + "platformCategory": "Design", + "version": "1.0.0", + "shortDescription": "Curated third-party skills for frontend and product design.", + "longDescription": "A collection of curated third-party skills for frontend engineering, UI systems, visual taste, and product design craft.", + "defaultPrompt": "Use the relevant Frontend & Product Design skill for this task.", + "expectedSkillCount": 19, + "sourceRoots": ["external/develop/frontend"] + }, + { + "id": "visual-content", + "displayName": "Visual Content", + "brandCategory": "Design", + "platformCategory": "Design", + "version": "1.0.0", + "shortDescription": "Reviewed third-party skills for video and visual content creation.", + "longDescription": "A collection of reviewed third-party skills for producing video, imagery, and other visual content assets.", + "defaultPrompt": "Use the relevant Visual Content skill for this task.", + "expectedSkillCount": 10, + "sourceRoots": ["external/video-design"] + }, + { + "id": "career-productivity", + "displayName": "Career & Productivity", + "brandCategory": "Grow", + "platformCategory": "Productivity", + "version": "1.0.0", + "shortDescription": "Curated third-party skills for career growth and everyday productivity.", + "longDescription": "A collection of curated third-party skills for career development, job search, and lifestyle productivity tasks.", + "defaultPrompt": "Use the relevant Career & Productivity skill for this task.", + "expectedSkillCount": 5, + "sourceRoots": ["external/career", "external/lifestyle"] + }, + { + "id": "health-wellness", + "displayName": "Health & Wellness", + "brandCategory": "Grow", + "platformCategory": "Productivity", + "version": "1.0.0", + "shortDescription": "Reviewed third-party skills for general health and wellness education. Not medical care.", + "longDescription": "A collection of reviewed third-party skills covering fitness, nutrition, and wellness education. This plugin provides general information only, is not medical care, and does not replace professional diagnosis or treatment.", + "defaultPrompt": "Use the relevant Health & Wellness skill for this task. This is general information, not medical care.", + "expectedSkillCount": 7, + "sourceRoots": ["external/health"] + } + ] +} diff --git a/scripts/lib/external-marketplace.mjs b/scripts/lib/external-marketplace.mjs new file mode 100644 index 0000000..0a25b4a --- /dev/null +++ b/scripts/lib/external-marketplace.mjs @@ -0,0 +1,118 @@ +import { existsSync, readFileSync, readdirSync } from 'node:fs'; +import { basename, join, relative } from 'node:path'; + +const ALLOWED_BRAND_CATEGORIES = ['Build', 'Design', 'Grow']; +const REQUIRED_STRING_FIELDS = [ + 'id', + 'displayName', + 'brandCategory', + 'platformCategory', + 'version', + 'shortDescription', + 'longDescription', + 'defaultPrompt', +]; + +function fail(message) { + throw new Error(`External marketplace catalog: ${message}`); +} + +function skillDirectories(absolutePath) { + if (!existsSync(absolutePath)) return []; + if (existsSync(join(absolutePath, 'SKILL.md'))) return [absolutePath]; + return readdirSync(absolutePath, { withFileTypes: true }) + .filter((entry) => entry.isDirectory()) + .flatMap((entry) => skillDirectories(join(absolutePath, entry.name))); +} + +export function discoverSkills(repoRoot, plugin) { + const seenNames = new Set(); + const records = []; + + for (const sourceRoot of plugin.sourceRoots) { + const absoluteRoot = join(repoRoot, sourceRoot); + if (!existsSync(absoluteRoot)) { + fail(`${plugin.id} source root does not exist: ${sourceRoot}`); + } + for (const absolutePath of skillDirectories(absoluteRoot)) { + const name = basename(absolutePath); + if (seenNames.has(name)) { + fail(`${plugin.id} has duplicate skill name: ${name}`); + } + seenNames.add(name); + records.push({ + name, + absolutePath, + relativePath: relative(repoRoot, absolutePath), + }); + } + } + + records.sort((a, b) => a.name.localeCompare(b.name)); + + if (records.length !== plugin.expectedSkillCount) { + fail( + `${plugin.id} expected ${plugin.expectedSkillCount} skills but discovered ${records.length}`, + ); + } + + return records; +} + +export function loadCatalog(repoRoot) { + const path = join(repoRoot, 'marketplace/external/catalog.json'); + const catalog = JSON.parse(readFileSync(path, 'utf8')); + + if (catalog.name !== 'firstsun-external') fail('name must be firstsun-external'); + if (typeof catalog.displayName !== 'string' || catalog.displayName.trim() === '') { + fail('displayName must be a non-empty string'); + } + if (typeof catalog.promise !== 'string' || catalog.promise.trim() === '') { + fail('promise must be a non-empty string'); + } + if (!Array.isArray(catalog.plugins) || catalog.plugins.length === 0) fail('plugins must be non-empty'); + + const ids = new Set(); + for (const plugin of catalog.plugins) { + for (const key of REQUIRED_STRING_FIELDS) { + if (typeof plugin[key] !== 'string' || plugin[key].trim() === '') { + fail(`${plugin.id ?? 'plugin'}.${key} must be a non-empty string`); + } + } + if (ids.has(plugin.id)) fail(`duplicate plugin id: ${plugin.id}`); + ids.add(plugin.id); + if (!ALLOWED_BRAND_CATEGORIES.includes(plugin.brandCategory)) { + fail(`${plugin.id}.brandCategory is invalid`); + } + if (!Number.isInteger(plugin.expectedSkillCount) || plugin.expectedSkillCount < 1) { + fail(`${plugin.id}.expectedSkillCount must be a positive integer`); + } + if (!Array.isArray(plugin.sourceRoots) || plugin.sourceRoots.length === 0) { + fail(`${plugin.id}.sourceRoots must be non-empty`); + } + for (const sourceRoot of plugin.sourceRoots) { + if (typeof sourceRoot !== 'string' || !sourceRoot.startsWith('external/') || sourceRoot.includes('..')) { + fail(`${plugin.id} source root must stay inside external/`); + } + } + } + + // Discover skills for every plugin now so structural problems (missing + // source roots, in-plugin duplicate names, expectedSkillCount mismatches) + // surface as soon as the catalog is loaded, and so we can additionally + // enforce that skill names are unique across the *entire* catalog — an + // installer has no way to disambiguate two plugins offering a skill with + // the same name. + const globalNames = new Map(); + for (const plugin of catalog.plugins) { + const skills = discoverSkills(repoRoot, plugin); + for (const skill of skills) { + if (globalNames.has(skill.name)) { + fail(`duplicate skill name across plugins: ${skill.name}`); + } + globalNames.set(skill.name, plugin.id); + } + } + + return catalog; +} diff --git a/scripts/test-external-marketplace.mjs b/scripts/test-external-marketplace.mjs new file mode 100644 index 0000000..0faf2ef --- /dev/null +++ b/scripts/test-external-marketplace.mjs @@ -0,0 +1,170 @@ +import assert from 'node:assert/strict'; +import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs'; +import { tmpdir } from 'node:os'; +import { join, resolve } from 'node:path'; +import { discoverSkills, loadCatalog } from './lib/external-marketplace.mjs'; + +function fixture() { + const root = mkdtempSync(join(tmpdir(), 'firstsun-marketplace-')); + mkdirSync(join(root, 'marketplace/external'), { recursive: true }); + mkdirSync(join(root, 'external/basic/alpha'), { recursive: true }); + writeFileSync(join(root, 'external/basic/alpha/SKILL.md'), '---\nname: alpha\n---\n'); + return root; +} + +function writeCatalog(root, overrides = {}) { + const catalog = { + name: 'firstsun-external', + displayName: 'Firstsun External', + promise: 'Curated skills for practical AI development.', + plugins: [{ + id: 'agent-toolkit', + displayName: 'Agent Toolkit', + brandCategory: 'Build', + platformCategory: 'Developer', + version: '1.0.0', + shortDescription: 'Practical agent workflows.', + longDescription: 'Reviewed third-party workflows for practical agent work.', + defaultPrompt: 'Use the relevant Agent Toolkit skill for this task.', + expectedSkillCount: 1, + sourceRoots: ['external/basic'], + }], + ...overrides, + }; + writeFileSync(join(root, 'marketplace/external/catalog.json'), `${JSON.stringify(catalog, null, 2)}\n`); +} + +function withFixture(fn) { + const root = fixture(); + try { + fn(root); + } finally { + rmSync(root, { recursive: true, force: true }); + } +} + +function basePlugin(overrides = {}) { + return { + id: 'agent-toolkit', + displayName: 'Agent Toolkit', + brandCategory: 'Build', + platformCategory: 'Developer', + version: '1.0.0', + shortDescription: 'Practical agent workflows.', + longDescription: 'Reviewed third-party workflows for practical agent work.', + defaultPrompt: 'Use the relevant Agent Toolkit skill for this task.', + expectedSkillCount: 1, + sourceRoots: ['external/basic'], + ...overrides, + }; +} + +// --- Step 1 baseline: valid catalog loads and discovers skills --- +withFixture((root) => { + writeCatalog(root); + const catalog = loadCatalog(root); + assert.equal(catalog.name, 'firstsun-external'); + assert.deepEqual(discoverSkills(root, catalog.plugins[0]).map((skill) => skill.name), ['alpha']); +}); + +// --- catalog.name must be firstsun-external --- +withFixture((root) => { + writeCatalog(root, { name: 'wrong-name' }); + assert.throws(() => loadCatalog(root), /firstsun-external/); +}); + +// --- duplicate plugin IDs --- +withFixture((root) => { + mkdirSync(join(root, 'external/basic/beta'), { recursive: true }); + writeFileSync(join(root, 'external/basic/beta/SKILL.md'), '---\nname: beta\n---\n'); + writeCatalog(root, { + plugins: [ + basePlugin({ id: 'agent-toolkit', sourceRoots: ['external/basic'], expectedSkillCount: 2 }), + basePlugin({ id: 'agent-toolkit', sourceRoots: ['external/basic'], expectedSkillCount: 2 }), + ], + }); + assert.throws(() => loadCatalog(root), /duplicate plugin id: agent-toolkit/); +}); + +// --- source root outside external/ --- +withFixture((root) => { + writeCatalog(root, { + plugins: [basePlugin({ sourceRoots: ['../outside'] })], + }); + assert.throws(() => loadCatalog(root), /agent-toolkit source root must stay inside external\//); +}); + +// --- source root that does not exist on disk --- +withFixture((root) => { + writeCatalog(root, { + plugins: [basePlugin({ sourceRoots: ['external/does-not-exist'] })], + }); + assert.throws( + () => loadCatalog(root), + /agent-toolkit source root does not exist: external\/does-not-exist/, + ); +}); + +// --- duplicate skill directory names within a plugin (two source roots, same skill name) --- +withFixture((root) => { + mkdirSync(join(root, 'external/other/alpha'), { recursive: true }); + writeFileSync(join(root, 'external/other/alpha/SKILL.md'), '---\nname: alpha\n---\n'); + writeCatalog(root, { + plugins: [basePlugin({ sourceRoots: ['external/basic', 'external/other'], expectedSkillCount: 2 })], + }); + assert.throws(() => loadCatalog(root), /agent-toolkit has duplicate skill name: alpha/); +}); + +// --- expectedSkillCount mismatch --- +withFixture((root) => { + writeCatalog(root, { + plugins: [basePlugin({ expectedSkillCount: 2 })], + }); + assert.throws( + () => loadCatalog(root), + /agent-toolkit expected 2 skills but discovered 1/, + ); +}); + +// --- duplicate skill name across two different plugins (catalog-wide uniqueness) --- +withFixture((root) => { + mkdirSync(join(root, 'external/other/alpha'), { recursive: true }); + writeFileSync(join(root, 'external/other/alpha/SKILL.md'), '---\nname: alpha\n---\n'); + writeCatalog(root, { + plugins: [ + basePlugin({ id: 'agent-toolkit', sourceRoots: ['external/basic'], expectedSkillCount: 1 }), + basePlugin({ id: 'other-toolkit', sourceRoots: ['external/other'], expectedSkillCount: 1 }), + ], + }); + assert.throws(() => loadCatalog(root), /duplicate skill name across plugins: alpha/); +}); + +// --- Repository-level contract test: the real catalog against the real external/ tree --- +{ + const repoRoot = resolve(import.meta.dirname, '..'); + const catalog = loadCatalog(repoRoot); + + assert.equal(catalog.name, 'firstsun-external'); + assert.equal(catalog.displayName, 'Firstsun External'); + + const allNames = new Set(); + let total = 0; + for (const plugin of catalog.plugins) { + const skills = discoverSkills(repoRoot, plugin); + assert.equal( + skills.length, + plugin.expectedSkillCount, + `${plugin.id}: expected ${plugin.expectedSkillCount} skills, discovered ${skills.length}`, + ); + for (const skill of skills) { + assert.equal(allNames.has(skill.name), false, `duplicate skill name across catalog: ${skill.name}`); + allNames.add(skill.name); + } + total += skills.length; + } + + assert.equal(total, 86, `expected 86 total external skills across all plugins, found ${total}`); + assert.equal(allNames.size, 86, `expected 86 unique skill names, found ${allNames.size}`); +} + +console.log('external marketplace tests: PASS'); From c08a3993d03a7945a7c5a18c1bc934486bdec2bf Mon Sep 17 00:00:00 2001 From: tianyao Date: Tue, 15 Sep 2026 06:06:44 +0000 Subject: [PATCH 06/12] feat(marketplace): generate dual-platform external bundles Add buildOutputs/writeOutputs/checkOutputs to external-marketplace.mjs so the Codex (.agents/plugins/marketplace.json) and Claude Code (.claude-plugin/marketplace.json) manifests, plus the seven catalog plugin packages under plugins/, are generated purely from marketplace/external/catalog.json and the real skill files on disk -- deterministic, real files only (symlinks rejected), catalog order for plugins and alphabetical order for skills. sync-external-marketplace.mjs now supports --write and --check modes; --check is read-only and reports missing/changed/unexpected files as drift. Regenerate the repository outputs: replace the personal tianyao-skills/most-used-skills bundle and the five legacy external-* plugins with the seven canonical catalog plugins (agent-toolkit, software-delivery, spec-driven-development, frontend-product-design, visual-content, career-productivity, health-wellness), and retire plugin-most-used/. This is the intentional clean break described in the cross-platform external marketplace design. Verified: node scripts/test-external-marketplace.mjs passes (including all prior Task 1 tests), sync --write followed by sync --check exits 0 with no drift, and a second --write produces zero further git diff (byte-identical determinism). Co-Authored-By: Claude Sonnet 5 --- .agents/plugins/marketplace.json | 54 +- .claude-plugin/marketplace.json | 69 ++- plugin-most-used/.claude-plugin/plugin.json | 8 - plugin-most-used/skills/cloudflare | 1 - plugin-most-used/skills/find-skills | 1 - plugin-most-used/skills/firstsun-harness | 1 - plugin-most-used/skills/firstsun-pm | 1 - plugin-most-used/skills/frontend-design | 1 - plugin-most-used/skills/permission-cleanup | 1 - plugin-most-used/skills/skill-creator | 1 - plugin-most-used/skills/skill-manager | 1 - .../skills/tailored-resume-generator | 1 - plugin-most-used/skills/validate-skills | 1 - .../agent-toolkit/.claude-plugin/plugin.json | 8 + .../agent-toolkit/.codex-plugin/plugin.json | 18 + .../skills/brainstorming/SKILL.md | 0 .../brainstorming/scripts/frame-template.html | 0 .../skills/brainstorming/scripts/helper.js | 0 .../skills/brainstorming/scripts/server.cjs | 0 .../brainstorming/scripts/start-server.sh | 0 .../brainstorming/scripts/stop-server.sh | 0 .../spec-document-reviewer-prompt.md | 0 .../skills/brainstorming/visual-companion.md | 0 .../SKILL.md | 0 .../skills/decision-management/SKILL.md | 0 .../references/guest-insights.md | 0 .../skills/documentation-writer/SKILL.md | 0 .../skills/find-skills/SKILL.md | 0 .../skills/firecrawl-search/SKILL.md | 0 .../skills/firstprinciples/SKILL.md | 0 .../firstprinciples/Workflows/Challenge.md | 0 .../firstprinciples/Workflows/Deconstruct.md | 0 .../firstprinciples/Workflows/Reconstruct.md | 0 .../skills/full-output-enforcement/SKILL.md | 0 .../skills/learning-coach/SKILL.md | 0 .../skills/skill-creator/LICENSE.txt | 0 .../skills/skill-creator/SKILL.md | 0 .../skills/skill-creator/agents/analyzer.md | 0 .../skills/skill-creator/agents/comparator.md | 0 .../skills/skill-creator/agents/grader.md | 0 .../skill-creator/assets/eval_review.html | 0 .../eval-viewer/generate_review.py | 0 .../skill-creator/eval-viewer/viewer.html | 0 .../skill-creator/references/schemas.md | 0 .../skills/skill-creator/scripts/__init__.py | 0 .../scripts/aggregate_benchmark.py | 0 .../skill-creator/scripts/generate_report.py | 0 .../scripts/improve_description.py | 0 .../skill-creator/scripts/package_skill.py | 0 .../skill-creator/scripts/quick_validate.py | 0 .../skills/skill-creator/scripts/run_eval.py | 0 .../skills/skill-creator/scripts/run_loop.py | 0 .../skills/skill-creator/scripts/utils.py | 0 .../skills/subagent-creator/SKILL.md | 0 .../subagent-driven-development/SKILL.md | 0 .../implementer-prompt.md | 0 .../scripts/review-package | 0 .../scripts/sdd-workspace | 0 .../scripts/task-brief | 0 .../task-reviewer-prompt.md | 0 .../skills/validate-skills/SKILL.md | 0 .../.claude-plugin/plugin.json | 8 + .../.codex-plugin/plugin.json | 18 + .../skills/discovery-interview/SKILL.md | 0 .../skills/habit-tracker/SKILL.md | 0 .../skills/interview-prep/SKILL.md | 0 .../skills/personal-productivity/SKILL.md | 0 .../references/guest-insights.md | 0 .../skills/tailored-resume-generator/SKILL.md | 0 .../.codex-plugin/plugin.json | 18 - .../.codex-plugin/plugin.json | 18 - .../.codex-plugin/plugin.json | 18 - .../.codex-plugin/plugin.json | 18 - .../.codex-plugin/plugin.json | 18 - .../.claude-plugin/plugin.json | 8 + .../.codex-plugin/plugin.json | 18 + .../skills/best-practices/SKILL.md | 0 .../skills/design-taste-frontend-v1/SKILL.md | 0 .../skills/design-taste-frontend/SKILL.md | 0 .../skills/frontend-design/LICENSE.txt | 0 .../skills/frontend-design/SKILL.md | 0 .../skills/gpt-taste/SKILL.md | 0 .../skills/high-end-visual-design/SKILL.md | 0 .../skills/image-to-code/SKILL.md | 0 .../skills/industrial-brutalist-ui/SKILL.md | 0 .../skills/minimalist-ui/SKILL.md | 0 .../skills/react-best-practices/SKILL.md | 0 .../react-best-practices/react-patterns.md | 0 .../skills/react/SKILL.md | 0 .../redesign-existing-projects/SKILL.md | 0 .../skills/sleek-design-mobile-apps/SKILL.md | 0 .../skills/stitch-design-taste/DESIGN.md | 0 .../skills/stitch-design-taste/SKILL.md | 0 .../skills/tailwind-css-patterns/SKILL.md | 0 .../references/accessibility.md | 0 .../references/animations.md | 0 .../references/component-patterns.md | 0 .../references/configuration.md | 0 .../references/layout-patterns.md | 0 .../references/performance.md | 0 .../references/reference.md | 0 .../references/responsive-design.md | 0 .../skills/threejs-animation/SKILL.md | 0 .../skills/ui-animation/SKILL.md | 0 .../ui-animation/references/choreography.md | 0 .../references/clip-path-techniques.md | 0 .../ui-animation/references/code-output.md | 0 .../references/component-patterns.md | 0 .../references/contextual-animations.md | 0 .../ui-animation/references/curve-fitting.md | 0 .../references/decision-framework.md | 0 .../ui-animation/references/gesture-drag.md | 0 .../references/measurement-guide.md | 0 .../references/performance-deep-dive.md | 0 .../ui-animation/references/review-format.md | 0 .../references/spring-animations.md | 0 .../references/transition-recipes.md | 0 .../ui-animation/scripts/extract_frames.py | 0 .../skills/ui-animation/scripts/fit_curves.py | 0 .../ui-animation/scripts/track_motion.py | 0 .../vercel-react-best-practices/AGENTS.md | 0 .../vercel-react-best-practices/README.md | 0 .../vercel-react-best-practices/SKILL.md | 0 .../vercel-react-best-practices/metadata.json | 0 .../rules/_sections.md | 0 .../rules/_template.md | 0 .../rules/advanced-effect-event-deps.md | 0 .../rules/advanced-event-handler-refs.md | 0 .../rules/advanced-init-once.md | 0 .../rules/advanced-use-latest.md | 0 .../rules/async-api-routes.md | 0 .../async-cheap-condition-before-await.md | 0 .../rules/async-defer-await.md | 0 .../rules/async-dependencies.md | 0 .../rules/async-parallel.md | 0 .../rules/async-suspense-boundaries.md | 0 .../rules/bundle-analyzable-paths.md | 0 .../rules/bundle-barrel-imports.md | 0 .../rules/bundle-conditional.md | 0 .../rules/bundle-defer-third-party.md | 0 .../rules/bundle-dynamic-imports.md | 0 .../rules/bundle-preload.md | 0 .../rules/client-event-listeners.md | 0 .../rules/client-localstorage-schema.md | 0 .../rules/client-passive-event-listeners.md | 0 .../rules/client-swr-dedup.md | 0 .../rules/js-batch-dom-css.md | 0 .../rules/js-cache-function-results.md | 0 .../rules/js-cache-property-access.md | 0 .../rules/js-cache-storage.md | 0 .../rules/js-combine-iterations.md | 0 .../rules/js-early-exit.md | 0 .../rules/js-flatmap-filter.md | 0 .../rules/js-hoist-regexp.md | 0 .../rules/js-index-maps.md | 0 .../rules/js-length-check-first.md | 0 .../rules/js-min-max-loop.md | 0 .../rules/js-request-idle-callback.md | 0 .../rules/js-set-map-lookups.md | 0 .../rules/js-tosorted-immutable.md | 0 .../rules/rendering-activity.md | 0 .../rules/rendering-animate-svg-wrapper.md | 0 .../rules/rendering-conditional-render.md | 0 .../rules/rendering-content-visibility.md | 0 .../rules/rendering-hoist-jsx.md | 0 .../rules/rendering-hydration-no-flicker.md | 0 .../rendering-hydration-suppress-warning.md | 0 .../rules/rendering-resource-hints.md | 0 .../rules/rendering-script-defer-async.md | 0 .../rules/rendering-svg-precision.md | 0 .../rules/rendering-usetransition-loading.md | 0 .../rules/rerender-defer-reads.md | 0 .../rules/rerender-dependencies.md | 0 .../rules/rerender-derived-state-no-effect.md | 0 .../rules/rerender-derived-state.md | 0 .../rules/rerender-functional-setstate.md | 0 .../rules/rerender-lazy-state-init.md | 0 .../rules/rerender-memo-with-default-value.md | 0 .../rules/rerender-memo.md | 0 .../rules/rerender-move-effect-to-event.md | 0 .../rules/rerender-no-inline-components.md | 0 .../rerender-simple-expression-in-memo.md | 0 .../rules/rerender-split-combined-hooks.md | 0 .../rules/rerender-transitions.md | 0 .../rules/rerender-use-deferred-value.md | 0 .../rerender-use-ref-transient-values.md | 0 .../rules/server-after-nonblocking.md | 0 .../rules/server-auth-actions.md | 0 .../rules/server-cache-lru.md | 0 .../rules/server-cache-react.md | 0 .../rules/server-dedup-props.md | 0 .../rules/server-hoist-static-io.md | 0 .../rules/server-no-shared-module-state.md | 0 .../rules/server-parallel-fetching.md | 0 .../rules/server-parallel-nested-fetching.md | 0 .../rules/server-serialization.md | 0 .../skills/visual-design-foundations/SKILL.md | 0 .../references/color-systems.md | 0 .../references/spacing-iconography.md | 0 .../references/typography-systems.md | 0 .../.claude-plugin/plugin.json | 8 + .../health-wellness/.codex-plugin/plugin.json | 18 + .../skills/fitness-coach/SKILL.md | 0 .../skills/healthkit/SKILL.md | 0 .../skills/healthkit/evals/evals.json | 0 .../references/healthkit-patterns.md | 0 .../mental-health-psychoeducation/SKILL.md | 0 .../skills/nutritional-specialist/SKILL.md | 0 .../skills/nutritional-specialist/index.js | 0 .../nutritional-specialist/package.json | 0 .../scripts/preferences_manager.py | 0 .../skills/rem-sleep/SKILL.md | 0 .../skills/rp-diet/SKILL.md | 0 .../rp-diet/references/01-diet-priorities.md | 0 .../rp-diet/references/02-calorie-balance.md | 0 .../rp-diet/references/03-macronutrients.md | 0 .../rp-diet/references/04-nutrient-timing.md | 0 .../rp-diet/references/05-food-composition.md | 0 .../references/06-supplements-hydration.md | 0 .../rp-diet/references/07-diet-adherence.md | 0 .../references/08-hunger-management.md | 0 .../09-nutritional-periodization.md | 0 .../references/10-designing-your-diet.md | 0 .../references/11-tracking-adjusting.md | 0 .../12-monitoring-body-composition.md | 0 .../references/13-special-considerations.md | 0 .../references/14-competition-nutrition.md | 0 .../rp-diet/references/15-gut-health.md | 0 .../skills/rp-diet/references/16-alcohol.md | 0 .../rp-diet/references/17-fads-fallacies.md | 0 .../skills/workout-program-designer/SKILL.md | 0 .../.claude-plugin/plugin.json | 8 + .../.codex-plugin/plugin.json | 18 + .../skills/clean-code/SKILL.md | 0 .../skills/cloudflare/SKILL.md | 0 .../references/ai-gateway/README.md | 0 .../references/ai-gateway/configuration.md | 0 .../references/ai-gateway/dynamic-routing.md | 0 .../references/ai-gateway/features.md | 0 .../references/ai-gateway/sdk-integration.md | 0 .../references/ai-gateway/troubleshooting.md | 0 .../cloudflare/references/ai-search/README.md | 0 .../cloudflare/references/ai-search/api.md | 0 .../references/ai-search/configuration.md | 0 .../references/ai-search/gotchas.md | 0 .../references/ai-search/patterns.md | 0 .../references/analytics-engine/README.md | 0 .../references/analytics-engine/api.md | 0 .../analytics-engine/configuration.md | 0 .../references/analytics-engine/gotchas.md | 0 .../references/analytics-engine/patterns.md | 0 .../references/api-shield/README.md | 0 .../cloudflare/references/api-shield/api.md | 0 .../references/api-shield/configuration.md | 0 .../references/api-shield/gotchas.md | 0 .../references/api-shield/patterns.md | 0 .../cloudflare/references/api/README.md | 0 .../skills/cloudflare/references/api/api.md | 0 .../references/api/configuration.md | 0 .../cloudflare/references/api/gotchas.md | 0 .../cloudflare/references/api/patterns.md | 0 .../references/argo-smart-routing/README.md | 0 .../references/argo-smart-routing/api.md | 0 .../argo-smart-routing/configuration.md | 0 .../references/argo-smart-routing/gotchas.md | 0 .../references/argo-smart-routing/patterns.md | 0 .../cloudflare/references/artifacts/README.md | 0 .../cloudflare/references/artifacts/api.md | 0 .../references/artifacts/configuration.md | 0 .../cloudflare/references/bindings/README.md | 0 .../cloudflare/references/bindings/api.md | 0 .../references/bindings/configuration.md | 0 .../cloudflare/references/bindings/gotchas.md | 0 .../references/bindings/patterns.md | 0 .../references/bot-management/README.md | 0 .../references/bot-management/api.md | 0 .../bot-management/configuration.md | 0 .../references/bot-management/gotchas.md | 0 .../references/bot-management/patterns.md | 0 .../references/browser-rendering/README.md | 0 .../references/browser-rendering/api.md | 0 .../browser-rendering/configuration.md | 0 .../references/browser-rendering/gotchas.md | 0 .../references/browser-rendering/patterns.md | 0 .../skills/cloudflare/references/c3/README.md | 0 .../skills/cloudflare/references/c3/api.md | 0 .../cloudflare/references/c3/configuration.md | 0 .../cloudflare/references/c3/gotchas.md | 0 .../cloudflare/references/c3/patterns.md | 0 .../references/cache-reserve/README.md | 0 .../references/cache-reserve/api.md | 0 .../references/cache-reserve/configuration.md | 0 .../references/cache-reserve/gotchas.md | 0 .../references/cache-reserve/patterns.md | 0 .../references/containers/README.md | 0 .../cloudflare/references/containers/api.md | 0 .../references/containers/configuration.md | 0 .../references/containers/gotchas.md | 0 .../references/containers/patterns.md | 0 .../references/cron-triggers/README.md | 0 .../references/cron-triggers/api.md | 0 .../references/cron-triggers/configuration.md | 0 .../references/cron-triggers/gotchas.md | 0 .../references/cron-triggers/patterns.md | 0 .../skills/cloudflare/references/d1/README.md | 0 .../skills/cloudflare/references/d1/api.md | 0 .../cloudflare/references/d1/configuration.md | 0 .../cloudflare/references/d1/gotchas.md | 0 .../cloudflare/references/d1/patterns.md | 0 .../cloudflare/references/ddos/README.md | 0 .../skills/cloudflare/references/ddos/api.md | 0 .../references/ddos/configuration.md | 0 .../cloudflare/references/ddos/gotchas.md | 0 .../cloudflare/references/ddos/patterns.md | 0 .../references/do-storage/README.md | 0 .../cloudflare/references/do-storage/api.md | 0 .../references/do-storage/configuration.md | 0 .../references/do-storage/gotchas.md | 0 .../references/do-storage/patterns.md | 0 .../references/do-storage/testing.md | 0 .../references/email-routing/README.md | 0 .../references/email-routing/api.md | 0 .../references/email-routing/configuration.md | 0 .../references/email-routing/gotchas.md | 0 .../references/email-routing/patterns.md | 0 .../references/email-workers/README.md | 0 .../references/email-workers/api.md | 0 .../references/email-workers/configuration.md | 0 .../references/email-workers/gotchas.md | 0 .../references/email-workers/patterns.md | 0 .../cloudflare/references/flagship/README.md | 0 .../cloudflare/references/flagship/api.md | 0 .../references/flagship/configuration.md | 0 .../cloudflare/references/flagship/gotchas.md | 0 .../references/flagship/patterns.md | 0 .../references/graphql-api/README.md | 0 .../cloudflare/references/graphql-api/api.md | 0 .../references/graphql-api/configuration.md | 0 .../references/graphql-api/gotchas.md | 0 .../references/graphql-api/patterns.md | 0 .../references/hyperdrive/README.md | 0 .../cloudflare/references/hyperdrive/api.md | 0 .../references/hyperdrive/configuration.md | 0 .../references/hyperdrive/gotchas.md | 0 .../references/hyperdrive/patterns.md | 0 .../cloudflare/references/images/README.md | 0 .../cloudflare/references/images/api.md | 0 .../references/images/configuration.md | 0 .../cloudflare/references/images/gotchas.md | 0 .../cloudflare/references/images/patterns.md | 0 .../skills/cloudflare/references/kv/README.md | 0 .../skills/cloudflare/references/kv/api.md | 0 .../cloudflare/references/kv/configuration.md | 0 .../cloudflare/references/kv/gotchas.md | 0 .../cloudflare/references/kv/patterns.md | 0 .../cloudflare/references/miniflare/README.md | 0 .../cloudflare/references/miniflare/api.md | 0 .../references/miniflare/configuration.md | 0 .../references/miniflare/gotchas.md | 0 .../references/miniflare/patterns.md | 0 .../references/network-interconnect/README.md | 0 .../references/network-interconnect/api.md | 0 .../network-interconnect/configuration.md | 0 .../network-interconnect/gotchas.md | 0 .../network-interconnect/patterns.md | 0 .../references/observability/README.md | 0 .../references/observability/api.md | 0 .../references/observability/configuration.md | 0 .../references/observability/gotchas.md | 0 .../references/observability/patterns.md | 0 .../references/pages-functions/README.md | 0 .../references/pages-functions/api.md | 0 .../pages-functions/configuration.md | 0 .../references/pages-functions/gotchas.md | 0 .../references/pages-functions/patterns.md | 0 .../cloudflare/references/pages/README.md | 0 .../skills/cloudflare/references/pages/api.md | 0 .../references/pages/configuration.md | 0 .../cloudflare/references/pages/gotchas.md | 0 .../cloudflare/references/pages/patterns.md | 0 .../cloudflare/references/pipelines/README.md | 0 .../cloudflare/references/pipelines/api.md | 0 .../references/pipelines/configuration.md | 0 .../references/pipelines/gotchas.md | 0 .../references/pipelines/patterns.md | 0 .../cloudflare/references/pulumi/README.md | 0 .../cloudflare/references/pulumi/api.md | 0 .../references/pulumi/configuration.md | 0 .../cloudflare/references/pulumi/gotchas.md | 0 .../cloudflare/references/pulumi/patterns.md | 0 .../cloudflare/references/queues/README.md | 0 .../cloudflare/references/queues/api.md | 0 .../references/queues/configuration.md | 0 .../cloudflare/references/queues/gotchas.md | 0 .../cloudflare/references/queues/patterns.md | 0 .../references/r2-data-catalog/README.md | 0 .../references/r2-data-catalog/api.md | 0 .../r2-data-catalog/configuration.md | 0 .../references/r2-data-catalog/gotchas.md | 0 .../references/r2-data-catalog/patterns.md | 0 .../cloudflare/references/r2-sql/README.md | 0 .../cloudflare/references/r2-sql/api.md | 0 .../references/r2-sql/configuration.md | 0 .../cloudflare/references/r2-sql/gotchas.md | 0 .../cloudflare/references/r2-sql/patterns.md | 0 .../skills/cloudflare/references/r2/README.md | 0 .../skills/cloudflare/references/r2/api.md | 0 .../cloudflare/references/r2/configuration.md | 0 .../cloudflare/references/r2/gotchas.md | 0 .../cloudflare/references/r2/patterns.md | 0 .../references/realtime-sfu/README.md | 0 .../cloudflare/references/realtime-sfu/api.md | 0 .../references/realtime-sfu/configuration.md | 0 .../references/realtime-sfu/gotchas.md | 0 .../references/realtime-sfu/patterns.md | 0 .../references/realtimekit/README.md | 0 .../cloudflare/references/realtimekit/api.md | 0 .../references/realtimekit/configuration.md | 0 .../references/realtimekit/gotchas.md | 0 .../references/realtimekit/patterns.md | 0 .../references/secrets-store/README.md | 0 .../references/secrets-store/api.md | 0 .../references/secrets-store/configuration.md | 0 .../references/secrets-store/gotchas.md | 0 .../references/secrets-store/patterns.md | 0 .../references/smart-placement/README.md | 0 .../references/smart-placement/api.md | 0 .../smart-placement/configuration.md | 0 .../references/smart-placement/gotchas.md | 0 .../references/smart-placement/patterns.md | 0 .../cloudflare/references/snippets/README.md | 0 .../cloudflare/references/snippets/api.md | 0 .../references/snippets/configuration.md | 0 .../cloudflare/references/snippets/gotchas.md | 0 .../references/snippets/patterns.md | 0 .../cloudflare/references/spectrum/README.md | 0 .../cloudflare/references/spectrum/api.md | 0 .../references/spectrum/configuration.md | 0 .../cloudflare/references/spectrum/gotchas.md | 0 .../references/spectrum/patterns.md | 0 .../references/static-assets/README.md | 0 .../references/static-assets/api.md | 0 .../references/static-assets/configuration.md | 0 .../references/static-assets/gotchas.md | 0 .../references/static-assets/patterns.md | 0 .../cloudflare/references/stream/README.md | 0 .../cloudflare/references/stream/api-live.md | 0 .../cloudflare/references/stream/api.md | 0 .../references/stream/configuration.md | 0 .../cloudflare/references/stream/gotchas.md | 0 .../cloudflare/references/stream/patterns.md | 0 .../references/tail-workers/README.md | 0 .../cloudflare/references/tail-workers/api.md | 0 .../references/tail-workers/configuration.md | 0 .../references/tail-workers/gotchas.md | 0 .../references/tail-workers/patterns.md | 0 .../cloudflare/references/terraform/README.md | 0 .../cloudflare/references/terraform/api.md | 0 .../references/terraform/configuration.md | 0 .../references/terraform/gotchas.md | 0 .../references/terraform/patterns.md | 0 .../cloudflare/references/tunnel/README.md | 0 .../cloudflare/references/tunnel/api.md | 0 .../references/tunnel/configuration.md | 0 .../cloudflare/references/tunnel/gotchas.md | 0 .../references/tunnel/networking.md | 0 .../cloudflare/references/tunnel/patterns.md | 0 .../cloudflare/references/turn/README.md | 0 .../skills/cloudflare/references/turn/api.md | 0 .../references/turn/configuration.md | 0 .../cloudflare/references/turn/gotchas.md | 0 .../cloudflare/references/turn/patterns.md | 0 .../cloudflare/references/vectorize/README.md | 0 .../cloudflare/references/vectorize/api.md | 0 .../references/vectorize/configuration.md | 0 .../references/vectorize/gotchas.md | 0 .../references/vectorize/patterns.md | 0 .../cloudflare/references/waf/README.md | 0 .../skills/cloudflare/references/waf/api.md | 0 .../references/waf/configuration.md | 0 .../cloudflare/references/waf/gotchas.md | 0 .../cloudflare/references/waf/patterns.md | 0 .../references/web-analytics/README.md | 0 .../references/web-analytics/configuration.md | 0 .../references/web-analytics/gotchas.md | 0 .../references/web-analytics/integration.md | 0 .../references/web-analytics/patterns.md | 0 .../cloudflare/references/workerd/README.md | 0 .../cloudflare/references/workerd/api.md | 0 .../references/workerd/configuration.md | 0 .../cloudflare/references/workerd/gotchas.md | 0 .../cloudflare/references/workerd/patterns.md | 0 .../references/workers-ai/README.md | 0 .../cloudflare/references/workers-ai/api.md | 0 .../references/workers-ai/configuration.md | 0 .../references/workers-ai/gotchas.md | 0 .../references/workers-ai/patterns.md | 0 .../workers-for-platforms/README.md | 0 .../references/workers-for-platforms/api.md | 0 .../workers-for-platforms/configuration.md | 0 .../workers-for-platforms/gotchas.md | 0 .../workers-for-platforms/patterns.md | 0 .../references/workers-playground/README.md | 0 .../references/workers-playground/api.md | 0 .../workers-playground/configuration.md | 0 .../references/workers-playground/gotchas.md | 0 .../references/workers-playground/patterns.md | 0 .../references/workers-vpc/README.md | 0 .../cloudflare/references/workers-vpc/api.md | 0 .../references/workers-vpc/configuration.md | 0 .../references/workers-vpc/gotchas.md | 0 .../references/workers-vpc/patterns.md | 0 .../cloudflare/references/workflows/README.md | 0 .../cloudflare/references/workflows/api.md | 0 .../references/workflows/configuration.md | 0 .../references/workflows/gotchas.md | 0 .../references/workflows/patterns.md | 0 .../zaraz/IMPLEMENTATION_SUMMARY.md | 0 .../cloudflare/references/zaraz/README.md | 0 .../skills/cloudflare/references/zaraz/api.md | 0 .../references/zaraz/configuration.md | 0 .../cloudflare/references/zaraz/gotchas.md | 0 .../cloudflare/references/zaraz/patterns.md | 0 .../skills/devops-engineer/SKILL.md | 0 .../references/deployment-strategies.md | 0 .../references/docker-patterns.md | 0 .../references/github-actions.md | 0 .../references/incident-response.md | 0 .../devops-engineer/references/kubernetes.md | 0 .../references/platform-engineering.md | 0 .../references/release-automation.md | 0 .../references/terraform-iac.md | 0 .../skills/gcloud/SKILL.md | 0 .../skills/gh-cli/SKILL.md | 0 .../skills/internationalization-i18n/SKILL.md | 0 .../references/date-and-time-formatting.md | 0 .../i18next-javascripttypescript.md | 0 .../references/locale-detection.md | 0 .../number-and-currency-formatting.md | 0 .../references/pluralization-rules.md | 0 .../references/python-i18n-gettext.md | 0 .../references/react-intl-formatjs.md | 0 .../rtl-right-to-left-language-support.md | 0 .../references/server-side-i18n.md | 0 .../references/translation-management.md | 0 .../templates/component-template.tsx | 0 .../skills/oracle-cloud/SKILL.md | 0 .../references/compute-services.md | 0 .../references/database-services.md | 0 .../references/iam-configuration.md | 0 .../references/networking-architecture.md | 0 .../references/oci-cli-commands.md | 0 .../oracle-cloud/references/terraform-oci.md | 0 .../skills/owasp-security/SKILL.md | 0 .../skills/playwright-best-practices/SKILL.md | 0 .../skills/plugin-settings/SKILL.md | 0 .../examples/create-settings-command.md | 0 .../examples/example-settings.md | 0 .../examples/read-settings-hook.sh | 0 .../references/parsing-techniques.md | 0 .../references/real-world-examples.md | 0 .../scripts/parse-frontmatter.sh | 0 .../scripts/validate-settings.sh | 0 .../skills/secret-scanning/SKILL.md | 0 .../references/alerts-and-remediation.md | 0 .../references/custom-patterns.md | 0 .../references/push-protection.md | 0 .../skills/security-scan/SKILL.md | 0 .../skills/terraform-engineer/SKILL.md | 0 .../references/best-practices.md | 0 .../references/module-patterns.md | 0 .../references/providers.md | 0 .../references/state-management.md | 0 .../terraform-engineer/references/testing.md | 0 .../skills/using-git-worktrees/SKILL.md | 0 .../skills/windmill-rust-backend/SKILL.md | 0 .../write-coding-standards-from-file/SKILL.md | 0 .../.claude-plugin/plugin.json | 8 + .../.codex-plugin/plugin.json | 18 + .../skills/draft-openspec-docs/SKILL.md | 46 ++ .../skills/openspec-apply-change/SKILL.md | 187 ++++++ .../skills/openspec-archive-change/SKILL.md | 181 ++++++ .../openspec-bulk-archive-change/SKILL.md | 338 +++++++++++ .../skills/openspec-continue-change/SKILL.md | 117 ++++ .../skills/openspec-explore/SKILL.md | 342 +++++++++++ .../skills/openspec-ff-change/SKILL.md | 116 ++++ .../skills/openspec-new-change/SKILL.md | 76 +++ .../skills/openspec-onboard/SKILL.md | 560 ++++++++++++++++++ .../skills/openspec-propose/SKILL.md | 162 +++++ .../skills/openspec-sync-specs/SKILL.md | 261 ++++++++ .../skills/openspec-update-change/SKILL.md | 90 +++ .../skills/openspec-verify-change/SKILL.md | 174 ++++++ .../skills/release-openspec/SKILL.md | 180 ++++++ .../release-openspec/agents/openai.yaml | 4 + .../references/release-notes.md | 89 +++ .../skills/verify-openspec-docs/SKILL.md | 49 ++ .../skills/write-openspec-docs/SKILL.md | 34 ++ .../write-openspec-docs/full-process.md | 49 ++ .../skills/write-openspec-docs/writing.md | 204 +++++++ .../visual-content/.claude-plugin/plugin.json | 8 + .../visual-content/.codex-plugin/plugin.json | 18 + .../skills/ai-video-generation/SKILL.md | 0 .../skills/brandkit/SKILL.md | 0 .../skills/chart-visualization/SKILL.md | 0 .../skills/ckm-banner-design/SKILL.md | 0 .../references/banner-sizes-and-styles.md | 0 .../skills/hyperframes-animation/SKILL.md | 0 .../adapters/animate-text.md | 0 .../hyperframes-animation/adapters/animejs.md | 0 .../adapters/css-animations.md | 0 .../adapters/gsap-easing-and-stagger.md | 0 .../adapters/gsap-timeline-and-labels.md | 0 .../adapters/gsap-transforms-and-perf.md | 0 .../hyperframes-animation/adapters/gsap.md | 0 .../adapters/html-in-canvas-patterns.md | 0 .../hyperframes-animation/adapters/lottie.md | 0 .../hyperframes-animation/adapters/three.md | 0 .../hyperframes-animation/adapters/typegpu.md | 0 .../hyperframes-animation/adapters/waapi.md | 0 .../hyperframes-animation/blueprints-index.md | 0 .../blueprints/comparison-split.md | 0 .../blueprints/constellation-hub.md | 0 .../blueprints/cta-morph-press.md | 0 .../blueprints/cursor-ui-demo.md | 0 .../blueprints/dataviz-countup.md | 0 .../blueprints/device-surface-showcase.md | 0 .../blueprints/grid-card-assemble.md | 0 .../blueprints/kinetic-type-beats.md | 0 .../blueprints/logo-assemble-lockup.md | 0 .../blueprints/overwhelm-surround.md | 0 .../blueprints/spatial-pan-stations.md | 0 .../blueprints/ticker-takeover.md | 0 .../blueprints/titlecard-reveal.md | 0 .../blueprints/typewriter-reveal.md | 0 .../blueprints/video-text-pivot.md | 0 .../examples/assets/avatars/02.avif | Bin .../examples/assets/brands/github.avif | Bin .../examples/assets/brands/nvidia.avif | Bin .../examples/assets/brands/visa.avif | Bin .../examples/assets/brands/zoominfo.avif | Bin .../examples/brand-reveal-assemble-zoom.html | 0 .../examples/comparison-split-cards.html | 0 .../examples/concept-demo-decode-pan.html | 0 .../examples/cta-morph-press.html | 0 .../examples/cta-orbit-collapse.html | 0 .../examples/demo-page-scroll-spotlight.html | 0 .../examples/hook-counter-burst.html | 0 .../examples/messaging-multi-phrase.html | 0 .../examples/metric-video-text-pivot.html | 0 .../examples/problem-mockup-overwhelm.html | 0 .../examples/proof-logo-chain.html | 0 .../examples/takeover-ticker-displace.html | 0 .../examples/workflow-approve-press.html | 0 .../hyperframes-animation/rules-index.md | 0 .../rules/3d-page-scroll.md | 0 .../rules/3d-text-depth-layers.md | 0 .../rules/ai-tracking-box.md | 0 .../rules/ambient-glow-bloom.md | 0 .../rules/asr-keyword-glow.md | 0 .../rules/avatar-cloud-network.md | 0 .../rules/camera-cursor-tracking.md | 0 .../rules/card-morph-anchor.md | 0 .../rules/center-outward-expansion.md | 0 .../rules/context-sensitive-cursor.md | 0 .../rules/coordinate-target-zoom.md | 0 .../rules/counting-dynamic-scale.md | 0 .../rules/css-marker-patterns.md | 0 .../rules/cursor-click-ripple.md | 0 .../rules/depth-of-field-blur.md | 0 .../rules/depth-scatter-assemble.md | 0 .../rules/discrete-text-sequence.md | 0 .../rules/dynamic-content-sequencing.md | 0 .../rules/gsap-effects.md | 0 .../rules/hacker-flip-3d.md | 0 .../rules/kinetic-beat-slam.md | 0 .../rules/motion-blur-streak.md | 0 .../rules/multi-phase-camera.md | 0 .../rules/orbit-3d-entry.md | 0 .../rules/physics-press-reaction.md | 0 .../rules/press-release-spring.md | 0 .../rules/reactive-displacement.md | 0 .../rules/scale-swap-transition.md | 0 .../rules/sine-wave-loop.md | 0 .../rules/split-tilt-cards.md | 0 .../rules/spring-pop-entrance.md | 0 .../rules/stat-bars-and-fills.md | 0 .../rules/svg-icon-enrichment.md | 0 .../rules/svg-path-draw.md | 0 .../rules/vertical-spring-ticker.md | 0 .../rules/viewport-change.md | 0 .../scripts/animation-map.mjs | 0 .../scripts/package-loader.mjs | 0 .../hyperframes-animation/techniques.md | 0 .../transitions/TRANSITION-REGISTRY.md | 0 .../transitions/catalog.md | 0 .../transitions/css-3d.md | 0 .../transitions/css-blur.md | 0 .../transitions/css-cover.md | 0 .../transitions/css-destruction.md | 0 .../transitions/css-dissolve.md | 0 .../transitions/css-distortion.md | 0 .../transitions/css-grid.md | 0 .../transitions/css-light.md | 0 .../transitions/css-mechanical.md | 0 .../transitions/css-other.md | 0 .../transitions/css-push.md | 0 .../transitions/css-radial.md | 0 .../transitions/css-scale.md | 0 .../transitions/overview.md | 0 .../skills/imagegen-frontend-mobile/SKILL.md | 0 .../skills/imagegen-frontend-web/SKILL.md | 0 .../skills/remotion-best-practices/SKILL.md | 0 .../remotion-best-practices/rules/3d.md | 0 .../rules/assets/charts-bar-chart.tsx | 0 .../assets/text-animations-typewriter.tsx | 0 .../assets/text-animations-word-highlight.tsx | 0 .../rules/audio-visualization.md | 0 .../remotion-best-practices/rules/audio.md | 0 .../rules/calculate-metadata.md | 0 .../rules/compositions.md | 0 .../rules/display-captions.md | 0 .../remotion-best-practices/rules/effects.md | 0 .../remotion-best-practices/rules/ffmpeg.md | 0 .../rules/get-audio-duration.md | 0 .../rules/get-video-dimensions.md | 0 .../rules/get-video-duration.md | 0 .../remotion-best-practices/rules/gifs.md | 0 .../rules/google-fonts.md | 0 .../rules/html-in-canvas.md | 0 .../remotion-best-practices/rules/images.md | 0 .../rules/import-srt-captions.md | 0 .../rules/light-leaks.md | 0 .../rules/local-fonts.md | 0 .../remotion-best-practices/rules/lottie.md | 0 .../remotion-best-practices/rules/maplibre.md | 0 .../rules/measuring-dom-nodes.md | 0 .../rules/measuring-text.md | 0 .../rules/parameters.md | 0 .../rules/sequencing.md | 0 .../remotion-best-practices/rules/sfx.md | 0 .../rules/silence-detection.md | 0 .../rules/subtitles.md | 0 .../remotion-best-practices/rules/tailwind.md | 0 .../rules/text-animations.md | 0 .../remotion-best-practices/rules/timing.md | 0 .../rules/transcribe-captions.md | 0 .../rules/transitions.md | 0 .../rules/transparent-videos.md | 0 .../remotion-best-practices/rules/trimming.md | 0 .../rules/video-layout.md | 0 .../remotion-best-practices/rules/videos.md | 0 .../rules/voiceover.md | 0 .../skills/remotion-render/SKILL.md | 0 .../skills/remotion/README.md | 0 .../skills/remotion/SKILL.md | 0 .../examples/WalkthroughComposition.tsx | 0 .../skills/remotion/examples/screens.json | 0 .../resources/composition-checklist.md | 0 .../resources/screen-slide-template.tsx | 0 .../remotion/scripts/download-stitch-asset.sh | 0 scripts/lib/external-marketplace.mjs | 273 ++++++++- scripts/sync-external-marketplace.mjs | 47 +- scripts/test-external-marketplace.mjs | 138 ++++- 763 files changed, 3949 insertions(+), 181 deletions(-) delete mode 100644 plugin-most-used/.claude-plugin/plugin.json delete mode 120000 plugin-most-used/skills/cloudflare delete mode 120000 plugin-most-used/skills/find-skills delete mode 120000 plugin-most-used/skills/firstsun-harness delete mode 120000 plugin-most-used/skills/firstsun-pm delete mode 120000 plugin-most-used/skills/frontend-design delete mode 120000 plugin-most-used/skills/permission-cleanup delete mode 120000 plugin-most-used/skills/skill-creator delete mode 120000 plugin-most-used/skills/skill-manager delete mode 120000 plugin-most-used/skills/tailored-resume-generator delete mode 120000 plugin-most-used/skills/validate-skills create mode 100644 plugins/agent-toolkit/.claude-plugin/plugin.json create mode 100644 plugins/agent-toolkit/.codex-plugin/plugin.json rename plugins/{external-agent-workflows => agent-toolkit}/skills/brainstorming/SKILL.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/brainstorming/scripts/frame-template.html (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/brainstorming/scripts/helper.js (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/brainstorming/scripts/server.cjs (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/brainstorming/scripts/start-server.sh (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/brainstorming/scripts/stop-server.sh (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/brainstorming/spec-document-reviewer-prompt.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/brainstorming/visual-companion.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/critical-thinking-logical-reasoning/SKILL.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/decision-management/SKILL.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/decision-management/references/guest-insights.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/documentation-writer/SKILL.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/find-skills/SKILL.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/firecrawl-search/SKILL.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/firstprinciples/SKILL.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/firstprinciples/Workflows/Challenge.md (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/firstprinciples/Workflows/Deconstruct.md (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/firstprinciples/Workflows/Reconstruct.md (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/full-output-enforcement/SKILL.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/learning-coach/SKILL.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/LICENSE.txt (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/SKILL.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/agents/analyzer.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/agents/comparator.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/agents/grader.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/assets/eval_review.html (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/eval-viewer/generate_review.py (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/eval-viewer/viewer.html (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/references/schemas.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/scripts/__init__.py (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/scripts/aggregate_benchmark.py (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/scripts/generate_report.py (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/scripts/improve_description.py (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/scripts/package_skill.py (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/scripts/quick_validate.py (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/scripts/run_eval.py (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/scripts/run_loop.py (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/skill-creator/scripts/utils.py (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/subagent-creator/SKILL.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/subagent-driven-development/SKILL.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/subagent-driven-development/implementer-prompt.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/subagent-driven-development/scripts/review-package (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/subagent-driven-development/scripts/sdd-workspace (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/subagent-driven-development/scripts/task-brief (100%) mode change 100755 => 100644 rename plugins/{external-agent-workflows => agent-toolkit}/skills/subagent-driven-development/task-reviewer-prompt.md (100%) rename plugins/{external-agent-workflows => agent-toolkit}/skills/validate-skills/SKILL.md (100%) create mode 100644 plugins/career-productivity/.claude-plugin/plugin.json create mode 100644 plugins/career-productivity/.codex-plugin/plugin.json rename plugins/{external-career-health => career-productivity}/skills/discovery-interview/SKILL.md (100%) rename plugins/{external-career-health => career-productivity}/skills/habit-tracker/SKILL.md (100%) rename plugins/{external-career-health => career-productivity}/skills/interview-prep/SKILL.md (100%) rename plugins/{external-career-health => career-productivity}/skills/personal-productivity/SKILL.md (100%) rename plugins/{external-career-health => career-productivity}/skills/personal-productivity/references/guest-insights.md (100%) rename plugins/{external-career-health => career-productivity}/skills/tailored-resume-generator/SKILL.md (100%) delete mode 100644 plugins/external-agent-workflows/.codex-plugin/plugin.json delete mode 100644 plugins/external-career-health/.codex-plugin/plugin.json delete mode 100644 plugins/external-developer-workflows/.codex-plugin/plugin.json delete mode 100644 plugins/external-frontend-design/.codex-plugin/plugin.json delete mode 100644 plugins/external-video-design/.codex-plugin/plugin.json create mode 100644 plugins/frontend-product-design/.claude-plugin/plugin.json create mode 100644 plugins/frontend-product-design/.codex-plugin/plugin.json rename plugins/{external-frontend-design => frontend-product-design}/skills/best-practices/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/design-taste-frontend-v1/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/design-taste-frontend/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/frontend-design/LICENSE.txt (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/frontend-design/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/gpt-taste/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/high-end-visual-design/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/image-to-code/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/industrial-brutalist-ui/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/minimalist-ui/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/react-best-practices/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/react-best-practices/react-patterns.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/react/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/redesign-existing-projects/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/sleek-design-mobile-apps/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/stitch-design-taste/DESIGN.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/stitch-design-taste/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/tailwind-css-patterns/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/tailwind-css-patterns/references/accessibility.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/tailwind-css-patterns/references/animations.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/tailwind-css-patterns/references/component-patterns.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/tailwind-css-patterns/references/configuration.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/tailwind-css-patterns/references/layout-patterns.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/tailwind-css-patterns/references/performance.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/tailwind-css-patterns/references/reference.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/tailwind-css-patterns/references/responsive-design.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/threejs-animation/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/references/choreography.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/references/clip-path-techniques.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/references/code-output.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/references/component-patterns.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/references/contextual-animations.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/references/curve-fitting.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/references/decision-framework.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/references/gesture-drag.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/references/measurement-guide.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/references/performance-deep-dive.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/references/review-format.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/references/spring-animations.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/references/transition-recipes.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/scripts/extract_frames.py (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/scripts/fit_curves.py (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/ui-animation/scripts/track_motion.py (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/AGENTS.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/README.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/metadata.json (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/_sections.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/_template.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/advanced-effect-event-deps.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/advanced-init-once.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/advanced-use-latest.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/async-api-routes.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/async-defer-await.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/async-dependencies.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/async-parallel.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/bundle-analyzable-paths.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/bundle-conditional.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/bundle-preload.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/client-event-listeners.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/client-localstorage-schema.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/client-swr-dedup.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/js-batch-dom-css.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/js-cache-function-results.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/js-cache-property-access.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/js-cache-storage.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/js-combine-iterations.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/js-early-exit.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/js-flatmap-filter.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/js-hoist-regexp.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/js-index-maps.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/js-length-check-first.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/js-min-max-loop.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/js-request-idle-callback.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/js-set-map-lookups.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rendering-activity.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rendering-conditional-render.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rendering-content-visibility.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rendering-resource-hints.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rendering-svg-precision.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-defer-reads.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-dependencies.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-derived-state.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-memo.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-transitions.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/server-after-nonblocking.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/server-auth-actions.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/server-cache-lru.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/server-cache-react.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/server-dedup-props.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/server-hoist-static-io.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/server-parallel-fetching.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/vercel-react-best-practices/rules/server-serialization.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/visual-design-foundations/SKILL.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/visual-design-foundations/references/color-systems.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/visual-design-foundations/references/spacing-iconography.md (100%) rename plugins/{external-frontend-design => frontend-product-design}/skills/visual-design-foundations/references/typography-systems.md (100%) create mode 100644 plugins/health-wellness/.claude-plugin/plugin.json create mode 100644 plugins/health-wellness/.codex-plugin/plugin.json rename plugins/{external-career-health => health-wellness}/skills/fitness-coach/SKILL.md (100%) rename plugins/{external-career-health => health-wellness}/skills/healthkit/SKILL.md (100%) rename plugins/{external-career-health => health-wellness}/skills/healthkit/evals/evals.json (100%) rename plugins/{external-career-health => health-wellness}/skills/healthkit/references/healthkit-patterns.md (100%) rename plugins/{external-career-health => health-wellness}/skills/mental-health-psychoeducation/SKILL.md (100%) rename plugins/{external-career-health => health-wellness}/skills/nutritional-specialist/SKILL.md (100%) rename plugins/{external-career-health => health-wellness}/skills/nutritional-specialist/index.js (100%) rename plugins/{external-career-health => health-wellness}/skills/nutritional-specialist/package.json (100%) rename plugins/{external-career-health => health-wellness}/skills/nutritional-specialist/scripts/preferences_manager.py (100%) rename plugins/{external-career-health => health-wellness}/skills/rem-sleep/SKILL.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/SKILL.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/01-diet-priorities.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/02-calorie-balance.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/03-macronutrients.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/04-nutrient-timing.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/05-food-composition.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/06-supplements-hydration.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/07-diet-adherence.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/08-hunger-management.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/09-nutritional-periodization.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/10-designing-your-diet.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/11-tracking-adjusting.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/12-monitoring-body-composition.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/13-special-considerations.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/14-competition-nutrition.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/15-gut-health.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/16-alcohol.md (100%) rename plugins/{external-career-health => health-wellness}/skills/rp-diet/references/17-fads-fallacies.md (100%) rename plugins/{external-career-health => health-wellness}/skills/workout-program-designer/SKILL.md (100%) create mode 100644 plugins/software-delivery/.claude-plugin/plugin.json create mode 100644 plugins/software-delivery/.codex-plugin/plugin.json rename plugins/{external-developer-workflows => software-delivery}/skills/clean-code/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ai-gateway/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ai-gateway/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ai-gateway/dynamic-routing.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ai-gateway/features.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ai-gateway/sdk-integration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ai-gateway/troubleshooting.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ai-search/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ai-search/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ai-search/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ai-search/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ai-search/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/analytics-engine/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/analytics-engine/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/analytics-engine/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/analytics-engine/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/analytics-engine/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/api-shield/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/api-shield/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/api-shield/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/api-shield/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/api-shield/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/api/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/api/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/api/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/api/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/api/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/argo-smart-routing/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/argo-smart-routing/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/argo-smart-routing/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/argo-smart-routing/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/argo-smart-routing/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/artifacts/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/artifacts/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/artifacts/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/bindings/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/bindings/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/bindings/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/bindings/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/bindings/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/bot-management/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/bot-management/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/bot-management/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/bot-management/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/bot-management/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/browser-rendering/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/browser-rendering/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/browser-rendering/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/browser-rendering/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/browser-rendering/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/c3/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/c3/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/c3/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/c3/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/c3/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/cache-reserve/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/cache-reserve/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/cache-reserve/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/cache-reserve/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/cache-reserve/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/containers/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/containers/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/containers/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/containers/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/containers/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/cron-triggers/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/cron-triggers/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/cron-triggers/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/cron-triggers/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/cron-triggers/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/d1/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/d1/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/d1/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/d1/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/d1/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ddos/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ddos/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ddos/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ddos/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/ddos/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/do-storage/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/do-storage/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/do-storage/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/do-storage/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/do-storage/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/do-storage/testing.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/email-routing/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/email-routing/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/email-routing/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/email-routing/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/email-routing/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/email-workers/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/email-workers/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/email-workers/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/email-workers/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/email-workers/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/flagship/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/flagship/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/flagship/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/flagship/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/flagship/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/graphql-api/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/graphql-api/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/graphql-api/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/graphql-api/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/graphql-api/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/hyperdrive/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/hyperdrive/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/hyperdrive/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/hyperdrive/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/hyperdrive/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/images/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/images/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/images/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/images/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/images/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/kv/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/kv/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/kv/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/kv/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/kv/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/miniflare/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/miniflare/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/miniflare/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/miniflare/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/miniflare/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/network-interconnect/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/network-interconnect/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/network-interconnect/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/network-interconnect/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/network-interconnect/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/observability/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/observability/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/observability/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/observability/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/observability/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pages-functions/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pages-functions/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pages-functions/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pages-functions/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pages-functions/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pages/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pages/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pages/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pages/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pages/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pipelines/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pipelines/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pipelines/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pipelines/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pipelines/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pulumi/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pulumi/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pulumi/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pulumi/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/pulumi/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/queues/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/queues/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/queues/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/queues/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/queues/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2-data-catalog/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2-data-catalog/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2-data-catalog/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2-data-catalog/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2-data-catalog/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2-sql/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2-sql/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2-sql/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2-sql/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2-sql/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/r2/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/realtime-sfu/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/realtime-sfu/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/realtime-sfu/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/realtime-sfu/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/realtime-sfu/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/realtimekit/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/realtimekit/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/realtimekit/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/realtimekit/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/realtimekit/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/secrets-store/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/secrets-store/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/secrets-store/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/secrets-store/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/secrets-store/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/smart-placement/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/smart-placement/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/smart-placement/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/smart-placement/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/smart-placement/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/snippets/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/snippets/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/snippets/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/snippets/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/snippets/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/spectrum/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/spectrum/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/spectrum/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/spectrum/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/spectrum/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/static-assets/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/static-assets/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/static-assets/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/static-assets/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/static-assets/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/stream/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/stream/api-live.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/stream/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/stream/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/stream/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/stream/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/tail-workers/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/tail-workers/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/tail-workers/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/tail-workers/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/tail-workers/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/terraform/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/terraform/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/terraform/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/terraform/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/terraform/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/tunnel/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/tunnel/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/tunnel/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/tunnel/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/tunnel/networking.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/tunnel/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/turn/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/turn/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/turn/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/turn/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/turn/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/vectorize/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/vectorize/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/vectorize/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/vectorize/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/vectorize/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/waf/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/waf/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/waf/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/waf/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/waf/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/web-analytics/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/web-analytics/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/web-analytics/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/web-analytics/integration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/web-analytics/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workerd/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workerd/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workerd/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workerd/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workerd/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-ai/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-ai/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-ai/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-ai/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-ai/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-for-platforms/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-for-platforms/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-for-platforms/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-for-platforms/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-for-platforms/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-playground/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-playground/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-playground/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-playground/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-playground/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-vpc/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-vpc/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-vpc/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-vpc/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workers-vpc/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workflows/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workflows/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workflows/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workflows/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/workflows/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/zaraz/README.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/zaraz/api.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/zaraz/configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/zaraz/gotchas.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/cloudflare/references/zaraz/patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/devops-engineer/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/devops-engineer/references/deployment-strategies.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/devops-engineer/references/docker-patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/devops-engineer/references/github-actions.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/devops-engineer/references/incident-response.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/devops-engineer/references/kubernetes.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/devops-engineer/references/platform-engineering.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/devops-engineer/references/release-automation.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/devops-engineer/references/terraform-iac.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/gcloud/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/gh-cli/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/internationalization-i18n/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/internationalization-i18n/references/date-and-time-formatting.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/internationalization-i18n/references/i18next-javascripttypescript.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/internationalization-i18n/references/locale-detection.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/internationalization-i18n/references/number-and-currency-formatting.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/internationalization-i18n/references/pluralization-rules.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/internationalization-i18n/references/python-i18n-gettext.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/internationalization-i18n/references/react-intl-formatjs.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/internationalization-i18n/references/rtl-right-to-left-language-support.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/internationalization-i18n/references/server-side-i18n.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/internationalization-i18n/references/translation-management.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/internationalization-i18n/templates/component-template.tsx (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/oracle-cloud/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/oracle-cloud/references/compute-services.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/oracle-cloud/references/database-services.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/oracle-cloud/references/iam-configuration.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/oracle-cloud/references/networking-architecture.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/oracle-cloud/references/oci-cli-commands.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/oracle-cloud/references/terraform-oci.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/owasp-security/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/playwright-best-practices/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/plugin-settings/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/plugin-settings/examples/create-settings-command.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/plugin-settings/examples/example-settings.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/plugin-settings/examples/read-settings-hook.sh (100%) mode change 100755 => 100644 rename plugins/{external-developer-workflows => software-delivery}/skills/plugin-settings/references/parsing-techniques.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/plugin-settings/references/real-world-examples.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/plugin-settings/scripts/parse-frontmatter.sh (100%) mode change 100755 => 100644 rename plugins/{external-developer-workflows => software-delivery}/skills/plugin-settings/scripts/validate-settings.sh (100%) mode change 100755 => 100644 rename plugins/{external-developer-workflows => software-delivery}/skills/secret-scanning/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/secret-scanning/references/alerts-and-remediation.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/secret-scanning/references/custom-patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/secret-scanning/references/push-protection.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/security-scan/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/terraform-engineer/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/terraform-engineer/references/best-practices.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/terraform-engineer/references/module-patterns.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/terraform-engineer/references/providers.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/terraform-engineer/references/state-management.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/terraform-engineer/references/testing.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/using-git-worktrees/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/windmill-rust-backend/SKILL.md (100%) rename plugins/{external-developer-workflows => software-delivery}/skills/write-coding-standards-from-file/SKILL.md (100%) create mode 100644 plugins/spec-driven-development/.claude-plugin/plugin.json create mode 100644 plugins/spec-driven-development/.codex-plugin/plugin.json create mode 100644 plugins/spec-driven-development/skills/draft-openspec-docs/SKILL.md create mode 100644 plugins/spec-driven-development/skills/openspec-apply-change/SKILL.md create mode 100644 plugins/spec-driven-development/skills/openspec-archive-change/SKILL.md create mode 100644 plugins/spec-driven-development/skills/openspec-bulk-archive-change/SKILL.md create mode 100644 plugins/spec-driven-development/skills/openspec-continue-change/SKILL.md create mode 100644 plugins/spec-driven-development/skills/openspec-explore/SKILL.md create mode 100644 plugins/spec-driven-development/skills/openspec-ff-change/SKILL.md create mode 100644 plugins/spec-driven-development/skills/openspec-new-change/SKILL.md create mode 100644 plugins/spec-driven-development/skills/openspec-onboard/SKILL.md create mode 100644 plugins/spec-driven-development/skills/openspec-propose/SKILL.md create mode 100644 plugins/spec-driven-development/skills/openspec-sync-specs/SKILL.md create mode 100644 plugins/spec-driven-development/skills/openspec-update-change/SKILL.md create mode 100644 plugins/spec-driven-development/skills/openspec-verify-change/SKILL.md create mode 100644 plugins/spec-driven-development/skills/release-openspec/SKILL.md create mode 100644 plugins/spec-driven-development/skills/release-openspec/agents/openai.yaml create mode 100644 plugins/spec-driven-development/skills/release-openspec/references/release-notes.md create mode 100644 plugins/spec-driven-development/skills/verify-openspec-docs/SKILL.md create mode 100644 plugins/spec-driven-development/skills/write-openspec-docs/SKILL.md create mode 100644 plugins/spec-driven-development/skills/write-openspec-docs/full-process.md create mode 100644 plugins/spec-driven-development/skills/write-openspec-docs/writing.md create mode 100644 plugins/visual-content/.claude-plugin/plugin.json create mode 100644 plugins/visual-content/.codex-plugin/plugin.json rename plugins/{external-video-design => visual-content}/skills/ai-video-generation/SKILL.md (100%) rename plugins/{external-video-design => visual-content}/skills/brandkit/SKILL.md (100%) rename plugins/{external-video-design => visual-content}/skills/chart-visualization/SKILL.md (100%) rename plugins/{external-video-design => visual-content}/skills/ckm-banner-design/SKILL.md (100%) rename plugins/{external-video-design => visual-content}/skills/ckm-banner-design/references/banner-sizes-and-styles.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/SKILL.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/adapters/animate-text.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/adapters/animejs.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/adapters/css-animations.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/adapters/gsap-easing-and-stagger.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/adapters/gsap-timeline-and-labels.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/adapters/gsap-transforms-and-perf.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/adapters/gsap.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/adapters/html-in-canvas-patterns.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/adapters/lottie.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/adapters/three.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/adapters/typegpu.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/adapters/waapi.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints-index.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/comparison-split.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/constellation-hub.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/cta-morph-press.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/cursor-ui-demo.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/dataviz-countup.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/device-surface-showcase.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/grid-card-assemble.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/kinetic-type-beats.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/logo-assemble-lockup.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/overwhelm-surround.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/spatial-pan-stations.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/ticker-takeover.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/titlecard-reveal.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/typewriter-reveal.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/blueprints/video-text-pivot.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/assets/avatars/02.avif (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/assets/brands/github.avif (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/assets/brands/nvidia.avif (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/assets/brands/visa.avif (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/assets/brands/zoominfo.avif (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/brand-reveal-assemble-zoom.html (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/comparison-split-cards.html (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/concept-demo-decode-pan.html (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/cta-morph-press.html (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/cta-orbit-collapse.html (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/demo-page-scroll-spotlight.html (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/hook-counter-burst.html (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/messaging-multi-phrase.html (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/metric-video-text-pivot.html (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/problem-mockup-overwhelm.html (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/proof-logo-chain.html (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/takeover-ticker-displace.html (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/examples/workflow-approve-press.html (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules-index.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/3d-page-scroll.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/3d-text-depth-layers.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/ai-tracking-box.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/ambient-glow-bloom.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/asr-keyword-glow.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/avatar-cloud-network.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/camera-cursor-tracking.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/card-morph-anchor.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/center-outward-expansion.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/context-sensitive-cursor.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/coordinate-target-zoom.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/counting-dynamic-scale.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/css-marker-patterns.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/cursor-click-ripple.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/depth-of-field-blur.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/depth-scatter-assemble.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/discrete-text-sequence.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/dynamic-content-sequencing.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/gsap-effects.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/hacker-flip-3d.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/kinetic-beat-slam.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/motion-blur-streak.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/multi-phase-camera.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/orbit-3d-entry.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/physics-press-reaction.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/press-release-spring.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/reactive-displacement.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/scale-swap-transition.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/sine-wave-loop.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/split-tilt-cards.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/spring-pop-entrance.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/stat-bars-and-fills.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/svg-icon-enrichment.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/svg-path-draw.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/vertical-spring-ticker.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/rules/viewport-change.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/scripts/animation-map.mjs (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/scripts/package-loader.mjs (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/techniques.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/TRANSITION-REGISTRY.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/catalog.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/css-3d.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/css-blur.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/css-cover.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/css-destruction.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/css-dissolve.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/css-distortion.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/css-grid.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/css-light.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/css-mechanical.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/css-other.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/css-push.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/css-radial.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/css-scale.md (100%) rename plugins/{external-video-design => visual-content}/skills/hyperframes-animation/transitions/overview.md (100%) rename plugins/{external-video-design => visual-content}/skills/imagegen-frontend-mobile/SKILL.md (100%) rename plugins/{external-video-design => visual-content}/skills/imagegen-frontend-web/SKILL.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/SKILL.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/3d.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/audio-visualization.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/audio.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/calculate-metadata.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/compositions.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/display-captions.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/effects.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/ffmpeg.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/get-audio-duration.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/get-video-dimensions.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/get-video-duration.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/gifs.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/google-fonts.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/html-in-canvas.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/images.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/import-srt-captions.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/light-leaks.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/local-fonts.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/lottie.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/maplibre.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/measuring-dom-nodes.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/measuring-text.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/parameters.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/sequencing.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/sfx.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/silence-detection.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/subtitles.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/tailwind.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/text-animations.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/timing.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/transcribe-captions.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/transitions.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/transparent-videos.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/trimming.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/video-layout.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/videos.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-best-practices/rules/voiceover.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion-render/SKILL.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion/README.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion/SKILL.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion/examples/WalkthroughComposition.tsx (100%) rename plugins/{external-video-design => visual-content}/skills/remotion/examples/screens.json (100%) rename plugins/{external-video-design => visual-content}/skills/remotion/resources/composition-checklist.md (100%) rename plugins/{external-video-design => visual-content}/skills/remotion/resources/screen-slide-template.tsx (100%) rename plugins/{external-video-design => visual-content}/skills/remotion/scripts/download-stitch-asset.sh (100%) mode change 100755 => 100644 diff --git a/.agents/plugins/marketplace.json b/.agents/plugins/marketplace.json index 625393f..815686d 100644 --- a/.agents/plugins/marketplace.json +++ b/.agents/plugins/marketplace.json @@ -5,62 +5,58 @@ }, "plugins": [ { - "name": "external-agent-workflows", + "name": "agent-toolkit", "source": { "source": "local", - "path": "./plugins/external-agent-workflows" + "path": "./plugins/agent-toolkit" }, - "policy": { - "installation": "AVAILABLE", - "authentication": "ON_INSTALL" - }, - "category": "Productivity" + "category": "Developer" }, { - "name": "external-developer-workflows", + "name": "software-delivery", "source": { "source": "local", - "path": "./plugins/external-developer-workflows" - }, - "policy": { - "installation": "AVAILABLE", - "authentication": "ON_INSTALL" + "path": "./plugins/software-delivery" }, "category": "Developer" }, { - "name": "external-frontend-design", + "name": "spec-driven-development", "source": { "source": "local", - "path": "./plugins/external-frontend-design" + "path": "./plugins/spec-driven-development" }, - "policy": { - "installation": "AVAILABLE", - "authentication": "ON_INSTALL" + "category": "Developer" + }, + { + "name": "frontend-product-design", + "source": { + "source": "local", + "path": "./plugins/frontend-product-design" }, "category": "Design" }, { - "name": "external-video-design", + "name": "visual-content", "source": { "source": "local", - "path": "./plugins/external-video-design" - }, - "policy": { - "installation": "AVAILABLE", - "authentication": "ON_INSTALL" + "path": "./plugins/visual-content" }, "category": "Design" }, { - "name": "external-career-health", + "name": "career-productivity", "source": { "source": "local", - "path": "./plugins/external-career-health" + "path": "./plugins/career-productivity" }, - "policy": { - "installation": "AVAILABLE", - "authentication": "ON_INSTALL" + "category": "Productivity" + }, + { + "name": "health-wellness", + "source": { + "source": "local", + "path": "./plugins/health-wellness" }, "category": "Productivity" } diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index e5787d8..0d39e4b 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -1,19 +1,72 @@ { - "$schema": "https://anthropic.com/claude-code/marketplace.schema.json", - "name": "tianyao-skills", - "description": "Personal marketplace for tianyao's Firstsun Skill Arsenal plugins.", + "name": "firstsun-external", + "description": "Curated skills for practical AI development.", "owner": { - "name": "tianyao" + "name": "Firstsun Dev" }, "plugins": [ { - "name": "most-used-skills", - "description": "Bundle of tianyao's most-used Claude Code skills, ranked by usage across all project session history.", + "name": "agent-toolkit", + "description": "Reviewed third-party skills for building and running AI agents.", "author": { - "name": "tianyao" + "name": "Firstsun Dev" + }, + "category": "developer", + "source": "./plugins/agent-toolkit" + }, + { + "name": "software-delivery", + "description": "Curated third-party skills for shipping and operating software.", + "author": { + "name": "Firstsun Dev" + }, + "category": "developer", + "source": "./plugins/software-delivery" + }, + { + "name": "spec-driven-development", + "description": "Reviewed third-party skills for spec-driven development workflows.", + "author": { + "name": "Firstsun Dev" + }, + "category": "developer", + "source": "./plugins/spec-driven-development" + }, + { + "name": "frontend-product-design", + "description": "Curated third-party skills for frontend and product design.", + "author": { + "name": "Firstsun Dev" + }, + "category": "design", + "source": "./plugins/frontend-product-design" + }, + { + "name": "visual-content", + "description": "Reviewed third-party skills for video and visual content creation.", + "author": { + "name": "Firstsun Dev" + }, + "category": "design", + "source": "./plugins/visual-content" + }, + { + "name": "career-productivity", + "description": "Curated third-party skills for career growth and everyday productivity.", + "author": { + "name": "Firstsun Dev" + }, + "category": "productivity", + "source": "./plugins/career-productivity" + }, + { + "name": "health-wellness", + "description": "Reviewed third-party skills for general health and wellness education. Not medical care.", + "author": { + "name": "Firstsun Dev" }, "category": "productivity", - "source": "./plugin-most-used" + "source": "./plugins/health-wellness" } ] } diff --git a/plugin-most-used/.claude-plugin/plugin.json b/plugin-most-used/.claude-plugin/plugin.json deleted file mode 100644 index 7580b7a..0000000 --- a/plugin-most-used/.claude-plugin/plugin.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "most-used-skills", - "description": "Personal plugin bundling tianyao's most-used Claude Code skills, ranked by usage across all project session history.", - "version": "1.0.0", - "author": { - "name": "tianyao" - } -} diff --git a/plugin-most-used/skills/cloudflare b/plugin-most-used/skills/cloudflare deleted file mode 120000 index d7dcd54..0000000 --- a/plugin-most-used/skills/cloudflare +++ /dev/null @@ -1 +0,0 @@ -../../external/develop/devops/cloudflare \ No newline at end of file diff --git a/plugin-most-used/skills/find-skills b/plugin-most-used/skills/find-skills deleted file mode 120000 index d1d906b..0000000 --- a/plugin-most-used/skills/find-skills +++ /dev/null @@ -1 +0,0 @@ -../../external/basic/find-skills \ No newline at end of file diff --git a/plugin-most-used/skills/firstsun-harness b/plugin-most-used/skills/firstsun-harness deleted file mode 120000 index f6ead37..0000000 --- a/plugin-most-used/skills/firstsun-harness +++ /dev/null @@ -1 +0,0 @@ -../../custom/basic/firstsun-harness \ No newline at end of file diff --git a/plugin-most-used/skills/firstsun-pm b/plugin-most-used/skills/firstsun-pm deleted file mode 120000 index 3b01baa..0000000 --- a/plugin-most-used/skills/firstsun-pm +++ /dev/null @@ -1 +0,0 @@ -../../custom/basic/firstsun-pm \ No newline at end of file diff --git a/plugin-most-used/skills/frontend-design b/plugin-most-used/skills/frontend-design deleted file mode 120000 index 7f74f4d..0000000 --- a/plugin-most-used/skills/frontend-design +++ /dev/null @@ -1 +0,0 @@ -../../external/develop/frontend/frontend-design \ No newline at end of file diff --git a/plugin-most-used/skills/permission-cleanup b/plugin-most-used/skills/permission-cleanup deleted file mode 120000 index bac55d1..0000000 --- a/plugin-most-used/skills/permission-cleanup +++ /dev/null @@ -1 +0,0 @@ -../../custom/basic/permission-cleanup \ No newline at end of file diff --git a/plugin-most-used/skills/skill-creator b/plugin-most-used/skills/skill-creator deleted file mode 120000 index 98efb63..0000000 --- a/plugin-most-used/skills/skill-creator +++ /dev/null @@ -1 +0,0 @@ -../../external/basic/skill-creator \ No newline at end of file diff --git a/plugin-most-used/skills/skill-manager b/plugin-most-used/skills/skill-manager deleted file mode 120000 index 52c693f..0000000 --- a/plugin-most-used/skills/skill-manager +++ /dev/null @@ -1 +0,0 @@ -../../custom/basic/skill-manager \ No newline at end of file diff --git a/plugin-most-used/skills/tailored-resume-generator b/plugin-most-used/skills/tailored-resume-generator deleted file mode 120000 index ba70eb5..0000000 --- a/plugin-most-used/skills/tailored-resume-generator +++ /dev/null @@ -1 +0,0 @@ -../../external/career/tailored-resume-generator \ No newline at end of file diff --git a/plugin-most-used/skills/validate-skills b/plugin-most-used/skills/validate-skills deleted file mode 120000 index 4622fad..0000000 --- a/plugin-most-used/skills/validate-skills +++ /dev/null @@ -1 +0,0 @@ -../../external/basic/validate-skills \ No newline at end of file diff --git a/plugins/agent-toolkit/.claude-plugin/plugin.json b/plugins/agent-toolkit/.claude-plugin/plugin.json new file mode 100644 index 0000000..662b627 --- /dev/null +++ b/plugins/agent-toolkit/.claude-plugin/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "agent-toolkit", + "version": "1.0.0", + "description": "Reviewed third-party skills for building and running AI agents.", + "author": { + "name": "Firstsun Dev" + } +} diff --git a/plugins/agent-toolkit/.codex-plugin/plugin.json b/plugins/agent-toolkit/.codex-plugin/plugin.json new file mode 100644 index 0000000..df89462 --- /dev/null +++ b/plugins/agent-toolkit/.codex-plugin/plugin.json @@ -0,0 +1,18 @@ +{ + "name": "agent-toolkit", + "version": "1.0.0", + "description": "Reviewed third-party skills for building and running AI agents.", + "author": { + "name": "Firstsun Dev" + }, + "skills": "./skills/", + "interface": { + "displayName": "Agent Toolkit", + "shortDescription": "Reviewed third-party skills for building and running AI agents.", + "longDescription": "A collection of reviewed third-party skills covering agent frameworks, prompt patterns, and structured reasoning techniques for building reliable AI agents.", + "developerName": "Firstsun Dev", + "category": "Developer", + "capabilities": [], + "defaultPrompt": "Use the relevant Agent Toolkit skill for this task." + } +} diff --git a/plugins/external-agent-workflows/skills/brainstorming/SKILL.md b/plugins/agent-toolkit/skills/brainstorming/SKILL.md similarity index 100% rename from plugins/external-agent-workflows/skills/brainstorming/SKILL.md rename to plugins/agent-toolkit/skills/brainstorming/SKILL.md diff --git a/plugins/external-agent-workflows/skills/brainstorming/scripts/frame-template.html b/plugins/agent-toolkit/skills/brainstorming/scripts/frame-template.html similarity index 100% rename from plugins/external-agent-workflows/skills/brainstorming/scripts/frame-template.html rename to plugins/agent-toolkit/skills/brainstorming/scripts/frame-template.html diff --git a/plugins/external-agent-workflows/skills/brainstorming/scripts/helper.js b/plugins/agent-toolkit/skills/brainstorming/scripts/helper.js similarity index 100% rename from plugins/external-agent-workflows/skills/brainstorming/scripts/helper.js rename to plugins/agent-toolkit/skills/brainstorming/scripts/helper.js diff --git a/plugins/external-agent-workflows/skills/brainstorming/scripts/server.cjs b/plugins/agent-toolkit/skills/brainstorming/scripts/server.cjs similarity index 100% rename from plugins/external-agent-workflows/skills/brainstorming/scripts/server.cjs rename to plugins/agent-toolkit/skills/brainstorming/scripts/server.cjs diff --git a/plugins/external-agent-workflows/skills/brainstorming/scripts/start-server.sh b/plugins/agent-toolkit/skills/brainstorming/scripts/start-server.sh old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/brainstorming/scripts/start-server.sh rename to plugins/agent-toolkit/skills/brainstorming/scripts/start-server.sh diff --git a/plugins/external-agent-workflows/skills/brainstorming/scripts/stop-server.sh b/plugins/agent-toolkit/skills/brainstorming/scripts/stop-server.sh old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/brainstorming/scripts/stop-server.sh rename to plugins/agent-toolkit/skills/brainstorming/scripts/stop-server.sh diff --git a/plugins/external-agent-workflows/skills/brainstorming/spec-document-reviewer-prompt.md b/plugins/agent-toolkit/skills/brainstorming/spec-document-reviewer-prompt.md similarity index 100% rename from plugins/external-agent-workflows/skills/brainstorming/spec-document-reviewer-prompt.md rename to plugins/agent-toolkit/skills/brainstorming/spec-document-reviewer-prompt.md diff --git a/plugins/external-agent-workflows/skills/brainstorming/visual-companion.md b/plugins/agent-toolkit/skills/brainstorming/visual-companion.md similarity index 100% rename from plugins/external-agent-workflows/skills/brainstorming/visual-companion.md rename to plugins/agent-toolkit/skills/brainstorming/visual-companion.md diff --git a/plugins/external-agent-workflows/skills/critical-thinking-logical-reasoning/SKILL.md b/plugins/agent-toolkit/skills/critical-thinking-logical-reasoning/SKILL.md similarity index 100% rename from plugins/external-agent-workflows/skills/critical-thinking-logical-reasoning/SKILL.md rename to plugins/agent-toolkit/skills/critical-thinking-logical-reasoning/SKILL.md diff --git a/plugins/external-agent-workflows/skills/decision-management/SKILL.md b/plugins/agent-toolkit/skills/decision-management/SKILL.md similarity index 100% rename from plugins/external-agent-workflows/skills/decision-management/SKILL.md rename to plugins/agent-toolkit/skills/decision-management/SKILL.md diff --git a/plugins/external-agent-workflows/skills/decision-management/references/guest-insights.md b/plugins/agent-toolkit/skills/decision-management/references/guest-insights.md similarity index 100% rename from plugins/external-agent-workflows/skills/decision-management/references/guest-insights.md rename to plugins/agent-toolkit/skills/decision-management/references/guest-insights.md diff --git a/plugins/external-agent-workflows/skills/documentation-writer/SKILL.md b/plugins/agent-toolkit/skills/documentation-writer/SKILL.md similarity index 100% rename from plugins/external-agent-workflows/skills/documentation-writer/SKILL.md rename to plugins/agent-toolkit/skills/documentation-writer/SKILL.md diff --git a/plugins/external-agent-workflows/skills/find-skills/SKILL.md b/plugins/agent-toolkit/skills/find-skills/SKILL.md similarity index 100% rename from plugins/external-agent-workflows/skills/find-skills/SKILL.md rename to plugins/agent-toolkit/skills/find-skills/SKILL.md diff --git a/plugins/external-agent-workflows/skills/firecrawl-search/SKILL.md b/plugins/agent-toolkit/skills/firecrawl-search/SKILL.md similarity index 100% rename from plugins/external-agent-workflows/skills/firecrawl-search/SKILL.md rename to plugins/agent-toolkit/skills/firecrawl-search/SKILL.md diff --git a/plugins/external-agent-workflows/skills/firstprinciples/SKILL.md b/plugins/agent-toolkit/skills/firstprinciples/SKILL.md similarity index 100% rename from plugins/external-agent-workflows/skills/firstprinciples/SKILL.md rename to plugins/agent-toolkit/skills/firstprinciples/SKILL.md diff --git a/plugins/external-agent-workflows/skills/firstprinciples/Workflows/Challenge.md b/plugins/agent-toolkit/skills/firstprinciples/Workflows/Challenge.md old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/firstprinciples/Workflows/Challenge.md rename to plugins/agent-toolkit/skills/firstprinciples/Workflows/Challenge.md diff --git a/plugins/external-agent-workflows/skills/firstprinciples/Workflows/Deconstruct.md b/plugins/agent-toolkit/skills/firstprinciples/Workflows/Deconstruct.md old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/firstprinciples/Workflows/Deconstruct.md rename to plugins/agent-toolkit/skills/firstprinciples/Workflows/Deconstruct.md diff --git a/plugins/external-agent-workflows/skills/firstprinciples/Workflows/Reconstruct.md b/plugins/agent-toolkit/skills/firstprinciples/Workflows/Reconstruct.md old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/firstprinciples/Workflows/Reconstruct.md rename to plugins/agent-toolkit/skills/firstprinciples/Workflows/Reconstruct.md diff --git a/plugins/external-agent-workflows/skills/full-output-enforcement/SKILL.md b/plugins/agent-toolkit/skills/full-output-enforcement/SKILL.md similarity index 100% rename from plugins/external-agent-workflows/skills/full-output-enforcement/SKILL.md rename to plugins/agent-toolkit/skills/full-output-enforcement/SKILL.md diff --git a/plugins/external-agent-workflows/skills/learning-coach/SKILL.md b/plugins/agent-toolkit/skills/learning-coach/SKILL.md similarity index 100% rename from plugins/external-agent-workflows/skills/learning-coach/SKILL.md rename to plugins/agent-toolkit/skills/learning-coach/SKILL.md diff --git a/plugins/external-agent-workflows/skills/skill-creator/LICENSE.txt b/plugins/agent-toolkit/skills/skill-creator/LICENSE.txt similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/LICENSE.txt rename to plugins/agent-toolkit/skills/skill-creator/LICENSE.txt diff --git a/plugins/external-agent-workflows/skills/skill-creator/SKILL.md b/plugins/agent-toolkit/skills/skill-creator/SKILL.md similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/SKILL.md rename to plugins/agent-toolkit/skills/skill-creator/SKILL.md diff --git a/plugins/external-agent-workflows/skills/skill-creator/agents/analyzer.md b/plugins/agent-toolkit/skills/skill-creator/agents/analyzer.md similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/agents/analyzer.md rename to plugins/agent-toolkit/skills/skill-creator/agents/analyzer.md diff --git a/plugins/external-agent-workflows/skills/skill-creator/agents/comparator.md b/plugins/agent-toolkit/skills/skill-creator/agents/comparator.md similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/agents/comparator.md rename to plugins/agent-toolkit/skills/skill-creator/agents/comparator.md diff --git a/plugins/external-agent-workflows/skills/skill-creator/agents/grader.md b/plugins/agent-toolkit/skills/skill-creator/agents/grader.md similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/agents/grader.md rename to plugins/agent-toolkit/skills/skill-creator/agents/grader.md diff --git a/plugins/external-agent-workflows/skills/skill-creator/assets/eval_review.html b/plugins/agent-toolkit/skills/skill-creator/assets/eval_review.html similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/assets/eval_review.html rename to plugins/agent-toolkit/skills/skill-creator/assets/eval_review.html diff --git a/plugins/external-agent-workflows/skills/skill-creator/eval-viewer/generate_review.py b/plugins/agent-toolkit/skills/skill-creator/eval-viewer/generate_review.py similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/eval-viewer/generate_review.py rename to plugins/agent-toolkit/skills/skill-creator/eval-viewer/generate_review.py diff --git a/plugins/external-agent-workflows/skills/skill-creator/eval-viewer/viewer.html b/plugins/agent-toolkit/skills/skill-creator/eval-viewer/viewer.html similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/eval-viewer/viewer.html rename to plugins/agent-toolkit/skills/skill-creator/eval-viewer/viewer.html diff --git a/plugins/external-agent-workflows/skills/skill-creator/references/schemas.md b/plugins/agent-toolkit/skills/skill-creator/references/schemas.md similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/references/schemas.md rename to plugins/agent-toolkit/skills/skill-creator/references/schemas.md diff --git a/plugins/external-agent-workflows/skills/skill-creator/scripts/__init__.py b/plugins/agent-toolkit/skills/skill-creator/scripts/__init__.py similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/scripts/__init__.py rename to plugins/agent-toolkit/skills/skill-creator/scripts/__init__.py diff --git a/plugins/external-agent-workflows/skills/skill-creator/scripts/aggregate_benchmark.py b/plugins/agent-toolkit/skills/skill-creator/scripts/aggregate_benchmark.py old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/scripts/aggregate_benchmark.py rename to plugins/agent-toolkit/skills/skill-creator/scripts/aggregate_benchmark.py diff --git a/plugins/external-agent-workflows/skills/skill-creator/scripts/generate_report.py b/plugins/agent-toolkit/skills/skill-creator/scripts/generate_report.py old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/scripts/generate_report.py rename to plugins/agent-toolkit/skills/skill-creator/scripts/generate_report.py diff --git a/plugins/external-agent-workflows/skills/skill-creator/scripts/improve_description.py b/plugins/agent-toolkit/skills/skill-creator/scripts/improve_description.py old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/scripts/improve_description.py rename to plugins/agent-toolkit/skills/skill-creator/scripts/improve_description.py diff --git a/plugins/external-agent-workflows/skills/skill-creator/scripts/package_skill.py b/plugins/agent-toolkit/skills/skill-creator/scripts/package_skill.py old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/scripts/package_skill.py rename to plugins/agent-toolkit/skills/skill-creator/scripts/package_skill.py diff --git a/plugins/external-agent-workflows/skills/skill-creator/scripts/quick_validate.py b/plugins/agent-toolkit/skills/skill-creator/scripts/quick_validate.py old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/scripts/quick_validate.py rename to plugins/agent-toolkit/skills/skill-creator/scripts/quick_validate.py diff --git a/plugins/external-agent-workflows/skills/skill-creator/scripts/run_eval.py b/plugins/agent-toolkit/skills/skill-creator/scripts/run_eval.py old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/scripts/run_eval.py rename to plugins/agent-toolkit/skills/skill-creator/scripts/run_eval.py diff --git a/plugins/external-agent-workflows/skills/skill-creator/scripts/run_loop.py b/plugins/agent-toolkit/skills/skill-creator/scripts/run_loop.py old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/scripts/run_loop.py rename to plugins/agent-toolkit/skills/skill-creator/scripts/run_loop.py diff --git a/plugins/external-agent-workflows/skills/skill-creator/scripts/utils.py b/plugins/agent-toolkit/skills/skill-creator/scripts/utils.py similarity index 100% rename from plugins/external-agent-workflows/skills/skill-creator/scripts/utils.py rename to plugins/agent-toolkit/skills/skill-creator/scripts/utils.py diff --git a/plugins/external-agent-workflows/skills/subagent-creator/SKILL.md b/plugins/agent-toolkit/skills/subagent-creator/SKILL.md similarity index 100% rename from plugins/external-agent-workflows/skills/subagent-creator/SKILL.md rename to plugins/agent-toolkit/skills/subagent-creator/SKILL.md diff --git a/plugins/external-agent-workflows/skills/subagent-driven-development/SKILL.md b/plugins/agent-toolkit/skills/subagent-driven-development/SKILL.md similarity index 100% rename from plugins/external-agent-workflows/skills/subagent-driven-development/SKILL.md rename to plugins/agent-toolkit/skills/subagent-driven-development/SKILL.md diff --git a/plugins/external-agent-workflows/skills/subagent-driven-development/implementer-prompt.md b/plugins/agent-toolkit/skills/subagent-driven-development/implementer-prompt.md similarity index 100% rename from plugins/external-agent-workflows/skills/subagent-driven-development/implementer-prompt.md rename to plugins/agent-toolkit/skills/subagent-driven-development/implementer-prompt.md diff --git a/plugins/external-agent-workflows/skills/subagent-driven-development/scripts/review-package b/plugins/agent-toolkit/skills/subagent-driven-development/scripts/review-package old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/subagent-driven-development/scripts/review-package rename to plugins/agent-toolkit/skills/subagent-driven-development/scripts/review-package diff --git a/plugins/external-agent-workflows/skills/subagent-driven-development/scripts/sdd-workspace b/plugins/agent-toolkit/skills/subagent-driven-development/scripts/sdd-workspace old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/subagent-driven-development/scripts/sdd-workspace rename to plugins/agent-toolkit/skills/subagent-driven-development/scripts/sdd-workspace diff --git a/plugins/external-agent-workflows/skills/subagent-driven-development/scripts/task-brief b/plugins/agent-toolkit/skills/subagent-driven-development/scripts/task-brief old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-agent-workflows/skills/subagent-driven-development/scripts/task-brief rename to plugins/agent-toolkit/skills/subagent-driven-development/scripts/task-brief diff --git a/plugins/external-agent-workflows/skills/subagent-driven-development/task-reviewer-prompt.md b/plugins/agent-toolkit/skills/subagent-driven-development/task-reviewer-prompt.md similarity index 100% rename from plugins/external-agent-workflows/skills/subagent-driven-development/task-reviewer-prompt.md rename to plugins/agent-toolkit/skills/subagent-driven-development/task-reviewer-prompt.md diff --git a/plugins/external-agent-workflows/skills/validate-skills/SKILL.md b/plugins/agent-toolkit/skills/validate-skills/SKILL.md similarity index 100% rename from plugins/external-agent-workflows/skills/validate-skills/SKILL.md rename to plugins/agent-toolkit/skills/validate-skills/SKILL.md diff --git a/plugins/career-productivity/.claude-plugin/plugin.json b/plugins/career-productivity/.claude-plugin/plugin.json new file mode 100644 index 0000000..31f8478 --- /dev/null +++ b/plugins/career-productivity/.claude-plugin/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "career-productivity", + "version": "1.0.0", + "description": "Curated third-party skills for career growth and everyday productivity.", + "author": { + "name": "Firstsun Dev" + } +} diff --git a/plugins/career-productivity/.codex-plugin/plugin.json b/plugins/career-productivity/.codex-plugin/plugin.json new file mode 100644 index 0000000..d262f47 --- /dev/null +++ b/plugins/career-productivity/.codex-plugin/plugin.json @@ -0,0 +1,18 @@ +{ + "name": "career-productivity", + "version": "1.0.0", + "description": "Curated third-party skills for career growth and everyday productivity.", + "author": { + "name": "Firstsun Dev" + }, + "skills": "./skills/", + "interface": { + "displayName": "Career & Productivity", + "shortDescription": "Curated third-party skills for career growth and everyday productivity.", + "longDescription": "A collection of curated third-party skills for career development, job search, and lifestyle productivity tasks.", + "developerName": "Firstsun Dev", + "category": "Productivity", + "capabilities": [], + "defaultPrompt": "Use the relevant Career & Productivity skill for this task." + } +} diff --git a/plugins/external-career-health/skills/discovery-interview/SKILL.md b/plugins/career-productivity/skills/discovery-interview/SKILL.md similarity index 100% rename from plugins/external-career-health/skills/discovery-interview/SKILL.md rename to plugins/career-productivity/skills/discovery-interview/SKILL.md diff --git a/plugins/external-career-health/skills/habit-tracker/SKILL.md b/plugins/career-productivity/skills/habit-tracker/SKILL.md similarity index 100% rename from plugins/external-career-health/skills/habit-tracker/SKILL.md rename to plugins/career-productivity/skills/habit-tracker/SKILL.md diff --git a/plugins/external-career-health/skills/interview-prep/SKILL.md b/plugins/career-productivity/skills/interview-prep/SKILL.md similarity index 100% rename from plugins/external-career-health/skills/interview-prep/SKILL.md rename to plugins/career-productivity/skills/interview-prep/SKILL.md diff --git a/plugins/external-career-health/skills/personal-productivity/SKILL.md b/plugins/career-productivity/skills/personal-productivity/SKILL.md similarity index 100% rename from plugins/external-career-health/skills/personal-productivity/SKILL.md rename to plugins/career-productivity/skills/personal-productivity/SKILL.md diff --git a/plugins/external-career-health/skills/personal-productivity/references/guest-insights.md b/plugins/career-productivity/skills/personal-productivity/references/guest-insights.md similarity index 100% rename from plugins/external-career-health/skills/personal-productivity/references/guest-insights.md rename to plugins/career-productivity/skills/personal-productivity/references/guest-insights.md diff --git a/plugins/external-career-health/skills/tailored-resume-generator/SKILL.md b/plugins/career-productivity/skills/tailored-resume-generator/SKILL.md similarity index 100% rename from plugins/external-career-health/skills/tailored-resume-generator/SKILL.md rename to plugins/career-productivity/skills/tailored-resume-generator/SKILL.md diff --git a/plugins/external-agent-workflows/.codex-plugin/plugin.json b/plugins/external-agent-workflows/.codex-plugin/plugin.json deleted file mode 100644 index 096a50e..0000000 --- a/plugins/external-agent-workflows/.codex-plugin/plugin.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "external-agent-workflows", - "version": "0.1.0", - "description": "Curated third-party agent workflows, research helpers, and reasoning skills from Firstsun's reviewed external catalog.", - "author": { - "name": "Firstsun Dev" - }, - "skills": "./skills/", - "interface": { - "displayName": "External Agent Workflows", - "shortDescription": "Third-party agent, research, and reasoning workflows.", - "longDescription": "A portable bundle of reviewed third-party skills for agent orchestration, research, documentation, and structured reasoning.", - "developerName": "Firstsun Dev", - "category": "Productivity", - "capabilities": [], - "defaultPrompt": "Use the relevant agent workflow skill for this task." - } -} diff --git a/plugins/external-career-health/.codex-plugin/plugin.json b/plugins/external-career-health/.codex-plugin/plugin.json deleted file mode 100644 index caeea5f..0000000 --- a/plugins/external-career-health/.codex-plugin/plugin.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "external-career-health", - "version": "0.1.0", - "description": "Curated third-party skills for career preparation, productivity, fitness, nutrition, sleep, and psychoeducation.", - "author": { - "name": "Firstsun Dev" - }, - "skills": "./skills/", - "interface": { - "displayName": "External Career Health", - "shortDescription": "Third-party career, productivity, and wellness skills.", - "longDescription": "A portable bundle of reviewed third-party skills for careers, productivity, fitness, nutrition, sleep, and general psychoeducation; it is not medical care.", - "developerName": "Firstsun Dev", - "category": "Productivity", - "capabilities": [], - "defaultPrompt": "Use the relevant career, productivity, or wellness skill for this task." - } -} diff --git a/plugins/external-developer-workflows/.codex-plugin/plugin.json b/plugins/external-developer-workflows/.codex-plugin/plugin.json deleted file mode 100644 index 266eb3a..0000000 --- a/plugins/external-developer-workflows/.codex-plugin/plugin.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "external-developer-workflows", - "version": "0.1.0", - "description": "Curated third-party developer workflows for code quality, DevOps, security, infrastructure, and internationalization.", - "author": { - "name": "Firstsun Dev" - }, - "skills": "./skills/", - "interface": { - "displayName": "External Developer Workflows", - "shortDescription": "Third-party engineering and infrastructure workflows.", - "longDescription": "A portable bundle of reviewed third-party skills for code quality, DevOps, security, Rust backend work, and internationalization.", - "developerName": "Firstsun Dev", - "category": "Productivity", - "capabilities": [], - "defaultPrompt": "Use the relevant developer workflow skill for this task." - } -} diff --git a/plugins/external-frontend-design/.codex-plugin/plugin.json b/plugins/external-frontend-design/.codex-plugin/plugin.json deleted file mode 100644 index bcae766..0000000 --- a/plugins/external-frontend-design/.codex-plugin/plugin.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "external-frontend-design", - "version": "0.1.0", - "description": "Curated third-party frontend implementation, visual design, and interaction skills.", - "author": { - "name": "Firstsun Dev" - }, - "skills": "./skills/", - "interface": { - "displayName": "External Frontend Design", - "shortDescription": "Third-party frontend and visual-design skills.", - "longDescription": "A portable bundle of reviewed third-party skills for frontend construction, UI design systems, responsive design, and motion.", - "developerName": "Firstsun Dev", - "category": "Productivity", - "capabilities": [], - "defaultPrompt": "Use the relevant frontend design skill for this task." - } -} diff --git a/plugins/external-video-design/.codex-plugin/plugin.json b/plugins/external-video-design/.codex-plugin/plugin.json deleted file mode 100644 index 2dd0b15..0000000 --- a/plugins/external-video-design/.codex-plugin/plugin.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "external-video-design", - "version": "0.1.0", - "description": "Curated third-party skills for AI video, Remotion, brand systems, banners, and data visualization.", - "author": { - "name": "Firstsun Dev" - }, - "skills": "./skills/", - "interface": { - "displayName": "External Video Design", - "shortDescription": "Third-party video, visual, and brand workflows.", - "longDescription": "A portable bundle of reviewed third-party skills for video generation, Remotion, visual systems, banners, and chart design.", - "developerName": "Firstsun Dev", - "category": "Productivity", - "capabilities": [], - "defaultPrompt": "Use the relevant video or visual-design skill for this task." - } -} diff --git a/plugins/frontend-product-design/.claude-plugin/plugin.json b/plugins/frontend-product-design/.claude-plugin/plugin.json new file mode 100644 index 0000000..68e38b9 --- /dev/null +++ b/plugins/frontend-product-design/.claude-plugin/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "frontend-product-design", + "version": "1.0.0", + "description": "Curated third-party skills for frontend and product design.", + "author": { + "name": "Firstsun Dev" + } +} diff --git a/plugins/frontend-product-design/.codex-plugin/plugin.json b/plugins/frontend-product-design/.codex-plugin/plugin.json new file mode 100644 index 0000000..fc395e7 --- /dev/null +++ b/plugins/frontend-product-design/.codex-plugin/plugin.json @@ -0,0 +1,18 @@ +{ + "name": "frontend-product-design", + "version": "1.0.0", + "description": "Curated third-party skills for frontend and product design.", + "author": { + "name": "Firstsun Dev" + }, + "skills": "./skills/", + "interface": { + "displayName": "Frontend & Product Design", + "shortDescription": "Curated third-party skills for frontend and product design.", + "longDescription": "A collection of curated third-party skills for frontend engineering, UI systems, visual taste, and product design craft.", + "developerName": "Firstsun Dev", + "category": "Design", + "capabilities": [], + "defaultPrompt": "Use the relevant Frontend & Product Design skill for this task." + } +} diff --git a/plugins/external-frontend-design/skills/best-practices/SKILL.md b/plugins/frontend-product-design/skills/best-practices/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/best-practices/SKILL.md rename to plugins/frontend-product-design/skills/best-practices/SKILL.md diff --git a/plugins/external-frontend-design/skills/design-taste-frontend-v1/SKILL.md b/plugins/frontend-product-design/skills/design-taste-frontend-v1/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/design-taste-frontend-v1/SKILL.md rename to plugins/frontend-product-design/skills/design-taste-frontend-v1/SKILL.md diff --git a/plugins/external-frontend-design/skills/design-taste-frontend/SKILL.md b/plugins/frontend-product-design/skills/design-taste-frontend/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/design-taste-frontend/SKILL.md rename to plugins/frontend-product-design/skills/design-taste-frontend/SKILL.md diff --git a/plugins/external-frontend-design/skills/frontend-design/LICENSE.txt b/plugins/frontend-product-design/skills/frontend-design/LICENSE.txt similarity index 100% rename from plugins/external-frontend-design/skills/frontend-design/LICENSE.txt rename to plugins/frontend-product-design/skills/frontend-design/LICENSE.txt diff --git a/plugins/external-frontend-design/skills/frontend-design/SKILL.md b/plugins/frontend-product-design/skills/frontend-design/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/frontend-design/SKILL.md rename to plugins/frontend-product-design/skills/frontend-design/SKILL.md diff --git a/plugins/external-frontend-design/skills/gpt-taste/SKILL.md b/plugins/frontend-product-design/skills/gpt-taste/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/gpt-taste/SKILL.md rename to plugins/frontend-product-design/skills/gpt-taste/SKILL.md diff --git a/plugins/external-frontend-design/skills/high-end-visual-design/SKILL.md b/plugins/frontend-product-design/skills/high-end-visual-design/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/high-end-visual-design/SKILL.md rename to plugins/frontend-product-design/skills/high-end-visual-design/SKILL.md diff --git a/plugins/external-frontend-design/skills/image-to-code/SKILL.md b/plugins/frontend-product-design/skills/image-to-code/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/image-to-code/SKILL.md rename to plugins/frontend-product-design/skills/image-to-code/SKILL.md diff --git a/plugins/external-frontend-design/skills/industrial-brutalist-ui/SKILL.md b/plugins/frontend-product-design/skills/industrial-brutalist-ui/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/industrial-brutalist-ui/SKILL.md rename to plugins/frontend-product-design/skills/industrial-brutalist-ui/SKILL.md diff --git a/plugins/external-frontend-design/skills/minimalist-ui/SKILL.md b/plugins/frontend-product-design/skills/minimalist-ui/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/minimalist-ui/SKILL.md rename to plugins/frontend-product-design/skills/minimalist-ui/SKILL.md diff --git a/plugins/external-frontend-design/skills/react-best-practices/SKILL.md b/plugins/frontend-product-design/skills/react-best-practices/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/react-best-practices/SKILL.md rename to plugins/frontend-product-design/skills/react-best-practices/SKILL.md diff --git a/plugins/external-frontend-design/skills/react-best-practices/react-patterns.md b/plugins/frontend-product-design/skills/react-best-practices/react-patterns.md similarity index 100% rename from plugins/external-frontend-design/skills/react-best-practices/react-patterns.md rename to plugins/frontend-product-design/skills/react-best-practices/react-patterns.md diff --git a/plugins/external-frontend-design/skills/react/SKILL.md b/plugins/frontend-product-design/skills/react/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/react/SKILL.md rename to plugins/frontend-product-design/skills/react/SKILL.md diff --git a/plugins/external-frontend-design/skills/redesign-existing-projects/SKILL.md b/plugins/frontend-product-design/skills/redesign-existing-projects/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/redesign-existing-projects/SKILL.md rename to plugins/frontend-product-design/skills/redesign-existing-projects/SKILL.md diff --git a/plugins/external-frontend-design/skills/sleek-design-mobile-apps/SKILL.md b/plugins/frontend-product-design/skills/sleek-design-mobile-apps/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/sleek-design-mobile-apps/SKILL.md rename to plugins/frontend-product-design/skills/sleek-design-mobile-apps/SKILL.md diff --git a/plugins/external-frontend-design/skills/stitch-design-taste/DESIGN.md b/plugins/frontend-product-design/skills/stitch-design-taste/DESIGN.md similarity index 100% rename from plugins/external-frontend-design/skills/stitch-design-taste/DESIGN.md rename to plugins/frontend-product-design/skills/stitch-design-taste/DESIGN.md diff --git a/plugins/external-frontend-design/skills/stitch-design-taste/SKILL.md b/plugins/frontend-product-design/skills/stitch-design-taste/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/stitch-design-taste/SKILL.md rename to plugins/frontend-product-design/skills/stitch-design-taste/SKILL.md diff --git a/plugins/external-frontend-design/skills/tailwind-css-patterns/SKILL.md b/plugins/frontend-product-design/skills/tailwind-css-patterns/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/tailwind-css-patterns/SKILL.md rename to plugins/frontend-product-design/skills/tailwind-css-patterns/SKILL.md diff --git a/plugins/external-frontend-design/skills/tailwind-css-patterns/references/accessibility.md b/plugins/frontend-product-design/skills/tailwind-css-patterns/references/accessibility.md similarity index 100% rename from plugins/external-frontend-design/skills/tailwind-css-patterns/references/accessibility.md rename to plugins/frontend-product-design/skills/tailwind-css-patterns/references/accessibility.md diff --git a/plugins/external-frontend-design/skills/tailwind-css-patterns/references/animations.md b/plugins/frontend-product-design/skills/tailwind-css-patterns/references/animations.md similarity index 100% rename from plugins/external-frontend-design/skills/tailwind-css-patterns/references/animations.md rename to plugins/frontend-product-design/skills/tailwind-css-patterns/references/animations.md diff --git a/plugins/external-frontend-design/skills/tailwind-css-patterns/references/component-patterns.md b/plugins/frontend-product-design/skills/tailwind-css-patterns/references/component-patterns.md similarity index 100% rename from plugins/external-frontend-design/skills/tailwind-css-patterns/references/component-patterns.md rename to plugins/frontend-product-design/skills/tailwind-css-patterns/references/component-patterns.md diff --git a/plugins/external-frontend-design/skills/tailwind-css-patterns/references/configuration.md b/plugins/frontend-product-design/skills/tailwind-css-patterns/references/configuration.md similarity index 100% rename from plugins/external-frontend-design/skills/tailwind-css-patterns/references/configuration.md rename to plugins/frontend-product-design/skills/tailwind-css-patterns/references/configuration.md diff --git a/plugins/external-frontend-design/skills/tailwind-css-patterns/references/layout-patterns.md b/plugins/frontend-product-design/skills/tailwind-css-patterns/references/layout-patterns.md similarity index 100% rename from plugins/external-frontend-design/skills/tailwind-css-patterns/references/layout-patterns.md rename to plugins/frontend-product-design/skills/tailwind-css-patterns/references/layout-patterns.md diff --git a/plugins/external-frontend-design/skills/tailwind-css-patterns/references/performance.md b/plugins/frontend-product-design/skills/tailwind-css-patterns/references/performance.md similarity index 100% rename from plugins/external-frontend-design/skills/tailwind-css-patterns/references/performance.md rename to plugins/frontend-product-design/skills/tailwind-css-patterns/references/performance.md diff --git a/plugins/external-frontend-design/skills/tailwind-css-patterns/references/reference.md b/plugins/frontend-product-design/skills/tailwind-css-patterns/references/reference.md similarity index 100% rename from plugins/external-frontend-design/skills/tailwind-css-patterns/references/reference.md rename to plugins/frontend-product-design/skills/tailwind-css-patterns/references/reference.md diff --git a/plugins/external-frontend-design/skills/tailwind-css-patterns/references/responsive-design.md b/plugins/frontend-product-design/skills/tailwind-css-patterns/references/responsive-design.md similarity index 100% rename from plugins/external-frontend-design/skills/tailwind-css-patterns/references/responsive-design.md rename to plugins/frontend-product-design/skills/tailwind-css-patterns/references/responsive-design.md diff --git a/plugins/external-frontend-design/skills/threejs-animation/SKILL.md b/plugins/frontend-product-design/skills/threejs-animation/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/threejs-animation/SKILL.md rename to plugins/frontend-product-design/skills/threejs-animation/SKILL.md diff --git a/plugins/external-frontend-design/skills/ui-animation/SKILL.md b/plugins/frontend-product-design/skills/ui-animation/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/SKILL.md rename to plugins/frontend-product-design/skills/ui-animation/SKILL.md diff --git a/plugins/external-frontend-design/skills/ui-animation/references/choreography.md b/plugins/frontend-product-design/skills/ui-animation/references/choreography.md similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/references/choreography.md rename to plugins/frontend-product-design/skills/ui-animation/references/choreography.md diff --git a/plugins/external-frontend-design/skills/ui-animation/references/clip-path-techniques.md b/plugins/frontend-product-design/skills/ui-animation/references/clip-path-techniques.md similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/references/clip-path-techniques.md rename to plugins/frontend-product-design/skills/ui-animation/references/clip-path-techniques.md diff --git a/plugins/external-frontend-design/skills/ui-animation/references/code-output.md b/plugins/frontend-product-design/skills/ui-animation/references/code-output.md similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/references/code-output.md rename to plugins/frontend-product-design/skills/ui-animation/references/code-output.md diff --git a/plugins/external-frontend-design/skills/ui-animation/references/component-patterns.md b/plugins/frontend-product-design/skills/ui-animation/references/component-patterns.md similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/references/component-patterns.md rename to plugins/frontend-product-design/skills/ui-animation/references/component-patterns.md diff --git a/plugins/external-frontend-design/skills/ui-animation/references/contextual-animations.md b/plugins/frontend-product-design/skills/ui-animation/references/contextual-animations.md similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/references/contextual-animations.md rename to plugins/frontend-product-design/skills/ui-animation/references/contextual-animations.md diff --git a/plugins/external-frontend-design/skills/ui-animation/references/curve-fitting.md b/plugins/frontend-product-design/skills/ui-animation/references/curve-fitting.md similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/references/curve-fitting.md rename to plugins/frontend-product-design/skills/ui-animation/references/curve-fitting.md diff --git a/plugins/external-frontend-design/skills/ui-animation/references/decision-framework.md b/plugins/frontend-product-design/skills/ui-animation/references/decision-framework.md similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/references/decision-framework.md rename to plugins/frontend-product-design/skills/ui-animation/references/decision-framework.md diff --git a/plugins/external-frontend-design/skills/ui-animation/references/gesture-drag.md b/plugins/frontend-product-design/skills/ui-animation/references/gesture-drag.md similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/references/gesture-drag.md rename to plugins/frontend-product-design/skills/ui-animation/references/gesture-drag.md diff --git a/plugins/external-frontend-design/skills/ui-animation/references/measurement-guide.md b/plugins/frontend-product-design/skills/ui-animation/references/measurement-guide.md similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/references/measurement-guide.md rename to plugins/frontend-product-design/skills/ui-animation/references/measurement-guide.md diff --git a/plugins/external-frontend-design/skills/ui-animation/references/performance-deep-dive.md b/plugins/frontend-product-design/skills/ui-animation/references/performance-deep-dive.md similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/references/performance-deep-dive.md rename to plugins/frontend-product-design/skills/ui-animation/references/performance-deep-dive.md diff --git a/plugins/external-frontend-design/skills/ui-animation/references/review-format.md b/plugins/frontend-product-design/skills/ui-animation/references/review-format.md similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/references/review-format.md rename to plugins/frontend-product-design/skills/ui-animation/references/review-format.md diff --git a/plugins/external-frontend-design/skills/ui-animation/references/spring-animations.md b/plugins/frontend-product-design/skills/ui-animation/references/spring-animations.md similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/references/spring-animations.md rename to plugins/frontend-product-design/skills/ui-animation/references/spring-animations.md diff --git a/plugins/external-frontend-design/skills/ui-animation/references/transition-recipes.md b/plugins/frontend-product-design/skills/ui-animation/references/transition-recipes.md similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/references/transition-recipes.md rename to plugins/frontend-product-design/skills/ui-animation/references/transition-recipes.md diff --git a/plugins/external-frontend-design/skills/ui-animation/scripts/extract_frames.py b/plugins/frontend-product-design/skills/ui-animation/scripts/extract_frames.py similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/scripts/extract_frames.py rename to plugins/frontend-product-design/skills/ui-animation/scripts/extract_frames.py diff --git a/plugins/external-frontend-design/skills/ui-animation/scripts/fit_curves.py b/plugins/frontend-product-design/skills/ui-animation/scripts/fit_curves.py similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/scripts/fit_curves.py rename to plugins/frontend-product-design/skills/ui-animation/scripts/fit_curves.py diff --git a/plugins/external-frontend-design/skills/ui-animation/scripts/track_motion.py b/plugins/frontend-product-design/skills/ui-animation/scripts/track_motion.py similarity index 100% rename from plugins/external-frontend-design/skills/ui-animation/scripts/track_motion.py rename to plugins/frontend-product-design/skills/ui-animation/scripts/track_motion.py diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/AGENTS.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/AGENTS.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/AGENTS.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/AGENTS.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/README.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/README.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/README.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/README.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/SKILL.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/SKILL.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/SKILL.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/metadata.json b/plugins/frontend-product-design/skills/vercel-react-best-practices/metadata.json similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/metadata.json rename to plugins/frontend-product-design/skills/vercel-react-best-practices/metadata.json diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/_sections.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/_sections.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/_sections.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/_sections.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/_template.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/_template.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/_template.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/_template.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/advanced-effect-event-deps.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/advanced-effect-event-deps.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/advanced-effect-event-deps.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/advanced-effect-event-deps.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/advanced-init-once.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/advanced-init-once.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/advanced-init-once.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/advanced-init-once.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/advanced-use-latest.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/advanced-use-latest.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/advanced-use-latest.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/advanced-use-latest.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/async-api-routes.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/async-api-routes.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/async-api-routes.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/async-api-routes.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/async-defer-await.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/async-defer-await.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/async-defer-await.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/async-defer-await.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/async-dependencies.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/async-dependencies.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/async-dependencies.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/async-dependencies.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/async-parallel.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/async-parallel.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/async-parallel.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/async-parallel.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/bundle-analyzable-paths.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/bundle-analyzable-paths.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/bundle-analyzable-paths.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/bundle-analyzable-paths.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/bundle-conditional.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/bundle-conditional.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/bundle-conditional.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/bundle-conditional.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/bundle-preload.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/bundle-preload.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/bundle-preload.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/bundle-preload.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/client-event-listeners.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/client-event-listeners.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/client-event-listeners.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/client-event-listeners.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/client-localstorage-schema.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/client-localstorage-schema.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/client-localstorage-schema.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/client-localstorage-schema.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/client-swr-dedup.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/client-swr-dedup.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/client-swr-dedup.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/client-swr-dedup.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-batch-dom-css.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-batch-dom-css.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-batch-dom-css.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-batch-dom-css.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-cache-function-results.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-cache-function-results.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-cache-function-results.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-cache-function-results.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-cache-property-access.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-cache-property-access.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-cache-property-access.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-cache-property-access.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-cache-storage.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-cache-storage.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-cache-storage.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-cache-storage.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-combine-iterations.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-combine-iterations.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-combine-iterations.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-combine-iterations.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-early-exit.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-early-exit.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-early-exit.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-early-exit.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-flatmap-filter.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-flatmap-filter.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-flatmap-filter.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-flatmap-filter.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-hoist-regexp.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-hoist-regexp.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-hoist-regexp.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-hoist-regexp.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-index-maps.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-index-maps.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-index-maps.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-index-maps.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-length-check-first.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-length-check-first.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-length-check-first.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-length-check-first.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-min-max-loop.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-min-max-loop.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-min-max-loop.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-min-max-loop.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-request-idle-callback.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-request-idle-callback.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-request-idle-callback.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-request-idle-callback.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-set-map-lookups.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-set-map-lookups.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-set-map-lookups.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-set-map-lookups.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-activity.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-activity.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-activity.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-activity.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-conditional-render.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-conditional-render.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-conditional-render.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-conditional-render.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-content-visibility.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-content-visibility.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-content-visibility.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-content-visibility.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-resource-hints.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-resource-hints.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-resource-hints.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-resource-hints.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-svg-precision.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-svg-precision.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-svg-precision.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-svg-precision.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-defer-reads.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-defer-reads.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-defer-reads.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-defer-reads.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-dependencies.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-dependencies.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-dependencies.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-dependencies.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-derived-state.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-derived-state.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-derived-state.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-derived-state.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-memo.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-memo.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-memo.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-memo.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-transitions.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-transitions.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-transitions.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-transitions.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-after-nonblocking.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-after-nonblocking.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-after-nonblocking.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-after-nonblocking.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-auth-actions.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-auth-actions.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-auth-actions.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-auth-actions.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-cache-lru.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-cache-lru.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-cache-lru.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-cache-lru.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-cache-react.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-cache-react.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-cache-react.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-cache-react.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-dedup-props.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-dedup-props.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-dedup-props.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-dedup-props.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-hoist-static-io.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-hoist-static-io.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-hoist-static-io.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-hoist-static-io.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-parallel-fetching.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-parallel-fetching.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-parallel-fetching.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-parallel-fetching.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md diff --git a/plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-serialization.md b/plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-serialization.md similarity index 100% rename from plugins/external-frontend-design/skills/vercel-react-best-practices/rules/server-serialization.md rename to plugins/frontend-product-design/skills/vercel-react-best-practices/rules/server-serialization.md diff --git a/plugins/external-frontend-design/skills/visual-design-foundations/SKILL.md b/plugins/frontend-product-design/skills/visual-design-foundations/SKILL.md similarity index 100% rename from plugins/external-frontend-design/skills/visual-design-foundations/SKILL.md rename to plugins/frontend-product-design/skills/visual-design-foundations/SKILL.md diff --git a/plugins/external-frontend-design/skills/visual-design-foundations/references/color-systems.md b/plugins/frontend-product-design/skills/visual-design-foundations/references/color-systems.md similarity index 100% rename from plugins/external-frontend-design/skills/visual-design-foundations/references/color-systems.md rename to plugins/frontend-product-design/skills/visual-design-foundations/references/color-systems.md diff --git a/plugins/external-frontend-design/skills/visual-design-foundations/references/spacing-iconography.md b/plugins/frontend-product-design/skills/visual-design-foundations/references/spacing-iconography.md similarity index 100% rename from plugins/external-frontend-design/skills/visual-design-foundations/references/spacing-iconography.md rename to plugins/frontend-product-design/skills/visual-design-foundations/references/spacing-iconography.md diff --git a/plugins/external-frontend-design/skills/visual-design-foundations/references/typography-systems.md b/plugins/frontend-product-design/skills/visual-design-foundations/references/typography-systems.md similarity index 100% rename from plugins/external-frontend-design/skills/visual-design-foundations/references/typography-systems.md rename to plugins/frontend-product-design/skills/visual-design-foundations/references/typography-systems.md diff --git a/plugins/health-wellness/.claude-plugin/plugin.json b/plugins/health-wellness/.claude-plugin/plugin.json new file mode 100644 index 0000000..2853e58 --- /dev/null +++ b/plugins/health-wellness/.claude-plugin/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "health-wellness", + "version": "1.0.0", + "description": "Reviewed third-party skills for general health and wellness education. Not medical care.", + "author": { + "name": "Firstsun Dev" + } +} diff --git a/plugins/health-wellness/.codex-plugin/plugin.json b/plugins/health-wellness/.codex-plugin/plugin.json new file mode 100644 index 0000000..110ea56 --- /dev/null +++ b/plugins/health-wellness/.codex-plugin/plugin.json @@ -0,0 +1,18 @@ +{ + "name": "health-wellness", + "version": "1.0.0", + "description": "Reviewed third-party skills for general health and wellness education. Not medical care.", + "author": { + "name": "Firstsun Dev" + }, + "skills": "./skills/", + "interface": { + "displayName": "Health & Wellness", + "shortDescription": "Reviewed third-party skills for general health and wellness education. Not medical care.", + "longDescription": "A collection of reviewed third-party skills covering fitness, nutrition, and wellness education. This plugin provides general information only, is not medical care, and does not replace professional diagnosis or treatment.", + "developerName": "Firstsun Dev", + "category": "Productivity", + "capabilities": [], + "defaultPrompt": "Use the relevant Health & Wellness skill for this task. This is general information, not medical care." + } +} diff --git a/plugins/external-career-health/skills/fitness-coach/SKILL.md b/plugins/health-wellness/skills/fitness-coach/SKILL.md similarity index 100% rename from plugins/external-career-health/skills/fitness-coach/SKILL.md rename to plugins/health-wellness/skills/fitness-coach/SKILL.md diff --git a/plugins/external-career-health/skills/healthkit/SKILL.md b/plugins/health-wellness/skills/healthkit/SKILL.md similarity index 100% rename from plugins/external-career-health/skills/healthkit/SKILL.md rename to plugins/health-wellness/skills/healthkit/SKILL.md diff --git a/plugins/external-career-health/skills/healthkit/evals/evals.json b/plugins/health-wellness/skills/healthkit/evals/evals.json similarity index 100% rename from plugins/external-career-health/skills/healthkit/evals/evals.json rename to plugins/health-wellness/skills/healthkit/evals/evals.json diff --git a/plugins/external-career-health/skills/healthkit/references/healthkit-patterns.md b/plugins/health-wellness/skills/healthkit/references/healthkit-patterns.md similarity index 100% rename from plugins/external-career-health/skills/healthkit/references/healthkit-patterns.md rename to plugins/health-wellness/skills/healthkit/references/healthkit-patterns.md diff --git a/plugins/external-career-health/skills/mental-health-psychoeducation/SKILL.md b/plugins/health-wellness/skills/mental-health-psychoeducation/SKILL.md similarity index 100% rename from plugins/external-career-health/skills/mental-health-psychoeducation/SKILL.md rename to plugins/health-wellness/skills/mental-health-psychoeducation/SKILL.md diff --git a/plugins/external-career-health/skills/nutritional-specialist/SKILL.md b/plugins/health-wellness/skills/nutritional-specialist/SKILL.md similarity index 100% rename from plugins/external-career-health/skills/nutritional-specialist/SKILL.md rename to plugins/health-wellness/skills/nutritional-specialist/SKILL.md diff --git a/plugins/external-career-health/skills/nutritional-specialist/index.js b/plugins/health-wellness/skills/nutritional-specialist/index.js similarity index 100% rename from plugins/external-career-health/skills/nutritional-specialist/index.js rename to plugins/health-wellness/skills/nutritional-specialist/index.js diff --git a/plugins/external-career-health/skills/nutritional-specialist/package.json b/plugins/health-wellness/skills/nutritional-specialist/package.json similarity index 100% rename from plugins/external-career-health/skills/nutritional-specialist/package.json rename to plugins/health-wellness/skills/nutritional-specialist/package.json diff --git a/plugins/external-career-health/skills/nutritional-specialist/scripts/preferences_manager.py b/plugins/health-wellness/skills/nutritional-specialist/scripts/preferences_manager.py similarity index 100% rename from plugins/external-career-health/skills/nutritional-specialist/scripts/preferences_manager.py rename to plugins/health-wellness/skills/nutritional-specialist/scripts/preferences_manager.py diff --git a/plugins/external-career-health/skills/rem-sleep/SKILL.md b/plugins/health-wellness/skills/rem-sleep/SKILL.md similarity index 100% rename from plugins/external-career-health/skills/rem-sleep/SKILL.md rename to plugins/health-wellness/skills/rem-sleep/SKILL.md diff --git a/plugins/external-career-health/skills/rp-diet/SKILL.md b/plugins/health-wellness/skills/rp-diet/SKILL.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/SKILL.md rename to plugins/health-wellness/skills/rp-diet/SKILL.md diff --git a/plugins/external-career-health/skills/rp-diet/references/01-diet-priorities.md b/plugins/health-wellness/skills/rp-diet/references/01-diet-priorities.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/01-diet-priorities.md rename to plugins/health-wellness/skills/rp-diet/references/01-diet-priorities.md diff --git a/plugins/external-career-health/skills/rp-diet/references/02-calorie-balance.md b/plugins/health-wellness/skills/rp-diet/references/02-calorie-balance.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/02-calorie-balance.md rename to plugins/health-wellness/skills/rp-diet/references/02-calorie-balance.md diff --git a/plugins/external-career-health/skills/rp-diet/references/03-macronutrients.md b/plugins/health-wellness/skills/rp-diet/references/03-macronutrients.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/03-macronutrients.md rename to plugins/health-wellness/skills/rp-diet/references/03-macronutrients.md diff --git a/plugins/external-career-health/skills/rp-diet/references/04-nutrient-timing.md b/plugins/health-wellness/skills/rp-diet/references/04-nutrient-timing.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/04-nutrient-timing.md rename to plugins/health-wellness/skills/rp-diet/references/04-nutrient-timing.md diff --git a/plugins/external-career-health/skills/rp-diet/references/05-food-composition.md b/plugins/health-wellness/skills/rp-diet/references/05-food-composition.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/05-food-composition.md rename to plugins/health-wellness/skills/rp-diet/references/05-food-composition.md diff --git a/plugins/external-career-health/skills/rp-diet/references/06-supplements-hydration.md b/plugins/health-wellness/skills/rp-diet/references/06-supplements-hydration.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/06-supplements-hydration.md rename to plugins/health-wellness/skills/rp-diet/references/06-supplements-hydration.md diff --git a/plugins/external-career-health/skills/rp-diet/references/07-diet-adherence.md b/plugins/health-wellness/skills/rp-diet/references/07-diet-adherence.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/07-diet-adherence.md rename to plugins/health-wellness/skills/rp-diet/references/07-diet-adherence.md diff --git a/plugins/external-career-health/skills/rp-diet/references/08-hunger-management.md b/plugins/health-wellness/skills/rp-diet/references/08-hunger-management.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/08-hunger-management.md rename to plugins/health-wellness/skills/rp-diet/references/08-hunger-management.md diff --git a/plugins/external-career-health/skills/rp-diet/references/09-nutritional-periodization.md b/plugins/health-wellness/skills/rp-diet/references/09-nutritional-periodization.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/09-nutritional-periodization.md rename to plugins/health-wellness/skills/rp-diet/references/09-nutritional-periodization.md diff --git a/plugins/external-career-health/skills/rp-diet/references/10-designing-your-diet.md b/plugins/health-wellness/skills/rp-diet/references/10-designing-your-diet.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/10-designing-your-diet.md rename to plugins/health-wellness/skills/rp-diet/references/10-designing-your-diet.md diff --git a/plugins/external-career-health/skills/rp-diet/references/11-tracking-adjusting.md b/plugins/health-wellness/skills/rp-diet/references/11-tracking-adjusting.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/11-tracking-adjusting.md rename to plugins/health-wellness/skills/rp-diet/references/11-tracking-adjusting.md diff --git a/plugins/external-career-health/skills/rp-diet/references/12-monitoring-body-composition.md b/plugins/health-wellness/skills/rp-diet/references/12-monitoring-body-composition.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/12-monitoring-body-composition.md rename to plugins/health-wellness/skills/rp-diet/references/12-monitoring-body-composition.md diff --git a/plugins/external-career-health/skills/rp-diet/references/13-special-considerations.md b/plugins/health-wellness/skills/rp-diet/references/13-special-considerations.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/13-special-considerations.md rename to plugins/health-wellness/skills/rp-diet/references/13-special-considerations.md diff --git a/plugins/external-career-health/skills/rp-diet/references/14-competition-nutrition.md b/plugins/health-wellness/skills/rp-diet/references/14-competition-nutrition.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/14-competition-nutrition.md rename to plugins/health-wellness/skills/rp-diet/references/14-competition-nutrition.md diff --git a/plugins/external-career-health/skills/rp-diet/references/15-gut-health.md b/plugins/health-wellness/skills/rp-diet/references/15-gut-health.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/15-gut-health.md rename to plugins/health-wellness/skills/rp-diet/references/15-gut-health.md diff --git a/plugins/external-career-health/skills/rp-diet/references/16-alcohol.md b/plugins/health-wellness/skills/rp-diet/references/16-alcohol.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/16-alcohol.md rename to plugins/health-wellness/skills/rp-diet/references/16-alcohol.md diff --git a/plugins/external-career-health/skills/rp-diet/references/17-fads-fallacies.md b/plugins/health-wellness/skills/rp-diet/references/17-fads-fallacies.md similarity index 100% rename from plugins/external-career-health/skills/rp-diet/references/17-fads-fallacies.md rename to plugins/health-wellness/skills/rp-diet/references/17-fads-fallacies.md diff --git a/plugins/external-career-health/skills/workout-program-designer/SKILL.md b/plugins/health-wellness/skills/workout-program-designer/SKILL.md similarity index 100% rename from plugins/external-career-health/skills/workout-program-designer/SKILL.md rename to plugins/health-wellness/skills/workout-program-designer/SKILL.md diff --git a/plugins/software-delivery/.claude-plugin/plugin.json b/plugins/software-delivery/.claude-plugin/plugin.json new file mode 100644 index 0000000..9364314 --- /dev/null +++ b/plugins/software-delivery/.claude-plugin/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "software-delivery", + "version": "1.0.0", + "description": "Curated third-party skills for shipping and operating software.", + "author": { + "name": "Firstsun Dev" + } +} diff --git a/plugins/software-delivery/.codex-plugin/plugin.json b/plugins/software-delivery/.codex-plugin/plugin.json new file mode 100644 index 0000000..743addc --- /dev/null +++ b/plugins/software-delivery/.codex-plugin/plugin.json @@ -0,0 +1,18 @@ +{ + "name": "software-delivery", + "version": "1.0.0", + "description": "Curated third-party skills for shipping and operating software.", + "author": { + "name": "Firstsun Dev" + }, + "skills": "./skills/", + "interface": { + "displayName": "Software Delivery", + "shortDescription": "Curated third-party skills for shipping and operating software.", + "longDescription": "A collection of curated third-party skills covering code quality, DevOps, security, internationalization, and backend engineering practices for shipping and operating software.", + "developerName": "Firstsun Dev", + "category": "Developer", + "capabilities": [], + "defaultPrompt": "Use the relevant Software Delivery skill for this task." + } +} diff --git a/plugins/external-developer-workflows/skills/clean-code/SKILL.md b/plugins/software-delivery/skills/clean-code/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/clean-code/SKILL.md rename to plugins/software-delivery/skills/clean-code/SKILL.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/SKILL.md b/plugins/software-delivery/skills/cloudflare/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/SKILL.md rename to plugins/software-delivery/skills/cloudflare/SKILL.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ai-gateway/README.md b/plugins/software-delivery/skills/cloudflare/references/ai-gateway/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ai-gateway/README.md rename to plugins/software-delivery/skills/cloudflare/references/ai-gateway/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ai-gateway/configuration.md b/plugins/software-delivery/skills/cloudflare/references/ai-gateway/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ai-gateway/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/ai-gateway/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ai-gateway/dynamic-routing.md b/plugins/software-delivery/skills/cloudflare/references/ai-gateway/dynamic-routing.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ai-gateway/dynamic-routing.md rename to plugins/software-delivery/skills/cloudflare/references/ai-gateway/dynamic-routing.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ai-gateway/features.md b/plugins/software-delivery/skills/cloudflare/references/ai-gateway/features.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ai-gateway/features.md rename to plugins/software-delivery/skills/cloudflare/references/ai-gateway/features.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ai-gateway/sdk-integration.md b/plugins/software-delivery/skills/cloudflare/references/ai-gateway/sdk-integration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ai-gateway/sdk-integration.md rename to plugins/software-delivery/skills/cloudflare/references/ai-gateway/sdk-integration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ai-gateway/troubleshooting.md b/plugins/software-delivery/skills/cloudflare/references/ai-gateway/troubleshooting.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ai-gateway/troubleshooting.md rename to plugins/software-delivery/skills/cloudflare/references/ai-gateway/troubleshooting.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ai-search/README.md b/plugins/software-delivery/skills/cloudflare/references/ai-search/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ai-search/README.md rename to plugins/software-delivery/skills/cloudflare/references/ai-search/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ai-search/api.md b/plugins/software-delivery/skills/cloudflare/references/ai-search/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ai-search/api.md rename to plugins/software-delivery/skills/cloudflare/references/ai-search/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ai-search/configuration.md b/plugins/software-delivery/skills/cloudflare/references/ai-search/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ai-search/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/ai-search/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ai-search/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/ai-search/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ai-search/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/ai-search/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ai-search/patterns.md b/plugins/software-delivery/skills/cloudflare/references/ai-search/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ai-search/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/ai-search/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/analytics-engine/README.md b/plugins/software-delivery/skills/cloudflare/references/analytics-engine/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/analytics-engine/README.md rename to plugins/software-delivery/skills/cloudflare/references/analytics-engine/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/analytics-engine/api.md b/plugins/software-delivery/skills/cloudflare/references/analytics-engine/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/analytics-engine/api.md rename to plugins/software-delivery/skills/cloudflare/references/analytics-engine/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/analytics-engine/configuration.md b/plugins/software-delivery/skills/cloudflare/references/analytics-engine/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/analytics-engine/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/analytics-engine/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/analytics-engine/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/analytics-engine/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/analytics-engine/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/analytics-engine/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/analytics-engine/patterns.md b/plugins/software-delivery/skills/cloudflare/references/analytics-engine/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/analytics-engine/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/analytics-engine/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/api-shield/README.md b/plugins/software-delivery/skills/cloudflare/references/api-shield/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/api-shield/README.md rename to plugins/software-delivery/skills/cloudflare/references/api-shield/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/api-shield/api.md b/plugins/software-delivery/skills/cloudflare/references/api-shield/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/api-shield/api.md rename to plugins/software-delivery/skills/cloudflare/references/api-shield/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/api-shield/configuration.md b/plugins/software-delivery/skills/cloudflare/references/api-shield/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/api-shield/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/api-shield/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/api-shield/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/api-shield/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/api-shield/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/api-shield/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/api-shield/patterns.md b/plugins/software-delivery/skills/cloudflare/references/api-shield/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/api-shield/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/api-shield/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/api/README.md b/plugins/software-delivery/skills/cloudflare/references/api/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/api/README.md rename to plugins/software-delivery/skills/cloudflare/references/api/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/api/api.md b/plugins/software-delivery/skills/cloudflare/references/api/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/api/api.md rename to plugins/software-delivery/skills/cloudflare/references/api/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/api/configuration.md b/plugins/software-delivery/skills/cloudflare/references/api/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/api/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/api/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/api/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/api/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/api/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/api/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/api/patterns.md b/plugins/software-delivery/skills/cloudflare/references/api/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/api/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/api/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/argo-smart-routing/README.md b/plugins/software-delivery/skills/cloudflare/references/argo-smart-routing/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/argo-smart-routing/README.md rename to plugins/software-delivery/skills/cloudflare/references/argo-smart-routing/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/argo-smart-routing/api.md b/plugins/software-delivery/skills/cloudflare/references/argo-smart-routing/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/argo-smart-routing/api.md rename to plugins/software-delivery/skills/cloudflare/references/argo-smart-routing/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/argo-smart-routing/configuration.md b/plugins/software-delivery/skills/cloudflare/references/argo-smart-routing/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/argo-smart-routing/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/argo-smart-routing/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/argo-smart-routing/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/argo-smart-routing/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/argo-smart-routing/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/argo-smart-routing/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/argo-smart-routing/patterns.md b/plugins/software-delivery/skills/cloudflare/references/argo-smart-routing/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/argo-smart-routing/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/argo-smart-routing/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/artifacts/README.md b/plugins/software-delivery/skills/cloudflare/references/artifacts/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/artifacts/README.md rename to plugins/software-delivery/skills/cloudflare/references/artifacts/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/artifacts/api.md b/plugins/software-delivery/skills/cloudflare/references/artifacts/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/artifacts/api.md rename to plugins/software-delivery/skills/cloudflare/references/artifacts/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/artifacts/configuration.md b/plugins/software-delivery/skills/cloudflare/references/artifacts/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/artifacts/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/artifacts/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/bindings/README.md b/plugins/software-delivery/skills/cloudflare/references/bindings/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/bindings/README.md rename to plugins/software-delivery/skills/cloudflare/references/bindings/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/bindings/api.md b/plugins/software-delivery/skills/cloudflare/references/bindings/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/bindings/api.md rename to plugins/software-delivery/skills/cloudflare/references/bindings/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/bindings/configuration.md b/plugins/software-delivery/skills/cloudflare/references/bindings/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/bindings/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/bindings/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/bindings/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/bindings/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/bindings/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/bindings/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/bindings/patterns.md b/plugins/software-delivery/skills/cloudflare/references/bindings/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/bindings/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/bindings/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/bot-management/README.md b/plugins/software-delivery/skills/cloudflare/references/bot-management/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/bot-management/README.md rename to plugins/software-delivery/skills/cloudflare/references/bot-management/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/bot-management/api.md b/plugins/software-delivery/skills/cloudflare/references/bot-management/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/bot-management/api.md rename to plugins/software-delivery/skills/cloudflare/references/bot-management/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/bot-management/configuration.md b/plugins/software-delivery/skills/cloudflare/references/bot-management/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/bot-management/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/bot-management/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/bot-management/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/bot-management/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/bot-management/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/bot-management/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/bot-management/patterns.md b/plugins/software-delivery/skills/cloudflare/references/bot-management/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/bot-management/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/bot-management/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/browser-rendering/README.md b/plugins/software-delivery/skills/cloudflare/references/browser-rendering/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/browser-rendering/README.md rename to plugins/software-delivery/skills/cloudflare/references/browser-rendering/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/browser-rendering/api.md b/plugins/software-delivery/skills/cloudflare/references/browser-rendering/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/browser-rendering/api.md rename to plugins/software-delivery/skills/cloudflare/references/browser-rendering/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/browser-rendering/configuration.md b/plugins/software-delivery/skills/cloudflare/references/browser-rendering/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/browser-rendering/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/browser-rendering/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/browser-rendering/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/browser-rendering/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/browser-rendering/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/browser-rendering/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/browser-rendering/patterns.md b/plugins/software-delivery/skills/cloudflare/references/browser-rendering/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/browser-rendering/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/browser-rendering/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/c3/README.md b/plugins/software-delivery/skills/cloudflare/references/c3/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/c3/README.md rename to plugins/software-delivery/skills/cloudflare/references/c3/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/c3/api.md b/plugins/software-delivery/skills/cloudflare/references/c3/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/c3/api.md rename to plugins/software-delivery/skills/cloudflare/references/c3/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/c3/configuration.md b/plugins/software-delivery/skills/cloudflare/references/c3/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/c3/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/c3/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/c3/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/c3/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/c3/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/c3/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/c3/patterns.md b/plugins/software-delivery/skills/cloudflare/references/c3/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/c3/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/c3/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/cache-reserve/README.md b/plugins/software-delivery/skills/cloudflare/references/cache-reserve/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/cache-reserve/README.md rename to plugins/software-delivery/skills/cloudflare/references/cache-reserve/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/cache-reserve/api.md b/plugins/software-delivery/skills/cloudflare/references/cache-reserve/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/cache-reserve/api.md rename to plugins/software-delivery/skills/cloudflare/references/cache-reserve/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/cache-reserve/configuration.md b/plugins/software-delivery/skills/cloudflare/references/cache-reserve/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/cache-reserve/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/cache-reserve/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/cache-reserve/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/cache-reserve/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/cache-reserve/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/cache-reserve/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/cache-reserve/patterns.md b/plugins/software-delivery/skills/cloudflare/references/cache-reserve/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/cache-reserve/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/cache-reserve/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/containers/README.md b/plugins/software-delivery/skills/cloudflare/references/containers/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/containers/README.md rename to plugins/software-delivery/skills/cloudflare/references/containers/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/containers/api.md b/plugins/software-delivery/skills/cloudflare/references/containers/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/containers/api.md rename to plugins/software-delivery/skills/cloudflare/references/containers/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/containers/configuration.md b/plugins/software-delivery/skills/cloudflare/references/containers/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/containers/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/containers/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/containers/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/containers/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/containers/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/containers/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/containers/patterns.md b/plugins/software-delivery/skills/cloudflare/references/containers/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/containers/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/containers/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/cron-triggers/README.md b/plugins/software-delivery/skills/cloudflare/references/cron-triggers/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/cron-triggers/README.md rename to plugins/software-delivery/skills/cloudflare/references/cron-triggers/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/cron-triggers/api.md b/plugins/software-delivery/skills/cloudflare/references/cron-triggers/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/cron-triggers/api.md rename to plugins/software-delivery/skills/cloudflare/references/cron-triggers/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/cron-triggers/configuration.md b/plugins/software-delivery/skills/cloudflare/references/cron-triggers/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/cron-triggers/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/cron-triggers/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/cron-triggers/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/cron-triggers/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/cron-triggers/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/cron-triggers/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/cron-triggers/patterns.md b/plugins/software-delivery/skills/cloudflare/references/cron-triggers/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/cron-triggers/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/cron-triggers/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/d1/README.md b/plugins/software-delivery/skills/cloudflare/references/d1/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/d1/README.md rename to plugins/software-delivery/skills/cloudflare/references/d1/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/d1/api.md b/plugins/software-delivery/skills/cloudflare/references/d1/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/d1/api.md rename to plugins/software-delivery/skills/cloudflare/references/d1/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/d1/configuration.md b/plugins/software-delivery/skills/cloudflare/references/d1/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/d1/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/d1/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/d1/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/d1/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/d1/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/d1/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/d1/patterns.md b/plugins/software-delivery/skills/cloudflare/references/d1/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/d1/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/d1/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ddos/README.md b/plugins/software-delivery/skills/cloudflare/references/ddos/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ddos/README.md rename to plugins/software-delivery/skills/cloudflare/references/ddos/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ddos/api.md b/plugins/software-delivery/skills/cloudflare/references/ddos/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ddos/api.md rename to plugins/software-delivery/skills/cloudflare/references/ddos/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ddos/configuration.md b/plugins/software-delivery/skills/cloudflare/references/ddos/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ddos/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/ddos/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ddos/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/ddos/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ddos/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/ddos/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/ddos/patterns.md b/plugins/software-delivery/skills/cloudflare/references/ddos/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/ddos/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/ddos/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/do-storage/README.md b/plugins/software-delivery/skills/cloudflare/references/do-storage/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/do-storage/README.md rename to plugins/software-delivery/skills/cloudflare/references/do-storage/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/do-storage/api.md b/plugins/software-delivery/skills/cloudflare/references/do-storage/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/do-storage/api.md rename to plugins/software-delivery/skills/cloudflare/references/do-storage/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/do-storage/configuration.md b/plugins/software-delivery/skills/cloudflare/references/do-storage/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/do-storage/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/do-storage/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/do-storage/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/do-storage/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/do-storage/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/do-storage/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/do-storage/patterns.md b/plugins/software-delivery/skills/cloudflare/references/do-storage/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/do-storage/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/do-storage/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/do-storage/testing.md b/plugins/software-delivery/skills/cloudflare/references/do-storage/testing.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/do-storage/testing.md rename to plugins/software-delivery/skills/cloudflare/references/do-storage/testing.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/email-routing/README.md b/plugins/software-delivery/skills/cloudflare/references/email-routing/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/email-routing/README.md rename to plugins/software-delivery/skills/cloudflare/references/email-routing/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/email-routing/api.md b/plugins/software-delivery/skills/cloudflare/references/email-routing/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/email-routing/api.md rename to plugins/software-delivery/skills/cloudflare/references/email-routing/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/email-routing/configuration.md b/plugins/software-delivery/skills/cloudflare/references/email-routing/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/email-routing/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/email-routing/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/email-routing/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/email-routing/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/email-routing/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/email-routing/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/email-routing/patterns.md b/plugins/software-delivery/skills/cloudflare/references/email-routing/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/email-routing/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/email-routing/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/email-workers/README.md b/plugins/software-delivery/skills/cloudflare/references/email-workers/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/email-workers/README.md rename to plugins/software-delivery/skills/cloudflare/references/email-workers/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/email-workers/api.md b/plugins/software-delivery/skills/cloudflare/references/email-workers/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/email-workers/api.md rename to plugins/software-delivery/skills/cloudflare/references/email-workers/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/email-workers/configuration.md b/plugins/software-delivery/skills/cloudflare/references/email-workers/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/email-workers/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/email-workers/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/email-workers/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/email-workers/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/email-workers/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/email-workers/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/email-workers/patterns.md b/plugins/software-delivery/skills/cloudflare/references/email-workers/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/email-workers/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/email-workers/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/flagship/README.md b/plugins/software-delivery/skills/cloudflare/references/flagship/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/flagship/README.md rename to plugins/software-delivery/skills/cloudflare/references/flagship/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/flagship/api.md b/plugins/software-delivery/skills/cloudflare/references/flagship/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/flagship/api.md rename to plugins/software-delivery/skills/cloudflare/references/flagship/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/flagship/configuration.md b/plugins/software-delivery/skills/cloudflare/references/flagship/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/flagship/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/flagship/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/flagship/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/flagship/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/flagship/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/flagship/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/flagship/patterns.md b/plugins/software-delivery/skills/cloudflare/references/flagship/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/flagship/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/flagship/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/graphql-api/README.md b/plugins/software-delivery/skills/cloudflare/references/graphql-api/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/graphql-api/README.md rename to plugins/software-delivery/skills/cloudflare/references/graphql-api/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/graphql-api/api.md b/plugins/software-delivery/skills/cloudflare/references/graphql-api/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/graphql-api/api.md rename to plugins/software-delivery/skills/cloudflare/references/graphql-api/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/graphql-api/configuration.md b/plugins/software-delivery/skills/cloudflare/references/graphql-api/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/graphql-api/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/graphql-api/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/graphql-api/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/graphql-api/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/graphql-api/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/graphql-api/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/graphql-api/patterns.md b/plugins/software-delivery/skills/cloudflare/references/graphql-api/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/graphql-api/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/graphql-api/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/hyperdrive/README.md b/plugins/software-delivery/skills/cloudflare/references/hyperdrive/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/hyperdrive/README.md rename to plugins/software-delivery/skills/cloudflare/references/hyperdrive/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/hyperdrive/api.md b/plugins/software-delivery/skills/cloudflare/references/hyperdrive/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/hyperdrive/api.md rename to plugins/software-delivery/skills/cloudflare/references/hyperdrive/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/hyperdrive/configuration.md b/plugins/software-delivery/skills/cloudflare/references/hyperdrive/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/hyperdrive/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/hyperdrive/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/hyperdrive/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/hyperdrive/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/hyperdrive/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/hyperdrive/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/hyperdrive/patterns.md b/plugins/software-delivery/skills/cloudflare/references/hyperdrive/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/hyperdrive/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/hyperdrive/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/images/README.md b/plugins/software-delivery/skills/cloudflare/references/images/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/images/README.md rename to plugins/software-delivery/skills/cloudflare/references/images/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/images/api.md b/plugins/software-delivery/skills/cloudflare/references/images/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/images/api.md rename to plugins/software-delivery/skills/cloudflare/references/images/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/images/configuration.md b/plugins/software-delivery/skills/cloudflare/references/images/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/images/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/images/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/images/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/images/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/images/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/images/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/images/patterns.md b/plugins/software-delivery/skills/cloudflare/references/images/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/images/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/images/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/kv/README.md b/plugins/software-delivery/skills/cloudflare/references/kv/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/kv/README.md rename to plugins/software-delivery/skills/cloudflare/references/kv/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/kv/api.md b/plugins/software-delivery/skills/cloudflare/references/kv/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/kv/api.md rename to plugins/software-delivery/skills/cloudflare/references/kv/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/kv/configuration.md b/plugins/software-delivery/skills/cloudflare/references/kv/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/kv/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/kv/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/kv/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/kv/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/kv/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/kv/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/kv/patterns.md b/plugins/software-delivery/skills/cloudflare/references/kv/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/kv/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/kv/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/miniflare/README.md b/plugins/software-delivery/skills/cloudflare/references/miniflare/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/miniflare/README.md rename to plugins/software-delivery/skills/cloudflare/references/miniflare/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/miniflare/api.md b/plugins/software-delivery/skills/cloudflare/references/miniflare/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/miniflare/api.md rename to plugins/software-delivery/skills/cloudflare/references/miniflare/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/miniflare/configuration.md b/plugins/software-delivery/skills/cloudflare/references/miniflare/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/miniflare/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/miniflare/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/miniflare/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/miniflare/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/miniflare/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/miniflare/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/miniflare/patterns.md b/plugins/software-delivery/skills/cloudflare/references/miniflare/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/miniflare/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/miniflare/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/network-interconnect/README.md b/plugins/software-delivery/skills/cloudflare/references/network-interconnect/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/network-interconnect/README.md rename to plugins/software-delivery/skills/cloudflare/references/network-interconnect/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/network-interconnect/api.md b/plugins/software-delivery/skills/cloudflare/references/network-interconnect/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/network-interconnect/api.md rename to plugins/software-delivery/skills/cloudflare/references/network-interconnect/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/network-interconnect/configuration.md b/plugins/software-delivery/skills/cloudflare/references/network-interconnect/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/network-interconnect/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/network-interconnect/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/network-interconnect/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/network-interconnect/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/network-interconnect/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/network-interconnect/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/network-interconnect/patterns.md b/plugins/software-delivery/skills/cloudflare/references/network-interconnect/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/network-interconnect/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/network-interconnect/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/observability/README.md b/plugins/software-delivery/skills/cloudflare/references/observability/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/observability/README.md rename to plugins/software-delivery/skills/cloudflare/references/observability/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/observability/api.md b/plugins/software-delivery/skills/cloudflare/references/observability/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/observability/api.md rename to plugins/software-delivery/skills/cloudflare/references/observability/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/observability/configuration.md b/plugins/software-delivery/skills/cloudflare/references/observability/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/observability/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/observability/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/observability/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/observability/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/observability/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/observability/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/observability/patterns.md b/plugins/software-delivery/skills/cloudflare/references/observability/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/observability/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/observability/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pages-functions/README.md b/plugins/software-delivery/skills/cloudflare/references/pages-functions/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pages-functions/README.md rename to plugins/software-delivery/skills/cloudflare/references/pages-functions/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pages-functions/api.md b/plugins/software-delivery/skills/cloudflare/references/pages-functions/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pages-functions/api.md rename to plugins/software-delivery/skills/cloudflare/references/pages-functions/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pages-functions/configuration.md b/plugins/software-delivery/skills/cloudflare/references/pages-functions/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pages-functions/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/pages-functions/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pages-functions/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/pages-functions/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pages-functions/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/pages-functions/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pages-functions/patterns.md b/plugins/software-delivery/skills/cloudflare/references/pages-functions/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pages-functions/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/pages-functions/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pages/README.md b/plugins/software-delivery/skills/cloudflare/references/pages/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pages/README.md rename to plugins/software-delivery/skills/cloudflare/references/pages/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pages/api.md b/plugins/software-delivery/skills/cloudflare/references/pages/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pages/api.md rename to plugins/software-delivery/skills/cloudflare/references/pages/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pages/configuration.md b/plugins/software-delivery/skills/cloudflare/references/pages/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pages/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/pages/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pages/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/pages/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pages/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/pages/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pages/patterns.md b/plugins/software-delivery/skills/cloudflare/references/pages/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pages/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/pages/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pipelines/README.md b/plugins/software-delivery/skills/cloudflare/references/pipelines/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pipelines/README.md rename to plugins/software-delivery/skills/cloudflare/references/pipelines/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pipelines/api.md b/plugins/software-delivery/skills/cloudflare/references/pipelines/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pipelines/api.md rename to plugins/software-delivery/skills/cloudflare/references/pipelines/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pipelines/configuration.md b/plugins/software-delivery/skills/cloudflare/references/pipelines/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pipelines/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/pipelines/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pipelines/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/pipelines/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pipelines/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/pipelines/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pipelines/patterns.md b/plugins/software-delivery/skills/cloudflare/references/pipelines/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pipelines/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/pipelines/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pulumi/README.md b/plugins/software-delivery/skills/cloudflare/references/pulumi/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pulumi/README.md rename to plugins/software-delivery/skills/cloudflare/references/pulumi/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pulumi/api.md b/plugins/software-delivery/skills/cloudflare/references/pulumi/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pulumi/api.md rename to plugins/software-delivery/skills/cloudflare/references/pulumi/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pulumi/configuration.md b/plugins/software-delivery/skills/cloudflare/references/pulumi/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pulumi/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/pulumi/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pulumi/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/pulumi/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pulumi/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/pulumi/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/pulumi/patterns.md b/plugins/software-delivery/skills/cloudflare/references/pulumi/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/pulumi/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/pulumi/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/queues/README.md b/plugins/software-delivery/skills/cloudflare/references/queues/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/queues/README.md rename to plugins/software-delivery/skills/cloudflare/references/queues/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/queues/api.md b/plugins/software-delivery/skills/cloudflare/references/queues/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/queues/api.md rename to plugins/software-delivery/skills/cloudflare/references/queues/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/queues/configuration.md b/plugins/software-delivery/skills/cloudflare/references/queues/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/queues/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/queues/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/queues/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/queues/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/queues/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/queues/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/queues/patterns.md b/plugins/software-delivery/skills/cloudflare/references/queues/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/queues/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/queues/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2-data-catalog/README.md b/plugins/software-delivery/skills/cloudflare/references/r2-data-catalog/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2-data-catalog/README.md rename to plugins/software-delivery/skills/cloudflare/references/r2-data-catalog/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2-data-catalog/api.md b/plugins/software-delivery/skills/cloudflare/references/r2-data-catalog/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2-data-catalog/api.md rename to plugins/software-delivery/skills/cloudflare/references/r2-data-catalog/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2-data-catalog/configuration.md b/plugins/software-delivery/skills/cloudflare/references/r2-data-catalog/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2-data-catalog/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/r2-data-catalog/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2-data-catalog/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/r2-data-catalog/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2-data-catalog/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/r2-data-catalog/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2-data-catalog/patterns.md b/plugins/software-delivery/skills/cloudflare/references/r2-data-catalog/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2-data-catalog/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/r2-data-catalog/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2-sql/README.md b/plugins/software-delivery/skills/cloudflare/references/r2-sql/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2-sql/README.md rename to plugins/software-delivery/skills/cloudflare/references/r2-sql/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2-sql/api.md b/plugins/software-delivery/skills/cloudflare/references/r2-sql/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2-sql/api.md rename to plugins/software-delivery/skills/cloudflare/references/r2-sql/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2-sql/configuration.md b/plugins/software-delivery/skills/cloudflare/references/r2-sql/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2-sql/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/r2-sql/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2-sql/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/r2-sql/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2-sql/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/r2-sql/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2-sql/patterns.md b/plugins/software-delivery/skills/cloudflare/references/r2-sql/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2-sql/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/r2-sql/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2/README.md b/plugins/software-delivery/skills/cloudflare/references/r2/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2/README.md rename to plugins/software-delivery/skills/cloudflare/references/r2/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2/api.md b/plugins/software-delivery/skills/cloudflare/references/r2/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2/api.md rename to plugins/software-delivery/skills/cloudflare/references/r2/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2/configuration.md b/plugins/software-delivery/skills/cloudflare/references/r2/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/r2/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/r2/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/r2/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/r2/patterns.md b/plugins/software-delivery/skills/cloudflare/references/r2/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/r2/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/r2/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/realtime-sfu/README.md b/plugins/software-delivery/skills/cloudflare/references/realtime-sfu/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/realtime-sfu/README.md rename to plugins/software-delivery/skills/cloudflare/references/realtime-sfu/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/realtime-sfu/api.md b/plugins/software-delivery/skills/cloudflare/references/realtime-sfu/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/realtime-sfu/api.md rename to plugins/software-delivery/skills/cloudflare/references/realtime-sfu/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/realtime-sfu/configuration.md b/plugins/software-delivery/skills/cloudflare/references/realtime-sfu/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/realtime-sfu/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/realtime-sfu/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/realtime-sfu/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/realtime-sfu/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/realtime-sfu/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/realtime-sfu/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/realtime-sfu/patterns.md b/plugins/software-delivery/skills/cloudflare/references/realtime-sfu/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/realtime-sfu/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/realtime-sfu/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/realtimekit/README.md b/plugins/software-delivery/skills/cloudflare/references/realtimekit/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/realtimekit/README.md rename to plugins/software-delivery/skills/cloudflare/references/realtimekit/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/realtimekit/api.md b/plugins/software-delivery/skills/cloudflare/references/realtimekit/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/realtimekit/api.md rename to plugins/software-delivery/skills/cloudflare/references/realtimekit/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/realtimekit/configuration.md b/plugins/software-delivery/skills/cloudflare/references/realtimekit/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/realtimekit/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/realtimekit/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/realtimekit/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/realtimekit/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/realtimekit/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/realtimekit/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/realtimekit/patterns.md b/plugins/software-delivery/skills/cloudflare/references/realtimekit/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/realtimekit/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/realtimekit/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/secrets-store/README.md b/plugins/software-delivery/skills/cloudflare/references/secrets-store/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/secrets-store/README.md rename to plugins/software-delivery/skills/cloudflare/references/secrets-store/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/secrets-store/api.md b/plugins/software-delivery/skills/cloudflare/references/secrets-store/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/secrets-store/api.md rename to plugins/software-delivery/skills/cloudflare/references/secrets-store/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/secrets-store/configuration.md b/plugins/software-delivery/skills/cloudflare/references/secrets-store/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/secrets-store/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/secrets-store/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/secrets-store/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/secrets-store/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/secrets-store/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/secrets-store/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/secrets-store/patterns.md b/plugins/software-delivery/skills/cloudflare/references/secrets-store/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/secrets-store/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/secrets-store/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/smart-placement/README.md b/plugins/software-delivery/skills/cloudflare/references/smart-placement/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/smart-placement/README.md rename to plugins/software-delivery/skills/cloudflare/references/smart-placement/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/smart-placement/api.md b/plugins/software-delivery/skills/cloudflare/references/smart-placement/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/smart-placement/api.md rename to plugins/software-delivery/skills/cloudflare/references/smart-placement/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/smart-placement/configuration.md b/plugins/software-delivery/skills/cloudflare/references/smart-placement/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/smart-placement/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/smart-placement/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/smart-placement/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/smart-placement/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/smart-placement/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/smart-placement/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/smart-placement/patterns.md b/plugins/software-delivery/skills/cloudflare/references/smart-placement/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/smart-placement/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/smart-placement/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/snippets/README.md b/plugins/software-delivery/skills/cloudflare/references/snippets/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/snippets/README.md rename to plugins/software-delivery/skills/cloudflare/references/snippets/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/snippets/api.md b/plugins/software-delivery/skills/cloudflare/references/snippets/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/snippets/api.md rename to plugins/software-delivery/skills/cloudflare/references/snippets/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/snippets/configuration.md b/plugins/software-delivery/skills/cloudflare/references/snippets/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/snippets/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/snippets/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/snippets/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/snippets/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/snippets/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/snippets/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/snippets/patterns.md b/plugins/software-delivery/skills/cloudflare/references/snippets/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/snippets/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/snippets/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/spectrum/README.md b/plugins/software-delivery/skills/cloudflare/references/spectrum/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/spectrum/README.md rename to plugins/software-delivery/skills/cloudflare/references/spectrum/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/spectrum/api.md b/plugins/software-delivery/skills/cloudflare/references/spectrum/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/spectrum/api.md rename to plugins/software-delivery/skills/cloudflare/references/spectrum/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/spectrum/configuration.md b/plugins/software-delivery/skills/cloudflare/references/spectrum/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/spectrum/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/spectrum/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/spectrum/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/spectrum/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/spectrum/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/spectrum/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/spectrum/patterns.md b/plugins/software-delivery/skills/cloudflare/references/spectrum/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/spectrum/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/spectrum/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/static-assets/README.md b/plugins/software-delivery/skills/cloudflare/references/static-assets/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/static-assets/README.md rename to plugins/software-delivery/skills/cloudflare/references/static-assets/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/static-assets/api.md b/plugins/software-delivery/skills/cloudflare/references/static-assets/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/static-assets/api.md rename to plugins/software-delivery/skills/cloudflare/references/static-assets/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/static-assets/configuration.md b/plugins/software-delivery/skills/cloudflare/references/static-assets/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/static-assets/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/static-assets/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/static-assets/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/static-assets/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/static-assets/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/static-assets/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/static-assets/patterns.md b/plugins/software-delivery/skills/cloudflare/references/static-assets/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/static-assets/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/static-assets/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/stream/README.md b/plugins/software-delivery/skills/cloudflare/references/stream/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/stream/README.md rename to plugins/software-delivery/skills/cloudflare/references/stream/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/stream/api-live.md b/plugins/software-delivery/skills/cloudflare/references/stream/api-live.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/stream/api-live.md rename to plugins/software-delivery/skills/cloudflare/references/stream/api-live.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/stream/api.md b/plugins/software-delivery/skills/cloudflare/references/stream/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/stream/api.md rename to plugins/software-delivery/skills/cloudflare/references/stream/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/stream/configuration.md b/plugins/software-delivery/skills/cloudflare/references/stream/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/stream/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/stream/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/stream/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/stream/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/stream/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/stream/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/stream/patterns.md b/plugins/software-delivery/skills/cloudflare/references/stream/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/stream/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/stream/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/tail-workers/README.md b/plugins/software-delivery/skills/cloudflare/references/tail-workers/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/tail-workers/README.md rename to plugins/software-delivery/skills/cloudflare/references/tail-workers/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/tail-workers/api.md b/plugins/software-delivery/skills/cloudflare/references/tail-workers/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/tail-workers/api.md rename to plugins/software-delivery/skills/cloudflare/references/tail-workers/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/tail-workers/configuration.md b/plugins/software-delivery/skills/cloudflare/references/tail-workers/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/tail-workers/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/tail-workers/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/tail-workers/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/tail-workers/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/tail-workers/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/tail-workers/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/tail-workers/patterns.md b/plugins/software-delivery/skills/cloudflare/references/tail-workers/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/tail-workers/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/tail-workers/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/terraform/README.md b/plugins/software-delivery/skills/cloudflare/references/terraform/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/terraform/README.md rename to plugins/software-delivery/skills/cloudflare/references/terraform/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/terraform/api.md b/plugins/software-delivery/skills/cloudflare/references/terraform/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/terraform/api.md rename to plugins/software-delivery/skills/cloudflare/references/terraform/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/terraform/configuration.md b/plugins/software-delivery/skills/cloudflare/references/terraform/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/terraform/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/terraform/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/terraform/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/terraform/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/terraform/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/terraform/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/terraform/patterns.md b/plugins/software-delivery/skills/cloudflare/references/terraform/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/terraform/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/terraform/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/tunnel/README.md b/plugins/software-delivery/skills/cloudflare/references/tunnel/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/tunnel/README.md rename to plugins/software-delivery/skills/cloudflare/references/tunnel/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/tunnel/api.md b/plugins/software-delivery/skills/cloudflare/references/tunnel/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/tunnel/api.md rename to plugins/software-delivery/skills/cloudflare/references/tunnel/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/tunnel/configuration.md b/plugins/software-delivery/skills/cloudflare/references/tunnel/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/tunnel/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/tunnel/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/tunnel/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/tunnel/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/tunnel/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/tunnel/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/tunnel/networking.md b/plugins/software-delivery/skills/cloudflare/references/tunnel/networking.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/tunnel/networking.md rename to plugins/software-delivery/skills/cloudflare/references/tunnel/networking.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/tunnel/patterns.md b/plugins/software-delivery/skills/cloudflare/references/tunnel/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/tunnel/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/tunnel/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/turn/README.md b/plugins/software-delivery/skills/cloudflare/references/turn/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/turn/README.md rename to plugins/software-delivery/skills/cloudflare/references/turn/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/turn/api.md b/plugins/software-delivery/skills/cloudflare/references/turn/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/turn/api.md rename to plugins/software-delivery/skills/cloudflare/references/turn/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/turn/configuration.md b/plugins/software-delivery/skills/cloudflare/references/turn/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/turn/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/turn/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/turn/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/turn/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/turn/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/turn/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/turn/patterns.md b/plugins/software-delivery/skills/cloudflare/references/turn/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/turn/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/turn/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/vectorize/README.md b/plugins/software-delivery/skills/cloudflare/references/vectorize/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/vectorize/README.md rename to plugins/software-delivery/skills/cloudflare/references/vectorize/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/vectorize/api.md b/plugins/software-delivery/skills/cloudflare/references/vectorize/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/vectorize/api.md rename to plugins/software-delivery/skills/cloudflare/references/vectorize/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/vectorize/configuration.md b/plugins/software-delivery/skills/cloudflare/references/vectorize/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/vectorize/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/vectorize/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/vectorize/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/vectorize/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/vectorize/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/vectorize/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/vectorize/patterns.md b/plugins/software-delivery/skills/cloudflare/references/vectorize/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/vectorize/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/vectorize/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/waf/README.md b/plugins/software-delivery/skills/cloudflare/references/waf/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/waf/README.md rename to plugins/software-delivery/skills/cloudflare/references/waf/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/waf/api.md b/plugins/software-delivery/skills/cloudflare/references/waf/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/waf/api.md rename to plugins/software-delivery/skills/cloudflare/references/waf/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/waf/configuration.md b/plugins/software-delivery/skills/cloudflare/references/waf/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/waf/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/waf/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/waf/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/waf/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/waf/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/waf/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/waf/patterns.md b/plugins/software-delivery/skills/cloudflare/references/waf/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/waf/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/waf/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/web-analytics/README.md b/plugins/software-delivery/skills/cloudflare/references/web-analytics/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/web-analytics/README.md rename to plugins/software-delivery/skills/cloudflare/references/web-analytics/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/web-analytics/configuration.md b/plugins/software-delivery/skills/cloudflare/references/web-analytics/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/web-analytics/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/web-analytics/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/web-analytics/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/web-analytics/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/web-analytics/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/web-analytics/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/web-analytics/integration.md b/plugins/software-delivery/skills/cloudflare/references/web-analytics/integration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/web-analytics/integration.md rename to plugins/software-delivery/skills/cloudflare/references/web-analytics/integration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/web-analytics/patterns.md b/plugins/software-delivery/skills/cloudflare/references/web-analytics/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/web-analytics/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/web-analytics/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workerd/README.md b/plugins/software-delivery/skills/cloudflare/references/workerd/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workerd/README.md rename to plugins/software-delivery/skills/cloudflare/references/workerd/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workerd/api.md b/plugins/software-delivery/skills/cloudflare/references/workerd/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workerd/api.md rename to plugins/software-delivery/skills/cloudflare/references/workerd/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workerd/configuration.md b/plugins/software-delivery/skills/cloudflare/references/workerd/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workerd/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/workerd/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workerd/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/workerd/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workerd/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/workerd/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workerd/patterns.md b/plugins/software-delivery/skills/cloudflare/references/workerd/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workerd/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/workerd/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-ai/README.md b/plugins/software-delivery/skills/cloudflare/references/workers-ai/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-ai/README.md rename to plugins/software-delivery/skills/cloudflare/references/workers-ai/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-ai/api.md b/plugins/software-delivery/skills/cloudflare/references/workers-ai/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-ai/api.md rename to plugins/software-delivery/skills/cloudflare/references/workers-ai/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-ai/configuration.md b/plugins/software-delivery/skills/cloudflare/references/workers-ai/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-ai/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/workers-ai/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-ai/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/workers-ai/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-ai/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/workers-ai/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-ai/patterns.md b/plugins/software-delivery/skills/cloudflare/references/workers-ai/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-ai/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/workers-ai/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-for-platforms/README.md b/plugins/software-delivery/skills/cloudflare/references/workers-for-platforms/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-for-platforms/README.md rename to plugins/software-delivery/skills/cloudflare/references/workers-for-platforms/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-for-platforms/api.md b/plugins/software-delivery/skills/cloudflare/references/workers-for-platforms/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-for-platforms/api.md rename to plugins/software-delivery/skills/cloudflare/references/workers-for-platforms/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-for-platforms/configuration.md b/plugins/software-delivery/skills/cloudflare/references/workers-for-platforms/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-for-platforms/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/workers-for-platforms/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-for-platforms/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/workers-for-platforms/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-for-platforms/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/workers-for-platforms/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-for-platforms/patterns.md b/plugins/software-delivery/skills/cloudflare/references/workers-for-platforms/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-for-platforms/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/workers-for-platforms/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-playground/README.md b/plugins/software-delivery/skills/cloudflare/references/workers-playground/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-playground/README.md rename to plugins/software-delivery/skills/cloudflare/references/workers-playground/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-playground/api.md b/plugins/software-delivery/skills/cloudflare/references/workers-playground/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-playground/api.md rename to plugins/software-delivery/skills/cloudflare/references/workers-playground/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-playground/configuration.md b/plugins/software-delivery/skills/cloudflare/references/workers-playground/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-playground/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/workers-playground/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-playground/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/workers-playground/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-playground/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/workers-playground/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-playground/patterns.md b/plugins/software-delivery/skills/cloudflare/references/workers-playground/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-playground/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/workers-playground/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-vpc/README.md b/plugins/software-delivery/skills/cloudflare/references/workers-vpc/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-vpc/README.md rename to plugins/software-delivery/skills/cloudflare/references/workers-vpc/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-vpc/api.md b/plugins/software-delivery/skills/cloudflare/references/workers-vpc/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-vpc/api.md rename to plugins/software-delivery/skills/cloudflare/references/workers-vpc/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-vpc/configuration.md b/plugins/software-delivery/skills/cloudflare/references/workers-vpc/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-vpc/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/workers-vpc/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-vpc/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/workers-vpc/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-vpc/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/workers-vpc/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workers-vpc/patterns.md b/plugins/software-delivery/skills/cloudflare/references/workers-vpc/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workers-vpc/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/workers-vpc/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workflows/README.md b/plugins/software-delivery/skills/cloudflare/references/workflows/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workflows/README.md rename to plugins/software-delivery/skills/cloudflare/references/workflows/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workflows/api.md b/plugins/software-delivery/skills/cloudflare/references/workflows/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workflows/api.md rename to plugins/software-delivery/skills/cloudflare/references/workflows/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workflows/configuration.md b/plugins/software-delivery/skills/cloudflare/references/workflows/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workflows/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/workflows/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workflows/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/workflows/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workflows/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/workflows/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/workflows/patterns.md b/plugins/software-delivery/skills/cloudflare/references/workflows/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/workflows/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/workflows/patterns.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md b/plugins/software-delivery/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md rename to plugins/software-delivery/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/zaraz/README.md b/plugins/software-delivery/skills/cloudflare/references/zaraz/README.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/zaraz/README.md rename to plugins/software-delivery/skills/cloudflare/references/zaraz/README.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/zaraz/api.md b/plugins/software-delivery/skills/cloudflare/references/zaraz/api.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/zaraz/api.md rename to plugins/software-delivery/skills/cloudflare/references/zaraz/api.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/zaraz/configuration.md b/plugins/software-delivery/skills/cloudflare/references/zaraz/configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/zaraz/configuration.md rename to plugins/software-delivery/skills/cloudflare/references/zaraz/configuration.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/zaraz/gotchas.md b/plugins/software-delivery/skills/cloudflare/references/zaraz/gotchas.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/zaraz/gotchas.md rename to plugins/software-delivery/skills/cloudflare/references/zaraz/gotchas.md diff --git a/plugins/external-developer-workflows/skills/cloudflare/references/zaraz/patterns.md b/plugins/software-delivery/skills/cloudflare/references/zaraz/patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/cloudflare/references/zaraz/patterns.md rename to plugins/software-delivery/skills/cloudflare/references/zaraz/patterns.md diff --git a/plugins/external-developer-workflows/skills/devops-engineer/SKILL.md b/plugins/software-delivery/skills/devops-engineer/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/devops-engineer/SKILL.md rename to plugins/software-delivery/skills/devops-engineer/SKILL.md diff --git a/plugins/external-developer-workflows/skills/devops-engineer/references/deployment-strategies.md b/plugins/software-delivery/skills/devops-engineer/references/deployment-strategies.md similarity index 100% rename from plugins/external-developer-workflows/skills/devops-engineer/references/deployment-strategies.md rename to plugins/software-delivery/skills/devops-engineer/references/deployment-strategies.md diff --git a/plugins/external-developer-workflows/skills/devops-engineer/references/docker-patterns.md b/plugins/software-delivery/skills/devops-engineer/references/docker-patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/devops-engineer/references/docker-patterns.md rename to plugins/software-delivery/skills/devops-engineer/references/docker-patterns.md diff --git a/plugins/external-developer-workflows/skills/devops-engineer/references/github-actions.md b/plugins/software-delivery/skills/devops-engineer/references/github-actions.md similarity index 100% rename from plugins/external-developer-workflows/skills/devops-engineer/references/github-actions.md rename to plugins/software-delivery/skills/devops-engineer/references/github-actions.md diff --git a/plugins/external-developer-workflows/skills/devops-engineer/references/incident-response.md b/plugins/software-delivery/skills/devops-engineer/references/incident-response.md similarity index 100% rename from plugins/external-developer-workflows/skills/devops-engineer/references/incident-response.md rename to plugins/software-delivery/skills/devops-engineer/references/incident-response.md diff --git a/plugins/external-developer-workflows/skills/devops-engineer/references/kubernetes.md b/plugins/software-delivery/skills/devops-engineer/references/kubernetes.md similarity index 100% rename from plugins/external-developer-workflows/skills/devops-engineer/references/kubernetes.md rename to plugins/software-delivery/skills/devops-engineer/references/kubernetes.md diff --git a/plugins/external-developer-workflows/skills/devops-engineer/references/platform-engineering.md b/plugins/software-delivery/skills/devops-engineer/references/platform-engineering.md similarity index 100% rename from plugins/external-developer-workflows/skills/devops-engineer/references/platform-engineering.md rename to plugins/software-delivery/skills/devops-engineer/references/platform-engineering.md diff --git a/plugins/external-developer-workflows/skills/devops-engineer/references/release-automation.md b/plugins/software-delivery/skills/devops-engineer/references/release-automation.md similarity index 100% rename from plugins/external-developer-workflows/skills/devops-engineer/references/release-automation.md rename to plugins/software-delivery/skills/devops-engineer/references/release-automation.md diff --git a/plugins/external-developer-workflows/skills/devops-engineer/references/terraform-iac.md b/plugins/software-delivery/skills/devops-engineer/references/terraform-iac.md similarity index 100% rename from plugins/external-developer-workflows/skills/devops-engineer/references/terraform-iac.md rename to plugins/software-delivery/skills/devops-engineer/references/terraform-iac.md diff --git a/plugins/external-developer-workflows/skills/gcloud/SKILL.md b/plugins/software-delivery/skills/gcloud/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/gcloud/SKILL.md rename to plugins/software-delivery/skills/gcloud/SKILL.md diff --git a/plugins/external-developer-workflows/skills/gh-cli/SKILL.md b/plugins/software-delivery/skills/gh-cli/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/gh-cli/SKILL.md rename to plugins/software-delivery/skills/gh-cli/SKILL.md diff --git a/plugins/external-developer-workflows/skills/internationalization-i18n/SKILL.md b/plugins/software-delivery/skills/internationalization-i18n/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/internationalization-i18n/SKILL.md rename to plugins/software-delivery/skills/internationalization-i18n/SKILL.md diff --git a/plugins/external-developer-workflows/skills/internationalization-i18n/references/date-and-time-formatting.md b/plugins/software-delivery/skills/internationalization-i18n/references/date-and-time-formatting.md similarity index 100% rename from plugins/external-developer-workflows/skills/internationalization-i18n/references/date-and-time-formatting.md rename to plugins/software-delivery/skills/internationalization-i18n/references/date-and-time-formatting.md diff --git a/plugins/external-developer-workflows/skills/internationalization-i18n/references/i18next-javascripttypescript.md b/plugins/software-delivery/skills/internationalization-i18n/references/i18next-javascripttypescript.md similarity index 100% rename from plugins/external-developer-workflows/skills/internationalization-i18n/references/i18next-javascripttypescript.md rename to plugins/software-delivery/skills/internationalization-i18n/references/i18next-javascripttypescript.md diff --git a/plugins/external-developer-workflows/skills/internationalization-i18n/references/locale-detection.md b/plugins/software-delivery/skills/internationalization-i18n/references/locale-detection.md similarity index 100% rename from plugins/external-developer-workflows/skills/internationalization-i18n/references/locale-detection.md rename to plugins/software-delivery/skills/internationalization-i18n/references/locale-detection.md diff --git a/plugins/external-developer-workflows/skills/internationalization-i18n/references/number-and-currency-formatting.md b/plugins/software-delivery/skills/internationalization-i18n/references/number-and-currency-formatting.md similarity index 100% rename from plugins/external-developer-workflows/skills/internationalization-i18n/references/number-and-currency-formatting.md rename to plugins/software-delivery/skills/internationalization-i18n/references/number-and-currency-formatting.md diff --git a/plugins/external-developer-workflows/skills/internationalization-i18n/references/pluralization-rules.md b/plugins/software-delivery/skills/internationalization-i18n/references/pluralization-rules.md similarity index 100% rename from plugins/external-developer-workflows/skills/internationalization-i18n/references/pluralization-rules.md rename to plugins/software-delivery/skills/internationalization-i18n/references/pluralization-rules.md diff --git a/plugins/external-developer-workflows/skills/internationalization-i18n/references/python-i18n-gettext.md b/plugins/software-delivery/skills/internationalization-i18n/references/python-i18n-gettext.md similarity index 100% rename from plugins/external-developer-workflows/skills/internationalization-i18n/references/python-i18n-gettext.md rename to plugins/software-delivery/skills/internationalization-i18n/references/python-i18n-gettext.md diff --git a/plugins/external-developer-workflows/skills/internationalization-i18n/references/react-intl-formatjs.md b/plugins/software-delivery/skills/internationalization-i18n/references/react-intl-formatjs.md similarity index 100% rename from plugins/external-developer-workflows/skills/internationalization-i18n/references/react-intl-formatjs.md rename to plugins/software-delivery/skills/internationalization-i18n/references/react-intl-formatjs.md diff --git a/plugins/external-developer-workflows/skills/internationalization-i18n/references/rtl-right-to-left-language-support.md b/plugins/software-delivery/skills/internationalization-i18n/references/rtl-right-to-left-language-support.md similarity index 100% rename from plugins/external-developer-workflows/skills/internationalization-i18n/references/rtl-right-to-left-language-support.md rename to plugins/software-delivery/skills/internationalization-i18n/references/rtl-right-to-left-language-support.md diff --git a/plugins/external-developer-workflows/skills/internationalization-i18n/references/server-side-i18n.md b/plugins/software-delivery/skills/internationalization-i18n/references/server-side-i18n.md similarity index 100% rename from plugins/external-developer-workflows/skills/internationalization-i18n/references/server-side-i18n.md rename to plugins/software-delivery/skills/internationalization-i18n/references/server-side-i18n.md diff --git a/plugins/external-developer-workflows/skills/internationalization-i18n/references/translation-management.md b/plugins/software-delivery/skills/internationalization-i18n/references/translation-management.md similarity index 100% rename from plugins/external-developer-workflows/skills/internationalization-i18n/references/translation-management.md rename to plugins/software-delivery/skills/internationalization-i18n/references/translation-management.md diff --git a/plugins/external-developer-workflows/skills/internationalization-i18n/templates/component-template.tsx b/plugins/software-delivery/skills/internationalization-i18n/templates/component-template.tsx similarity index 100% rename from plugins/external-developer-workflows/skills/internationalization-i18n/templates/component-template.tsx rename to plugins/software-delivery/skills/internationalization-i18n/templates/component-template.tsx diff --git a/plugins/external-developer-workflows/skills/oracle-cloud/SKILL.md b/plugins/software-delivery/skills/oracle-cloud/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/oracle-cloud/SKILL.md rename to plugins/software-delivery/skills/oracle-cloud/SKILL.md diff --git a/plugins/external-developer-workflows/skills/oracle-cloud/references/compute-services.md b/plugins/software-delivery/skills/oracle-cloud/references/compute-services.md similarity index 100% rename from plugins/external-developer-workflows/skills/oracle-cloud/references/compute-services.md rename to plugins/software-delivery/skills/oracle-cloud/references/compute-services.md diff --git a/plugins/external-developer-workflows/skills/oracle-cloud/references/database-services.md b/plugins/software-delivery/skills/oracle-cloud/references/database-services.md similarity index 100% rename from plugins/external-developer-workflows/skills/oracle-cloud/references/database-services.md rename to plugins/software-delivery/skills/oracle-cloud/references/database-services.md diff --git a/plugins/external-developer-workflows/skills/oracle-cloud/references/iam-configuration.md b/plugins/software-delivery/skills/oracle-cloud/references/iam-configuration.md similarity index 100% rename from plugins/external-developer-workflows/skills/oracle-cloud/references/iam-configuration.md rename to plugins/software-delivery/skills/oracle-cloud/references/iam-configuration.md diff --git a/plugins/external-developer-workflows/skills/oracle-cloud/references/networking-architecture.md b/plugins/software-delivery/skills/oracle-cloud/references/networking-architecture.md similarity index 100% rename from plugins/external-developer-workflows/skills/oracle-cloud/references/networking-architecture.md rename to plugins/software-delivery/skills/oracle-cloud/references/networking-architecture.md diff --git a/plugins/external-developer-workflows/skills/oracle-cloud/references/oci-cli-commands.md b/plugins/software-delivery/skills/oracle-cloud/references/oci-cli-commands.md similarity index 100% rename from plugins/external-developer-workflows/skills/oracle-cloud/references/oci-cli-commands.md rename to plugins/software-delivery/skills/oracle-cloud/references/oci-cli-commands.md diff --git a/plugins/external-developer-workflows/skills/oracle-cloud/references/terraform-oci.md b/plugins/software-delivery/skills/oracle-cloud/references/terraform-oci.md similarity index 100% rename from plugins/external-developer-workflows/skills/oracle-cloud/references/terraform-oci.md rename to plugins/software-delivery/skills/oracle-cloud/references/terraform-oci.md diff --git a/plugins/external-developer-workflows/skills/owasp-security/SKILL.md b/plugins/software-delivery/skills/owasp-security/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/owasp-security/SKILL.md rename to plugins/software-delivery/skills/owasp-security/SKILL.md diff --git a/plugins/external-developer-workflows/skills/playwright-best-practices/SKILL.md b/plugins/software-delivery/skills/playwright-best-practices/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/playwright-best-practices/SKILL.md rename to plugins/software-delivery/skills/playwright-best-practices/SKILL.md diff --git a/plugins/external-developer-workflows/skills/plugin-settings/SKILL.md b/plugins/software-delivery/skills/plugin-settings/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/plugin-settings/SKILL.md rename to plugins/software-delivery/skills/plugin-settings/SKILL.md diff --git a/plugins/external-developer-workflows/skills/plugin-settings/examples/create-settings-command.md b/plugins/software-delivery/skills/plugin-settings/examples/create-settings-command.md similarity index 100% rename from plugins/external-developer-workflows/skills/plugin-settings/examples/create-settings-command.md rename to plugins/software-delivery/skills/plugin-settings/examples/create-settings-command.md diff --git a/plugins/external-developer-workflows/skills/plugin-settings/examples/example-settings.md b/plugins/software-delivery/skills/plugin-settings/examples/example-settings.md similarity index 100% rename from plugins/external-developer-workflows/skills/plugin-settings/examples/example-settings.md rename to plugins/software-delivery/skills/plugin-settings/examples/example-settings.md diff --git a/plugins/external-developer-workflows/skills/plugin-settings/examples/read-settings-hook.sh b/plugins/software-delivery/skills/plugin-settings/examples/read-settings-hook.sh old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-developer-workflows/skills/plugin-settings/examples/read-settings-hook.sh rename to plugins/software-delivery/skills/plugin-settings/examples/read-settings-hook.sh diff --git a/plugins/external-developer-workflows/skills/plugin-settings/references/parsing-techniques.md b/plugins/software-delivery/skills/plugin-settings/references/parsing-techniques.md similarity index 100% rename from plugins/external-developer-workflows/skills/plugin-settings/references/parsing-techniques.md rename to plugins/software-delivery/skills/plugin-settings/references/parsing-techniques.md diff --git a/plugins/external-developer-workflows/skills/plugin-settings/references/real-world-examples.md b/plugins/software-delivery/skills/plugin-settings/references/real-world-examples.md similarity index 100% rename from plugins/external-developer-workflows/skills/plugin-settings/references/real-world-examples.md rename to plugins/software-delivery/skills/plugin-settings/references/real-world-examples.md diff --git a/plugins/external-developer-workflows/skills/plugin-settings/scripts/parse-frontmatter.sh b/plugins/software-delivery/skills/plugin-settings/scripts/parse-frontmatter.sh old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-developer-workflows/skills/plugin-settings/scripts/parse-frontmatter.sh rename to plugins/software-delivery/skills/plugin-settings/scripts/parse-frontmatter.sh diff --git a/plugins/external-developer-workflows/skills/plugin-settings/scripts/validate-settings.sh b/plugins/software-delivery/skills/plugin-settings/scripts/validate-settings.sh old mode 100755 new mode 100644 similarity index 100% rename from plugins/external-developer-workflows/skills/plugin-settings/scripts/validate-settings.sh rename to plugins/software-delivery/skills/plugin-settings/scripts/validate-settings.sh diff --git a/plugins/external-developer-workflows/skills/secret-scanning/SKILL.md b/plugins/software-delivery/skills/secret-scanning/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/secret-scanning/SKILL.md rename to plugins/software-delivery/skills/secret-scanning/SKILL.md diff --git a/plugins/external-developer-workflows/skills/secret-scanning/references/alerts-and-remediation.md b/plugins/software-delivery/skills/secret-scanning/references/alerts-and-remediation.md similarity index 100% rename from plugins/external-developer-workflows/skills/secret-scanning/references/alerts-and-remediation.md rename to plugins/software-delivery/skills/secret-scanning/references/alerts-and-remediation.md diff --git a/plugins/external-developer-workflows/skills/secret-scanning/references/custom-patterns.md b/plugins/software-delivery/skills/secret-scanning/references/custom-patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/secret-scanning/references/custom-patterns.md rename to plugins/software-delivery/skills/secret-scanning/references/custom-patterns.md diff --git a/plugins/external-developer-workflows/skills/secret-scanning/references/push-protection.md b/plugins/software-delivery/skills/secret-scanning/references/push-protection.md similarity index 100% rename from plugins/external-developer-workflows/skills/secret-scanning/references/push-protection.md rename to plugins/software-delivery/skills/secret-scanning/references/push-protection.md diff --git a/plugins/external-developer-workflows/skills/security-scan/SKILL.md b/plugins/software-delivery/skills/security-scan/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/security-scan/SKILL.md rename to plugins/software-delivery/skills/security-scan/SKILL.md diff --git a/plugins/external-developer-workflows/skills/terraform-engineer/SKILL.md b/plugins/software-delivery/skills/terraform-engineer/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/terraform-engineer/SKILL.md rename to plugins/software-delivery/skills/terraform-engineer/SKILL.md diff --git a/plugins/external-developer-workflows/skills/terraform-engineer/references/best-practices.md b/plugins/software-delivery/skills/terraform-engineer/references/best-practices.md similarity index 100% rename from plugins/external-developer-workflows/skills/terraform-engineer/references/best-practices.md rename to plugins/software-delivery/skills/terraform-engineer/references/best-practices.md diff --git a/plugins/external-developer-workflows/skills/terraform-engineer/references/module-patterns.md b/plugins/software-delivery/skills/terraform-engineer/references/module-patterns.md similarity index 100% rename from plugins/external-developer-workflows/skills/terraform-engineer/references/module-patterns.md rename to plugins/software-delivery/skills/terraform-engineer/references/module-patterns.md diff --git a/plugins/external-developer-workflows/skills/terraform-engineer/references/providers.md b/plugins/software-delivery/skills/terraform-engineer/references/providers.md similarity index 100% rename from plugins/external-developer-workflows/skills/terraform-engineer/references/providers.md rename to plugins/software-delivery/skills/terraform-engineer/references/providers.md diff --git a/plugins/external-developer-workflows/skills/terraform-engineer/references/state-management.md b/plugins/software-delivery/skills/terraform-engineer/references/state-management.md similarity index 100% rename from plugins/external-developer-workflows/skills/terraform-engineer/references/state-management.md rename to plugins/software-delivery/skills/terraform-engineer/references/state-management.md diff --git a/plugins/external-developer-workflows/skills/terraform-engineer/references/testing.md b/plugins/software-delivery/skills/terraform-engineer/references/testing.md similarity index 100% rename from plugins/external-developer-workflows/skills/terraform-engineer/references/testing.md rename to plugins/software-delivery/skills/terraform-engineer/references/testing.md diff --git a/plugins/external-developer-workflows/skills/using-git-worktrees/SKILL.md b/plugins/software-delivery/skills/using-git-worktrees/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/using-git-worktrees/SKILL.md rename to plugins/software-delivery/skills/using-git-worktrees/SKILL.md diff --git a/plugins/external-developer-workflows/skills/windmill-rust-backend/SKILL.md b/plugins/software-delivery/skills/windmill-rust-backend/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/windmill-rust-backend/SKILL.md rename to plugins/software-delivery/skills/windmill-rust-backend/SKILL.md diff --git a/plugins/external-developer-workflows/skills/write-coding-standards-from-file/SKILL.md b/plugins/software-delivery/skills/write-coding-standards-from-file/SKILL.md similarity index 100% rename from plugins/external-developer-workflows/skills/write-coding-standards-from-file/SKILL.md rename to plugins/software-delivery/skills/write-coding-standards-from-file/SKILL.md diff --git a/plugins/spec-driven-development/.claude-plugin/plugin.json b/plugins/spec-driven-development/.claude-plugin/plugin.json new file mode 100644 index 0000000..f246623 --- /dev/null +++ b/plugins/spec-driven-development/.claude-plugin/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "spec-driven-development", + "version": "1.0.0", + "description": "Reviewed third-party skills for spec-driven development workflows.", + "author": { + "name": "Firstsun Dev" + } +} diff --git a/plugins/spec-driven-development/.codex-plugin/plugin.json b/plugins/spec-driven-development/.codex-plugin/plugin.json new file mode 100644 index 0000000..81fe355 --- /dev/null +++ b/plugins/spec-driven-development/.codex-plugin/plugin.json @@ -0,0 +1,18 @@ +{ + "name": "spec-driven-development", + "version": "1.0.0", + "description": "Reviewed third-party skills for spec-driven development workflows.", + "author": { + "name": "Firstsun Dev" + }, + "skills": "./skills/", + "interface": { + "displayName": "Spec-Driven Development", + "shortDescription": "Reviewed third-party skills for spec-driven development workflows.", + "longDescription": "A collection of reviewed third-party skills for the OpenSpec workflow: proposing, exploring, implementing, verifying, and archiving spec-driven changes.", + "developerName": "Firstsun Dev", + "category": "Developer", + "capabilities": [], + "defaultPrompt": "Use the relevant Spec-Driven Development skill for this task." + } +} diff --git a/plugins/spec-driven-development/skills/draft-openspec-docs/SKILL.md b/plugins/spec-driven-development/skills/draft-openspec-docs/SKILL.md new file mode 100644 index 0000000..dcd28cb --- /dev/null +++ b/plugins/spec-driven-development/skills/draft-openspec-docs/SKILL.md @@ -0,0 +1,46 @@ +--- +name: draft-openspec-docs +description: Collaborative page-drafting mode for the OpenSpec docs. Builds a scratch plan inside the target page (purpose, structure, numbered draft steps), iterates on it with the user, then drafts one section per approved step and cleans up after itself. Use when a page needs a from-scratch rewrite or a new page is being shaped with the user in the loop. +argument-hint: target page +--- + +# Draft OpenSpec docs (scratch-plan workflow) + +You are shaping a docs page with the user in the loop. The page is planned and reviewed inside the page itself, then drafted one section at a time. Load `write-openspec-docs` (the style authority) and `no-ai-slop` before drafting anything. + +## 1. Set up the scratch section + +Strip the page to its title and `>` goal line, then add a working section below them: + +```md +## Scratch: page plan (delete before publish) + +### Purpose + +### Structure +``` + +- **Purpose**: 3-5 dot points. Who the reader is and what they come to look up, what the page covers, what it links out to. Check `docs-lab/README.md` (the page's goal line) and `docs-lab/message-map.md` (the questions routed here) before writing it. +- **Structure**: a numbered list of the page's sections, one line each naming the section and the shape of its content (table, fence, tree, bullets). +- Say what the page will do, never what it won't. Plain words and short bullets; the user reads this in their editor. + +## 2. Iterate until the plan is approved + +- Plan edits are cheap; page edits aren't. Reshape the plan as many times as the user asks before drafting. +- Record every decision in the plan itself, not only in chat. Add a `### Notes` list for follow-ups that belong to other pages and product observations found along the way. +- The user may edit the file directly between turns; their edits are decisions, not drift to revert. +- Surface one open call at a time, with a recommendation. + +## 3. Add the draft plan, then draft step by step + +Once the structure holds, add a `### Draft plan` below the notes: one step per page section, each with an ID and a readable title (`**D1. Goal line and intro**`), ending with a consolidation step (cross-page updates) and a cleanup step. Then: + +- Wait for the user to call a step ID. Draft exactly that step, into the page above the scratch block. +- Verify each fact against source before writing it; a cheap grep beats trust. Reference content shows the raw contract (templates, instructions, config) verbatim in fences, linked to the file on GitHub, rather than paraphrasing it. +- Keep sibling sections on a repeatable sub-structure so the page scans as one system. +- Mark the step `(done)` in the plan, report what landed, and name the next step. + +## 4. Consolidation and cleanup + +- **Consolidation**: update everything that points at the page. The README goal line (verbatim match with the page's `>` line), the message map, the sync config (`website/docs.sync.config.mjs`), and any cross-links found by grepping the tree. Run `node website/scripts/sync-docs.mjs` to validate. +- **Cleanup**: delete the scratch block, run the retrievability and glance tests from `write-openspec-docs` at desktop and narrow widths, and flip the page's message-map row to Answered if its prose landed. diff --git a/plugins/spec-driven-development/skills/openspec-apply-change/SKILL.md b/plugins/spec-driven-development/skills/openspec-apply-change/SKILL.md new file mode 100644 index 0000000..098f63f --- /dev/null +++ b/plugins/spec-driven-development/skills/openspec-apply-change/SKILL.md @@ -0,0 +1,187 @@ +--- +name: openspec-apply-change +description: Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks. +allowed-tools: Bash(openspec:*) +license: MIT +compatibility: Requires openspec CLI. +metadata: + author: openspec + version: "1.0" +--- + +Implement tasks from an OpenSpec change. + +**Store selection:** If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run `openspec store list --json` to discover registered store ids, then pass `--store ` on the commands that read or write specs and changes (`new change`, `status`, `instructions`, `list`, `show`, `validate`, `archive`, `doctor`, `context`, `schemas`, `view`). Once selected, treat `--store ` as sticky for the rest of the workflow. Every unscoped example of those commands below is shorthand: before running it, append the flag. For example, run `openspec status --change "" --json --store ""`, not the unscoped form shown below. Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local `openspec/` root. + +**Input**: Optionally specify a change name (e.g., `/openspec-apply-change add-auth`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes. + +**Steps** + +1. **Select the change** + + If a name is provided, use it. Otherwise: + - Infer from conversation context if the user mentioned a change + - Auto-select if only one active change exists + - If ambiguous, run `openspec list --json` to get available changes and ask the user to select one + + Always announce: "Using change: " and how to override (e.g., `/openspec-apply-change `). + +2. **Check status to understand the schema** + ```bash + openspec status --change "" --json + ``` + Parse the JSON to understand: + - `schemaName`: The workflow being used (e.g., "spec-driven") + - `planningHome`, `changeRoot`, and `actionContext`: planning scope and edit constraints + - Which artifact contains the tasks (typically "tasks" for spec-driven, check status for others) + +3. **Get apply instructions** + + ```bash + openspec instructions apply --change "" --json + ``` + + This returns: + - `contextFiles`: artifact ID -> array of concrete file paths (varies by schema - could be proposal/specs/design/tasks or spec/tests/implementation/docs) + - Progress (total, complete, remaining) + - Task list with status + - Dynamic instruction based on current state + - Optional `context`: current required project instruction input from the selected root + - Optional `operationGuidance`: current advisory guidance for apply + + **Handle states:** + - If `state: "blocked"` (missing artifacts): show message, suggest using `/openspec-continue-change` (if it is not installed, run `openspec status --change "" --json` to see the next artifact and `openspec instructions --change "" --json` for how to create it) + - If `state: "all_done"`: congratulate, suggest archive + - Otherwise: proceed to implementation + + Treat `context` as a required prompt-level input. Read and consider it, and + apply relevant project facts, conventions, and constraints while implementing. + Treat `operationGuidance` as optional additive advice. Read and consider every + entry, and follow entries that are applicable and compatible with the built-in + workflow. + + Keep both fields separate from CLI-returned state, missing artifacts, tasks, + progress, `contextFiles`, and the built-in `instruction`. They are not + evidence of task completion, do not replace the built-in instruction, and do + not permit bypassing a blocked state. If context conflicts with the built-in + instruction, an explicit user choice, or a CLI-controlled value, report the + conflict and preserve the controlling value. If guidance is inapplicable or + conflicts with those controlling inputs, do not follow it and explain why. + These are prompt-level behavior contracts, not enforceable checks. + +4. **Read context files** + + Read every file path listed under `contextFiles` from the apply instructions output. + The files depend on the schema being used: + - **spec-driven**: proposal, specs, design, tasks + - Other schemas: follow the contextFiles from CLI output + + Do not copy `context` or `operationGuidance` verbatim into implementation + files or planning artifacts unless the user separately asks for that content. + +5. **Show current progress** + + Display: + - Schema being used + - Progress: "N/M tasks complete" + - Remaining tasks overview + - Dynamic instruction from CLI + +6. **Implement tasks (loop until done or blocked)** + + For each pending task: + - Show which task is being worked on + - Make the code changes required + - Keep changes minimal and focused + - Mark task complete in the tasks file: `- [ ]` → `- [x]` + - Continue to next task + + **Pause if:** + - Task is unclear → ask for clarification + - Implementation reveals a design issue → suggest updating artifacts + - A task needs work beyond what the spec and tasks describe, or you are tempted to drop, narrow, defer, or accept exceptions to specified behavior to make it fit → surface the added scope and ask; do not absorb it silently + - Error or blocker encountered → report and wait for guidance + - User interrupts + +7. **On completion or pause, show status** + + Display: + - Tasks completed this session + - Overall progress: "N/M tasks complete" + - If all done: suggest archive + - If paused: explain why and wait for guidance + +**Output During Implementation** + +``` +## Implementing: (schema: ) + +Working on task 3/7: +[...implementation happening...] +✓ Task complete + +Working on task 4/7: +[...implementation happening...] +✓ Task complete +``` + +**Output On Completion** + +``` +## Implementation Complete + +**Change:** +**Schema:** +**Progress:** 7/7 tasks complete ✓ + +### Completed This Session +- [x] Task 1 +- [x] Task 2 +... + +All tasks complete! You can archive this change with `/openspec-archive-change`. +``` + +**Output On Pause (Issue Encountered)** + +``` +## Implementation Paused + +**Change:** +**Schema:** +**Progress:** 4/7 tasks complete + +### Issue Encountered + + +**Options:** +1.