Repository navigation
Audit and harden Claude Code plugin ports #10
Description
What to build
Audit and harden the Claude Code plugin ports under claude-code/plugins/ so Claude can track what is ready to ship, what must be completed, and what should be removed/quarantined before the package PR lands.
This is a single tracker issue for the current plugin-port backlog. Keep the work scoped to plugin-port readiness; do not mix in new skill work until this is closed.
Audit snapshot
Audited 15 plugin directories:
adversarial-reviewask-codexawesome-readmebabysit-prbambu-slicerdeep-divegitworkflowgpt-image-2harness-auditharness-worktreeslinearrepo-architectsaas-standardsskill-statsyoutube-analyzer
Current tracked plugin roots:
ask-codexawesome-readmebambu-slicerdeep-divegitworkflowskill-statsyoutube-analyzer
Current untracked plugin roots:
adversarial-reviewbabysit-prgpt-image-2harness-auditharness-worktreeslinearrepo-architectsaas-standards
Security scan result:
gitleaks detect --no-git --source claude-code/plugins --config .gitleaks.toml --redact --verbosefound no leaks.
Global findings:
- All present
plugin.jsonfiles parse as valid JSON and have matching plugin names. - All present
SKILL.mdfiles have frontmatter and matching skill names. .claude-plugin/marketplace.jsonlists only 6 plugin ports:youtube-analyzer,bambu-slicer,deep-dive,ask-codex,skill-stats,awesome-readme.docs/catalog.mdcurrently lists only 2 Claude Code plugin rows:youtube-analyzer,awesome-readme.claude-code/plugins/bambu-slicer/cli/node_modules/exists locally and is large (~52 MB plugin dir). It appears ignored by plugin.gitignore; verify it is never staged or packed.claude-code/plugins/babysit-pr/skills/.DS_Storeexists and must be deleted.
Per-plugin audit
youtube-analyzer
Status: ready-looking.
Findings:
- Has
plugin.json. - Has
README.md. - Has
SKILL.md. - Listed in marketplace.
- Listed in catalog.
awesome-readme
Status: ready-looking.
Findings:
- Has
plugin.json. - Has
README.md. - Has
SKILL.md. - Listed in marketplace.
- Listed in catalog.
ask-codex
Status: mostly ready; catalog gap.
Findings:
- Has
plugin.json. - Has
README.md. - Has
SKILL.md. - Listed in marketplace.
- Missing
docs/catalog.mdClaude Code Plugin row.
bambu-slicer
Status: mostly ready; catalog + local artifact hygiene gap.
Findings:
- Has
plugin.json. - Has
README.md. - Has
SKILL.md. - Listed in marketplace.
- Missing
docs/catalog.mdClaude Code Plugin row. - Local ignored
cli/node_modules/exists; verify not staged and consider deleting locally before final packaging/audit.
deep-dive
Status: mostly ready; catalog gap.
Findings:
- Has
plugin.json. - Has
README.md. - Has
SKILL.md. - Listed in marketplace.
- Missing
docs/catalog.mdClaude Code Plugin row.
skill-stats
Status: mostly ready; catalog gap.
Findings:
- Has
plugin.json. - Has
README.md. - Has
SKILL.md. - Listed in marketplace.
- Missing
docs/catalog.mdClaude Code Plugin row.
adversarial-review
Status: incomplete packaging metadata.
Findings:
- Has
plugin.json. - Has
README.md. - Has
SKILL.md. - Missing marketplace entry.
- Missing
docs/catalog.mdClaude Code Plugin row.
babysit-pr
Status: incomplete packaging metadata + junk file.
Findings:
- Has
plugin.json. - Has
README.md. - Has
SKILL.md. - Contains
claude-code/plugins/babysit-pr/skills/.DS_Store; remove it. - Missing marketplace entry.
- Missing
docs/catalog.mdClaude Code Plugin row.
gitworkflow
Status: incomplete packaging metadata.
Findings:
- Has
plugin.json. - Has
README.md. - Has
SKILL.md. - Missing marketplace entry.
- Missing
docs/catalog.mdClaude Code Plugin row.
gpt-image-2
Status: incomplete packaging metadata.
Findings:
- Has
plugin.json. - Has
README.md. - Has
SKILL.md. - Missing marketplace entry.
- Missing
docs/catalog.mdClaude Code Plugin row.
harness-worktrees
Status: incomplete packaging metadata.
Findings:
- Has
plugin.json. - Has
README.md. - Has
SKILL.md. - Missing marketplace entry.
- Missing
docs/catalog.mdClaude Code Plugin row.
harness-audit
Status: incomplete; broken references.
Findings:
- Has
plugin.json. - Missing
README.md. - Has
SKILL.md. - Missing marketplace entry.
- Missing
docs/catalog.mdClaude Code Plugin row. SKILL.mdreferences missing files:references/symphony-readiness.mdreferences/smoke-ticket-eval.mdreferences/workflow-template.mdreferences/stack-typescript.mdreferences/stack-swift.mdreferences/stack-python.mdreferences/stack-rust.mdreferences/stack-go.md
- Manifest description says it bundles 11 reference files, but the plugin directory currently has only a subset. Either copy the missing refs into the plugin port or narrow the manifest/skill docs to what actually ships.
linear
Status: incomplete; broken workflow references.
Findings:
- Has
plugin.json. - Missing
README.md. - Has
SKILL.md. - Missing marketplace entry.
- Missing
docs/catalog.mdClaude Code Plugin row. SKILL.mdreferences missing workflow files:workflows/CreateProject.mdworkflows/PlanProject.mdworkflows/ManageInitiatives.mdworkflows/ManageMilestones.mdworkflows/ShipDaily.mdworkflows/MonitorCI.mdworkflows/ReviewPR.md
- Manifest advertises 11 workflow playbooks, but only 5 workflow docs are present. Either add the missing workflows or update the manifest/skill docs to match the actual bundle.
repo-architect
Status: incomplete; broken tool reference.
Findings:
- Has
plugin.json. - Missing
README.md. - Has
SKILL.md. - Missing marketplace entry.
- Missing
docs/catalog.mdClaude Code Plugin row. SKILL.mdreferences missingtools/detect-agent.ts. Either add the tool or remove/replace the workflow dependency.
saas-standards
Status: not ready as plugin port.
Findings:
- Missing
.claude-plugin/plugin.json. - Missing
README.md. - Has
SKILL.md. - Missing marketplace entry.
- Missing
docs/catalog.mdClaude Code Plugin row. SKILL.mdreferences missing workflow files:workflows/audit-signup-flow.mdworkflows/scaffold-auth.mdworkflows/audit-state-management.mdworkflows/select-data-layer.md
Acceptance criteria
- Decide which plugin ports should ship now vs remain local/quarantined.
- Remove junk/local artifacts, especially
.DS_Store, and ensure ignorednode_modules/is not staged. - For every plugin that ships, verify it has a valid
.claude-plugin/plugin.json,README.md, and at least one usableSKILL.mdwhen it is skill-based. - For every plugin that ships, either add all referenced
references/,workflows/,tools/,scripts/,assets/, andcli/files, or update docs/manifests so they no longer claim missing files exist. - Add missing marketplace entries for every shipped plugin in
.claude-plugin/marketplace.json. - Add missing
docs/catalog.mdClaude Code Plugin rows for every shipped plugin. - Keep
plugin.json, marketplace metadata, README purpose text, and skill trigger text consistent for each plugin. - Run
gitleaks detect --no-git --source claude-code/plugins --config .gitleaks.toml --redact --verboseand confirm no leaks. - Run
npm run check. - Run
npm run pack:dry. - Verify
git status --short --untracked-files=allonly shows intentional files before staging.
Blocked by
None - can start immediately.
Activity
linear commentedon May 19, 2026
AOJ-615
AojdevStudio commentedon May 19, 2026
Agent Brief
Category: enhancement
Summary: Sync every Claude Code plugin port to its source-of-truth, wire all shipped plugins into
.claude-plugin/marketplace.jsonanddocs/catalog.md, and remove junk artifacts. Ship 9 plugins beyond the 6 already in the marketplace, for 15 plugin ports total.Current behavior:
claude-code/plugins/contains 15 plugin ports. Only 6 are wired into.claude-plugin/marketplace.json(youtube-analyzer,awesome-readme,bambu-slicer,deep-dive,ask-codex,skill-stats). Only 2 are listed indocs/catalog.md(youtube-analyzer,awesome-readme). Several plugin ports have drifted from their source-of-truth skill content (most notablylinearhas 5/13 workflows;harness-auditis missing 4 reference files that live inskills/harness-audit/references/in this same repo;repo-architectandsaas-standardsare missing all of their content). One junk artifact exists (claude-code/plugins/babysit-pr/skills/.DS_Store).saas-standardsis missing.claude-plugin/plugin.jsonentirely.Desired behavior:
Every plugin port under
claude-code/plugins/either ships (synced to source-of-truth + wired into marketplace + catalog + has a valid.claude-plugin/plugin.json+ README + at least one usableSKILL.md) or is removed fromclaude-code/plugins/to a quarantine location with a note. The marketplace and catalog stay consistent with what actually ships.gitleaksandnpm run checkpass.Key interfaces / contracts:
.claude-plugin/plugin.jsonschema — name, description; must parse as JSON; name must match the plugin directory name..claude-plugin/marketplace.json.plugins[]— must contain one entry per shipped plugin. Use the existing 6 entries as the schema template.docs/catalog.md"Claude Code Plugin" rows — must list one row per shipped plugin matching existing row format.SKILL.mdfrontmatter —namemust match plugin name;descriptionshould match (or be the source for) the plugin manifest description so the trigger language stays consistent acrossplugin.json, marketplace metadata, README, and SKILL.md.claude-code/plugins/<plugin>/skills/<plugin>/SKILL.mdplus subdirs (workflows/,references/,tools/,scripts/,assets/,cli/) that match what SKILL.md references. Either every referenced subpath exists, or the reference is removed.Source-of-truth sync map (use this to populate each plugin port):
adversarial-reviewskills/adversarial-review/awesome-readmeask-codexbabysit-pr.DS_Store.bambu-slicercli/node_modules/.deep-divegitworkflowskills/gitworkflow/gpt-image-2harness-auditskills/harness-audit/symphony-readiness.md,smoke-ticket-eval.md,workflow-template.md,stack-go.md). Sync the fullreferences/directory.harness-worktreesskills/harness-worktrees/linear~/.claude/skills/linear/NotionSync.md). Syncworkflows/,tools/linear-graphql.sh,IssueTemplate.md,LinearContext.md. AddREADME.md.repo-architect~/.claude/skills/RepoArchitect/(PascalCase)Tools/detect-agent.ts,Tools/index-tree.ts,Workflows/*.md, all references,Hooks/. Keep plugin port directory as kebab-caserepo-architect/skills/repo-architect/but rename internal Pascal-cased file paths to match what the plugin'sSKILL.mdreferences. AddREADME.md.saas-standards~/.claude/skills/SaaSStandards/(PascalCase).claude-plugin/plugin.json. Syncworkflows/(4 files), reference files,SKILL.md. AddREADME.md.skill-statsyoutube-analyzerEnvironment note:
~/.claude/skills/is local to the maintainer's Mac and not in the repo. If you are running remotely (Symphony / GitHub Action / CI), the 3 global-sourced plugins (linear,repo-architect,saas-standards) will be unsyncable. In that case: halt and ask the maintainer to pre-stage the global skill content into reposkills/<name>/first, then resume.Acceptance criteria:
claude-code/plugins/either ships or is moved out of that directory..claude-plugin/plugin.json(parses as JSON, name matches directory).README.md.SKILL.mdonly references files that exist on disk inside the plugin port..claude-plugin/marketplace.json.plugins[]contains one entry per shipped plugin and zero entries for unshipped ones.docs/catalog.md"Claude Code Plugin" rows include one row per shipped plugin.plugin.jsondescription, marketplace description, README intro purpose statement, and SKILL.mddescriptionare consistent (same trigger language) for each plugin.claude-code/plugins/babysit-pr/skills/.DS_Storeis removed.claude-code/plugins/bambu-slicer/cli/node_modules/is not staged (confirm viagit status --short --untracked-files=all).gitleaks detect --no-git --source claude-code/plugins --config .gitleaks.toml --redact --verbosereports zero findings.npm run checkpasses.npm run pack:drypasses.git status --short --untracked-files=allonly shows intentional files.Out of scope:
SKILL.mdreferences a file that exists nowhere (not in port, not in reposkills/, not in~/.claude/skills/), STRIP the reference fromSKILL.mdrather than writing the file.skills/directory layout.claude-code/plugins/.Suggested order of execution:
claude-code/plugins/babysit-pr/skills/.DS_Store.skills/<name>/source:adversarial-review,gitworkflow,harness-audit,harness-worktrees(plus verify the already-shipping ones haven't drifted).~/.claude/skills/<Name>/source:linear,repo-architect,saas-standards. Halt and escalate if running in an environment where~/.claude/is not accessible.linear,repo-architect,saas-standards.plugin.jsonforsaas-standards..claude-plugin/marketplace.json— add entries foradversarial-review,babysit-pr,gitworkflow,gpt-image-2,harness-audit,harness-worktrees,linear,repo-architect,saas-standards.docs/catalog.md— add Claude Code Plugin rows for the 9 newly-shipped plugins plus the 4 missing rows (ask-codex,bambu-slicer,deep-dive,skill-stats).gitleaks,npm run check,npm run pack:dry,git status --short --untracked-files=all.fix(plugins): complete issue #10 port hardening (#33)
AojdevStudio commentedon Jul 18, 2026
Fleet merge provenance note
PR #33 merged into
mainat2026-07-18T22:19:00Zas commit3b9ed17d27b7d5776b2c90622d2e504ef14332a4under GitHub actorAojdevStudio.The
au-control-paneorchestrator did not issue a merge command, and theclaudex-implworker transcript explicitly reports that it did not issue one. GitHub's timeline contains a directMergedEventand noAutoMergeEnabledEvent. No review-queue verdict had been posted before the merge.No revert is being attempted. The merged diff is now undergoing a heightened retrospective review. Any confirmed finding will be handled through a follow-up pull request.
fix(plugins): post-merge remediation for #33 (validator hardening, pa…