From ecd5085e51f168b8ba4e1c08cd37e6fdfaedf001 Mon Sep 17 00:00:00 2001 From: catlog22 Date: Fri, 26 Dec 2025 12:28:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E8=BE=93=E5=87=BA=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E4=BD=BF=E7=94=A8=E7=BB=9F=E8=AE=A1=E5=92=8C?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/skills/copyright-docs/SKILL.md | 10 +++++----- .claude/skills/project-analyze/SKILL.md | 10 +++++----- ccw/src/commands/cli.ts | 14 +++++++++++--- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/.claude/skills/copyright-docs/SKILL.md b/.claude/skills/copyright-docs/SKILL.md index da6d89f6..ad10822d 100644 --- a/.claude/skills/copyright-docs/SKILL.md +++ b/.claude/skills/copyright-docs/SKILL.md @@ -87,13 +87,13 @@ Generate CPCC-compliant software design specification documents (软件设计说 ## Directory Setup ```javascript -// 跨平台目录创建 -const timestamp = new Date().toISOString().replace(/[-:]/g, '').slice(0, 15); +// 生成时间戳目录名 +const timestamp = new Date().toISOString().slice(0,19).replace(/[-:T]/g, ''); const dir = `.workflow/.scratchpad/copyright-${timestamp}`; -// Windows -Bash(`if not exist "${dir}\\sections" mkdir "${dir}\\sections"`); -Bash(`if not exist "${dir}\\iterations" mkdir "${dir}\\iterations"`); +// Windows (cmd) +Bash(`mkdir "${dir}\\sections"`); +Bash(`mkdir "${dir}\\iterations"`); // Unix/macOS // Bash(`mkdir -p "${dir}/sections" "${dir}/iterations"`); diff --git a/.claude/skills/project-analyze/SKILL.md b/.claude/skills/project-analyze/SKILL.md index 435402f7..3f267a2c 100644 --- a/.claude/skills/project-analyze/SKILL.md +++ b/.claude/skills/project-analyze/SKILL.md @@ -117,13 +117,13 @@ Generate comprehensive project analysis reports through multi-phase iterative wo ## Directory Setup ```javascript -// 跨平台目录创建 -const timestamp = new Date().toISOString().replace(/[-:]/g, '').slice(0, 15); +// 生成时间戳目录名 +const timestamp = new Date().toISOString().slice(0,19).replace(/[-:T]/g, ''); const dir = `.workflow/.scratchpad/analyze-${timestamp}`; -// Windows -Bash(`if not exist "${dir}\\sections" mkdir "${dir}\\sections"`); -Bash(`if not exist "${dir}\\iterations" mkdir "${dir}\\iterations"`); +// Windows (cmd) +Bash(`mkdir "${dir}\\sections"`); +Bash(`mkdir "${dir}\\iterations"`); // Unix/macOS // Bash(`mkdir -p "${dir}/sections" "${dir}/iterations"`); diff --git a/ccw/src/commands/cli.ts b/ccw/src/commands/cli.ts index f04e77a7..58261fdd 100644 --- a/ccw/src/commands/cli.ts +++ b/ccw/src/commands/cli.ts @@ -788,8 +788,15 @@ async function historyAction(options: HistoryOptions): Promise { return; } - // Compact table header - console.log(chalk.gray(` Total: ${history.total} | Showing: ${history.executions.length}\n`)); + // Count by tool + const toolCounts: Record = {}; + for (const exec of history.executions) { + toolCounts[exec.tool] = (toolCounts[exec.tool] || 0) + 1; + } + const toolSummary = Object.entries(toolCounts).map(([t, c]) => `${t}:${c}`).join(' '); + + // Compact table header with tool breakdown + console.log(chalk.gray(` Total: ${history.total} | Showing: ${history.executions.length} (${toolSummary})\n`)); console.log(chalk.gray(' Status Tool Time Duration ID')); console.log(chalk.gray(' ' + '─'.repeat(70))); @@ -813,7 +820,8 @@ async function historyAction(options: HistoryOptions): Promise { // Usage hint console.log(); console.log(chalk.gray(' ' + '─'.repeat(70))); - console.log(chalk.dim(' View output: ccw cli output --final')); + console.log(chalk.dim(' Filter: ccw cli history --tool --limit ')); + console.log(chalk.dim(' Output: ccw cli output --final')); console.log(); }