Commit graph

59 commits

Author SHA1 Message Date
Claude
2e07d13fc8
docs(audit): add productivity domain audit record + update codex sync domain description
Audit of all 7 productivity skills (checklist verdicts, script smoke tests,
harness agentic signals) plus coverage gap analysis identifying the three
missing lanes: weekly-review (GTD), deep-work (time-blocking), meetings
(cost gate + agenda + action items).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TQLKzYb1bR2LYqwYUupm5f
2026-07-17 06:03:12 +00:00
Claude
3349509db4
fix(scripts,plugins): exclude tool-sync dirs from convert.sh; rename si plugin's status/review skills
- convert.sh's SKILL.md finder now excludes .claude, .codex, .codex-plugin,
  .gemini, .hermes, .vibe, and docs — these are generated/symlinked mirrors
  for other tools, not source-of-truth skills. On platforms where git
  materializes symlinks as plain text (e.g. Git Bash on Windows), the
  mirrored files were being parsed as SKILL.md candidates and failing
  frontmatter extraction, flooding the run with "Skipping invalid
  frontmatter" warnings (#897).

- Renamed the self-improving-agent (si) plugin's `status` and `review`
  skills to `memory-status` and `memory-review` so their bare `name:`
  values no longer collide with Claude Code's built-in `/status` and
  `/review` commands (#885). Updated all in-plugin references
  (CLAUDE.md, README, agents, hooks, references, settings.json,
  plugin.json) to the new `/si:memory-status` / `/si:memory-review`
  invocations.

Fixes #897 (duplicate of #896), #885.
2026-07-08 05:37:03 +00:00
Claude
f38ab5260c
fix(scripts): fail loudly when a README badge is missing/renamed
Per PR #891 review: check_readme_badges silently skipped a badge whose regex
found no match, so a renamed or removed shield would quietly drop out of the
gate — the same silent-drift class this gate exists to catch. Now a missing
badge appends a mismatch (mirrors run_check's "no recognizable counter claims
found" precedent), so it fails loudly. Verified: renaming a badge trips exit 1;
the current README still passes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L4JerbGv6vqitUMhqHPA9g
2026-07-03 06:46:37 +00:00
Claude
17d369e9d6
style(scripts): drop stray type annotation in derive_counters run_check
Per PR #891 review: `mismatches: list = []` was an inconsistent drive-by
annotation vs the un-annotated locals elsewhere in the file. Revert to keep
the diff minimal and the style consistent. No behavior change.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L4JerbGv6vqitUMhqHPA9g
2026-07-03 06:42:52 +00:00
Claude
a05c4556bc
chore(engineering): agent-harness review cleanups + README badge CI gate
Follow-up to the merged agent-harness PR (#890), applying the automated review nits:

- loop_controller.py: drop unused `import shlex`; simplify cmd_record's exit-code
  expression to the clearer form already used in cmd_verify (behavior-equivalent)
- SKILL.md + references/verification_discipline.md: document that plan/state files are
  a trust boundary (verify shell-executes their cmd strings) — run the harness only on
  files produced by goal_compiler, never untrusted input
- README.md: bump Agents 96->97 and Commands 102->103 badges (drift the previous PR
  missed because derive_counters didn't validate these badges)
- scripts/derive_counters.py: add check_readme_badges — validates the Skills/Agents/
  Commands shields against derived counts, closing the CI blind spot that let the badge
  drift ship. Verified it fails (exit 1) on drift and passes when correct.

All gates green: plugin.json (83 OK), smoke --help/--sample (600 pass), JSON output
(0 fail), path linter (0 findings), derive_counters --check (pass).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L4JerbGv6vqitUMhqHPA9g
2026-07-03 06:10:46 +00:00
Claude
8e7e165ab8
chore: CHANGELOG backfill + per-domain counter validation
Two housekeeping items surfaced during the contributor-PR hardening session.

1. CHANGELOG backfill — add [Unreleased] entries for five skills that merged
   without their own changelog blocks (roast #865, named-persona-adversarial-review
   #867, agent-decision-receipts #868/#869, zero-hallucination-coder #870,
   deep-research #872). Earlier merges updated headline counters but not this log.

2. Per-domain counter validation — scripts/derive_counters.py --check now also
   validates the README "Skills Overview" per-domain table: each domain row's
   count must equal the SKILL.md count in its linked folder, and every on-disk
   domain must have a row. Previously --check only validated headline aggregates,
   so per-domain rows drifted silently. Verified: passes on the fixed state, fails
   on a wrong count, fails on a missing row, and parses exactly the 18 real domain
   rows (bold-first-cell install/skills-vs-agents tables are not false-flagged).

   Trued up the README table to make the new check pass: fixed six stale row
   counts (engineering-team 51->52, engineering 78->80, marketing 47->48,
   productivity 6->7, ra-qm-team 18->19, c-level 66->68), added the missing
   markdown-html row (5), and named the newly-merged skills in their domain
   descriptions. Per-domain rows now sum to the 354 headline.

Headline aggregates unchanged (354 skills / 722 refs / 82 plugins / 18 domains).
2026-07-01 06:06:59 +00:00
Zeno
57e27f8574
Fix bugs and improve inline Python script functionality (#857)
* bug: several bug fixes and improvements (see comments)

- [bug] fixed the shebang for portability (wouldn't run on my system)
- [feat] improved the inline python scripts; the `--all` and `--category` flags now read/dedupe names from the `skills-index.json` file so that stale entries (e.g. `.codex/skills/playwright-pro`) do not get treated as installable skills
- [bug] fixed the counter from installed++/failed++ to ++installed/++failed, which caused the script to exit upon installing the first skill
- [style] formatting fix

* fix(codex-install): improve error handling and validation for skill and category installation

---------

Co-authored-by: Alireza Rezvani <5697919+alirezarezvani@users.noreply.github.com>
2026-07-01 04:32:28 +02:00
Claude
3b12156541
fix(ci): allowlist 3 arquiteto-de-empresa teaching-example path refs
Gate G1 (check_paths.py --all) was failing on dev's arquiteto-de-empresa
skill, surfaced into this branch by the dev merge. The 3 references are
genuine false positives: two are inside a markdown code-example showing
OKF bundle link syntax in the user's generated output, and one is a
command doc pointing at its sibling skill's references/ dir. Added to
check_paths_allowlist.txt per the workflow's documented remedy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KEJH6wwyaEs1d6AAca2HLR
2026-06-24 12:48:43 +00:00
Claude
82c5aea9f0
Merge origin/dev: reconcile docs redesign with upstream skill changes
- Resolve conflicts: keep redesigned skills index, take dev's cs-aeo link
  fix, union of DOMAIN_SEO_CONTEXT entries in generate-docs.py
- Regenerate catalog on the merged tree (dev's agent/command description
  updates, removed ai-seo/release-manager/command-guide, restructured
  universal-scraping-architect)
- Update counters to post-merge truth from scripts/derive_counters.py:
  345 skills, 78 plugins (14 bundles + 64 standalone), 570+ Python tools
- Add redirects for upstream-removed pages (ai-seo -> aeo,
  release-manager -> changelog-generator, command-guide -> engineering index)
- Add compliance-os bundle to bundle tables; rebuild 78-plugin table from
  marketplace.json
- Teach the generator to rewrite repo-root-relative source links to GitHub
  URLs — mkdocs build --strict now passes with zero warnings

https://claude.ai/code/session_015bYZ97nV4oRb3LbxCRFVcP
2026-06-11 15:52:42 +00:00
Claude
0a330f3759
feat(docs): redesign documentation site — clay design system, accurate counters, markdown-html domain pages
- Rewrite docs/stylesheets/extra.css with a warm clay/coral design system:
  aurora hero with eyebrow badge and stats strip, gradient card hairlines,
  pill tool badges, numbered steps component, reduced-motion support
- Rewrite homepage copy: plain-language 'What is an Agent Skill?' section,
  3-step how-it-works, all 17 domain cards, guides section, accurate stats
  (337 skills / 17 domains / 66 plugins)
- Add missing markdown-html domain to generate-docs.py (17th domain) and
  regenerate catalog: +12 new pages (md-document/md-review/md-slides skills,
  cs-markdown-html-orchestrator + cs-scraping-architect agents, 7 commands)
- Fix skill-internal link rewriting in the generator (./SIBLING.md and
  ALL-CAPS companion files now resolve to GitHub URLs) — mkdocs --strict
  now passes with zero warnings
- Refresh stale counters site-wide (177/192/204/311/338 → 337) in skills
  index, plugins index, getting-started, integrations, custom-gpts, guides
- Rebuild plugins page from live marketplace.json: 13 domain bundles + 53
  standalone plugins, accurate bundle table and full 66-plugin listing
- Add Guides section to nav (5 existing SEO guide pages, URLs unchanged),
  point homepage tool badges at tool-specific guides and real anchors
- Tighten site_description and JSON-LD keywords for 'agent skills' /
  'agent plugins' queries; update announce bar to the markdown-html launch
- No existing slugs or URLs changed — all edits are additive or in-place

https://claude.ai/code/session_015bYZ97nV4oRb3LbxCRFVcP
2026-06-11 15:45:00 +00:00
Claude
0f132cea13
polish: PR #838 second-pass nits (non-blocking)
- calculate_cac.py: hoist 'import argparse' to module top per repo convention
- smoke_scripts.py: comment the exit-1-over-exit-3 precedence
- check_paths_allowlist.txt: reword the etc/passwd note ('outside repo root if
  resolved literally', not 'deep checkouts')
- cs-scraping-architect.md: clarify both warning and error share exit 1 — parse
  the JSON status field for the distinction

https://claude.ai/code/session_019AJddAL1NADWMXsy1qNPQF
2026-06-11 15:40:45 +00:00
Claude
3d60318154
docs(scripts,agents): PR #838 review items 1-3
- smoke_scripts.py: --help epilog now documents the exit-code table
  (0 ok / 1 smoke failure / 3 stale exceptions)
- calculate_cac.py: real argparse --help with an epilog stating the
  edit-example_data limitation and the planned --file/stdin enhancement
- cs-scraping-architect.md: add 'model: sonnet' to match sibling agents

Item 4 (senior-security references) was a non-issue — all three referenced
files exist and the now-blocking path gate is green.

https://claude.ai/code/session_019AJddAL1NADWMXsy1qNPQF
2026-06-11 15:36:35 +00:00
Claude
897c5eea3f
Merge remote-tracking branch 'origin/dev' into claude/skills-plugins-audit-vrttx1
# Conflicts:
#	.github/workflows/ci-quality-gate.yml
2026-06-11 15:36:35 +00:00
Claude
cfe7f8f2d2
fix(ci): allowlist path-traversal payload in security-pen-testing SKILL.md
The blocking G1 path gate flagged '../../../etc/passwd' — a path-traversal
ATTACK EXAMPLE in a pen-testing skill's attack-vector table, not a real file
reference. It passed locally only because a deep checkout makes ../../../ climb
to the host's real /etc/passwd; on the CI runner it doesn't resolve. Allowlisted
with a reason, per the gate's documented edge-case process.

https://claude.ai/code/session_019AJddAL1NADWMXsy1qNPQF
2026-06-11 15:30:43 +00:00
Claude
028dc13b35
feat(tooling): JSON-output sample gate (G9) + --sample fixtures (#654)
Implements issue #654 Option A (embedded-sample convention) plus the
verification harness the issue asked for:

- scripts/smoke_json_output.py — new advisory gate (G9) that discovers
  every tool whose --help advertises JSON output, runs <tool> --sample
  <json-flag>, and asserts the stdout parses as JSON. Tools advertising
  JSON without --sample are reported as 'uncovered' (a backlog, not a
  failure) so the gate can be adopted incrementally; --strict flips that
  to a hard failure once coverage is high. Wired into ci-quality-gate.yml
  alongside G8.
- Added --sample embedded fixtures to the 5 tools named in #654:
  error_budget_calculator, slo_review, blast_radius_calculator,
  audit_log_analyzer, api_linter. Their required args are now optional
  when --sample is passed; missing-arg behavior is unchanged otherwise.
- Fixed 4 tools the new gate surfaced (prompt_rater, coach_tip_classifier,
  cheat_code_filter, redaction_linter): their --sample path printed human
  text and ignored --json; it now honors the JSON flag.
- Synced the 3 dual-published standalone copies (slo-architect x2,
  chaos-engineering) so the drift guard stays green.

Gate now reports 16 tools covered, 16 verified, 0 failures.

https://claude.ai/code/session_01CUWsrUNZP9jpxvAwq67UiT
2026-06-11 15:29:39 +00:00
Claude
0c2d8c0180
fix(ci,scripts): post-merge review items M1/M2/A3/A4
- enforce-pr-target.yml: drop the no-op split/trim/join on the comment body
  (array join already produces the final text)
- ci-quality-gate.yml: safety findings now emit a workflow warning instead
  of being silently absorbed by '|| true'
- check_paths.py: fnmatch import hoisted to module level
- smoke_scripts.py: stale exception entries now fail the gate (exit 3) so
  scripts/smoke_exceptions.txt stays tidy

https://claude.ai/code/session_019AJddAL1NADWMXsy1qNPQF
2026-06-11 15:23:27 +00:00
Claude
bf33d32051
fix: third-pass review items — counter logic, FDA example annotation, audit/ policy
- derive_counters.py: python_tools condition simplified to the equivalent
  parts[0] != 'scripts' (reviewer M1); dead root_scripts variable removed;
  --check still passes with identical values
- fda-consultant-specialist quick-start: 820.30 example annotated as a legacy
  checklist key mapping to ISO 13485 §7.3 (reviewer m3 — note: switching the
  example to '--section 7.3' as suggested would break; the checker's CLI keys
  are intentionally the legacy 820.x checklist indices, documented in --help)
- CLAUDE.md: audit/ directory documented as an intentional public audit
  record, distinct from the gitignored AUDIT_REPORT.md (reviewer m2)

Reviewer m1 (agents/CLAUDE.md 'engineering-team/' link) is a false positive:
agents/engineering-team/ exists as an agents subfolder containing exactly the
two linked files; check_paths.py confirms 0 unresolvable references.

https://claude.ai/code/session_019AJddAL1NADWMXsy1qNPQF
2026-06-11 15:11:00 +00:00
Claude
2e600b6454
Merge remote-tracking branch 'origin/dev' into claude/skills-plugins-audit-vrttx1
# Conflicts:
#	.claude-plugin/marketplace.json
#	.codex/skills-index.json
2026-06-11 03:59:40 +00:00
Claude
3394eda8bc
fix: resolve open GitHub issues #805 #806 #807 #748 #785
- #805: insert missing skills/ segment in all per-skill install commands
  across 5 domain READMEs (engineering-team, project-management,
  marketing-skill, c-level-advisor, ra-qm-team); every path now resolves
  to a real directory
- #806: pr-review-expert SKILL.md curl examples now pass Jira/Linear
  credentials via stdin curl config (-K -) instead of argv, with a netrc
  note, so tokens never reach the process list or shell history
- #807: implement the documented interfaces for the three senior-devops
  scripts (terraform_scaffolder: aws/gcp/azure module skeletons with
  optional terraform fmt/validate; pipeline_generator: GitHub Actions /
  CircleCI configs with build,test,security,deploy stages and runtime
  detection; deployment_manager: blue-green/rolling manifests + kubectl
  runbooks with deploy/rollback/analyze subcommands); align SKILL.md
- #807: ci-cd-pipeline-builder stack_detector now detects Terraform and
  Docker stacks and emits their lint/test/build commands; downstream
  pipeline_generator gains a generic job for non-node/python/go stacks
- #748: sync-vibe-skills.py defaults to a flat layout one level below
  ~/.vibe/skills (the only depth Vibe discovers), with collision-safe
  naming and a --nested flag for the legacy namespaced layout
- #785: new scripts/sync-codebuff-skills.py syncs all skills into
  Codebuff's ~/.agents/skills using the same flat-layout machinery

https://claude.ai/code/session_01CUWsrUNZP9jpxvAwq67UiT
2026-06-11 03:34:13 +00:00
Claude
c84e322a99
chore(registry,ci): derive counters, register 11 plugins, add CI guards
- marketplace.json: 11 shipped-but-unregistered plugins added (compliance-os,
  snowflake-development, behuman, claude-coach, grill-with-docs,
  llm-cost-optimizer, prompt-governance, business-investment-advisor,
  video-content-strategist, compliance-team-eu-ai-act, compliance-team-iso42001)
  -> 77/77 registered; self-contradicting counts fixed
- counters reconciled to derived ground truth across README.md, CLAUDE.md,
  agents/CLAUDE.md, marketplace.json (346 skills / 17 domains / 584 tools /
  701 references / 93 agents / 99 commands / 77 plugins)
- new guards: scripts/derive_counters.py (--check, gate G3),
  scripts/check_dual_publish.py (11 pairs, gate G4),
  scripts/smoke_scripts.py + smoke_exceptions.txt (gate G8)
- meta-tooling fixes (gate G9): generate-docs.py --help no longer rewrites
  docs/ as a side effect; audit_skills.py --help instant; markdown-html added
  to hermes/vibe/gemini sync scripts and generate-docs domain maps
- ci-quality-gate.yml: compileall completed 9 -> 17 domains; 4 new advisory
  gate steps (continue-on-error pending burn-in)

Verification (all green): check_plugin_json --all 77 OK; check_paths --all 0
findings; check_dual_publish 0 drifted; smoke 586 pass / 0 fail / 11 by-design
exceptions; derive_counters --check pass; compileall 17 domains rc=0.

https://claude.ai/code/session_019AJddAL1NADWMXsy1qNPQF
2026-06-10 14:33:19 +00:00
Claude
a088c8ba77
fix: phantom-path sweep — 888 unresolvable references to zero
A directory reorg added a skills/ path segment; hundreds of references never
followed. This sweep repoints every path-like reference in SKILL.md, agents,
commands, orchestration, and templates to verified on-disk targets:

- 30 root commands + 19 root agents: missing skills/ segment inserted
- 7 c-level persona agents: 17 hallucinated reference filenames substituted
  with the real files (e.g. okr_execution.md -> process_frameworks.md)
- 5 research skills: phantom scripts/office/validate.py step replaced with a
  runnable stdlib zip-integrity check
- email agents: skills frontmatter corrected to productivity/email
- orchestration/ORCHESTRATION.md + templates: stale paths fixed;
  agent-template now requires trigger phrasing in descriptions (root cause)
- 76 more files across engineering, c-level-advisor, compliance-os,
  research-ops, ra-qm, marketing, productivity; dual-publish pairs mirrored
- dead refs dropped/replaced where no target ever existed (REGISTRY.md,
  trend_analyzer.py, cursor-microinteractions.md)

New: scripts/check_paths.py linter (CI gate G1) + narrow allowlist for
teaching examples. Verified: 540 files scanned, 0 unresolvable.

https://claude.ai/code/session_019AJddAL1NADWMXsy1qNPQF
2026-06-10 14:33:00 +00:00
D4R7HV493R
9885d82df0
feat(marketing): add cs-webinar-marketer agent + /cs:webinar command (#789)
Adds cs-webinar-marketer agent + /cs:webinar command wiring the webinar-marketing skill (SKILL.md, stdlib funnel scorer, references, templates, evals) under marketing-skill/skills/. Includes a Windows cross-platform fix to scripts/generate-docs.py (normalizes os.sep to forward slashes — verified no-op on Linux) and regenerated docs. Verified: scorer runs (89/100 sample), frontmatter valid, clean merge into dev with no conflicts.
2026-06-03 16:15:44 +02:00
Claude
8d1f2dec97
feat(markdown-html): add v2.10.0 foundation — orchestrator + design-system
Operationalizes Shihipar's "Claude Code HTML output" essay (Medium, 2026):
markdown collapses past ~100 lines for agent-generated artifacts; HTML
restores density, clarity, shareability, and lightweight interaction.

This foundation PR ships 2 of 5 planned skills:

- markdown-html-orchestrator (context: fork): deterministic doctype
  classifier scoring filename hints + content signals across DOCUMENT /
  REVIEW / SLIDES; silent-routes above two-signal threshold; refuses
  inputs < 100 lines per Shihipar; refuses without design-system
  onboarding. 3 stdlib tools: doctype_classifier.py, route_explainer.py
  (the never-silently-chain enforcer + onboarding gate), and
  output_path_resolver.py (kebab slug + collision suffix).

- design-system: one-time onboarding wizard (10 questions for brand
  primary/accent HEX + heading + body Google Fonts + editorial/technical/
  minimal/playful style + default output dir + syntax theme + TOC
  behavior + optional logo/company). WCAG-AA-validated 12 CSS custom
  properties derived in HSL space; refuses to save if body-text or link
  contrast fails 4.5:1, or if the output dir is unwritable. Pattern
  lifted from research-ops/skills/clinical-research/scripts/ (onboard.py
  + config_loader.py shape) and marketing/landing/scripts/
  (brand_palette_validator.py WCAG + HSL math). Precedence: project >
  global > defaults; MARKDOWN_HTML_NO_CONFIG=1 bypasses.

Plus cs-markdown-html-orchestrator agent, 3 slash commands
(/cs:markdown-html router, /cs:grill-markdown-html 5-question grill,
/cs:design-system onboarding surface), 6 reference docs each citing 5-7
authoritative sources (Tufte, Shihipar, Bret Victor, Maggie Appleton,
Bartosz Ciechanowski, Amelia Wattenberger; WCAG 2.2, Ellen Lupton,
Adobe Spectrum, Sara Soueidan, Material Design 3), 1 JSON schema asset,
domain README + CLAUDE.md.

Converter sub-skills (md-document, md-review, md-slides) land in v2.10.1
follow-up PRs. All three will import design-system/scripts/config_loader.py
for shared brand tokens.

Repo-level updates: scripts/sync-codex-skills.py SKILL_DOMAINS adds
markdown-html → documentation category; .claude-plugin/marketplace.json
adds markdown-html-skills plugin entry (63 → 64 plugins, 16 → 17
domains); root CLAUDE.md gets nav-map row, structure-tree entry, and
v2.10.0 release-notes block.

Validation:
- check_plugin_json.py → OK
- sync-codex-skills.py --dry-run → 2 new symlinks, total 338 → 340
- skill_description_validator.py → PASS on both SKILL.md files
- skill_review_checklist_runner.py → 5/6 PASS (under-100-lines advisory
  fires; same as research-ops orchestrator)
- All 6 Python tools smoke-tested with --help and --sample
- End-to-end onboarding round-trip works (--defaults, --set, --reset)
- WCAG-fail hard refusal fires correctly on impossible color combos
- Classifier on the repo's own CLAUDE.md correctly returns
  needs-clarification (15 vs 13 — document signals tie with slides
  signals because of multiple --- HRs); orchestrator asks rather than
  silently chains.

Distinct from Anthropic's official Playground plugin (interactive
prompt-tuning controls with sliders/knobs/prompt-copy-back) and from
marketing/landing/ (landing-page generator from scratch).

https://claude.ai/code/session_01BK2KoQot1U7J5oSosrCQdc
2026-05-29 14:19:06 +00:00
Claude
7db491054b
docs: full repo doc resync (v2.9.0) — wire research-ops + compliance-os into docs site
Ran the /update-docs post-creation pipeline across the whole repo.

Docs site (MkDocs):
- generate-docs.py now covers 16 domains (added research-ops at order 15
  and compliance-os at order 16 + its embedded-agent mapping). Regenerated
  500 pages (328 skills + 89 agents + 83 commands); build passes.
- mkdocs.yml: site_description refreshed to 338/16/51+/87+ + v2.9.0; added
  the Research Operations and Compliance OS skills nav sections, the
  cs-research-ops-orchestrator + 8 compliance-os agents, and the 6
  research-ops command entries.
- docs/index.md: title, description, hero, the five "What's Inside" cards
  (338 skills, 51+ agents, 533 tools, 62 plugins, 87+ commands), corrected
  six domain-card counts, and added a Research Operations domain card.
- docs/getting-started.md: description, Vibe count, FAQ, bundles table
  (six corrected counts) + a research-ops bundle row.

Cross-platform sync (all four scripts gained a compliance-os entry):
- Codex: compliance-os 9 skills symlinked + index; unrelated run/status/
  review symlink churn reverted to keep the diff focused.
- Gemini: 9 compliance-os SKILL.md mirrors + index.
- Vibe (repo target): 9 compliance-os symlinks + index.
- Hermes/Vibe domain lists updated for future syncs.

compliance-os was a tracked 9-skill domain previously absent from the docs
site and the codex/gemini/vibe indices; it is now fully wired in.

The MkDocs `site/` build output is gitignored and excluded.

https://claude.ai/code/session_01PUNmQVE4WYvcrzpq2anC3D
2026-05-27 06:32:03 +00:00
Claude
caafb47daf
feat(research-ops): add enterprise Research Operations domain
New top-level research-ops/ domain — the managed, cross-functional
counterpart to the academic research/ domain. Single domain plugin
(commercial/ pattern): orchestrator (context: fork) + 4 sub-skills:
clinical-research (study design), research-finance (R&D program finance),
market-research (sizing/survey/segmentation methodology), product-research
(user-research method + insight repository).

12 stdlib-only deterministic Python tools (all pass --help/--sample/--output
json), 12 reference docs (5-7 sources each), 4 asset templates, a
cs-research-ops-orchestrator agent, and 6 commands (router + grill + 4
per-skill). Hard rules enforced via persona + anti-patterns: clinical
outputs are estimates with a named clinical owner, finance routes
capitalize-vs-expense to a named finance owner, market sizes show method
(both ways) + assumptions, product insights require cross-participant
recurrence. Explicit distinct_from framing keeps clear of ra-qm-team,
finance, research/grants, product-team, and marketing-skill.

Registered in marketplace.json (61 -> 62 plugins) and the codex/gemini/
hermes/vibe sync scripts + generate-docs; root CLAUDE.md bumped to v2.9.0.

https://claude.ai/code/session_01PUNmQVE4WYvcrzpq2anC3D
2026-05-27 00:31:27 +00:00
Claude
84980d5837
Merge branch 'dev' into claude/issue-705-W0aGU
Resolves PR #733 merge conflicts after dev advanced 11 commits (handoff
v2.8.2 fix #731, code-reviewer C#/.NET delivery #730, doc regenerations
#729, branch cleanup #721).

Conflict resolution strategy: take the union — keep dev's updated
counts (329 skills / 49+ agents / 79+ commands) AND my Mistral Vibe
additions (13 tools, named platform list).

Conflicts resolved:
- CHANGELOG.md — [Unreleased] Mistral Vibe entry placed above the
  v2.8.2 productivity/handoff entry.
- mkdocs.yml — site_description combines dev's 329/49+/79+ counts +
  v2.8.2 mentions with my 13-tools platform list.
- docs/index.md — title "329 Agent Skills", description merges dev's
  v2.8.2 / v2.8.1 / v2.8.0 highlights with Hermes Agent + Mistral
  Vibe in install list.
- docs/getting-started.md — description: 329 skills, 13 tools, Vibe
  included in setup list.
- docs/commands/index.md — bumped to 74 commands (dev's count) and
  kept dev's wording.

Post-merge index refresh:
- python3 scripts/sync-vibe-skills.py → 322 skills (was 320; +2 for
  handoff and claude-coach from dev)
- python3 scripts/sync-codex-skills.py → 322 skills
- python3 scripts/sync-gemini-skills.py → 393 items, 1 new
- python3 -m mkdocs build → PASS (515 HTML pages, was 513)
2026-05-23 02:20:09 +00:00
Claude
636e435563
feat(install): add Mistral Vibe cross-platform sync (closes #705)
Mistral Vibe (https://github.com/mistralai/mistral-vibe) is Mistral AI's
open-source Apache-2.0 CLI coding agent. It uses the agentskills.io
SKILL.md + YAML frontmatter standard, identical to Claude Code and
Hermes, so this integration ships with zero format conversion.

Mirrors the existing Hermes pattern (sync-hermes-skills.py + .hermes/
committed tree + INSTALLATION.md section). New cross-platform target #6
slots in alongside .claude / .codex / .gemini / .hermes / .openclaw.

Changes:
- scripts/sync-vibe-skills.py — symlink installer, targets
  ~/.vibe/skills/claude-skills/<domain>/<skill>/. Same flags as
  sync-hermes-skills.py: --verbose, --domain, --dry-run, --copy, --json,
  --target. Stdlib only.
- scripts/vibe-install.sh — bash wrapper for parity with
  gemini-install.sh / codex-install.sh, surfaces Vibe usage tips.
- .vibe/skills/claude-skills/ — pre-generated tree: 306 skill symlinks
  across 14 domains plus skills-index.json. Mirrors .hermes/ precedent
  so users can inspect install surface before running the script.
- INSTALLATION.md — new "Mistral Vibe Installation" section (setup,
  Python invocation flags, verify, uninstall), TOC entry, cross-tool
  table row.
- README.md — Mistral Vibe added to Works-with line, BYO-sync footnote
  mirroring Hermes pattern, Multi-Tool Support table row, FAQ updated
  12 → 13 tools, twelve-platforms callout.
- CHANGELOG.md — [Unreleased] entry.

Smoke tests (all pass):
- `--help` exits 0
- end-to-end sync to /tmp creates 306 valid symlinks + index
- SKILL.md frontmatter readable through symlinks
- idempotent: second run skips all 320, creates 0
- `--domain finance` correctly isolates to 4 finance skills
2026-05-23 02:04:17 +00:00
Claude
5954dfcce1
cleanup(engineering): address remaining 7 polish items from PR #718 bot review
Bundle of low-medium-severity follow-ups that were deferred when PR #720
landed the 3 blocking bugs. None of these silently break correctness —
they're discoverability, consistency, and convention gaps.

Bugs / code-quality:

1. fullstack_decision_engine.py: asymmetric cadence matching
   `inputs.cadence in target or target in inputs.cadence` produced
   asymmetric results — "per-pr" matched "per-pr-with-gates" but not
   vice versa. Profile cadences are intentional alternatives joined
   by "-or-" (e.g. "weekly-or-on-demand" → {weekly, on-demand}); now
   parsed explicitly with "-with-..." modifier suffixes stripped.

   Verified:
     cadence=per-pr → matches per-pr, per-pr-with-gates, daily-or-per-pr
     cadence=daily  → matches daily-or-per-pr (only)
     cadence=on-demand → matches weekly-or-on-demand

2. fullstack_decision_engine.py: rename weight_total/weight_matched
   to w_total/w_matched. Backend and frontend engines already use the
   short form; this aligns the three files as a family.

3. sync-gemini-skills.py: 3-way name collision in dedup logic
   The naive `if name in seen_names: name = parent-name` handled one
   collision but not two. Three "status" skills under "skills" parent
   dirs produced two entries both named "skills-status". Now suffixes
   with -2, -3, ... so each entry has a unique index name. Eliminates
   the duplicate-name ambiguity surfaced when checking PR #713.

Discoverability:

4. senior-fullstack/SKILL.md: surface fullstack_decision_engine.py in
   the labeled "Tools" section at the top. Previously only mentioned
   inline in the body (5 references buried in the Stack Decision Matrix
   section); not findable when scanning the SKILL.md.

Conventions / v2.8.0 compliance:

5. commands/cs-{fullstack,backend,frontend}-review.md: add explicit
   "## Forcing-question library" section header per the v2.8.0
   convention. Each lists the 7 questions inline with a pointer to
   the canonical reference file.

6. agents/engineering/cs-{fullstack,backend,frontend}-engineer.md:
   alphabetize the specialist list in the description field (annotated
   that workflow body order remains dependency-driven). Makes the
   three agent descriptions consistent as a family.

7. agents/engineering/cs-{backend,frontend}-engineer.md: promote the
   "Cross-agent invocation" content out of Workflow 3 into a dedicated
   "## When invoked as fork target" section with an explicit question-
   skip table per parent agent (cs-fullstack-engineer, cs-cto-advisor,
   cs-vpe-advisor, cs-ciso-advisor for backend; cs-fullstack-engineer,
   cs-content-creator, cs-product-manager for frontend). Closes the
   cross-agent contract gap the bot flagged.

Not changed:

- CLAUDE.md plugin-schema section (already corrected in #715; bot's
  "stale text" claim was incorrect — it was reading the cumulative diff)
- Workflow body specialist order (intentional dependency order; would
  break the SLO-first → API → DB → migration → observability sequence)

Verification:
- All 3 decision engines: --sample → exit 0
- Cadence matching: 3 test cases pass cleanly
- check_plugin_json.py --all → 0 FAIL, 0 WARN, 69 OK
- sync-gemini-skills.py → 392 unique names (was 391 unique / 1 dupe)
2026-05-21 13:47:08 +00:00
Claude
8fd3155868
fix(plugin-schema): align with live Claude Code spec — migrate to "./"-prefixed skills field
Resolves #712 and #714.

Claude Code's plugin spec (code.claude.com/docs/en/plugins-reference) requires
"All paths must be relative to the plugin root and start with ./". CC 2.1.144+
rejects the bare "skills" form with `Validation errors: skills: Invalid input`,
breaking plugin installs from this repo.

Changes:
- 47 plugin.json manifests migrated from "skills": "skills" → ["./skills"]
  (canonical post-CC 2.1.144 form, also accepts string "./skills")
- scripts/check_plugin_json.py rewritten to enforce the live spec:
  * Hard-fails on non-"./"-prefixed strings (except the legacy "skills" literal)
  * Hard-fails on empty strings/arrays and non-string array entries
  * Emits WARN (non-fatal) on the legacy "skills" literal as a safety net
    for copied templates — the WARN tolerance can be removed later
  * Tested against all four canonical forms + 3 garbage forms
- CLAUDE.md §5 rewritten to document the live spec, including the historical
  context of the v2.1.107 → v2.1.144 regression window that's now closed
- 15 stale broken symlinks under .gemini/skills/ removed (orphans from older
  reorgs that the sync script didn't prune because its cleanup is disabled)

Verification:
- scripts/check_plugin_json.py --all → 0 FAIL, 0 WARN, exit 0 (69 files OK)
- pytest tests/ → 2103 passed
- find . -type l ! -exec test -e {} \; → 0 broken symlinks
- Live spec forms tested: ["./"], ["./skills"], "./skills", ["./a","./b"] all pass
- Garbage forms rejected: bare "./", empty array, non-string entries, plain strings
2026-05-21 07:03:11 +00:00
Claude
32a0da53a4
chore(v2.8.0-sprint3): cross-platform sync + docs generation + MkDocs nav + CHANGELOG
Sprint 3 closure for v2.8.0. Brings the 2 new top-level domains
(business-operations + commercial) to release-ready by extending the
cross-platform sync infrastructure, the docs generator, and the MkDocs
nav to recognize them.

## Cross-platform sync (codex / gemini / hermes)

- scripts/sync-codex-skills.py — SKILL_DOMAINS extended with
  business-operations + commercial. Regenerated .codex/skills/ symlinks
  for 15 new skills + .codex/skills-index.json with full descriptions.
- scripts/sync-gemini-skills.py — DOMAIN_MAP extended with all 5 v2.7.0+
  v2.8.0 top-level domains (productivity, marketing-top-level, research,
  business-operations, commercial). +30 items synced.
- scripts/sync-hermes-skills.py — DOMAIN_DIRS extended with
  business-operations + commercial.

## Docs generation (Pass 2 command/agent discovery)

scripts/generate-docs.py extended with:

- DOMAINS dict extended with business-operations (sort=13) and commercial
  (sort=14) entries.
- Pass 2 for agent discovery — walks <domain>/agents/<agent>.md
  (v2.8.0 pattern), in addition to <domain>/<plugin>/agents/<agent>.md
  (legacy pattern).
- Pass 2 for command discovery — walks <domain>/commands/<cmd>.md
  (v2.8.0 pattern) AND <domain>/<skill>/commands/<cmd>.md (v2.7.0
  pattern). Previously, only root-level commands/*.md were discovered;
  35 commands were orphaned (v2.7.0 capture/pulse/landing/etc. +
  all v2.8.0 commands).

Result: 311 skill pages + 75 agent pages + 69 command pages = 455
total. Up from 311 + 73 + 34 = 418.

## MkDocs nav

mkdocs.yml updated with:

- Business Operations section (7 sub-skill nav entries)
- Commercial section (8 sub-skill nav entries)
- 2 new orchestrator agents added to Agents nav
- 17 new v2.8.0 slash commands added to Commands nav

MkDocs build succeeds (non-strict) in ~17s. Strict mode flags 3 pre-
existing broken links in older content (cs-aeo, grill-with-docs) —
out of scope for v2.8.0.

## CHANGELOG.md

v2.8.0 entry rewritten from "Sprint 1 only" to the full Sprint 1 + 2 + 3
view. All 13 sub-skills documented with canon attribution. Stats updated:

- 313 -> 328 skills (+15)
- 12 -> 14 top-level domains
- 60 -> 77 slash commands (+17)
- 402 -> 441 Python tools (+39)
- 542 -> 581 reference docs (+39)
- 46 -> 48 cs-* agents (+2)
- 57 -> 59 marketplace plugins (+2)
- 34 -> 69 documented commands in MkDocs (+35)

## Root CLAUDE.md

Updated Current Scope + Current Version to reflect v2.8.0 (released)
status. Sprint 1 "in-flight" -> "complete". Counts updated to
328 skills / 441 tools / 77 commands.

## Per-skill audit (scripts/audit_skills.py)

Ran across 329 total skills. All 13 v2.8.0 sub-skills audited with
skill_review_checklist_runner.py: 1 score 5/6, 7 score 4/6, 4 score
3/6, 1 score 2/6 (knowledge-ops). Dominant failure mode: rule #2
"SKILL.md under 100 lines" — known tension with our deliberate
Forcing-question library depth (mandatory per user direction). Tracked
as ADVISORY for skills that deliberately expose extended grill
discipline.

## Plugin manifest validation

scripts/check_plugin_json.py --all passes (exit 0) for all 47 plugin
manifests including the 2 new ones. The PR #690 validator recognizes
the source extension field per CLAUDE.md.

https://claude.ai/code/session_015bBb4HzWCf5HH5QK2TGtnW
2026-05-19 06:02:00 +00:00
Claude
d34e615b73
feat(release): auto-tag + GitHub Release from CHANGELOG on push to main
Adds end-to-end release automation so every CHANGELOG bump produces a
matching git tag + GitHub Release with notes — no manual `gh release
create` invocations required.

- .github/workflows/release.yml — push to main triggers parse-CHANGELOG
  → check tag exists → create tag → create GH Release with notes. Idempotent
  (existing tags skipped). Manual workflow_dispatch supports targeting a
  specific historical version. Path-filter limits firing to actual release
  pushes (CHANGELOG.md, the parser, or the workflow itself changing).

- scripts/extract_release_notes.py — stdlib-only CHANGELOG.md parser.
  Outputs JSON, plain text, or github-release-formatted markdown.
  Runnable standalone for preview: `python3 scripts/extract_release_notes.py
  --format github-release`. Default extracts the latest entry; --version
  pins to a specific release.

- CHANGELOG.md — new [2.8.0] entry covering the v2.8.0 Sprint 1 work
  (business-operations + commercial domains, #688) plus the #686 plugin.json
  fix (#689) and #690 regression-prevention validator + CI gate. This is the
  entry the release workflow will pick up on first run after this lands on
  main.

When this commit (plus the dev → main sync #692) reaches main, the workflow
fires, parses CHANGELOG, sees v2.8.0 at the top, creates the `v2.8.0` tag
and GitHub Release — automatically. All future releases follow the same
flow: add a CHANGELOG entry, merge to main, done.
2026-05-19 04:00:06 +00:00
Alireza Rezvani
f7bb1f86bc
chore(ci): block "./skills" regression — validator + CI gate (#686 follow-up) (#690)
Issue #686 was the second round of the same Claude Code path-validator
tightening: v2.1.107 rejected bare "./" (fixed in #539 by moving to
"./skills"), then v2.1.133 also rejected "./skills". The validator that
codified the #539 fix was still recommending "./skills" verbatim — so a
future round 3 would have hit the same trap.

This commit makes the validator catch the regression and runs it in CI:

- scripts/check_plugin_json.py
  - Reject any "skills" string starting with "./" (catches both
    "./skills" and "./skills/sub" patterns)
  - Update docstring + error message to point at the layout-correct
    forms instead of the now-broken "./skills"
  - Recognize "source" and "attribution" as approved extension fields
    (already documented in CLAUDE.md but not in the validator), so the
    21 pre-existing false-positives go away and CI can run blocking
  - Drop the "./" rejection inside arrays — CLAUDE.md says ["./"] is
    the correct single-skill-at-root form

- .github/workflows/ci-quality-gate.yml
  - Add blocking "Validate plugin.json manifests" step that runs the
    validator on every PR

- CLAUDE.md
  - Add an Enforcement note pointing at the validator and the lockstep
    rule: when CC tightens its path validator again, update validator
    rules and CLAUDE.md together

Verified: 69/69 manifests pass; 6-case smoke test confirms validator
rejects all three known-broken forms ("./skills", "./", "./skills/sub")
and accepts all three documented-valid forms ("skills", ["./"],
explicit array).

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-19 05:54:56 +02:00
Claude
e8a718ce30
feat(hermes): upgrade Hermes Agent integration to first-class
The user flagged that we advertise Hermes Agent as a tier-1 supported
platform in the "Works with:" list, but the actual integration was
significantly thinner than Codex/Gemini/OpenClaw:

- No committed .hermes/ tree (other platforms ship pre-generated trees)
- sync-hermes-skills.py DOMAIN_DIRS missing the 3 v2.7.0 top-level
  domains (productivity, marketing, research) — running it today would
  silently skip all 13 v2.7.0 skills
- Discover function only handled the flat `<domain>/<skill>/` pattern,
  missing the nested-plugin pattern `<domain>/<plugin>/skills/<skill>/`
  used by all v2.7.0 skills + many older plugins
- Doc count stale at "198+ skills" / "246 skills"
- 35 Hermes mentions vs Codex 1010 / Gemini 622 / OpenClaw 572 —
  under-documented relative to the marketing claim

This commit upgrades Hermes to first-class technical support while
labeling it BYO-sync in marketing (honest about the workflow:
pre-generated tree shipped, but user runs sync into ~/.hermes/ once).

**scripts/sync-hermes-skills.py changes:**

1. DOMAIN_DIRS extended with `productivity`, `marketing`, `research`
   (the 3 v2.7.0 top-level domains)
2. `discover_skills()` rewritten to handle all 3 SKILL.md location
   patterns (same logic as sync-codex-skills.py):
   - Pattern 1: `<domain>/<skill>/SKILL.md` (flat legacy)
   - Pattern 2: `<domain>/skills/<skill>/SKILL.md` (flat with skills/)
   - Pattern 3: `<domain>/<plugin>/skills/<skill>/SKILL.md` (nested plugin)
   Dedupes by SKILL.md path.
3. `sync_skill()` now creates RELATIVE symlinks (via os.path.relpath)
   instead of absolute. Critical for committed .hermes/ tree to work
   across machines. Falls back to absolute if cross-device.

**.hermes/skills/claude-skills/ tree committed:**

- 289 relative symlinks across 12 domains
- skills-index.json (303 skills documented with descriptions)
- All v2.7.0 skills present: productivity (4), marketing (1),
  research (8)

**Documentation refresh:**

- docs/integrations.md:
  - Header count: 246 → 311 skills
  - Hermes section: NEW "Tier: BYO-sync" tip box explaining the
    pre-generated tree + the one-line install step
  - Install table: "198+ skills" → "303 skills (12 domains)"
- README.md:
  - Hermes Agent entry in "Works with:" line now flagged with [^hermes]
    footnote explicitly labeling it BYO-sync tier with link to the
    sync script

Verification:
- Script smoke-test: `python3 sync-hermes-skills.py --target .hermes/skills --verbose`
  → 303 skills discovered, 289 new symlinks, 14 skipped (pre-existing)
- All v2.7.0 symlinks resolve correctly:
  `.hermes/skills/claude-skills/research/research → ../../../../research/research/skills/research`
- 12 domains present in tree (was 9 before)

Per CLAUDE.md ClawHub rules: this PR does NOT update marketplace.json
(Hermes is not on ClawHub). The .hermes/ tree is repo-side
infrastructure only.

https://claude.ai/code/session_01FEUmeuYhmnxVFq7EZM8ZSw
2026-05-17 05:47:32 +00:00
Claude
637210b340
docs(v2.7.0): MkDocs + GitHub Pages + cross-platform CLI sync update
Comprehensive documentation sync for v2.7.0 across all surfaces.

**Files updated:**

Documentation:
- CLAUDE.md: Current Scope line (272 → 311 skills, 9 → 12 domains,
  v2.7.0 Path-B additions noted)
- README.md: hero count + badge counts + Skills Overview table (3 new
  domain rows: Productivity, Marketing top-level, Research)
- docs/index.md: hero + grid cards + meta description (311 skills, 12
  domains, v2.7.0 Path-B additions)
- docs/getting-started.md: meta description + FAQ counts
- mkdocs.yml: site_description + nav (3 new domain sections with 13
  new skill pages)
- .claude-plugin/marketplace.json: top-level description + metadata
  bumped 2.6.1 → 2.7.0

Cross-platform sync (Step 2 of the post-creation pipeline):
- .codex/skills-index.json: 290 → 303 entries
- .gemini/skills-index.json: 351 → 353 items (grill-with-docs added)
- Codex script (scripts/sync-codex-skills.py): SKILL_DOMAINS extended
  with productivity/marketing/research top-level folders (committed in
  PR #673 — verified working in this sync)

Generator extension:
- scripts/generate-docs.py: DOMAINS dict extended with productivity,
  marketing, research entries (with SEO suffix + description context).
  Generator now emits 294 skill pages across 12 domains (was 281
  across 9). Total pages: 399 (was 373).

Generated doc pages (21 new):
- docs/skills/productivity/{capture, email-inbox-setup,
  email-inbox-triage, reflect, index}.md
- docs/skills/marketing/{landing, index}.md
- docs/skills/research/{research, pulse, litreview, grants, dossier,
  patent, syllabus, notebooklm, index}.md
- docs/agents/{cs-capture, cs-grants, cs-litreview, cs-dossier,
  cs-pulse, cs-patent, cs-syllabus, cs-notebooklm, cs-research,
  cs-reflect, cs-landing, cs-inbox-setup, cs-inbox-triage,
  cs-grill-with-docs}.md

Verification:
- MkDocs build: PASSED (16.03s, 448 HTML pages generated)
- Consistency check: all 5 core doc files now reference 311 skills
- Path validation: all 55 marketplace.json source paths valid
- Frontmatter check: 13/13 new SKILL.md files have valid YAML

Known minor: 3 unrelated pre-existing duplicate-path symlinks
(review/run/status) flipped target during codex sync. These are skill
name collisions across multiple folders; sync script now picks one
consistent canonical path. Same churn would happen on any sync run.

https://claude.ai/code/session_01FEUmeuYhmnxVFq7EZM8ZSw
2026-05-16 11:57:12 +00:00
Claude
d36ec93d3b
chore(v2.7.0): register 12 v2 skills in marketplace + codex sync
Resolves the two follow-ups left after the v2 megaprompt sweep.

**marketplace.json (.claude-plugin/):** +12 plugin entries for the new v2
skills across 3 categories. Categories added: productivity (3), research (8).

| Plugin | Source | Category |
|---|---|---|
| capture-skill | ./productivity/capture | productivity |
| email-pair | ./productivity/email | productivity |
| reflect-skill | ./productivity/reflect | productivity |
| landing | ./marketing/landing | marketing |
| pulse | ./research/pulse | research |
| litreview | ./research/litreview | research |
| grants | ./research/grants | research |
| dossier | ./research/dossier | research |
| patent | ./research/patent | research |
| syllabus | ./research/syllabus | research |
| notebooklm | ./research/notebooklm | research |
| research-orchestrator | ./research/research | research |

Per CLAUDE.md ClawHub rules: cs- prefix not used in repo registry
(reserved for ClawHub when slug conflicts arise). 12 entries cover 13
skills (email-pair holds inbox-setup + inbox-triage).

Total plugins in marketplace: 43 → 55.

**.codex sync:** Manually created 11 missing symlinks under .codex/skills/
(capture + pulse already existed from prior auto-sync). Added 13 entries
to .codex/skills-index.json with category metadata. Total skills: 290 → 303.

**scripts/sync-codex-skills.py:** Added productivity/, marketing/, and
research/ to SKILL_DOMAINS so future automated sync runs pick up the new
top-level domains (previously only domain folders were registered).

Manual symlink creation deliberately avoids the script's full
--dry-run-flagged 16 [UPDATED] symlinks on pre-existing duplicate-path
skills (chief-ai-officer-advisor, chaos-engineering, etc., which have
both nested-plugin and flat paths in the repo). That churn belongs in
a separate cleanup PR — not in this release-prep PR.

Validation:
- marketplace.json: 55 plugins, all 7 required fields, no duplicates
- skills-index.json: 303 entries across 11 categories
- all 13 megaprompt symlinks resolve correctly
- 8-phase plugin audit on research/research: PASS WITH WARNINGS
  (Phase 2 structure 84.1/GOOD, Phase 5 security PASS, scripts 3/3)

https://claude.ai/code/session_01FEUmeuYhmnxVFq7EZM8ZSw
2026-05-16 10:05:38 +00:00
Claude
9975cc9f9b
chore(update-docs): post-v2.6.1 sync sweep + Codex sync bug fix
Ran the /update-docs pipeline post-v2.6.1 release. Most of the work was
verification (docs already in sync from prior PRs #644, #649). Two real
issues surfaced and fixed:

1. Codex sync bug (the headline fix)
- scripts/sync-codex-skills.py used iterdir() which is single-level only
- Missed the engineering/<plugin>/skills/<name>/SKILL.md pattern used by
  4 Pocock plugins + many other standalone plugins restructured since
  PR #593
- Added Pattern 3 discovery: when <domain>/<plugin>/ contains a skills/
  subdir with <name>/SKILL.md, recurse one level
- Impact: Codex index 195 → 289 skills (+94 previously-hidden skills)
- Gemini sync was already correct (uses recursive rglob)
- OpenClaw was already correct (uses recursive find)

2. Stale skill counts in 2 user-facing docs
- README.md: 268 → 272 (3 occurrences: tagline + badge + skills overview)
- docs/getting-started.md: 246 → 272 (2 occurrences: meta description + FAQ)
- All other files (CLAUDE.md, docs/index.md, mkdocs.yml site_description,
  marketplace.json) were already at 272 (refreshed in PRs #644 + #649)

Other regenerations (no source changes — auto-updated from latest content):
- docs/skills/engineering/*.md regenerated (picks up v2.6.1 description fixes)
- docs/agents/*.md regenerated (no agent changes)
- docs/commands/*.md regenerated (no command changes)
- .codex/skills-index.json + 94 new symlinks (mostly Pocock + plugin-pattern
  skills that should have been there since PR #593)

Verification:
- All 5 user-facing docs (CLAUDE.md, README.md, docs/index.md,
  docs/getting-started.md, mkdocs.yml) show "272 skills" consistently
- marketplace.json: v2.6.1, 43 plugins, 0 broken source paths
- mkdocs build: 371 pages (280 skills + 58 agents + 33 commands), clean
  in 17.31s, no errors or new warnings
- audit_skills.py: runs cleanly against 298 real skills

No production code changes outside the Codex sync fix. This is a docs +
tooling sweep, not a feature release.

https://claude.ai/code/session_01VFreMf7XLBqMgjsrG4wSYe
2026-05-14 10:41:52 +00:00
Claude
507f62610f
feat(scripts): add audit_skills.py — repo-wide write-a-skill validator runner
Adds a small stdlib-only orchestration script that runs the
skill_review_checklist_runner.py (shipped in v2.6.0) across every SKILL.md
in the repo and aggregates results.

Output:
- Total skills audited (PASS / WARN / FAIL / ERROR counts + percentages)
- Failure breakdown by rule (which of Matt's 6 checklist items fail most)
- Top-10 worst offenders (skill folder + specific failing rules)

Excludes auto-generated tool-specific symlinks (.gemini, .codex, .cursor,
.cline, /site/, /.git/) and template fixtures (templates/, assets/sample-skill).

Use case: periodic audit of skill-library hygiene. Re-run after each batch
of new skills to catch drift early. Produced the punch list that informed
the v2.6.1 cleanup planning (40% of repo skills miss "Use when" triggers;
88% exceed Matt's 100-line ceiling — both flagged for triage).

Stdlib-only. No external dependencies. Runs in ~30s on a 298-skill repo.

https://claude.ai/code/session_01VFreMf7XLBqMgjsrG4wSYe
2026-05-13 23:25:55 +00:00
Claude
6524d93478
fix(docs): render orphan sub-skills (recover 79 missing skill pages)
generate-docs.py had a longstanding bug: the rendering loop only iterated
top-level skills and only rendered their direct children. Sub-skills whose
parent is a plugin folder (not a top-level skill at <domain>/skills/<name>/)
were silently dropped.

Affected plugins (standalone-only, no bundled mirror at <domain>/skills/):
- executive-mentor (1 index + 5 sub-skills)
- agenthub (1 index + 7 sub-skills)
- autoresearch-agent (1 index + 5 sub-skills)
- playwright-pro (1 index + 9 sub-skills)
- self-improving-agent (1 index + 5 sub-skills)
- c-level-agents (1 index + 17 sub-skills — the new /cs:* commands)
- llm-wiki (1 index + sub-skills)
- behuman, code-tour, demo-video, helm-chart-builder, karpathy-coder,
  llm-cost-optimizer, prompt-governance, statistical-analyst, terraform-patterns,
  data-quality-auditor, docker-development (single-skill plugins)

Total: 79 sub-skills + 12 plugin-index skills = 91 pages were being dropped.
(Some plugins like behuman are single-skill so only their index is dropped.)

The bug: rendering loop at line 414 only handled `for skill in top_level`,
then for each top-level found `children = [s for s in sub_skills if
s["parent"] == skill["name"]]`. Plugins where the SKILL.md lives only at
<plugin>/skills/<plugin>/SKILL.md don't appear in top_level (their detection
puts them in sub_skills with parent=themselves), so their children were
orphaned.

The fix: after the existing top-level loop, render orphan sub-skills grouped
by their plugin parent. Index sub-skill (named same as parent) renders as
<parent>.md; other children render as <parent>-<child>.md. This matches the
URL convention already in use (e.g., executive-mentor-challenge.md), so
existing SEO equity is preserved.

Result: skill pages generated 193 → 272 (+79 recovered). Total docs pages
280 → 359. mkdocs build succeeds.

Verified:
- All 12 previously-dropped plugins render their index page
- All 79 previously-dropped sub-skills render their detail pages
- URL convention preserved (executive-mentor-challenge.md, agenthub-board.md,
  playwright-pro-coverage.md, etc.)
- karpathy diff_surgeon: 0 findings

After dev → main release: GitHub Pages redeploys with the recovered 79 pages.
The docs site finally has 1:1 correspondence between SKILL.md files in the
repo and pages on the site.

https://claude.ai/code/session_012WtZMm5NJHqkYoRqA9fHMN
2026-05-13 12:49:00 +00:00
Claude
17db1cc594
fix(docs): walk plugin-internal agents folders to fix 13 broken cs-* nav 404s
PR #628 added 13 new cs-* agent nav entries to mkdocs.yml (cs-cfo-advisor,
cs-cmo-advisor, cs-cro-advisor, cs-cpo-advisor, cs-coo-advisor, cs-chro-advisor,
cs-ciso-advisor, cs-chief-of-staff, cs-general-counsel-advisor, cs-cdo-advisor,
cs-caio-advisor, cs-cco-advisor, cs-vpe-advisor) — but the agent pages they
pointed to didn't exist because generate-docs.py only walked /agents/, not
plugin-internal <domain>/<plugin>/agents/ folders.

Without this fix, those 13 nav links would 404 in production.

Extended generate-docs.py:

Pass 1 (existing): walk /agents/<domain>/*.md (28 canonical agents)
Pass 2 (new): walk <domain>/<plugin>/agents/*.md for each known DOMAINS root

Pass 2 dedupes against pass 1 by slug. Uses a SKILL_TO_AGENT_DOMAIN mapping
(c-level-advisor -> c-level, marketing-skill -> marketing, etc.) since skill
DOMAINS keys differ from AGENT_DOMAINS keys.

Result: 29 → 54 agent pages (+25 plugin-internal agents recovered):

  c-level-advisor/c-level-agents/agents/  → 13 new cs-* agents (this session)
  c-level-advisor/executive-mentor/agents/ → devils-advocate
  engineering/llm-wiki/agents/             → wiki-linter, wiki-ingestor, wiki-librarian
  engineering/agenthub/agents/             → hub-coordinator
  engineering/autoresearch-agent/agents/   → experiment-runner
  engineering-team/self-improving-agent/agents/ → memory-analyst, skill-extractor,
                                                  migration-planner, test-architect,
                                                  test-debugger

Verified:
- mkdocs build succeeds (357 → 380+ HTML pages)
- All 13 cs-* nav entries from PR #628 now resolve to valid HTML pages
- karpathy diff_surgeon: 0 findings
- Existing /agents/ canonical pass unaffected (dedupe by slug)

After dev → main release: GitHub Pages deploy will surface the recovered
25 agent pages. The 13 cs-* nav entries from the v2.5.7 release will no
longer 404.

https://claude.ai/code/session_012WtZMm5NJHqkYoRqA9fHMN
2026-05-13 09:46:54 +00:00
Claude
9d9513236b
docs(site): refresh nav, fix dual-publish dedup, add 301 redirects (v2.5.7)
User-requested docs refresh ahead of dev->main release. Critical SEO concern:
preserve all existing Google SERP indexes; add 301-equivalent redirects for
any deleted page.

generate-docs.py dedup fix:
The auto-generator created BOTH <name>.md (bundled) AND <name>-<name>.md
(standalone wrapper) for dual-published skills, producing duplicate-content
pages. Updated find_skill_files() to detect the dual-publish pattern
(<domain>/<name>/skills/<same-name>/SKILL.md paired with
<domain>/skills/<name>/SKILL.md) and skip the standalone mirror in favor of
the bundled (canonical) version.

mkdocs-redirects plugin added:
Added to mkdocs.yml plugins. Provides client-side meta-refresh + JS fallback
that preserves URL anchors. Google's SERP indexing treats meta-refresh with
delay=0 as 301-equivalent.

4 pre-existing engineering dual-publish dupe pages deleted with redirects:
- chaos-engineering-chaos-engineering.md -> chaos-engineering.md
- feature-flags-architect-feature-flags-architect.md -> feature-flags-architect.md
- kubernetes-operator-kubernetes-operator.md -> kubernetes-operator.md
- slo-architect-slo-architect.md -> slo-architect.md

Verified: redirect HTML correctly emitted with <meta http-equiv="refresh"
content="0; url=../canonical/"> + JS fallback. Existing Google SERP indexes
preserved.

mkdocs.yml nav additions:
- 5 new C-role docs pages (General Counsel, CDO, CAIO, CCO, VPE)
- 13 new cs-* agent docs pages (cs-cfo / cs-cmo / cs-cro / cs-cpo / cs-coo /
  cs-chro / cs-ciso / cs-chief-of-staff / cs-general-counsel / cs-cdo / cs-caio
  / cs-cco / cs-vpe)

site_description updated:
"246 skills, 20 cs-* agents" (6 versions stale) -> "268 skills, 33 cs-* agents
(incl. founder-mode C-suite), 21 /cs:* slash commands, and an orchestration
protocol for 12 AI coding tools."

README.md counts refreshed:
- 246 -> 268 skills
- 20 -> 33 agents
- 33 -> 54 commands
- 359 -> 373 Python tools
- subtitle expanded with founder-mode lineup callout

.github/workflows/static.yml:
Updated install step from `pip install mkdocs-material` to
`pip install mkdocs-material mkdocs-redirects`.

71 pre-existing skill pages preserved (no SEO equity loss). 5 new pages added,
4 dupes deleted with redirects. mkdocs build verified successful (357 HTML
pages). karpathy diff_surgeon: 0 findings. CHANGELOG entry as v2.5.7.

13 INFO-level link warnings exist from before this session (pre-existing
broken anchors and relative-link-without-index hints) — not introduced by
this PR; tracked separately.

https://claude.ai/code/session_012WtZMm5NJHqkYoRqA9fHMN
2026-05-13 07:44:28 +00:00
YakovBeder
0898558e1f fix(integrations): update find depth in convert.sh for new repo structure
The skill directory layout changed from depth-3 (category/skill/SKILL.md)
to depth-4+ (team/skills/skill-name/SKILL.md). The find command in
convert.sh still used -mindepth 3 -maxdepth 3, causing "No skills found"
errors. Updated to -mindepth 4 -maxdepth 6 and excluded integrations/ to
avoid picking up already-converted output.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-12 09:56:39 +03:00
Claude
2094f87d82
fix(scripts/generate-docs): handle <domain>/skills/<name>/ as top-level
After PR #593 restructured umbrella plugins, every sub-skill landed at
<domain>/skills/<name>/SKILL.md. The doc generator's is_sub_skill heuristic
treated len(parts) > 2 as nested, so all 188 skills got flagged as 'children
of "skills"' (a non-existent parent) and were never written to docs/.

Recognise <domain>/skills/<name>/ as the canonical top-level layout.
Backwards-compatible with playwright-pro/skills/<sub>/ standalone-plugin
sub-skills (those legitimately have a real parent at parts[1]).

Result: 0 -> 192 skill pages emitted.
2026-05-10 07:21:01 +00:00
Claude
f47972967a
chore(phase-0): add dual-publish + plugin.json validation tools
Phase 0 of the multi-skill build: ship the two stdlib-only tools that
the rest of the work depends on.

- scripts/sync_skill_bundles.py: mirror a standalone plugin's
  SKILL.md + scripts/ + references/ + assets/ into its domain-bundled
  location. --check exits 1 on drift; --sync rewrites the mirror.

- scripts/check_plugin_json.py: validate plugin.json against the
  strict ClawHub schema (exactly the 8 allowed fields, semver version,
  author{name,url}, skills as string or array — bare "./" rejected per
  Claude Code v2.1.107+).

Verified: --all run reports OK on all 30 existing plugin.json files;
sync --check correctly detects missing mirrors. Karpathy-coder gate:
both files score 85/100 under strict (single nesting-depth WARN, no
FAIL) — better than the canonical karpathy-coder tools themselves.

https://claude.ai/code/session_01Dq12xJakFRxwaoU8Pqejdm
2026-05-09 05:54:15 +00:00
Reza Rezvani
d6d757b6dd fix(ci): update test paths and sync script for new ./skills/ layout
PR #593 moved every skill from <plugin>/<name>/ to <plugin>/skills/<name>/
to satisfy Claude Code's runtime loader. That broke two CI jobs that
hardcoded the old paths:

1. **9 test files** had `sys.path.insert(0, ".../<domain>/<skill>/scripts")`
   pointing at the pre-restructure location. Inserted `"skills"` between
   the domain and skill segments so imports resolve again.

2. **scripts/sync-codex-skills.py** scanned `<domain>/<skill>/SKILL.md`
   and emitted "No skills found in repository". Updated `find_skills` to
   prefer `<domain>/skills/<name>/` and fall back to `<domain>/<name>/`
   so it works with both layouts (in case any domain hasn't been
   restructured yet).

Verified locally:
- `python3 scripts/sync-codex-skills.py --dry-run` finds 178 skills
- `pytest tests/` collects all modules; 3216 tests pass
- 4 pre-existing failures remain (3 argparse duplicates in an
  `integrations/` script, 1 strict "must have .py" check on a JS-only
  skill) — out of scope for this fix.
2026-05-02 23:15:33 +02:00
Pallav46
c97da7e1ee feat(integrations): change Augment from flat rules to skill bundles
- Convert Augment integration from flat .augment/rules/*.md to directory-based .augment/skills/<name>/SKILL.md structure
- Align Augment format with Windsurf and OpenCode skill bundle pattern
- Copy supporting folders (scripts/, references/, templates/) to each Augment skill directory
- Update frontmatter from 'type: auto' to standard 'name' + 'description' fields
- Update README documentation for new directory-based installation path

This change is possible because Augment Code now supports skills in beta, allowing us to move from the flat rules format to full skill bundles. This gives Augment users access to the complete skill ecosystem including Python automation tools and reference documentation, not just the markdown content.
2026-04-25 04:48:41 +05:30
Reza Rezvani
abc9672f3c feat(cross-tool): add Hermes Agent sync script (#520)
Hermes Agent (github.com/NousResearch/hermes-agent) uses the agentskills.io
standard — the same SKILL.md format with YAML frontmatter that our repo uses.
Both tools expect: name, description, version, license in frontmatter, with
references/, templates/, assets/ subdirectories. No format conversion needed.

Adds scripts/sync-hermes-skills.py which symlinks (or copies) our 198 skills
into ~/.hermes/skills/claude-skills/<domain>/<skill-name>/ where Hermes
discovers them automatically via its skill_view/skills_list tools.

Usage:
  python scripts/sync-hermes-skills.py --verbose      # full sync
  python scripts/sync-hermes-skills.py --domain engineering  # one domain
  python scripts/sync-hermes-skills.py --copy          # copy instead of symlink
  python scripts/sync-hermes-skills.py --dry-run       # preview

After sync, Hermes users can invoke any of our skills via:
  /skills (browse)
  /<skill-name> (invoke directly)

Compatibility matrix after this change:
  Claude Code   — native plugin install
  Codex CLI     — sync-codex-skills.py
  Gemini CLI    — sync-gemini-skills.py
  OpenClaw      — openclaw-install.sh
  Hermes Agent  — sync-hermes-skills.py (NEW)
  Cursor/Aider/etc — scripts/convert.sh

Ref #520

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 14:18:35 +02:00
Reza Rezvani
fdb0c12cba feat(ci): add automated Tessl skill quality review on PRs
Some checks are pending
Sync Codex Skills Symlinks / sync (push) Waiting to run
Closes #288

- Add .github/workflows/skill-quality-review.yml:
  - Triggers on PRs touching **/SKILL.md or **/scripts/*.py
  - Installs Tessl CLI via npm, runs tessl skill review --json
  - Runs internal validators (structure, scripts, security)
  - Posts combined quality report as PR comment
  - Fails merge if Tessl score < 70 or security CRITICAL/HIGH found

- Add scripts/review-new-skills.sh:
  - Local automation: review changed, specific, or all skills
  - Runs Tessl + structure validator + script tester + security auditor
  - Configurable threshold (default: 70)
  - Usage: ./scripts/review-new-skills.sh [--all] [--threshold N] [skill-dir]

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 12:21:30 +02:00
Alireza Rezvani
5adbfdce47
release: sync dev → main — a11y-audit, /seo-auditor, /plugin-audit, 28 plugins (#380)
* fix: add missing plugin.json files and restore trailing newlines

- Add plugin.json for review-fix-a11y skill
- Add plugin.json for free-llm-api skill
- Restore POSIX-compliant trailing newlines in JSON index files

* feat(engineering): add review-fix-a11y skill (WCAG 2.2 a11y audit + fix) (#375)

Adds review-fix-a11y (WCAG 2.2 a11y audit + fix) and free-llm-api skills.

Includes:
- review-fix-a11y: WCAG 2.2 audit workflow, a11y_audit.py scanner, contrast_checker.py
- free-llm-api: ChatAnywhere, Groq, Cerebras, OpenRouter, llm-mux, One API setup
- secret_scanner.py upgrade with secrets-patterns-db integration (1,600+ patterns)

Co-authored-by: ivanopenclaw223-alt <ivanopenclaw223-alt@users.noreply.github.com>

* chore: sync codex skills symlinks [automated]

* Revert "feat(engineering): add review-fix-a11y skill (WCAG 2.2 a11y audit + fix) (#375)"

This reverts commit 49c9f2109f.

* chore: sync codex skills symlinks [automated]

* Revert "feat(engineering): add review-fix-a11y skill (WCAG 2.2 a11y audit + fix) (#375)"

This reverts commit 49c9f2109f.

* feat(engineering-team): add a11y-audit skill — WCAG 2.2 accessibility audit & fix (#376)

Built from scratch (replaces reverted PR #375 contribution).

Skill package:
- SKILL.md: 1132 lines, 3-phase workflow (scan → fix → verify),
  per-framework fix patterns (React, Next.js, Vue, Angular, Svelte, HTML),
  CI/CD integration guide, 20+ issue type coverage
- scripts/a11y_scanner.py: static scanner detecting 20+ violation types
  across HTML/JSX/TSX/Vue/Svelte/CSS — severity-ranked, CI-friendly exit codes
- scripts/contrast_checker.py: WCAG contrast calculator with AA/AAA checks,
  --suggest mode, --batch CSS scanning, named color support
- references/wcag-quick-ref.md: WCAG 2.2 Level A/AA criteria table
- references/aria-patterns.md: ARIA roles, live regions, keyboard interaction
- references/framework-a11y-patterns.md: React, Vue, Angular, Svelte fix patterns
- assets/sample-component.tsx: sample file with intentional violations
- expected_outputs/: scan report, contrast output, JSON output samples
- /a11y-audit slash command, settings.json, plugin.json, README.md

Validation: 97.6/100 (EXCELLENT), quality 73.9/100 (B-), scripts 2/2 PASS

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* chore: sync codex skills symlinks [automated]

* docs: sync counts across all docs — 205 skills, 268 tools, 19 commands, 22 plugins

Update CLAUDE.md, README.md, docs/index.md, docs/getting-started.md,
mkdocs.yml, marketplace.json with consistent counts. Sync Gemini CLI
index with new skills (code-to-prd, plugin-audit).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* feat(marketplace): add 6 missing standalone plugins — total 22→28

Added to marketplace:
- a11y-audit (WCAG 2.2 accessibility audit)
- executive-mentor (adversarial thinking partner)
- docker-development (Dockerfile, compose, multi-stage)
- helm-chart-builder (Helm chart scaffolding)
- terraform-patterns (IaC module design)
- research-summarizer (structured research synthesis)

Also fixed version 1.0.0 → 2.1.2 on 4 plugin.json files
(executive-mentor, docker-development, helm-chart-builder, research-summarizer)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* feat(commands): add /seo-auditor — 7-phase SEO audit pipeline for documentation

- 7 phases: discovery → meta tags → content quality → keywords → links → sitemap → report
- Integrates 8 marketing-skill scripts: seo_checker, content_scorer,
  humanizer_scorer, headline_scorer, seo_optimizer, sitemap_analyzer,
  schema_validator, topic_cluster_mapper
- References 6 SEO knowledge bases for audit framework, AI search,
  content optimization, URL design, internal linking, AI detection
- Auto-fixes: generic titles, missing descriptions, broken links, orphan pages
- Preserves high-ranking pages — only fixes critical issues on those
- Registered in both commands/ (distributable) and .claude/commands/ (local)

Also: sync all doc counts — 28 plugins, 26 eng-core skills, 21 commands

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(seo): fix multi-line YAML description parser, add 2 orphan pages to nav

- generate-docs.py: extract_description_from_frontmatter() now handles
  multi-line YAML block scalars (|, >, indented continuation) — fixes
  14 pages that had 56-65 char truncated descriptions
- mkdocs.yml: add epic-design and research-summarizer to nav (orphan pages)
- Regenerated 251 pages, rebuilt sitemap (278 URLs)
- SEO audit: 0 broken links, 17→3 short descriptions, 278/278 pages
  have "Claude Code Skills" in <title>

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Leo <leo@openclaw.ai>
Co-authored-by: ivanopenclaw223-alt <ivanopenclaw223@gmail.com>
Co-authored-by: ivanopenclaw223-alt <ivanopenclaw223-alt@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 13:03:48 +01:00
Reza Rezvani
2f57ef8948 feat(agenthub): add AgentHub plugin with cross-domain examples, SEO optimization, and docs site fixes
- AgentHub: 13 files updated with non-engineering examples (content drafts,
  research, strategy) — engineering stays primary, cross-domain secondary
- AgentHub: 7 slash commands, 5 Python scripts, 3 references, 1 agent,
  dry_run.py validation (57 checks)
- Marketplace: agenthub entry added with cross-domain keywords, engineering
  POWERFUL updated (25→30), product (12→13), counts synced across all configs
- SEO: generate-docs.py now produces keyword-rich <title> tags and meta
  descriptions using SKILL.md frontmatter — "Claude Code Skills" in site_name
  propagates to all 276 HTML pages
- SEO: per-domain title suffixes (Agent Skill for Codex & OpenClaw, etc.),
  slug-as-title cleanup, domain label stripping from titles
- Broken links: 141→0 warnings — new rewrite_skill_internal_links() converts
  references/, scripts/, assets/ links to GitHub source URLs; skills/index.md
  phantom slugs fixed (6 marketing, 7 RA/QM)
- Counts synced: 204 skills, 266 tools, 382 refs, 16 agents, 17 commands,
  21 plugins — consistent across CLAUDE.md, README.md, docs/index.md,
  marketplace.json, getting-started.md, mkdocs.yml
- Platform sync: Codex 163 skills, Gemini 246 items, OpenClaw compatible

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 12:10:46 +01:00
Alireza Rezvani
795f1846f7
feat: multi-tool skill conversion (Cursor, Aider, Windsurf, etc.) (#326) (#327)
* feat: add multi-tool conversion scripts (7 tools)

- convert.sh: converts 156 skills to Antigravity, Cursor, Aider, Kilo Code, Windsurf, OpenCode, Augment formats
- install.sh: installs converted skills to each tool's expected location
- Pure bash/awk, no external deps, macOS + Linux compatible
- Per-tool README with install/verify/update docs
- integrations/ added to .gitignore (generated output)

* docs: add multi-tool conversion to README

- New section documenting Cursor, Aider, Kilo Code, Windsurf, OpenCode, Augment support
- Install commands for each tool
- Link to integrations/ for per-tool docs
- Quick start: convert.sh + install.sh workflow

---------

Co-authored-by: Leo <leo@openclaw.ai>
2026-03-11 17:29:48 +01:00