From eedab0b254b295d8230b490bfcf4b2ba9bfabfdf Mon Sep 17 00:00:00 2001 From: Andrew Yim Date: Tue, 9 Jun 2026 00:25:21 +0900 Subject: [PATCH] chore(marketplace): add ourdigital-skills local marketplace + fix README install docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add .claude-plugin/marketplace.json: the ourdigital-skills local directory marketplace — 11 plugins. 8 themed skill plugins (core/seo/notion/jamie/notebooklm/gtm/dintel/utils) bundle 66 skills via custom-skills/NN-*/ roots; 3 standalone plugins (mac-optimizer, multi-agent-guide, dintel-bootstrap) expose their own commands/ + skills/. Whole manifest passes 'claude plugin validate'. Fix mac-optimizer + multi-agent-guide plugin.json: drop the invalid object-form 'commands' field ({name,description} objects; the schema expects command path strings) so commands auto-discover from each plugin's commands/ directory. Fix README install instructions: clarify Quick Install scope (commands + venv + creds, not skills); correct the Claude Code skill symlink target to the skill root (was desktop/, which would not load); fix the Claude Desktop import step. Co-Authored-By: Claude Opus 4.8 (1M context) --- .claude-plugin/marketplace.json | 162 ++++++++++++++++++ README.md | 20 ++- .../.claude-plugin/plugin.json | 28 +-- .../.claude-plugin/plugin.json | 12 +- 4 files changed, 180 insertions(+), 42 deletions(-) create mode 100644 .claude-plugin/marketplace.json diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json new file mode 100644 index 0000000..c35b4e3 --- /dev/null +++ b/.claude-plugin/marketplace.json @@ -0,0 +1,162 @@ +{ + "$schema": "https://json.schemastore.org/claude-code-marketplace-schema.json", + "name": "ourdigital-skills", + "owner": { + "name": "OurDigital", + "email": "andrew.yim@ourdigital.org" + }, + "metadata": { + "description": "OurDigital custom Claude skills, grouped into domain plugins (core, SEO, Jamie, D.intelligence, Notion, GTM, NotebookLM, utilities). Enable only the domains you need.", + "version": "1.0.0" + }, + "plugins": [ + { + "name": "ourdigital-core", + "description": "OurDigital core workflows — brand guide, Korean blog & English journal, research-to-blog, Notion-to-deck, visual design, ad copy, training material, back-office docs, skill creator, estimate engine.", + "source": "./", + "strict": false, + "skills": [ + "./custom-skills/01-ourdigital-brand-guide", + "./custom-skills/02-ourdigital-blog", + "./custom-skills/03-ourdigital-journal", + "./custom-skills/04-ourdigital-research", + "./custom-skills/05-ourdigital-document", + "./custom-skills/06-ourdigital-designer", + "./custom-skills/07-ourdigital-ad-manager", + "./custom-skills/08-ourdigital-trainer", + "./custom-skills/09-ourdigital-backoffice", + "./custom-skills/10-ourdigital-skill-creator", + "./custom-skills/96-ourdigital-estimate-engine" + ] + }, + { + "name": "ourdigital-seo", + "description": "Full SEO suite — technical/on-page audits, Core Web Vitals, Search Console, schema validate/generate, local, keyword, SERP, rank tracking, links, content, e-commerce, KPIs, international, AI visibility, knowledge graph, gateway pages, competitor intel, crawl budget, migration, reporting, presales.", + "source": "./", + "strict": false, + "skills": [ + "./custom-skills/11-seo-comprehensive-audit", + "./custom-skills/12-seo-technical-audit", + "./custom-skills/13-seo-on-page-audit", + "./custom-skills/14-seo-core-web-vitals", + "./custom-skills/15-seo-search-console", + "./custom-skills/16-seo-schema-validator", + "./custom-skills/17-seo-schema-generator", + "./custom-skills/18-seo-local-audit", + "./custom-skills/19-seo-keyword-strategy", + "./custom-skills/20-seo-serp-analysis", + "./custom-skills/21-seo-position-tracking", + "./custom-skills/22-seo-link-building", + "./custom-skills/23-seo-content-strategy", + "./custom-skills/24-seo-ecommerce", + "./custom-skills/25-seo-kpi-framework", + "./custom-skills/26-seo-international", + "./custom-skills/27-seo-ai-visibility", + "./custom-skills/28-seo-knowledge-graph", + "./custom-skills/29-seo-gateway-architect", + "./custom-skills/30-seo-gateway-builder", + "./custom-skills/31-seo-competitor-intel", + "./custom-skills/32-seo-crawl-budget", + "./custom-skills/33-seo-migration-planner", + "./custom-skills/34-seo-reporting-dashboard", + "./custom-skills/95-ourdigital-presales-seo" + ] + }, + { + "name": "ourdigital-notion", + "description": "Notion workspace tools — organize/clean up a workspace and write/export content into Notion.", + "source": "./", + "strict": false, + "skills": [ + "./custom-skills/31-notion-organizer", + "./custom-skills/32-notion-writer" + ] + }, + { + "name": "ourdigital-jamie", + "description": "Jamie Plastic Surgery Clinic brand suite — branded content, brand audit, KakaoTalk Kanana FAQ, YouTube SEO + subtitle QA, Instagram management, journal editor, multi-channel marketing.", + "source": "./", + "strict": false, + "skills": [ + "./custom-skills/40-jamie-brand-editor", + "./custom-skills/41-jamie-brand-audit", + "./custom-skills/42-jamie-faq-entry", + "./custom-skills/43-jamie-youtube-manager", + "./custom-skills/44-jamie-youtube-subtitle-checker", + "./custom-skills/45-jamie-instagram-manager", + "./custom-skills/46-jamie-journal-editor", + "./custom-skills/47-jamie-marketing-editor" + ] + }, + { + "name": "ourdigital-notebooklm", + "description": "NotebookLM automation — Q&A with citations, notebook/source/artifact management, studio content generation (podcasts, videos, quizzes), and research/source discovery. Requires the notebooklm-py CLI.", + "source": "./", + "strict": false, + "skills": [ + "./custom-skills/50-notebooklm-agent", + "./custom-skills/51-notebooklm-automation", + "./custom-skills/52-notebooklm-studio", + "./custom-skills/53-notebooklm-research" + ] + }, + { + "name": "ourdigital-gtm", + "description": "Google Tag Manager tooling — container audit/gap analysis, tag/trigger/variable editor (API + ES5 Custom HTML + dataLayer), and QA/validation.", + "source": "./", + "strict": false, + "skills": [ + "./custom-skills/60-gtm-audit", + "./custom-skills/61-gtm-editor", + "./custom-skills/62-gtm-validator" + ] + }, + { + "name": "ourdigital-dintel", + "description": "D.intelligence Agent Corps — brand guardian/editor, document secretary, quotation manager, service architect, marketing manager, back-office manager, account manager, and cross-skill update meta-agent.", + "source": "./", + "strict": false, + "skills": [ + "./custom-skills/70-dintel-brand-guardian", + "./custom-skills/71-dintel-brand-editor", + "./custom-skills/72-dintel-doc-secretary", + "./custom-skills/73-dintel-quotation-mgr", + "./custom-skills/74-dintel-service-architect", + "./custom-skills/75-dintel-marketing-mgr", + "./custom-skills/76-dintel-backoffice-mgr", + "./custom-skills/77-dintel-account-mgr", + "./custom-skills/79-dintel-skill-update" + ] + }, + { + "name": "ourdigital-utils", + "description": "Utility skills — Claude settings/token optimizer, Google Drive organizer, reference-documentation curator suite, and TUI wizard design template.", + "source": "./", + "strict": false, + "skills": [ + "./custom-skills/80-claude-settings-optimizer", + "./custom-skills/82-our-gdrive-organizer", + "./custom-skills/90-reference-curator", + "./custom-skills/92-tui-design-template" + ] + }, + { + "name": "mac-optimizer", + "description": "macOS system health toolkit — read-only audits, cleanup, and security checks. Commands: mac-doctor, mac-packages, mac-environment, mac-security, mac-cleanup, mac-resources (+ mac-optimizer skill).", + "source": "./custom-skills/81-mac-optimizer", + "strict": false + }, + { + "name": "multi-agent-guide", + "description": "Multi-agent collaboration framework — agent hierarchies, ownership rules, guardrails, handoff protocols, and CI/CD integration for Claude, Gemini, Codex, and human agents. Commands: quick-setup, setup-agents (+ multi-agent-guide skill).", + "source": "./custom-skills/91-multi-agent-guide", + "strict": false + }, + { + "name": "dintel-bootstrap", + "description": "Install and verify D.intelligence custom MCP agents (DTM, D.DA, OurSEO) in settings.json; bootstrap a new machine or diagnose a broken install (dintel-bootstrap skill).", + "source": "./custom-skills/94-dintel-bootstrap", + "strict": false + } + ] +} diff --git a/README.md b/README.md index c6825f8..26a5068 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,11 @@ cd our-claude-skills/custom-skills/_ourdigital-shared ./install.sh ``` +This symlinks the global slash commands into `~/.claude/commands/`, sets up the +Python virtual environment, and configures credentials. It does **not** register +skills natively — to load a skill as a Claude Code skill, also symlink it into +`~/.claude/skills/` (see [Usage → Claude Code](#claude-code)). + ## Custom Skills Overview ### OurDigital Core (01-10) @@ -215,16 +220,23 @@ The `_ourdigital-shared/` directory provides: ### Claude Code -Skills are auto-detected via symlinks in `~/.claude/skills/`: +The Quick Install symlinks the **slash commands** into `~/.claude/commands/`. To +also load a skill natively, symlink its **root** directory (which holds the +loadable `SKILL.md`) into `~/.claude/skills/`, using the clean name without the +`NN-` prefix: ```bash -# Install skill symlink -ln -sf /path/to/skill/desktop ~/.claude/skills/skill-name +# From the repo root — symlink a skill into Claude Code +ln -sf "$PWD/custom-skills/16-seo-schema-validator" ~/.claude/skills/seo-schema-validator ``` +> Legacy skills that don't yet have a root `SKILL.md` expose it under +> `code/SKILL.md` instead — symlink `...//code` for those. + ### Claude Desktop -Copy the `desktop/SKILL.md` file to your Claude Desktop skills folder. +Import the skill's `desktop/` folder (containing `SKILL.md` + `skill.yaml`) via +your Claude Desktop skills settings. ## Development diff --git a/custom-skills/81-mac-optimizer/.claude-plugin/plugin.json b/custom-skills/81-mac-optimizer/.claude-plugin/plugin.json index f022091..a920273 100644 --- a/custom-skills/81-mac-optimizer/.claude-plugin/plugin.json +++ b/custom-skills/81-mac-optimizer/.claude-plugin/plugin.json @@ -15,31 +15,5 @@ "packages", "disk-space" ], - "license": "MIT", - "commands": [ - { - "name": "mac-doctor", - "description": "Full macOS system health check — runs all 5 audit modules and presents unified findings" - }, - { - "name": "mac-packages", - "description": "Audit package managers (Homebrew, npm, pip, pyenv) for outdated packages and issues" - }, - { - "name": "mac-environment", - "description": "Audit shell environment — PATH, symlinks, shell configs, and startup time" - }, - { - "name": "mac-security", - "description": "Security posture assessment — SIP, Gatekeeper, Firewall, FileVault, SSH, ports" - }, - { - "name": "mac-cleanup", - "description": "Scan and clean caches, logs, and clutter — shows sizes first, cleans only with consent" - }, - { - "name": "mac-resources", - "description": "Monitor CPU, memory, disk, battery, and identify resource-hungry processes" - } - ] + "license": "MIT" } diff --git a/custom-skills/91-multi-agent-guide/.claude-plugin/plugin.json b/custom-skills/91-multi-agent-guide/.claude-plugin/plugin.json index eb92727..ebf4f4e 100644 --- a/custom-skills/91-multi-agent-guide/.claude-plugin/plugin.json +++ b/custom-skills/91-multi-agent-guide/.claude-plugin/plugin.json @@ -18,15 +18,5 @@ "gemini", "codex" ], - "license": "MIT", - "commands": [ - { - "name": "multi-agent-setup", - "description": "Quick setup for multi-agent collaboration" - }, - { - "name": "setup-agents", - "description": "Full interactive multi-agent setup" - } - ] + "license": "MIT" } -- 2.49.1