Commit graph

6 commits

Author SHA1 Message Date
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
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
Claude
0f88555485
chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts
Version normalization (scope: only plugins/skills older than 2.7.0):
- Bumped 52 plugin.json + 21 SKILL.md `version` fields from pre-2.7.0
  values (1.0.0 / 2.0.x / 2.2.x / 2.3.x / 2.4.x / 2.5.x) to 2.9.0.
  Left 2.7.0+ packages untouched. Tool mirrors (.codex/.gemini/.vibe/
  .hermes) excluded. All manifests still pass check_plugin_json --all.

Doc count refresh (recomputed raw figures: 338 skills, 16 domains,
62 plugins, 533 Python tools, 676 references):
- marketplace.json: both descriptions + metadata.version -> 2.9.0.
- Root README: headline, badges (Skills 338, Agents 51+, Commands 87+),
  intro counts, convert section (338 skills / 9 tools), and the full
  domain table rebuilt to 16 domains summing to 338 (adds research-ops,
  business-operations, commercial, compliance-os; corrects product 17,
  marketing 46, c-level 66, ra-qm 18, finance 4, engineering 51/78).
- Fixed stale per-skill README `Version:` lines left inconsistent by the
  bump (andreessen, c-level-agents, product-team, senior-qa).
- Fixed stale domain README footers (product-team 17/17, c-level 66/66,
  project-management 9/9).
- CLAUDE.md scope line, structure tree, highlight, and footer synced to
  the raw figures.

https://claude.ai/code/session_01PUNmQVE4WYvcrzpq2anC3D
2026-05-27 05:22:59 +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
663bc8afa2
fix(plugin.json): drop "./" prefix from skills field to clear /doctor warning (#686)
Claude Code 2.1.133+ rejects "skills": "./skills" with a "Path escapes
plugin directory" warning, even though ./skills resolves to a valid
subdirectory inside the plugin root. Per the upstream docs example, the
correct value is "skills" (no ./ prefix), which works across all CC
versions and other tools (Codex, Gemini CLI, etc.).

Applied to all 47 plugin.json files that used "./skills"; updated
CLAUDE.md ClawHub publishing constraints to document the new convention
and reference the issue.
2026-05-19 03:43:34 +00:00
Alireza Rezvani
9dd6fd184c
feat(slo-architect): Phase 4 — SLO/SLI/error-budget discipline (#605)
Phase 4 of the multi-skill build effort. Same 14-step pipeline.

## What landed

### New skill: engineering/slo-architect

End-to-end SLO discipline per Google SRE Workbook. Published as BOTH:
- Standalone plugin: engineering/slo-architect/
- Bundled mirror:    engineering/skills/slo-architect/

3 stdlib-only Python tools (Karpathy complexity 95/100):
- slo_designer.py             — generates SLO definitions; refuses to render
                                 if required fields missing (owner, policy doc,
                                 SLI numerator/denominator). Supports 5 SLI
                                 types: request-success-rate, request-latency,
                                 availability-time, data-freshness, correctness.
- error_budget_calculator.py  — computes error budget AND the canonical
                                 multi-window burn-rate alert thresholds:
                                 fast (1h/5m, page), slow (6h/30m, page),
                                 ticket (3d/6h). Output is PromQL-shaped,
                                 ready to paste into Prometheus rules.
- slo_review.py               — audits SLO docs for 7 common bugs:
                                 target ≥99.99, target ≤99, window <7d,
                                 window >90d, no SLI definition, no error
                                 budget policy, CPU-as-SLI.

4 reference docs:
- slo_principles.md   — SLI vs SLO vs SLA, Google SRE Workbook canon
- sli_design.md       — 5 SLI types with examples and anti-patterns
- error_budget.md     — error budget math, burn-rate alerts, budget policy
- composition.md      — how SLOs feed feature-flags, chaos, kubernetes-operator

Asset templates:
- slo_template.yaml          — fillable SLO YAML with all required fields
- error_budget_policy.md     — fillable 4-state policy (HEALTHY / CAUTION /
                                CRITICAL / VIOLATED)

Plus: SKILL.md, README.md, /slo-design slash command.

## Composition with prior phases

Explicit wire-up to the rest of the portfolio:
- feature-flags-architect.kill_switch_audit references SLO burn-rate
- chaos-engineering.blast_radius_calculator takes SLO error budget as input
- kubernetes-operator capability level L4 requires SLOs + Prometheus rules

The SLO is the unifying number: rollout abort, chaos blast radius, and
operator capability all reference it. references/composition.md walks
through end-to-end use.

## Audit verdict (evidence-based)

Closest existing skill: engineering/observability-designer covers SLI/SLO as
ONE topic among many (metrics, logs, traces, dashboards, alerting). It has
no dedicated tools and is breadth-not-depth. slo-architect is the focused
SLO discipline with deterministic Python tools — same gap pattern as
kubernetes-operator vs senior-devops.

## Marketplace / registry

- marketplace.json: slo-architect registered as standalone plugin
- engineering-advanced-skills bundle: 49 → 50 skills, version → 2.4.4
- engineering/.claude-plugin/plugin.json: version + skill list updated
- mkdocs.yml: nav entry under "Engineering - POWERFUL"
- docs/skills/engineering/slo-architect.md: docs page (manual)
- docs/commands/slo-design.md: auto-generated
- .codex/, .gemini/: synced

## Karpathy-coder gates

- complexity_checker (strict): 95/100 average — same top score as
  chaos-engineering. 1 WARN (depth 7 in slo_review.py from generator
  expressions). Verdict: WARN, not FAIL.
- All 1689 tests pass (was 1671; +18 for the new skill).
- mkdocs build --strict: succeeded in 12.47s.

## Verifiable success criteria (all green)

✓  scripts/*.py --help     → exit 0 for all 3 scripts
✓  SKILL.md frontmatter    → name + description + tags + compatible_tools
✓  plugin.json schema      → 8 fields exact (verified)
✓  sync_skill_bundles      → standalone ↔ bundled mirror in sync
✓  marketplace.json        → standalone entry + bundle counts updated
✓  generate-docs.py        → command page generated (skill page manual)
✓  mkdocs build --strict   → succeeded
✓  cross-tool sync         → codex + gemini synced
✓  pytest tests/           → 1689 passed, 0 failed
✓  CHANGELOG.md            → [Unreleased] entry expanded for Phase 4
✓  Self-test               → error_budget_calculator on 99.9% / 28d emits
                             correct burn-rate (14.4 fast, 6 slow, 1 ticket)
✓  Composition             → references named skills explicitly compose

## Phase 1+2+3+4 cumulative

- 4 new skills: feature-flags-architect, kubernetes-operator,
                chaos-engineering, slo-architect
- 12 new Python tools (all stdlib, all <250 LOC, average complexity 92/100)
- 16 new reference docs
- 4 new slash commands (/flag-cleanup, /operator-audit, /chaos-experiment,
                        /slo-design)

https://claude.ai/code/session_01Dq12xJakFRxwaoU8Pqejdm

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-10 07:39:05 +02:00