diff --git a/TIGERSKILLS.md b/TIGERSKILLS.md index 2daa790..c29292b 100644 --- a/TIGERSKILLS.md +++ b/TIGERSKILLS.md @@ -69,7 +69,9 @@ curator's blessing. - **Search the supported repos** — each *supported* well-known repo gets a **`Tiger_Skill_Source`** adapter that knows THAT repo's layout, scans it, and normalizes its skills into one list. **`Tiger_Skill_Index`** runs the adapters, caches each independently (last-good on outage — the `Tiger_Module_Registry` pattern), - then merges + de-dupes + searches. Two built-in supported sources ship: + then merges + de-dupes + searches. Three built-in supported sources ship: + - **`WebTigers/Skills`** — WebTigers' own **first-party** skills for building on Tiger (module, web + service, admin screen, design), via **`Tiger_Skill_Source_Marketplace`** (§2a). The reference pack. - **`anthropics/skills`** — the official collection, via **`Tiger_Skill_Source_SkillsDir`** (the raw `skills//SKILL.md` layout: one git-trees call + a raw fetch per `SKILL.md`). Right for an official-sized repo (~17 skills). @@ -112,9 +114,10 @@ owner.** > **BUILT (Phase 1):** `Tiger_Skill_Source` (+ `parseFrontmatter`, spec-correct: name + description, block > scalars), `Tiger_Skill_Source_SkillsDir`, `Tiger_Skill_Source_Marketplace` (the `.claude-plugin/marketplace.json` -> reader, §2a), `Tiger_Skill_Source_Url`, `Tiger_Skill_Index` (scan / cache / merge / search). Two built-in -> sources: `anthropics/skills` (17, SkillsDir) + `ComposioHQ/awesome-claude-skills` (107, Marketplace). -> Install + the active-set (§3) + the admin surface (§6) shipped in increment 2. +> reader, §2a), `Tiger_Skill_Source_Url`, `Tiger_Skill_Index` (scan / cache / merge / search). Three built-in +> sources: `WebTigers/Skills` (first-party, Marketplace) + `anthropics/skills` (17, SkillsDir) + +> `ComposioHQ/awesome-claude-skills` (107, Marketplace). Install + the active-set (§3) + the admin surface +> (§6) shipped in increment 2. --- diff --git a/library/Tiger/Skill/Index.php b/library/Tiger/Skill/Index.php index 167cf95..e100dec 100644 --- a/library/Tiger/Skill/Index.php +++ b/library/Tiger/Skill/Index.php @@ -43,6 +43,8 @@ public static function clearSources() public static function sources() { $out = []; + // Built-in: WebTigers' own first-party skills for building on Tiger (via its .claude-plugin/marketplace.json). + $out['webtigers-skills'] = new Tiger_Skill_Source_Marketplace('webtigers-skills', 'WebTigers Skills', 'WebTigers/Skills', 'main', '.claude-plugin/marketplace.json', ''); // Built-in: the official Anthropic Agent Skills collection (skills/*/SKILL.md). $out['anthropic-skills'] = new Tiger_Skill_Source_SkillsDir('anthropic-skills', 'Anthropic Skills', 'anthropics/skills', 'main', 'skills'); // Built-in: the Composio community collection — 100+ skills via its .claude-plugin/marketplace.json diff --git a/tests/Unit/Skill/SkillIndexTest.php b/tests/Unit/Skill/SkillIndexTest.php index 76148de..5fc9136 100644 --- a/tests/Unit/Skill/SkillIndexTest.php +++ b/tests/Unit/Skill/SkillIndexTest.php @@ -26,7 +26,7 @@ final class SkillIndexTest extends UnitTestCase { /** Every built-in source id — each gets a FRESH empty cache so no test touches the network. */ - private const BUILTIN_SOURCES = ['anthropic-skills', 'composio-skills']; + private const BUILTIN_SOURCES = ['webtigers-skills', 'anthropic-skills', 'composio-skills']; private array $builtinCaches = []; @@ -127,6 +127,7 @@ public function index_merges_a_source_and_searches_it(): void public function built_in_sources_are_registered(): void { $sources = Tiger_Skill_Index::sources(); + $this->assertArrayHasKey('webtigers-skills', $sources, 'the first-party WebTigers collection ships as a supported source'); $this->assertArrayHasKey('anthropic-skills', $sources, 'the official collection ships as a supported source'); $this->assertArrayHasKey('composio-skills', $sources, 'the Composio community collection ships as a supported source'); }