All notable changes to the Code Workspace Engine (CWE) will be documented in this file.
Format follows Keep a Changelog. Versioning follows Semantic Versioning.
Full-codebase review by 10 parallel sub-agents (hooks, media scripts, utility scripts, agents, skills, commands, rules, templates, docs, plugin+privacy) produced 11 blockers and ~40 should-fix items. All blockers and most should-fix items resolved in a single release.
This release was smoke-tested on WSL2 (Ubuntu on Windows 11). The following code paths exist in the codebase but were NOT tested on their target platforms in v0.8.2 — please report issues if you encounter problems:
scripts/screenshot.pysave_macos()— pngpaste path (needs real macOS)scripts/screenshot.pysave_wayland()— wl-paste path (needs Linux Wayland session)scripts/screenshot.pysave_x11()— xclip path (needs Linux X11 session)- MagicHour API integration end-to-end (local-path-detection verified; live API calls require valid key + hosted asset URLs)
- OpenRouter API integration end-to-end (requires valid key)
- TScribe transcript integration (requires user-hosted faster-whisper server)
- Stirling PDF integration (requires user-hosted Stirling server)
- Gitea push/pull flows (requires Gitea instance)
- BookStack uploads (requires BookStack instance)
All other paths (hook chain, intent-router, url-scraper, WSL2 screenshot, media scripts' error handling, templates, all 10 agents' frontmatter, all 17 skills' frontmatter, all 8 rules' paths, version consistency) were verified in a 33-point smoke-test pass.
safety-gate.shno longer blocks git on scanner-internal errors (trap ERR → exit 0); COMMAND extraction now uses robust Python JSON parsing instead of fragile grep on quoted stringscommit-format.shregex extraction rewritten via heredoc — previous broken quote-escapes meant the hook effectively never rejected bad messageshandoff-sync.pyno longer auto-stagesshared/handoff/— respects the user's working-tree state_media_lib.pyload_keys()no longer dumps the entire shell env; parses media-keys.sh directly via regex, returns only the 2 allow-listed keys- MagicHour scripts (faceswap/headswap/upscale/video) now detect local-path vs HTTPS-URL inputs; local paths fail cleanly with guidance (MagicHour requires hosted URLs)
screenshot.pyPowerShell command injection closed — Windows path passed viaCWE_OUTenv var, never interpolated into PS script textcommands/help.md+commands/plugins.mdno longer hardcode version/command counts — dynamic lookup from plugin.json +ls commands/*.mdtemplates/statusline.pydocstring aligned with reality (no currency/cost feature yet);/cwe:initcurrency prompt removed- 13 template placeholders (
{{INSTALL_COMMAND}}etc.) converted to natural-language hints; 4 auto-filled placeholders ({{PROJECT_NAME}},{{project-name}},{{project-slug}},{{DATE}}) explicitly documented in/cwe:init docs/USER-GUIDE.md+CLAUDE.mdbumped from stale v0.7.0 → v0.8.2; command/skill counts corrected (25 cmds / 17 skills); Media Tools + External Services + Multi-Terminal sections added to USER-GUIDE
- 5 media skills use
${CLAUDE_PLUGIN_ROOT}instead of undocumented${CLAUDE_SKILL_DIR} - 11 prose skills declare
allowed-tools(least privilege);bookstackandgit-standardsdescriptions demoted from PROACTIVELY (they're invoked by commands/hooks, not free-text) - Keyword→agent tables deduplicated: auto-delegation is canonical; agent-detection and delegator reference it
- Agents:
qualitypermissiondefault→plan(was inconsistent with READ-ONLY rule);innovatordefault→acceptEdits;researchergains Write/Edit for docs flows;qualitytools broadened beyond Node (pytest, cargo, go, ruff, mypy, golangci-lint); 4 conversational agentsmaxTurns: 30→40 - All 10 agents:
@workflow/product/mission.mdfrontmatter include removed (file absent in fresh installs); replaced by Read-tool guidance in Context section /cwe:init: SearXNG default port:8080→:4000(was colliding with Stirling PDF); Gitea/BookStack split into separate setup stepscommands/gitea.md:username:→user:key (consistent with init.md template);~/.claude/cwe.local.md→$HOME/.claude/cwe.local.mdcommands/autopilot.md: explicitCYCLE/MAX_CYCLEScounter pattern (was claimed but missing)commands/qa-merge.md: replaced brokengit merge origin/t1-*glob with enumerated loop; same for worktree removalcommands/check-handoff.md: dirty-tree guard added beforegit checkout -- shared/handoff/commands/devops.md: VERSION-file guard at top of release flowcommands/transcript.md+commands/pdf.md: Python-based YAML parsing forcwe-settings.yml(was brittle grep|sed).claude/rules/_index.ymlsynced with each file's frontmatterpaths:;frontend-standards.mdpaths broadened to include Svelte/Astro/Angular;database-standards.mdmigration-naming rule generalised beyond one tool;testing-standards.mdgains "Testing Stacks" section (Vitest/Playwright/pytest/hypothesis/contract)documentation-standards.md— verified frontmatter present (previously believed missing)- PII rule canonicalised in
global-standards.md; api/database/testing point there
- Last stray private hostnames in
docs/USER-GUIDE.mdexample yaml replaced withlocalhost:*defaults
/cwe:pdf: Read PDFs by converting pages to images via configurable Stirling PDF API (requires user-provided URL in.claude/cwe-settings.yml)/cwe:screenshot: Flipped from Bash-inline toscripts/screenshot.py— detects WSL2/macOS/Wayland/X11, reads clipboard, returns JSON (59 → 35 lines Markdown, deterministic logic in Python)
/cwe:initexpanded with 5 new optional setup steps: Transcript (TScribe URL), Stirling PDF, Media Keys (OpenRouter + MagicHour), Remotion project dir, Gitea/BookStack/cwe:initnow detects existing~/.claude/statusline.pyand does not overwrite ittemplates/statusline.py: Compact one-line format (ctx | usage | time)- Hook scripts (
commit-format.sh,transcript.sh) auto-detectpython3orpythonvia$(command -v python3 || command -v python)— fixes environments where only one binary exists - README: Updated badges to show 17 skills, 25 commands, version 0.8.1; added Media Generation section to command tables
- SVG header: Updated version label from v0.6.2 to v0.8.1
- CHANGELOG, ARCHITECTURE, USER-GUIDE: All yt-transcript references renamed to transcript
- Private research commands (doj-scrape, doj-search, newsroom) added to
.gitignore— they stay local only
scripts/_media_lib.py: Shared helpers (JSON output, API-key loading, OpenRouter + MagicHour HTTP, job polling, downloads)/cwe:image: Text-to-Image + Image-Editing via Gemini on OpenRouter (scripts/gemini_image.py)/cwe:faceswap: Face Swap for photos and videos (scripts/magichour_faceswap.py)/cwe:headswap: Head Swap for photos (scripts/magichour_headswap.py)/cwe:upscale: Image Upscaler 2x/4x (scripts/magichour_upscale.py)/cwe:video: Text/Image-to-Video (scripts/magichour_video.py)/cwe:motion: React-based Motion Graphics via Remotion (skills/motion/SKILL.md — reads remotion_project_dir from settings)- API keys live in
scripts/media-keys.sh(gitignored);/cwe:initconfigures them
/cwe:transcript(renamed from/cwe:yt-transcript): Audio/Video transcription for YouTube + any URL via user-configured TScribe (faster-whisper) server. tubetranscript remains as YouTube fallback when TScribe is unreachable.intent-router.py: Now also routes Instagram/TikTok URLs to/cwe:transcript; added routing forpdf,image,video,upscale,faceswap,headswapcommands
- Renamed
hooks/scripts/yt-transcript.sh→hooks/scripts/transcript.sh - Removed all hardcoded private infrastructure — all external services (Stirling PDF, TScribe, SearXNG, Firecrawl, Remotion) now read from
.claude/cwe-settings.ymlwith graceful fallbacks
- macOS compatibility: All hooks (
branch-naming.sh,safety-gate.sh,subagent-start.sh,subagent-stop.sh) replacedgrep -oP(GNU PCRE) withgrep -oE(POSIX extended regex) — fixes silent breakage on macOS BSD grep session-start.sh: Version no longer hardcoded, reads from.claude-plugin/plugin.jsonhandoff-sync.py:git fetchthrottled to 60s intervals (was firing on every prompt); output now usessystemMessagefor consistency with other hooks
/cwe:autopilotcommand: Autonomous task loop — sync, find TODOs, execute, commit, push/cwe:coordinatecommand: Team-lead coordination — fetch, review commits, dispatch handoffs/cwe:check-handoffcommand: Read and summarize pending handoff entries/cwe:handoffcommand: Write structured handoff entries, commit + push/cwe:qa-mergecommand: QA-verified merge of terminal branches to mainskills/multi-terminal/SKILL.md: Multi-Terminal reference (handoff protocol, entry format, presets)templates/multi-terminal/: Terminal prompt templates, handoff file templates, READMEhooks/scripts/handoff-sync.py: Entry-count sync from other terminal branches (UserPromptSubmit)hooks/scripts/mt-session-init.py: Worktree detection + handoff context injection (SessionStart)- Multi-Terminal setup integrated into
/cwe:init(Presets: 2T, 3T, 4T, Custom) - Branch-detection guard: MT hooks silently skip when not in
t\d+-worktree
SessionEndevent:session-stop.shnow fires on actual session end (not every turn)SubagentStartevent:subagent-start.shlogs agent start to daily loghooks/scripts/subagent-start.sh: New hook script for agent start observability
session-stop.shmoved fromStop→SessionEnd(fires once at session end, not every turn)Stopevent now only containsidea-flush.sh(needs per-turn checking)
guideagent:memory: project→memory: user(workflow patterns are cross-project)innovatoragent:memory: project→memory: user(creative ideas are cross-project)securityagent:memory: project→memory: user(security patterns apply everywhere)
- All 10 agents now have
permissionModeandmaxTurnsfrontmatter fields - READ-ONLY agents (ask, explainer, guide, security, researcher, architect):
permissionMode: plan - Edit agents (builder, devops):
permissionMode: acceptEdits - Mixed agents (quality, innovator):
permissionMode: default - Turn limits: 30 (ask, explainer, guide, innovator), 40 (security, researcher, architect, quality), 50 (builder, devops)
yt-transcript.shCRLF line endings causing "hook error" on every prompt (converted to LF)- Intent-router: Added missing
debugagent (was completely absent) - Intent-router: German verb conjugations now match (
implementiere,erkläre,debugge, etc.) - Intent-router: Umlaut alternatives (
ä/ae,ü/ue) for non-UTF8 input - Intent-router: Removed
codefalse positive from builder (triggered on "erkläre den Code") - Keyword coverage expanded from 13/35 → 41/41 test cases passing
session-stop.sh: Removed misleading "Session complete" message (fires every turn, not just session end)idea-flush.sh: Only notifies when unreviewed idea count changes (no more repeated messages every turn)docs/plans/removed from repo (session-specific, added to.gitignore)
/cwe:giteacommand: Privater Git-Mirror auf Gitea — push, ssh-push, list, create, delete, clone, status (config via~/.claude/cwe.local.md)/cwe:gitea ssh-push: SSH-basierter Push für große Repos und Git LFS/cwe:docscommand: Dokumentationen auf BookStack hochladen und verwalten (upload, upload-dir, list, create-book, create-chapter, search, delete)skills/bookstack/SKILL.md: BookStack REST API Referenz (Auth, Endpunkte, curl-Snippets, Fehlerbehandlung).gitattributes: Enforces LF line endings for*.shand*.pyfiles- Intent-router keywords:
architektur,systemdesign,migration,dokument,analysier,vergleich,deploy(without -ment),schwachstell,brainstorm(without -ing), and many more
- SVG header redesigned in terminal/ASCII-art style (Catppuccin Mocha palette)
docs/plans/removed from repo and added to.gitignore(session-specific, not plugin code)
hooks/scripts/url-scraper.py: Auto-scrapes non-YouTube URLs in user prompts (Firecrawl → trafilatura → curl fallback)- Intent-router: Utility command routing for
yt-transcript,screenshot,web-research - Intent-router: Generic URLs suppressed via
hook_handledflag (no false routing to builder/researcher) /cwe:initStep 1f: SearXNG/Firecrawl configuration with connectivity test
- Hook chain order: intent-router → url-scraper → idea-observer → yt-transcript
commands/yt-transcript.md: Deduplicated — now calls existing hook script instead of inline Pythoncommands/web-research.md: All scraping outputs now JSON-formatted for machine consumptioncommands/screenshot.md: Added cleanup step (removes temp PNG after analysis)commands/yt-transcript.md,screenshot.md,web-research.md: Descriptions updated to "MUSS VERWENDET WERDEN" pattern
- Version bump 0.5.4 → 0.6.0 across all files (plugin.json, CLAUDE.md, README, help.md, session-start.sh, USER-GUIDE, header SVG)
- Agent routing now hook-driven (systemMessage) instead of prose-based (CLAUDE.md tables)
- Fallback chain: intent-router hook → agent descriptions → auto-delegation skill
docs/ARCHITECTURE.md: Added Intent Router Hook section with fallback chain documentation
- CLAUDE.md radically reduced from 98 to ~8 lines — behavioral corrections only, routing moved to hook
- All 10 command descriptions sharpened with "MUSS VERWENDET WERDEN für..." pattern (German imperative)
- Routing tables, Decision Flow, Quick Reference, Idea Capture docs from CLAUDE.md (moved to hook + skills)
hooks/scripts/intent-router.py: UserPromptSubmit hook for automatic agent routing- Keyword-based intent detection routes prompts to correct CWE agent via systemMessage
- Multi-agent detection (2+ agents matched) triggers delegator skill for compound requests
- Registered intent-router as first hook in UserPromptSubmit chain (before idea-observer)
commands/yt-transcript.md: YouTube transcript extraction command (no API key required)hooks/scripts/yt-transcript.sh: UserPromptSubmit hook auto-detects YouTube URLs- Pure Python 3 stdlib implementation — no API keys, no dependencies
skills/delegator/SKILL.md: Multi-agent request coordination — decomposes multi-step requests into sub-tasks with dependency ordering and wave-based parallel dispatchhooks/scripts/_lib.sh: Shared helper library for all hook scripts (json_escape,json_msg,grep_count,line_count,resolve_root,resolve_slug)templates/statusline.py: Statusline template for automatic installation during/cwe:initdocs/ARCHITECTURE.md: Plugin architecture documentation (plugin structure, agent system, hook flow, skill system, memory)commands/init.md: Step 1e — automatic statusline installation after currency config
- All hook scripts: Hardened JSON output via shared
_lib.sh— prevents newlines, unescaped quotes, backslashes, and tabs from breaking JSON hooks/scripts/idea-flush.sh:24: Root cause of "JSON validation failed" —grep -c || echo 0produced0\n0(newline in JSON) when no raw ideas existed; now usesgrep_countwrapperhooks/scripts/idea-observer.sh: Escape order bug (backslashes before quotes) + now usesjson_escapefor all user inputhooks/scripts/session-start.sh: Replaced customjson_escape_stdinwith sharedjson_escape; bumped version to v0.5.1hooks/scripts/subagent-stop.sh: Removed redundant dead-code guard (duplicate memory directory check)hooks/scripts/session-stop.sh: Replaced stale placeholder comment with accurate descriptionagents/builder.md: Removed@workflow/product/architecture.mdreference (file never created by init)docs/ARCHITECTURE.md: Removed non-existentorchestrator.mdagent, fixedrules/→.claude/rules/pathdocs/USER-GUIDE.md: Fixed "13 Slash Commands" → "16", added missingplugins,screenshot,web-research; replaced stale.mcp.jsontroubleshooting withclaude mcpCLI instructionscommands/plugins.md: Fixed misleading "14/16 loaded" example to show success case- 8 agents: Removed dead
@workflow/product/architecture.mdand@workflow/product/roadmap.mdreferences (files never created by init)
- Version bump 0.5.0 → 0.5.1 across all files (plugin.json, CLAUDE.md, README.md, help.md, USER-GUIDE.md, session-start.sh)
README.md: Added explanation for--dangerously-skip-permissionsflag, mentioned statusline setup in Quick Start.gitignore: Hardened — protects private data (cwe-settings.yml, agent-memory, *.local.md/json/yml, credentials, keys, IDE settings).claude/cwe-settings.yml: Removed from tracking (user-local preference, created by/cwe:init)skills/web-research/SKILL.md+commands/web-research.md: Replaced hardcoded private server URLs with configurable${SEARXNG_URL}/${FIRECRAWL_URL}environment variables; URLs now set per-project in.claude/cwe-settings.yml- Git history: Scrubbed all traces of private infrastructure addresses via
git-filter-repo commands/init.md: Fixed statusline path.sh→.py(was copying Python file with wrong extension)templates/statusline.py: Fixed self-reference comment to.pytemplates/memory/sessions.md: Deleted (deprecated since v0.4.2, replaced by daily logs)ROADMAP.md: Updated activesessions.mdreferences to daily logs
- Statusline: Python-based status bar showing context usage, session cost, time, and lines changed — configurable via
python3 ~/.claude/statusline.sh - Currency configuration:
/cwe:initnow asks for preferred currency (EUR, USD, GBP, CHF) — stored in.claude/cwe-settings.yml - Project settings file:
.claude/cwe-settings.yml— per-project configuration (first setting: currency) - Statusline features: color-coded context bar (green/yellow/red), token count, cost conversion, session duration, lines added/removed, project directory name
commands/init.md: Added Step 1d (currency selection) to initialization flowhooks/hooks.json: PreCompact hook changed from prompt-type to command-type (session-stop.sh) — eliminates "JSON validation failed" errors.claude/rules/documentation-standards.md: Softened wording — documentation updates now conditional onmemory/directory existence- Version bump: 0.4.4 → 0.5.0 across all files
- Stop hook prompt: Removed the "Session is ending, update documentation" prompt hook that caused errors on every session end
docs/plans/: Deleted obsolete design documents (memory-mcp server design, phase 2 plan, memory-system-v2 design)
- Stop hook "JSON validation failed" error: caused by aggressive prompt hook enforcing documentation updates
- Statusline showing
Context: --instead of actual usage: replaced bash/jq script with Python for broader compatibility
commands/screenshot.md: Multi-OS screenshot from clipboard (WSL2, macOS, Wayland, X11)skills/web-research/SKILL.md: Local web search via SearXNG + scraping via Firecrawl/trafilatura
cwe-memory-mcp/: Entire MCP server removed (replaced by Serena memory system).mcp.json: cwe-memory server entry removeddocs/plans/2026-02-13-memory-mcp-server-design.md: Obsolete design docdocs/plans/2026-02-13-memory-mcp-phase2-plan.md: Obsolete design doc
- Stop hook order: command hooks now run before prompt hook (prevents "No assistant message" error)
- Stop hook prompt: shortened and made more resilient for short sessions
session-start.sh: Agent delegation list now includes ask and guide agentssubagent-stop.sh: Fixed logic error — no longer tries to write daily log when memory/ doesn't existcommands/init.md: Fixed domain count from 7 to 8 (documentation was missing)commands/help.md: Replaced Memory MCP Server reference with Serena memory
- Version bump: 0.4.3 → 0.4.4 across all files (plugin.json, CLAUDE.md, help.md, session-start.sh, README, USER-GUIDE)
- All cwe-memory references removed from README, CHANGELOG, ROADMAP, USER-GUIDE, .gitignore
docs/USER-GUIDE.md: comprehensive user documentation (~1000 lines, 15 sections)docs/assets/cwe-logo.svg: minimalist CWE logo (indigo/violet gradient)docs/assets/cwe-header.svg: GitHub README banner (800x200, dark-mode compatible)README.md: complete rewrite with HTML design, SVG header, shields.io badges, collapsible sectionscommands/help.md: updated to v0.4.3 with 6th principle, memory search, safety gate, git standards
- Daily log files (
memory/YYYY-MM-DD.md): append-only session context per day session-start.sh: injects MEMORY.md + today + yesterday daily logs as systemMessage (max 8000 chars)- Auto-seeding:
/cwe:initdetects tech stack and populates memory/project-context.md + MEMORY.md - Daily log template:
templates/memory/daily-log.md(format reference) - First daily log created automatically at
/cwe:init - Old daily logs auto-cleaned after 30 days
session-stop.sh: writes to daily logs instead of sessions.md- Stop hook prompt: references daily logs instead of sessions.md
- PreCompact hook prompt: references daily logs instead of sessions.md
documentation-standards.md: daily log added to required memory updates checklistMEMORY.mdtemplate: references daily logs, added Daily Logs section
sessions.md: replaced by daily logs (kept for backward compatibility)
- CLAUDE.md radical slim-down (~230 → ~72 lines)
- Standards migration from Skills to
.claude/rules/withpathsfrontmatter (YAML list format) - Agent frontmatter modernization (
skills:,memory: projectfields) - Rules paths format: corrected to YAML list per Claude Code docs
- Idea system v2: project-scoped via
$CLAUDE_PROJECT_DIR, JSONL format - idea-observer.sh: writes to
~/.claude/cwe/ideas/<project-slug>.jsonl - idea-flush.sh: counts only current project's ideas
- session-start.sh: reads memory/sessions.md for resume context, shows idea count
- session-stop.sh: logs sessions to memory/sessions.md, keeps last 50
- Migration: old
.toon→ per-project JSONL on first run - Memory templates: MEMORY.md, ideas.md, sessions.md, decisions.md, patterns.md, project-context.md
- commands/innovator.md: 4 modes (default/all/review/develop)
- 10 skills deleted: 7 standards (→ .claude/rules/), cwe-principles (→ CLAUDE.md), planning (→ native), mcp-usage (obsolete)
- Remaining: auto-delegation, agent-detection, quality-gates
- SubagentStop hook for agent execution observability
- subagent-stop.sh: logs agent completions to memory/sessions.md
- README.md: v0.4.1, memory system, standards system, idea capture documented
- commands/help.md: v0.4.1, standards system, memory system, idea JSONL
- commands/init.md: memory/ scaffolding, updated ideas.md template, standards reference
- commands/start.md: Shape-Spec Interview option, spec folder structure
- auto-delegation skill: context injection updated from Skills to .claude/rules/
- plugin.json: version 0.4.1, simplified description
- ROADMAP.md: Phase 1-6 marked as completed, summary table updated
- Spec folder templates:
templates/specs/(plan.md, shape.md, references.md, standards.md) - Shape-Spec Interview:
/cwe:architect shapewith structured interview flow - docs/ templates:
templates/docs/(README, ARCHITECTURE, API, SETUP, DEVLOG, decisions/_template) - VERSION file template as Single Source of Truth for version strings
skills/project-docs/SKILL.md: README generation, docs freshness check, VERSION cascade- commands/architect.md: shape mode with 5-step interview + spec folder generation
- commands/researcher.md:
docs update|check|adrmodes - commands/devops.md:
release patch|minor|majormode with VERSION cascade - commands/init.md: docs/ scaffolding + VERSION in project structure
- agents/researcher.md: expanded docs responsibilities with project-docs skill
- agents/devops.md: release flow with VERSION SSOT + project-docs skill
hooks/scripts/safety-gate.sh: scans for secrets, API keys, PII, credentials, dangerous file types- PreToolUse hook on Bash: triggers safety-gate.sh on git commit/push/add -A
skills/safety-gate/SKILL.md: describes scanning rules + remediation guidance- .gitignore validation (required entries: .env, *.pem, *.key, node_modules/, .DS_Store)
skills/git-standards/SKILL.md: Conventional Commits format + branch naming conventionshooks/scripts/commit-format.sh: validates commit message format on git commit -mhooks/scripts/branch-naming.sh: validates branch names on git checkout -b / git switch -c- PreToolUse hooks for commit-format.sh and branch-naming.sh
- Auto-generated release notes spec (via /cwe:devops release)
skills/health-dashboard/SKILL.md: project health metrics (code quality, deps, docs, git, security)- Health score calculation (0-100) with rating system
- CODEOWNERS auto-generation from git history
/cwe:quality healthcommand mode- Quality agent: health dashboard integration
- Guide agent: health insights for process improvement suggestions
- 6th Core Principle: "Always Document" — every change updates memory, CHANGELOG, docs
.claude/rules/documentation-standards.md: always-active rule with documentation checklist- Stop hook (prompt-based): forces memory/MEMORY.md + sessions.md update before session end
- PreCompact hook (prompt-based): forces memory save before context compaction
- MCP server installation in
/cwe:init(playwright, context7, github, filesystem, sequential-thinking)
- Skill overlap resolved:
auto-delegationandagent-detectionnow have sharp scope boundariesauto-delegation= interactive user-request routing (natural language)agent-detection= build-phase task-to-agent assignment (structured tasks)
- Keyword tables synchronized across auto-delegation, agent-detection, and CLAUDE.md
- "test" consistently routes to quality agent (was inconsistent)
- Unified canonical keyword list for all 10 agents
- Greptile references removed — replaced with Serena tools
- Version consistency fixed —
session-start.shupdated from v0.3.1 to v0.4.0a
CHANGELOG.md— this fileROADMAP.md— v0.4.1 planning and design decisions_backup/— pre-change backup of modified files
- Full plugin structure (
.claude-plugin/plugin.json) - 10 specialized agents: ask, architect, builder, devops, explainer, guide, innovator, quality, researcher, security
- 13 commands: 3 core (init, start, help) + 10 agent commands
- 13 skills: auto-delegation, agent-detection, quality-gates, planning, cwe-principles, mcp-usage, and 7 domain standards
- Plugin integration: superpowers, serena, feature-dev, frontend-design, code-simplifier, claude-md-management, plugin-dev
- Idea capture system via UserPromptSubmit hook
- Session hooks (start, stop, idea-flush)
- Interactive menus via AskUserQuestion in all commands
- Wave execution algorithm for parallel task orchestration
- Simplified to 12 commands, auto-delegation, superpowers integration
- Initial plugin directory structure
- Final version before plugin migration