Tổ Chức Claude Code Skills Thành Plugin Marketplaces: Từ Chaos Đến Hệ Thống
Điểm nổi bật
Nhấn để đến mục tương ứng
- 1 Bài toán chi phí phức tạp hơn bảng giá niêm yết: Tìm hiểu thêm về 6 exte. Tính ROI dựa trên thời gian tiết kiệm và output quality — gói rẻ nhất chưa chắc kinh tế nhất.
- 2 Không có người thắng tuyệt đối trong cuộc đua này: Đây là phát hiện quan trọng nhất trong bài viết — và là Insight #64 được nghiên cứu Claude.vn đặc biệt highlight. The difference is remarkable — and it changes how I thin. Thay vì theo đám đông, hãy đánh giá dựa trên use case cụ thể và ngân sách thực tế của team.
- 3 Khía cạnh quan trọng ít được bàn luận: Scott Spence là developer với integration sâu vào Claude Code workflow — anh đã build skills cho "this and that" trong nhiều. Theo nhận xét từ cộng đồng: " trong nhiều tháng. Nhưng đến tháng 1/2026, anh đối mặt với vấn đề phổ biến: ". Nắm được chi tiết này giúp bạn tránh sai lầm phổ biến và khai thác tối đa giá trị từ công cụ.
- 4 Phát hiện đáng giá cho người dùng: Marketplace 1: claude-code-toolkit General productivity tools áp dụng được cho bất kỳ Claude Code project nào:. Cộng đồng đánh giá cao điểm này vì nó tác động trực tiếp đến hiệu quả sử dụng hàng ngày.
- 5 Góc nhìn đáng suy ngẫm từ bài viết: Một component ít ngờ tới trong architecture của Spence: SQLite làm backbone cho conversation logging và skill. Hiểu rõ khía cạnh này thay đổi cách nhiều người tiếp cận và tận dụng công cụ trong thực tế.
Vấn Đề: Skills Khắp Nơi, Không Ai Cập Nhật
Scott Spence là developer với integration sâu vào Claude Code workflow — anh đã build skills cho "this and that" trong nhiều tháng. Nhưng đến tháng 1/2026, anh đối mặt với vấn đề phổ biến:
"Skills were dotted around in differing repos — causing developers to constantly copy-paste and struggle finding updated versions."
Đây là "works-on-my-machine" problem của skills ecosystem: mỗi project có version riêng, outdated, không sync với nhau. Khi bạn improve một skill trong project A, project B vẫn dùng version cũ.
Giải pháp của Spence: reorganize toàn bộ thành 2 plugin marketplaces riêng biệt, dựa trên natural separation của use cases.
Kiến Trúc: 2 Marketplaces Với Mục Đích Rõ Ràng
Marketplace 1: claude-code-toolkit
General productivity tools áp dụng được cho bất kỳ Claude Code project nào:
toolkit-skills:
- Forced-eval hook — 84% vs 20% activation rate (chi tiết phía dưới)
- Session management utilities
- Cross-project workflow templates
performance:
- SQLite FTS5 indexing — giảm file search từ 28ms → 3ms
- Conversation logging và retrieval
- Performance profiling utilities
mcp-essentials:
- Setup guides cho popular MCP servers
- Configuration templates
- Authentication helpers
analytics:
- Usage data querying
- Session statistics
- Cost tracking utilities
Marketplace 2: svelte-skills-kit
Framework-specific knowledge cho Svelte/SvelteKit ecosystem:
- Runes documentation ($state, $derived, $effect, $props, $bindable)
- Data flow patterns cho SvelteKit
- Component library guidance (shadcn-svelte, Bits UI)
- Deployment configurations (Vercel, Cloudflare, Railway)
- Testing patterns với Vitest và Playwright
Phân tách này làm rõ một principle quan trọng: skills nên tách theo purpose, không phải theo project.
Insight #64: Forced-Eval Hook — 84% vs 20%
Đây là phát hiện quan trọng nhất trong bài viết — và là Insight #64 được nghiên cứu Claude.vn đặc biệt highlight.
Spence đo lường activation rate của skills:
- Không có forced-eval hook: ~20% — skills chỉ được trigger khoảng 1 trong 5 lần phù hợp
- Có forced-eval hook: ~84% — skills được trigger đúng hầu hết thời gian
"I tested this extensively. The difference is remarkable — and it changes how I think about skill design."
Forced-Eval Hook Là Gì?
Forced-eval hook là một hook kích hoạt ở đầu mỗi session, yêu cầu Claude explicitly evaluate tất cả available skills và check xem có skill nào phù hợp với current context không.
File hook đơn giản:
---
# .claude/hooks/session-start.sh
#!/bin/bash
echo "Available skills for this session:"
ls ~/.claude/skills/
echo "Please evaluate which skills are relevant to the user's first request."
Tại sao điều này work: Không có hook, Claude "biết" về skills nhưng không actively consider chúng với mỗi request. Hook buộc một "skill awareness pass" ở đầu session — dramatically increasing the chances skills are triggered when relevant.
Tối Ưu Skill Descriptions Để Maximize Activation
Kết hợp với forced-eval hook, Spence nhận ra rằng skill description quality cực kỳ quan trọng:
Bad description:
name: svelte-help
description: Helps with Svelte
Good description:
name: svelte-help
description: Use when working with Svelte components, SvelteKit routes,
reactive state ($state, $derived), stores, or when getting Svelte
compilation errors. Includes Svelte 5 runes syntax.
triggers: [svelte, sveltekit, runes, $state, $derived, component]
Explicit triggers và detailed description = Claude knows exactly when to use the skill.
SQLite Foundation: Tại Sao Không Chỉ Là Files
Một component ít ngờ tới trong architecture của Spence: SQLite làm backbone cho conversation logging và skill analytics.
ccrecall: Conversation Memory System
Spence build một tool tên ccrecall — SQLite database track tất cả Claude Code sessions:
- 2,555 sessions được track trong một 186MB database
- FTS5 (Full Text Search) indexing cho fast search
- Query từ file search: 28ms → 3ms sau khi add FTS5 index
Use case thực tế:
"What was that clever approach to authentication I used 3 months ago?" → Query ccrecall → Find exact session → Resume context
SQLite advantages cho AI workflows:
- Zero configuration — một file, không cần server
- Portable — copy file là copy database
- Fast — sub-millisecond queries cho most operations
- Universally accessible — mọi language và tool đều có SQLite driver
- Queryable — unlike JSON logs, dùng được SQL để analyze patterns
Analytics Queries Hữu Ích
Với conversation history trong SQLite, Spence có thể query:
-- Skills được dùng nhiều nhất
SELECT skill_name, COUNT(*) as usage_count
FROM skill_activations
GROUP BY skill_name
ORDER BY usage_count DESC;
-- Sessions nào tốn token nhiều nhất
SELECT session_id, token_count, DATE(created_at)
FROM sessions
ORDER BY token_count DESC
LIMIT 20;
-- Pattern: dùng skills gì sau 3pm
SELECT skill_name, COUNT(*)
FROM skill_activations
WHERE HOUR(created_at) >= 15
GROUP BY skill_name;
Ecosystem Integration: Không Chỉ Là Standalone
Spence's marketplaces không standalone — chúng integrate với broader tooling:
mcp-omnisearch: MCP server cho multi-source search (web, GitHub, docs) — complementary tool cho claude-code-toolkit
mcp-sqlite-tools: MCP server trực tiếp read/write SQLite databases — giúp Claude Code query ccrecall và other data stores
mcpick: TUI tool quản lý và switch giữa MCP configurations — khi có nhiều projects với different MCP needs
Publishing: Chia Sẻ Marketplaces Với Cộng Đồng
Spence publish cả hai marketplaces dưới dạng GitHub repositories:
# Install claude-code-toolkit
claude plugin install github.com/spences10/claude-code-toolkit
# Install svelte-skills-kit
claude plugin install github.com/spences10/svelte-skills-kit
Với plugin versioning, users nhận được:
- Semantic versioning (1.2.3)
- Changelog tự động từ git commits
- Update commands:
claude plugin update claude-code-toolkit - Rollback:
claude plugin install claude-code-toolkit@1.1.0
Template: Xây Dựng Marketplace Của Riêng Bạn
Dựa trên approach của Spence, đây là template để bắt đầu:
Bước 1: Audit Skills Hiện Có
List tất cả skills bạn đang dùng:
ls ~/.claude/skills/
ls */. claude/skills/ # trong các projects
Bước 2: Phân Loại Theo Mục Đích
Categories phổ biến:
- Language/framework specific (react-skills, python-skills)
- Domain specific (data-analysis-skills, security-skills)
- General productivity (review-skills, doc-skills)
- Team standards (company-coding-standards)
Bước 3: Tạo Plugin Structure
my-skill-marketplace/
├── plugin.yaml
├── README.md
├── skills/
│ ├── skill-1.md
│ └── skill-2.md
├── hooks/
│ └── session-start.sh # forced-eval hook
└── CHANGELOG.md
Bước 4: Add Forced-Eval Hook
Include session-start hook trong mỗi marketplace — đây là critical infrastructure cho activation rates.
Bước 5: Publish và Maintain
Git repo → Plugin registry → Team install command
ROI: Tại Sao Đầu Tư Vào Skills Organization Là Worth It
Spence ước tính time investment vs return:
- Initial organization: ~4-6 giờ
- Ongoing maintenance: ~30 phút/tuần
- Time saved per developer per day (với 84% vs 20% activation): ~20-30 phút
- Break-even với team 3 người: ~2 tuần
Và đây chưa tính value của knowledge preservation — skills capture institutional knowledge mà thông thường chỉ tồn tại trong đầu của experienced developers.
Tìm hiểu thêm về 6 extension points của Claude Code trong bài 6 Extension Points của Claude Code: Hướng dẫn đầy đủ.
Và xem cách bắt đầu với Skills Marketplace trong bài Claude Code Skills Marketplace: Hướng dẫn cho người mới.
Nguồn tham khảo
- Scott Spence, "Organising Claude Code Skills Into Plugin Marketplaces," scottspence.com, 24/01/2026. Đọc bài gốc
- Anthropic, Claude Code Plugin Documentation, 2026. Tài liệu chính thức
- SQLite FTS5 Extension Documentation. SQLite.org
Bai viet co huu ich khong?
Bản quyền thuộc về tác giả. Vui lòng dẫn nguồn khi chia sẻ.





