Add CRITICAL instruction block and GATE checkpoints between steps to
prevent Claude from skipping the plan phase and jumping straight to
coding. Each gate requires verification that the previous step produced
its expected output before proceeding.
Closes#227
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
OpenClaw rejects generated plugin manifests that omit configSchema, even for tool plugins with no user configuration. Always emit an empty object schema so converted installs boot cleanly.\n\nAdd converter and writer regression coverage for the manifest shape.\n\nFixes #224
- Move Interaction Method preamble to after H1 in create-new-skill.md
(was incorrectly placed before the # heading)
- Add same preamble to add-workflow.md which also references AskUserQuestion
in Step 3 without a fallback instruction
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- codex-agents.ts: replace vague "ask the user in chat" with structured
numbered-list instructions for Codex AGENTS.md context
- CLAUDE.md: add AskUserQuestion policy to skill compliance checklist
to prevent recurrence in future skills
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Instructs the LLM to use numbered-list prompts when AskUserQuestion
is unavailable (Codex, Gemini, Copilot, etc.), preventing silent
auto-configuration on non-Claude platforms. Fixes#204.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add ce:plan, ce:work, ce:review, ce:brainstorm, ce:compound as the new
primary commands. Old workflows:* names remain as thin deprecation wrappers
that warn and forward with disable-model-invocation.
Also removes the unused GitHub Pages documentation site.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The static docs site (index.html, css/, js/, pages/) is unused.
Working directories (plans/, brainstorms/, solutions/, specs/) are kept.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Create commands/ce/ directory with ce:plan, ce:work, ce:review,
ce:brainstorm, and ce:compound as the new primary commands.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update CHANGELOG, README files, and CLAUDE.md to document
the new ce:* primary commands and deprecation of workflows:*.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- sync.ts: add gemini + all targets, keep copilot, remove cursor (native), use shared hasPotentialSecrets
- install.ts + convert.ts: import both detectInstalledTools and resolveTargetOutputRoot; update --to all block to use new object API; fix resolvedScope ordering (was referencing target before definition)
- CHANGELOG.md: add v0.12.0 entry (auto-detect + Gemini sync)
- README.md: merge all install targets, collapsible output format table, sync defaults to --target all
- package.json: bump to 0.12.0
- sync --target now defaults to "all" when omitted
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Merges feat/proof-integration with conflict resolution:
- proof skill for creating/editing/sharing markdown docs via Proof API
- "Share to Proof" added as opt-in menu option in /workflows:brainstorm Phase 4
- "Share to Proof" added as opt-in menu option in /workflows:plan Post-Generation Options
- Bumped version 2.36.0 → 2.37.0 to avoid conflict with OpenClaw/Qwen/Windsurf release
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove automatic Proof upload from /workflows:brainstorm and /workflows:plan
- Add "Share to Proof" as an explicit menu option in each workflow's handoff step
- Default behavior is unchanged: documents are saved to MD files only
- Users can opt in to Proof sharing when they want collaborative review
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Combine windsurf scope support from this branch with openclaw/qwen targets from main
- Update resolve-output.ts utility to handle openclaw/qwen with openclawHome/qwenHome/pluginName
- Add openclawHome/qwenHome args to install.ts and convert.ts
- Register openclaw and qwen in targets/index.ts alongside windsurf
- Add openclaw/qwen coverage to resolve-output.test.ts (4 new tests → 288 total)
- Update README to document all 10 targets including windsurf and openclaw
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Both openclaw (#217) and qwen (#220) modified install.ts and targets/index.ts.
Combined both targets: openclawHome + qwenHome in resolveTargetOutputRoot,
both registered in the targets registry.
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix P1: Remove dead TOOL_MAP constant (defined but never referenced)
- Fix P1: Replace curl fallback for remote MCP servers with warn-and-skip,
matching the kiro pattern — curl is not an MCP server
- Fix P1: Remove incorrect literal cwd field ("${extensionPath}${/}") from
stdio MCP server config; the value was never interpolated
- Fix P1: Fix plugin.name → plugin.manifest.name in generateContextFile
(plugin.name does not exist on ClaudePlugin; produced "# undefined")
- Fix P1: Wire qwenHome through resolveTargetOutputRoot; previously the
--qwen-home CLI flag was parsed but silently discarded
- Fix P1: Remove hardcoded "compound-engineering" from qwen output path;
now uses plugin.manifest.name via new qwenHome + pluginName params
- Fix P1: Collapse dead-code resolveQwenPaths branches (both returned
identical structures; simplify to a single return)
- Fix P3: Remove rewriting of .opencode/ paths to .qwen/ — Claude plugins
do not reference opencode paths, and rewriting them is incorrect
- Fix P3: inferTemperature now returns undefined for unrecognized agents
instead of 0.3 (matching the explicit doc branch), letting the model
use its default temperature
- Fix P2: Add lookbehind guards to rewriteQwenPaths() matching kiro pattern
to avoid rewriting paths inside compound tokens or URLs
- Update --qwen-home default to ~/.qwen/extensions (plugin name appended)
- Add qwen-converter.test.ts with 16 tests covering all scenarios
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix P1: Replace incomplete string escaping in generateEntryPoint with
JSON.stringify() to prevent code injection via command names/descriptions
with backslashes, newlines, or other special characters
- Fix P1: Remove hardcoded 'compound-engineering' output path; resolve
from plugin.manifest.name via new openclawHome + pluginName params
- Fix P2: Add --openclaw-home CLI flag (default: ~/.openclaw/extensions)
consistent with --codex-home and --pi-home patterns
- Fix P2: Emit typed `const skills: Record<string, string> = {}` in
generated TypeScript to prevent downstream type errors
- Fix P3: Add lookbehind guards to rewritePaths() matching kiro pattern
- Fix P3: Extract duplicated disableModelInvocation filter to variable
- Fix P3: Build manifest skills list before constructing manifest object
(no post-construction mutation)
- Export ClaudeToOpenClawOptions type alias for interface clarity
- Add openclaw-converter.test.ts with 13 tests covering all scenarios
Co-Authored-By: Claude <noreply@anthropic.com>