ITADN

skill-creator: eval workspace read mid-session by Claude when exploring project, burning tokens

#763Opennetopsengineer 创建于 2026-03-25
N
netopsengineercommented
When \`skill-creator\` creates an eval workspace as a sibling to the skill directory (e.g. \`.claude/skills/grounded-plan-workspace/\` next to \`.claude/skills/grounded-plan/\`), Claude reads those workspace files mid-session whenever it explores the project to orient itself before a task. This is a frequent, expected behavior — not a quirk — and results in unnecessary token consumption on every session where project exploration happens, whether or not the grounded-plan skill is involved. ## Mechanism Claude Code does not load workspace files into the system prompt at startup (verified via cold-cache measurement — \`cache_creation_input_tokens\` is identical with and without the workspace present). The cost is incurred at runtime: when Claude Globs or reads \`.claude/skills/\` to understand project context, it encounters the workspace directory alongside the skill and reads its contents — benchmark JSONs, grading outputs, iteration reports, etc. ## Workaround Adding \`ignorePatterns\` to \`.claude/settings.local.json\` suppresses the files: \`\`\`json { "ignorePatterns": [ "*-workspace/iteration-*/", "*-workspace/skill-snapshot*/" ] } \`\`\` This works, but creates a secondary problem: \`skill-creator\` itself uses Glob to discover previous runs, so it can no longer find its own workspace when invoked. The user must manually provide the workspace path at the start of every skill-creator session. ## Evidence - Cold-cache first-turn \`cache_creation_input_tokens\`: **7,009** both with and without workspace present — confirms workspace is not in the system prompt - When Claude explores the project naturally (no explicit skill path given), Glob calls on the project root return workspace files with \`ignorePatterns\` absent - The \`ignorePatterns\` workaround prevents discovery but breaks skill-creator's own workflow ## Suggested fix Either: 1. Have \`skill-creator\` write a \`.claudeignore\` or equivalent scoped to the workspace directory automatically on creation, or 2. Place the workspace outside \`.claude/skills/\` by default — e.g. \`~/.claude/skill-evals/<skill-name>/\` — so it is never co-located with skill definitions Relates to #490 (same root cause of workspace/skill co-location, different impact).
0 条评论