- Add `arguments` frontmatter field (count 14 → 15) for named positional $name substitution
- Merge /cost and /stats as aliases of /usage (canonical command); update /usage description
- Update /voice signature to [hold|tap|off]
- Expand /theme description with custom themes from ~/.claude/themes/ and plugins
- Update /terminal-setup terminal list: drop Warp, add Cursor/Windsurf/Zed
- Mark /effort `max` level as session-only
- Refresh badge to Apr 24, 2026 12:29 AM PKT, v2.1.118
Co-Authored-By: Claude <noreply@anthropic.com>
Records the Apr 24 table update: sort swap (Superpowers↔ECC), 9 star bumps, 5 count changes. Flags 2 recurring ON HOLD items (ECC directory-count discrepancy, GSD commands 122→85) now on their 3rd consecutive run — signal that the lower directory-enumerated counts may be the accurate shipped surface.
Co-Authored-By: Claude <noreply@anthropic.com>
All three MCP servers used `npx -y <package>` without version pins,
causing npx to auto-install the latest version on each invocation.
A compromised or breaking release would silently affect all users.
Pinned to current stable versions verified against npm registry:
- @playwright/mcp@0.0.70
- @upstash/context7-mcp@2.1.8
- deepwiki-mcp@0.0.6
Update these pins deliberately when upgrading rather than auto-pulling.
Co-Authored-By: Claude Code <noreply@anthropic.com>
hooks.py logs full hook event data (including tool_input, which may contain
file contents or command arguments) to .claude/hooks/logs/hooks-log.jsonl.
This log file was not excluded from git, creating a risk of accidentally
committing sensitive data such as file contents passed to Write/Edit tools
or command arguments passed to Bash.
Added .claude/hooks/logs/ to .gitignore to prevent accidental commits.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Two agent files both declared `name: time-agent` with different implementations:
- `.claude/agents/time-agent.md` (root): PKT, UTC+5 (Pakistan Standard Time)
- `agent-teams/.claude/agents/time-agent.md` (agent-teams): Dubai GST, UTC+4
When both scopes are active, Claude Code may invoke the wrong time-agent —
serving PKT time when a Dubai command expects GST, or vice versa.
Renamed the root agent's `name` from `time-agent` to `time-agent-pkt` so
the two agents are unambiguous. The agent-teams variant retains `name: time-agent`
since `agent-teams/.claude/commands/time-orchestrator.md` explicitly invokes it
by that name for Dubai time display.
Co-Authored-By: Claude Code <noreply@anthropic.com>
The command was missing its `description` field in the YAML frontmatter
(only `model: haiku` was present). Without a description, Claude Code
cannot surface this command in the `/` slash-command menu, making it
non-discoverable by users.
Co-Authored-By: Claude Code <noreply@anthropic.com>
- Section header renamed: 'CLAUDE.md (7)' → 'CLAUDE.md + .claude/rules (8)'
- TOC label updated to match while preserving the #tips-claudemd anchor
- New row 2 documents the load behavior: rules without paths: frontmatter
auto-load like CLAUDE.md; paths: frontmatter triggers lazy-load by glob
- Source badge links to official memory docs (organize-rules-with-clauderules)
Row 2 placement puts the default behavior (surprise) before the workaround
(mitigation), so skimmers learn the risk before the escape hatch.
Co-Authored-By: Claude <noreply@anthropic.com>
Records the official docs behavior: .claude/rules/*.md without paths:
frontmatter auto-load into every session like CLAUDE.md; with paths:
they lazy-load only when Claude touches matching files. Thematically
grouped next to the existing 200-line CLAUDE.md rule so context-discipline
rules stay adjacent.
Co-Authored-By: Claude <noreply@anthropic.com>
The '# Glob: presentation/**' markdown heading was not parsed as scoping
metadata — Claude Code only reads YAML frontmatter with paths: for
path-specific rule loading. Without proper frontmatter, the file loaded
into every session instead of only presentation/** work. Now correctly
scoped via paths: ["presentation/**"] with H1 'Presentation Delegation'.
Co-Authored-By: Claude <noreply@anthropic.com>
The '# Glob: **/*.md' markdown heading was a cargo-cult label — Claude Code
only parses YAML frontmatter with paths: for path-scoping. Without it, the
file loaded unconditionally on every session. Now correctly scoped via
paths: ["**/*.md"] and H1 retitled to 'Markdown Docs' for human readers.
Co-Authored-By: Claude <noreply@anthropic.com>
- line 193 agent teams/tmux/worktrees → Boris badge (bcherny/status/2025007393290272904)
- line 209 skills in subfolders for monorepos → Claude badge (official skills docs)
- line 267 MCP for chrome console logs → Claude badge (official chrome docs)
- line 269 /doctor for diagnostics → Shayan self-vouch
- line 270 cross-model QA via Codex → Shayan self-vouch
Zero unsourced tips remaining across all 14 tip sections.
Co-Authored-By: Claude <noreply@anthropic.com>
- dumb-zone tip (line 159): rewrite in Dex's own words (12:22/25:41/26:06)
with transcript link + YouTube deep-link at t=1541
- add Dex+Video source for phase-wise gated plan tip
- add Boris tweet source for multiple-CLAUDE.md monorepo tip (2016339448863355206)
- add Claude docs badge for .claude/rules/ and ultrathink tips
- add Boris tweet source for /loop & /schedule tip (2038454341884154269)
- add Shayan self-attribution for terminal-as-background-task debugging tip
- drop 3 unattributable tips: memory.md/constitution.md, vanilla-cc-for-small-tasks, 1M-model compact-error workaround
- update section counts: CLAUDE.md 7→6, Workflows 6→5, Debugging 7→6
Co-Authored-By: Claude <noreply@anthropic.com>
Every image reference from section 6 (Code Quality & Review) through
the conclusion pointed to the wrong file (one number too high). Section
6 showed section 7's content, and so on through section 9 and all the
Tips subsections. The Conclusion reference pointed at a non-existent
28.png.
Shifting references 10–28 down to 9–27 restores the 1:1 mapping
between section content and image content. 9.png (which was orphaned)
is now used, and the broken 28.png link is resolved — the directory
only ever had 27 files.
Verified by visually inspecting 9.png/10.png/11.png/12.png/13.png/14.png
and confirming each shows the section content the doc claims.
Documents the below-fold legend technique: min-height expansion, scroll affordance,
window.scrollTo(0,0) in showSlide(), and why no CSS ancestor changes are needed.
Co-Authored-By: Claude <noreply@anthropic.com>
Chip cloud container expanded from calc(100vh - 420px) to min-height: calc(100vh - 130px)
so all 18 chips have full breathing room on the first fold. Legend repositioned below the
fold (margin-top: 32px, padding: 28px 0 40px 0, border-top: 2px) — revealed only by
scrolling. Scroll affordance added at bottom of cloud container ("scroll for glossary ↓").
window.scrollTo(0,0) added to showSlide() so every slide transition resets to the top,
giving slide 2 a clean entry and preventing scroll bleed to adjacent slides.
Co-Authored-By: Claude <noreply@anthropic.com>
Documents the color-coded definition table technique: shrink chip-cloud
container to free vertical space, add 2-col grid below with matching hex
term colors, 0.82rem rows, 9 items per column balancing color tiers.
Co-Authored-By: Claude <noreply@anthropic.com>
Two-column 2x9 grid at bottom of slide 2, below the chip cloud. Term text
color-coded to match chip tier (blue/purple/green/amber). Cloud container
shrunk from calc(100vh-200px) to calc(100vh-420px) to make room. No other
slides touched.
Co-Authored-By: Claude <noreply@anthropic.com>
Agents that verify UI changes in a browser via Playwright MCP drop a
`.playwright-mcp/` cache directory and `*-check.png` screenshots in the
repo root. These are session-scoped verification residue, not deliverables.