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
- 1Bà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.
- 2Khô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.
- 3Khí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ụ.
- 4Phá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.
- 5Gó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ế.

Scott Spence tổ chức lại toàn bộ skills thành 2 plugin marketplaces riêng biệt — và phát hiện ra rằng forced-eval hook tăng skill activation rate từ 20% lên 84%. Hướng dẫn thực hành về cách xây dựng personal skills ecosystem với SQLite backend.
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
Bài viết có hữu ích không?
Bản quyền thuộc về tác giả. Vui lòng dẫn nguồn khi chia sẻ.










Bình luận (0)