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(); }