claude-skills/engineering
Claude e729f157ee
fix(engineering): close round-4 review findings on vendored skillopt-sleep
A fourth automated review pass on PR #907 found the deviation count had
drifted out of sync across the three places that document it, plus two
more real gaps in the vendored plugin:

1. Deviation count inconsistency: plugin.json and README.md both said
   13 (after round 3), but CLAUDE.md's v2.11.2 section said "8
   deviations" with an itemized list that didn't map onto the real
   13-item README list -- it named a "dead cross-reference to a
   non-vendored design doc" as a cosmetic item that was never actually
   added as a numbered README deviation (it was fixed in round 3's
   commit but never itemized). Fixed: added it as README deviation
   #14, updated plugin.json's derivation_note with a note that
   README.md's numbered list is the single source of truth if any
   summary disagrees again, and rewrote CLAUDE.md's bullet to match.

2. commands/skillopt-sleep.md's action table listed `schedule` as an
   ordinary action alongside safe previews (`status`/`dry-run`/`run`),
   while its own "Safety reminders" section separately said to point
   users at the print-only install-cron.sh instead -- two
   uncoordinated stories about the same action. scheduler.schedule()
   writes directly to the user's real crontab the moment it runs, with
   no confirmation step. Fixed (README deviation #15): "Steps to
   follow" now has an explicit step 1 telling the agent to confirm
   with the user before running `schedule`; "Safety reminders" no
   longer contradicts the action table.

3. state.json (the cross-night task archive) and
   .skillopt-sleep/staging/<ts>/'s proposal/report/diagnostics files
   contain real harvested session content in plaintext, created via
   plain os.makedirs/open(...,"w") -- world-readable-by-default on a
   typical multi-user box. Fixed (README deviation #16): state.py and
   staging.py now chmod every directory they create to 0700 and every
   file they write to 0600 (best-effort). Live CLAUDE.md/SKILL.md
   files are intentionally left alone -- those are the user's own,
   often-committed files, not new output this plugin introduces.

All three documents (README.md's numbered list, plugin.json's
derivation_note, CLAUDE.md's v2.11.2 section) now agree on 16
deviations (3 cosmetic, 13 safety/hardening) -- verified by grep.

Verified: py_compile clean, mock-backend dry-run still exits 0, a
synthetic test confirms state dir/state.json/staging dir/staging files
land at 0700/0600/0700/0600 respectively after this fix (previously
default umask permissions), all 4 repo CI gates pass locally.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TX374i2YGrjNV4Yi3AmaKS
2026-07-11 13:47:56 +00:00
..
.claude-plugin feat(skills): wave-3 optimization — domain overhauls per newgen audit 2026-06-11 03:58:41 +00:00
.codex feat(skills): wave-3 optimization — domain overhauls per newgen audit 2026-06-11 03:58:41 +00:00
agent-harness Merge pull request #893 from alirezarezvani/claude/pm-audit-agentic-loops-jxurlq 2026-07-03 15:41:40 +02:00
agenthub feat(skills): wave-3 optimization — domain overhauls per newgen audit 2026-06-11 03:58:41 +00:00
autoresearch-agent feat(skills): wave-3 optimization — domain overhauls per newgen audit 2026-06-11 03:58:41 +00:00
behuman chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
caveman chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
chaos-engineering feat(tooling): JSON-output sample gate (G9) + --sample fixtures (#654) 2026-06-11 15:29:39 +00:00
claude-coach feat(tooling): JSON-output sample gate (G9) + --sample fixtures (#654) 2026-06-11 15:29:39 +00:00
code-tour chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
collab-proof fix(collab-proof): add trailing newline + attribution block to plugin.json 2026-06-07 04:09:37 +00:00
data-quality-auditor feat(skills): wave-3 optimization — domain overhauls per newgen audit 2026-06-11 03:58:41 +00:00
demo-video chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
docker-development chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
feature-flags-architect chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
grill-me chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
grill-with-docs chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
handoff chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
helm-chart-builder chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
karpathy-coder fix: phantom-path sweep — 888 unresolvable references to zero 2026-06-10 14:33:00 +00:00
kubernetes-operator chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
llm-cost-optimizer chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
llm-wiki fix: phantom-path sweep — 888 unresolvable references to zero 2026-06-10 14:33:00 +00:00
minimalist feat(engineering): add minimalist and strict-api skills 2026-07-06 13:05:12 +05:30
prompt-governance chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
security-guidance chore(versioning): unify remaining 20 plugins to 2.9.0 2026-05-27 14:25:08 +00:00
skillopt-sleep fix(engineering): close round-4 review findings on vendored skillopt-sleep 2026-07-11 13:47:56 +00:00
skills refactor(skills): #655 tranche 2 — performance-profiler under the 100-line ceiling 2026-06-12 05:21:35 +00:00
slo-architect feat(tooling): JSON-output sample gate (G9) + --sample fixtures (#654) 2026-06-11 15:29:39 +00:00
statistical-analyst chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
strict-api feat(engineering): add minimalist and strict-api skills 2026-07-06 13:05:12 +05:30
terraform-patterns chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
universal-scraping-architect polish: PR #838 second-pass nits (non-blocking) 2026-06-11 15:40:45 +00:00
workflow-builder chore(workflow-builder): apply plugin-audit fixes 2026-05-27 14:47:00 +00:00
write-a-skill chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
zero-hallucination-coder feat(engineering): add zero-hallucination-coder (hardened from #854) 2026-07-01 02:22:24 +00:00