361 Commits

  • docs: fix cp -r flatten install instructions that silently overwrite rules
    The configure-ecc skill (English source) and ja-JP top-level README plus
    its configure-ecc translation documented `cp -r .../<lang>/* <target>/rules/`
    for installing rule directories. rules/README.md explicitly warns against
    this form because:
    
    - Common and language-specific directories contain same-named files
      (coding-style.md, testing.md, patterns.md, hooks.md, security.md).
      Flattening makes each language overwrite the previous and common.
    - The relative `../common/<file>.md` references in language rule files
      break when common/ is no longer a sibling directory.
    
    This is silent — the user gets only the last language's rules with no
    error message.
    
    Replace with the directory-form copy already documented in
    rules/README.md:
    
        cp -r .../<lang> <target>/rules/<lang>
    
    Scope: English source + ja-JP. Closes #1879. Other locale translations
    (zh-CN, ko-KR, pt-BR, tr) carry the same pattern and can follow up as
    separate PRs to keep this change reviewable.
  • feat: add homelab config skills (VLAN segmentation, Pi-hole DNS, WireGuard VPN) (#1838)
    * feat: add homelab config skills (VLAN, Pi-hole, WireGuard)
    
    Adds three homelab configuration skills, extracted from the stale PR #1413
    with the same safety treatment applied to the previously accepted batch:
    
    - homelab-vlan-segmentation: IoT/guest/trusted/server VLAN design for UniFi,
      pfSense/OPNsense, and MikroTik. All firewall rules add isolation, not remove
      protections. Added change-window guidance and AP trunk port clarification.
    
    - homelab-pihole-dns: Pi-hole install, blocklists, DNS-over-HTTPS, local DNS
      records, troubleshooting. Docker is now the lead install method; bare-metal
      uses inspect-first pattern before running the installer script.
    
    - homelab-wireguard-vpn: WireGuard server, peer config, split tunnel, DDNS.
      Replaced broad iptables FORWARD ACCEPT with scoped directional rules
      (wg0→eth0 forward + established return only). Credentials moved to env
      files with explicit notes against inline secrets and version control.
    
    Continues the contribution from PR #1413; the eight skills/agents from
    that PR are already in main via #1729 and #1731.
    
    * docs: harden homelab skill pack
    
    ---------
    
    Co-authored-by: Affaan Mustafa <affaan@dcube.ai>
  • feat: salvage Django Celery workflow (#1812)
    Source: maintainer-owned salvage of useful Django reviewer/build-resolver/Celery work from stale PR #1310 by mrigank2seven.
    
    - add django-reviewer and django-build-resolver agents
    
    - add django-celery skill with timezone-aware scheduling example
    
    - update catalog counts to 60 agents / 221 skills and record the May 12 salvage gap pass
    
    Co-authored-by: MRIGANK GUPTA <mrigank2seven@users.noreply.github.com>
  • feat: add Quarkus handling
    Adds Quarkus handling across the Java skill/reviewer surface, with maintainer follow-up fixes for duplicate catalog entries, required skill sections, localized snippet structure, and current main alignment.\n\nValidation run locally on the final PR head:\n- NODE_PATH=/Users/affoon/GitHub/ECC/everything-claude-code/node_modules node scripts/ci/validate-install-manifests.js\n- NODE_PATH=/Users/affoon/GitHub/ECC/everything-claude-code/node_modules node scripts/ci/validate-skills.js\n- NODE_PATH=/Users/affoon/GitHub/ECC/everything-claude-code/node_modules node scripts/ci/catalog.js --text\n- npx --yes markdownlint-cli docs/ECC-2.0-GA-ROADMAP.md\n- git diff --check\n- NODE_PATH=/Users/affoon/GitHub/ECC/everything-claude-code/node_modules node tests/run-all.js (2324 passed, 0 failed)
  • docs: fix motion skill examples
    Fix copied example issues from the adopted #1780 motion skills: live reduced-motion config, tokenized distances/easing/springs, valid shimmer skeleton JSX, and visibility cleanup.
  • feat: add motion system skills
    Adopts the motion skill content from PR #1780 and syncs the public catalog counts for the current main surface.
    
    Co-authored-by: Jeff <peacelord1309@gmail.com>
  • feat: salvage plan orchestrate workflow
    - add plan-orchestrate skill from closed PR #1603
    
    - add Longhand MCP config from closed PR #1503
    
    - sync catalog counts to 54 agents, 207 skills, 70 commands
  • feat: salvage windows desktop e2e skill
    Reintroduce the Windows desktop E2E testing skill from stale PR #1334 with current manifest wiring, package publish coverage, catalog counts, and sanitized environment-path guidance.
  • docs: salvage homelab network readiness skill
    Rebuild the useful homelab VLAN, DNS, and VPN planning surface from stale PR #1413 as a safety-first readiness checklist instead of raw router/firewall commands.
    
    Sync the catalog count from 202 to 203 skills and include the skill in the devops-infra install module and npm publish surface.
  • feat: salvage mysql patterns skill (#1733)
    - add a maintainer-reviewed MySQL/MariaDB production patterns skill based on PR #1727
    
    - register the skill in database install module and npm publish allowlist
    
    - sync catalog counts to 53 agents, 200 skills, and 69 commands
  • docs: salvage focused stale PR contributions
    - add Vite and Redis pattern skills from closed stale PRs
    
    - add frontend-slides support assets
    
    - port skill-comply runner fixes and LLM prompt/provider regressions
    
    - harden agent frontmatter validation and sync catalog counts
  • docs: salvage focused skill curation updates (#1723)
    Port the safe, narrow pieces from contributor PR #1694 without taking the broad 11-skill rewrite.
    
    - add drift-prone warnings to external research/media/API skills
    
    - make search-first verify tool availability and use current agent naming
    
    - remove unsafe in-memory rate limiter example from backend patterns
    
    - tighten the CSP example in security-review
    
    Validation: node scripts/ci/validate-skills.js --strict; npx markdownlint targeted skill files; node tests/ci/validators.test.js && node tests/ci/catalog.test.js; npm run lint; node tests/run-all.js
  • fix: port continuous-learning observer fixes
    Ports continuous-learning observer signal, storage, remote normalization, and v1 deprecation fixes onto current main.
  • fix: sync skill frontmatter and catalog counts
    Adds missing skill frontmatter, normalizes strict YAML metadata, syncs README catalog counts, and extends catalog validation for README/plugin/marketplace count drift.
  • feat(skills): add flox-environments skill (#1317)
    * feat(skills): add flox-environments skill
    
    Add a skill for creating reproducible, cross-platform development
    environments with Flox. Covers manifest structure, package installation
    patterns, language-specific recipes (Python, Node, Rust, Go, C/C++),
    hooks/profile configuration, anti-patterns, environment sharing, and
    AI-assisted/vibe coding workflows.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    
    * fix(skills): address review feedback on flox-environments
    
    - Add initdb guard to full-stack example so PostgreSQL works on first run
    - Replace hardcoded /tmp path with mktemp in agent workflow snippet
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    
    * fix(skills): use variable for mktemp path in agent workflow
    
    $_ resolves to the previous command's last argument (-c), not the
    mktemp path. Use an explicit variable instead.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    
    * Update skills/flox-environments/SKILL.md
    
    Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
  • feat: add ios-icon-gen skill (#1356)
    * feat: add ios-icon-gen skill for Xcode asset catalog icon generation
    
    Add a skill that generates PNG icon imagesets (1x, 2x, 3x) for Xcode
    asset catalogs from two sources:
    
    - Iconify API: 275k+ open source icons from 200+ collections
      (Material Design, Phosphor, Tabler, Lucide, etc.)
    - SF Symbols: 5k+ Apple-native symbols (macOS only)
    
    Includes search, preview, and generation scripts with customizable
    size, color, weight, and direct output to asset catalogs.
    
    * fix: address PR review feedback for ios-icon-gen skill
    
    Security:
    - Fix shell injection in iconify_gen.sh by passing query via sys.argv
      instead of interpolating into Python string literal
    
    Robustness:
    - Replace all try!/force-unwrap with do/try/catch and guard let in
      generate_icons.swift for graceful error handling
    - Add option value validation (require_value/requireOptionValue) in
      both scripts to prevent crashes on missing flag values
    - Add curl timeouts (--connect-timeout 10, --max-time 30) to all
      network calls
    - Add sips conversion failure warnings instead of silent suppression
    - Add error handling for curl in list_collections
    
    Documentation:
    - Rename SKILL.md sections to "When to Use", "How It Works", "Examples"
      to match repo conventions
    
    * fix: restore canonical SKILL.md headers and validate color/weight CLI inputs
    
    - Revert SKILL.md section headers back to "When to Activate" and
      "Core Principles" per CONTRIBUTING.md and SKILL-DEVELOPMENT-GUIDE.md
      (the prior rename to "When to Use"/"How It Works" was incorrect)
    - Validate --color as a 6-digit hex code at parse time instead of
      silently falling back to the default gray
    - Validate --weight against the known set of font weights instead of
      silently falling back to thin
    
    ---------
    
    Co-authored-by: Quang Tran <16215255+trmquang93@users.noreply.github.com>
  • feat: add tinystruct-patterns skill and bootstrapping guidance (#1336)
    * feat: add tinystruct-patterns skill and bootstrapping guidance
    
    * docs(skills): restructuralize tinystruct-patterns to standard skill format
    
    - Reorganize SKILL.md and all reference documents into "When to Use", "How It Works", and "Examples" sections to conform to project standards.
    - Refine data-handling.md example to return Builder objects directly, leveraging framework auto-serialization.
    - Simplify @Action examples in routing.md for better readability.
    - Clarify framework mechanics including CLI bootstrapping via ApplicationManager.init(), event-driven architecture, and regex-based routing.
    
    * Update skills/tinystruct-patterns/references/testing.md
    
    Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
    
    * Update skills/tinystruct-patterns/SKILL.md
    
    Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
    
    * Update skills/tinystruct-patterns/references/routing.md
    
    Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
    
    * Update skills/tinystruct-patterns/references/testing.md
    
    Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
    
    * Update skills/tinystruct-patterns/references/testing.md
    
    Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
    Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
  • docs(strategic-compact): fix hook command path in SKILL.md (#1682)
    The Hook Setup example pointed to
    `~/.claude/skills/strategic-compact/suggest-compact.js`, which does not
    exist in the current repo layout. The cross-platform Node.js hook ships
    at `scripts/hooks/suggest-compact.js` and is installed to
    `~/.claude/scripts/hooks/suggest-compact.js`.
    
    Anyone copy-pasting the documented config hit a broken hook command.
    
    Closes #1675
    
    Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
  • fix(observe): skip Windows AppInstallerPythonRedirector.exe in resolve_python_cmd (#1511)
    On Windows 10/11 without Python installed from the Microsoft Store, the
    "App Execution Alias" stubs at %LOCALAPPDATA%\Microsoft\WindowsApps\python.exe
    and python3.exe are symlinks to AppInstallerPythonRedirector.exe. These
    stubs neither launch Python nor honor `-c`; calls print a bare "Python "
    line and exit, silently breaking every JSON-parsing step in observe.sh.
    
    Net effect: observations.jsonl is never written, CLV2 appears installed
    correctly, and the only residual artifact is `.last-purge`.
    
    This commit:
      1. Adds `_is_windows_app_installer_stub` helper that detects the stub
         via `command -v` output and optional `readlink -f` resolution.
      2. Teaches `resolve_python_cmd` to skip stub candidates and fall
         through to the next real interpreter (typically C:\...\Python3xx\python.exe).
      3. Exports the stub-aware CLV2_PYTHON_CMD before sourcing
         detect-project.sh, which already honors an already-set value,
         so the shared helper does not re-resolve and re-select the stub.
    
    POSIX-compatible. No behavior change on macOS / Linux / WSL where no
    such stub exists.
    
    Refs: observations.jsonl empty on Windows Claude Desktop users.