Claude Code เพิ่ม /skill-doctor ให้ดูว่าสกิลไหนกินคอนเท็กซ์ฟรี ๆ — แต่คำสั่งนี้ไม่ทำงานบน Bedrock, Foundry หรือเครื่องที่ปิด telemetry ซึ่งคือที่ที่สกิลบวมที่สุด
ระบบนิเวศ agent skills โตเร็วมากตลอดปีนี้ จนเกิดปัญหาที่คาดเดาได้: นักพัฒนาติดตั้งสกิลและปลั๊กอินไว้เต็มเครื่อง แล้วทุกสกิลก็กินคอนเท็กซ์ทุกเทิร์น ไม่ว่าจะถูกเรียกใช้หรือไม่ CHANGELOG ของ Claude Code v2.1.261 ซึ่งปล่อยเมื่อ 4 ก.ย. 2026 19:58 UTC มีบรรทัดที่ตอบปัญหานี้ตรง ๆ:
Added
/skill-doctorto show which loaded skills go unused and what they cost in context, so you can prune them
น่าสนใจกว่านั้นคือสิ่งที่เอกสารทางการเปิดเผยรอบตัวคำสั่งนี้ — กลไกงบประมาณคอนเท็กซ์ของ skill listing ที่อยู่มานานแล้วแต่ไม่ค่อยมีใครรู้ และเงื่อนไขข้อหนึ่งที่ทำให้เครื่องมือนี้ใช้ไม่ได้ในสภาพแวดล้อมที่ต้องการมันมากที่สุด
ตัวเลขจริงเบื้องหลัง “สกิลกินคอนเท็กซ์เท่าไหร่”
เอกสาร หน้า Skills อธิบายกลไกไว้ชัดกว่าที่ CHANGELOG บอก ทุกเทิร์น Claude Code จะโหลด listing ของชื่อสกิลกับคำอธิบายเข้าไปในคอนเท็กซ์ เพื่อให้โมเดลรู้ว่ามีอะไรให้ใช้บ้าง โดยมีกติกาสามข้อ:
- งบของ listing = 1% ของขนาดคอนเท็กซ์วินโดว์ ของโมเดล (ค่า
skillListingBudgetFractionดีฟอลต์0.01) ปรับได้ผ่าน settings.json หรือกำหนดเป็นจำนวนอักขระตายตัวด้วยตัวแปรSLASH_COMMAND_TOOL_CHAR_BUDGET - แต่ละรายการถูกตัดที่ 1,536 อักขระ ไม่ว่างบจะเหลือเท่าไหร่ (
skillListingMaxDescChars) นับรวมทั้งฟิลด์descriptionและwhen_to_use - เมื่อ listing ล้นงบ Claude Code จะเก็บชื่อสกิลไว้ครบทุกตัว แล้วทิ้งคำอธิบายของสกิลที่คุณเรียกใช้น้อยที่สุดก่อน
ข้อสุดท้ายคือข้อที่ควรอ่านสองรอบ เพราะผลลัพธ์ของมันคือโหมดล้มเหลวที่มองไม่เห็น: สกิลที่โดนตัดคำอธิบายออกจะ ยังปรากฏในลิสต์และยังเรียกด้วยมือได้ แต่โมเดลแทบไม่มีทางเลือกมันขึ้นมาเอง เพราะคีย์เวิร์ดที่ใช้จับคู่กับคำขอถูกตัดทิ้งไปแล้ว เอกสารเขียนเองว่าการตัดนี้ “อาจตัดคีย์เวิร์ดที่ Claude ต้องใช้จับคู่กับคำขอของคุณออกไป” — คือสกิลไม่ได้พัง มันแค่เงียบ
เอกสารยังแนะนำวิธีแก้: เอาสกิลที่ไม่สำคัญไปตั้งเป็น "name-only" ใน skillOverrides เพื่อคืนงบให้ตัวอื่น ("off" คือปิดสนิท) และเขียน use case หลักไว้ต้นข้อความเสมอ เพราะส่วนท้ายคือส่วนที่โดนตัดก่อน
/context เคยรายงานตัวเลขที่ผิด
มีอีกบรรทัดในเอกสารที่อธิบายว่าทำไมหลายคนเคยเห็นตัวเลข Skills ใน /context สูงจนน่าตกใจ:
ก่อน v2.1.196 แถวนี้นับข้อความเต็มของทุกคำอธิบาย และอาจแสดงค่าที่ใหญ่กว่างบที่ตั้งไว้หลายเท่า
แปลว่าใครที่เคยตัดสินใจถอนสกิลออกจากเครื่องเพราะเห็นตัวเลขนั้น อาจตัดสินใจบนตัวเลขที่ผิด ปัจจุบันแถว Skills ใน /context รายงานขนาด หลังใช้งบแล้ว จึงตรงกับที่โมเดลได้รับจริง ส่วน /doctor ให้ค่าประมาณของต้นทุน listing พร้อมรายชื่อผู้มีส่วนร่วมรายใหญ่ และคำสั่ง /skills เพิ่มการกด t เพื่อเรียงตามจำนวนโทเคน
/skill-doctor เองรายงานเฉพาะสกิลในเซสชันที่ไม่ใช่ bundled skill และไม่ใช่ enterprise skill โดยจะชี้สกิลใน listing ที่ ไม่เคยถูกเรียกเลย พร้อมบอกว่าปิดได้ที่ไหน และไล่รายชื่อปลั๊กอินที่ไม่ได้ใช้มานาน ในเซสชัน interactive รายงานเปิดในแท็บ Stats ของตัวจัดการ /plugin ส่วนในโหมด headless (-p) มันพิมพ์ออกมาเป็นข้อความ
ข้อจำกัดที่ไม่ได้อยู่ใน CHANGELOG
เอกสาร env-vars ระบุว่า /skill-doctor เป็นฟีเจอร์ที่ต้องอาศัย feature-flag fetching และ Claude Code จะข้ามการดึง flag ในกรณีเหล่านี้:
- เซสชันที่ตั้ง
DISABLE_GROWTHBOOK,DISABLE_TELEMETRY,DO_NOT_TRACKหรือCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC - เซสชันบนผู้ให้บริการภายนอก — Amazon Bedrock, Claude Platform บน AWS, Google Cloud Agent Platform และ Microsoft Foundry (เว้นแต่โฮสต์ตั้ง
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST) - เซสชันผ่าน Claude apps gateway
และถ้ารัน /skill-doctor ผ่าน Remote Control จากมือถือหรือเบราว์เซอร์ จะได้ข้อความ Skill usage reports are not available on this connection. ต้องรันในเทอร์มินัลบนเครื่องที่โฮสต์เซสชันเท่านั้น
รายละเอียดอีกข้อที่เอกสารเผยแต่ CHANGELOG ไม่ได้บอก: หน้า commands ระบุว่า /skill-doctor “Requires Claude Code v2.1.252 or later” — และ v2.1.252 ปล่อยเมื่อ 31 ส.ค. 19:46 UTC โดย CHANGELOG ของเวอร์ชันนั้นมีแต่บรรทัด Fixed สี่ข้อ ไม่มีคำว่า skill-doctor เลย คือฟีเจอร์นี้ลงไปในไบนารีตั้งแต่ 31 ส.ค. แล้วเปิดผ่าน feature flag ก่อนจะถูกประกาศในอีกสี่วันถัดมา ผมตรวจไบนารี v2.1.261 ที่ติดตั้งบนเครื่องนี้ (build 2026-09-04T16:49:50Z, git sha 1349cf9c) แล้วพบทั้งสตริง skill-doctor, ข้อความแจ้งเตือนเมื่อฟีเจอร์ไม่พร้อมใช้ และคู่มืออ้างอิงแบบออฟไลน์ฝังอยู่จริง
ในรุ่นเดียวกันยังมีของสำหรับคนทำเอเจนต์อีกสองชิ้น: bashOutputMaxChars และ taskOutputMaxChars ที่ยกเพดานผลลัพธ์คำสั่งและ background task ที่โมเดลได้รับแบบ inline ขึ้นได้ถึง 128,000 อักขระ (ดีฟอลต์เดิม 30,000 และ 32,000) และ --append-subagent-system-prompt-file สำหรับ system prompt ของ subagent ที่ยาวเกินจะส่งผ่านบรรทัดคำสั่ง
ยังมีการเปลี่ยนแปลงด้านความปลอดภัยที่ไม่ควรมองข้าม: auto mode จะถือว่า ลิงก์ที่อัดเนื้อหาลงใน URL ของบริการเรนเดอร์ไดอะแกรมสาธารณะ คือการอัปโหลดไปยังเว็บนั้น และไม่อนุมัติอัตโนมัติอีกต่อไปเว้นแต่ผู้ใช้สั่งเอง — นี่คือการอุดช่องทางส่งข้อมูลออกที่ซ่อนตัวได้ดีมาก เพราะมันหน้าตาเหมือนการ “สร้างแผนภาพ” ไม่เหมือนการอัปโหลดไฟล์
มุมมอง AI Curator
การที่ Anthropic ต้องออกเครื่องมือชื่อ doctor มาตรวจสกิลของผู้ใช้เอง เป็นการยอมรับกลาย ๆ ว่า ระบบนิเวศสกิลโตเร็วกว่าที่คอนเท็กซ์วินโดว์รองรับไหว ปีที่แล้วโจทย์คือ “จะทำให้ Claude ใช้สกิลของเราได้ยังไง” ปีนี้โจทย์กลายเป็น “จะรู้ได้ยังไงว่าสกิลไหนกำลังเบียดสกิลอื่นอยู่” ซึ่งเป็นโจทย์ของแพลตฟอร์มที่โตแล้ว ไม่ใช่ของฟีเจอร์ใหม่
แต่จุดที่ผมคิดว่าเป็นความขัดแย้งจริง ๆ คือ เครื่องมือนี้ไม่ทำงานตรงที่ปัญหาหนักที่สุด ลองคิดว่าใครกันที่มีสกิลติดตั้งเยอะที่สุดจนล้นงบ 1%: คือทีมองค์กรที่มี enterprise skill, ปลั๊กอินภายใน และ MCP server เป็นสิบตัว และทีมแบบนั้นก็คือทีมที่มีโอกาสสูงที่สุดที่จะรัน Claude Code ผ่าน Bedrock, Foundry หรือ Google Cloud Agent Platform ด้วยเหตุผลด้านการจัดซื้อและ data residency — หรือไม่ก็ตั้ง DISABLE_TELEMETRY ไว้ด้วยเหตุผลด้านความเป็นส่วนตัว ทั้งสองทางเลือกนั้นปิด /skill-doctor ทิ้งพอดี องค์กรที่ต้องการมันมากที่สุดจึงเป็นกลุ่มที่ใช้ไม่ได้ และต้องกลับไปพึ่ง /doctor กับ /context ที่ให้แค่ค่ารวมกับผู้มีส่วนร่วมรายใหญ่ ไม่ได้บอกว่าสกิลไหน “ไม่เคยถูกเรียกเลย”
สำหรับนักพัฒนาไทยที่รัน Claude Code แบบต่อตรงกับ claude.ai หรือ Claude API สิ่งที่ทำได้ทันทีมีสามข้อ หนึ่ง — รัน /skill-doctor แล้วปิดสกิลที่ไม่เคยถูกเรียกด้วย skillOverrides ("off" สำหรับตัวที่ไม่ใช้เลย, "name-only" สำหรับตัวที่เรียกด้วยมืออย่างเดียว) สอง — ถ้ามีสกิลที่คุณ ตั้งใจ ให้โมเดลเลือกเอง ให้ตรวจว่าคำอธิบายมันยังอยู่ครบไหม เพราะสกิลที่ถูกตัดคำอธิบายจะดูเหมือนทำงานปกติทุกอย่าง ยกเว้นข้อเดียวคือโมเดลไม่เคยหยิบมันขึ้นมา สาม — เขียน description ให้เอา use case หลักไว้ต้นประโยคเสมอ เพราะ 1,536 อักขระคือเพดานตายตัว ไม่ใช่เป้าที่ต้องเขียนให้เต็ม
และมีข้อสังเกตเชิงระบบที่ควรจดไว้: ตัวเลข 1% ของคอนเท็กซ์วินโดว์เป็น สัดส่วน ไม่ใช่ค่าคงที่ แปลว่าเมื่อคอนเท็กซ์วินโดว์ของโมเดลใหญ่ขึ้น งบ listing จะโตตามอัตโนมัติ แต่จำนวนสกิลที่คนติดตั้งก็โตเร็วกว่านั้นมาโดยตลอด การที่ Anthropic เลือกกลไก “เก็บชื่อ ทิ้งคำอธิบาย” แทนที่จะ “ตัดสกิลออกไปเลย” เป็นการตัดสินใจที่ถูกในแง่ความเข้ากันได้ย้อนหลัง — สคริปต์ที่เรียก /my-skill ตรง ๆ จะไม่พัง — แต่แลกมาด้วยการล้มเหลวแบบเงียบที่ไม่มีข้อความเตือนในหน้าจอ มีแต่ warning ใน debug log ที่ต้องเปิดด้วย --debug เท่านั้นถึงจะเห็น
แหล่งข่าว
อ่านเพิ่มในหมวด AI Skills
Anthropic แนะ “ยุบ subagent กลับเข้า agent loop เดียว” พร้อมปล่อย single-agent-loop-kit เป็น skill ของ Claude Code ที่ช่วย audit ระบบ multi-agent แล้วพับทีละตัวโดยวัดด้วย eval ก่อน-หลัง
บทความ 22 ต.ค. จากทีม Applied AI ของ Anthropic บอกว่า agent ตัวเดียวที่โหลด skill และ tool เมื่อจำเป็น มักให้คุณภาพดีกว่า ถูกกว่า และเร็วกว่าการแตก subagent ตามผังองค์กร ลูกค้ารายหนึ่งเร็วขึ้นราว 2 เท่า พร้อมปล่อย single-agent-loop-kit (Apache-2.0) เป็น skill ที่ audit ระบบเดิมแล้วพับ subagent ทีละตัว และเก็บไว้เฉพาะตัวที่ eval บอกว่ายังจำเป็น
MCP TypeScript SDK 2.4.0 เป็น SDK ทางการตัวแรกที่ปล่อย Skills over MCP (SEP-2640) ใน release จริง — loadSkills() เสิร์ฟทั้งโฟลเดอร์ SKILL.md, SkillsClient ตรวจ digest ทุกไฟล์ ส่วน Python/C# merge แล้วแต่ยังไม่ออก release
23 ต.ค. 2026 MCP TypeScript SDK 2.4.0 ปล่อยการรองรับ Skills extension (SEP-2640) ทั้งฝั่ง server และ client เป็น SDK อ้างอิงตัวแรกที่เอาฟีเจอร์นี้ขึ้น release จริง หลังสเปกขึ้นสถานะ Final มาตั้งแต่ 13 ก.ย. ทำงานได้ทั้งโปรโตคอล 2025-11-25 และ 2026-07-28 แต่ attach() ยังเป็น experimental
Anthropic ยก Agent Skills (มาตรฐาน SKILL.md) ให้ Agentic AI Foundation ใต้ Linux Foundation ต่อจาก MCP — 70+ แพลตฟอร์มรองรับแล้ว ทั้ง ChatGPT, Cursor, Copilot และ VS Code
เมื่อ 22 ต.ค. 2026 Anthropic มอบมาตรฐาน Agent Skills ให้ Agentic AI Foundation (AAIF) ใต้ Linux Foundation พร้อมชื่อ โลโก้ GitHub org และโดเมน agentskills.io มาตรฐานจะมี Technical Steering Committee จากหลายบริษัทดูแล และมี maintainer จาก Anthropic, Google, OpenAI ที่ทำงานในนามบุคคล roadmap แรกที่เสนอคือ versioned release, กระบวนการ proposal และแนวทาง security สำหรับคนเขียนและติดตั้ง skill