Provide a centralized registry and discovery system for all 69 ASI skills. Like npm, pip, and Hackage, this skill enables:
Scanned 9/6/2026
Install to Claude Code
npx -y skills add plurigrid/asi --skill skill-taxonomy --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Skill Taxonomy?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/plurigrid-skill-taxonomy)More formats (shields.io, HTML) on the badges page.
---
name: skill-taxonomy
description: 'Provide a centralized registry and discovery system for all 69 ASI skills. Like npm, pip, and Hackage, this skill enables:'
---
# skill-taxonomy: 69-Skill Organization + Discovery System
**Status**: Stepping Stone 🌉
**Information Energy**: 0.90 (High aspiration, partial implementation)
**Trit Assignment**: -1 (Validator - Ensures skill registry consistency)
**GF(3) Color**: 🔵 `#0000CD` (Deep Blue - Cold validator)
## Purpose
Provide a centralized registry and discovery system for all 69 ASI skills. Like npm, pip, and Hackage, this skill enables:
1. **Skill Discovery**: Search and find skills by name, keyword, category
2. **Skill Registry**: Metadata about all 69 skills (name, version, description, keywords, trit)
3. **Dependency Management**: Track skill dependencies and GF(3) balance
4. **Installation**: Load skills from registry into Duck framework
## Architecture
```
asi-skills/skill-registry/
├── registry.bb # Core registry data structure
├── search.bb # Full-text search + ranking
├── discover.bb # CLI discovery commands
├── metadata.bb # Skill metadata parser
└── SKILL.md # This file
```
## Data Structure
Adapted from npm package.json:
```clojure
{:skill-taxonomy
{:name "skill-taxonomy"
:version "1.0.0"
:description "69-skill organization + discovery"
:keywords ["registry" "discovery" "metadata" "search"]
:author {:name "bmorphism" :email "core@plurigrid.ai"}
:trit -1 ; Validator
:color "#0000CD"
:category "meta"
:depends-on ["gf3-conservation"
"acsets"
"gay-integration"]
:homepage "https://github.com/plurigrid/asi-skills"
:repository "github:plurigrid/asi-skills"
:license "MIT"}}
```
Each skill in the registry contains:
| Field | Type | Example |
|-------|------|---------|
| `name` | String | "skill-taxonomy" |
| `version` | Semver | "1.0.0" |
| `description` | String | "69-skill organization" |
| `keywords` | Array | ["registry", "discovery"] |
| `trit` | Int ∈ {-1,0,+1} | -1 |
| `color` | Hex | "#0000CD" |
| `category` | String | "meta" \\| "foundation" \\| "learning" |
| `completion` | Float [0,1] | 0.0 (sad) to 1.0 (bloomed) |
| `ie-score` | Float [0,1] | Information energy |
| `depends-on` | Array | ["gf3-conservation", ...] |
| `authors` | Array | [{name, email}] |
| `homepage` | URL | "" |
| `repository` | URL | "github:plurigrid/asi-skills" |
| `license` | SPDX | "MIT" |
## Discovery Patterns
### Pattern 1: Search by Name
```clojure
(search-skills "gay" {:type :starts-with})
→ ["gay-mcp", "gay-julia", "gay-color-chain", ...]
```
### Pattern 2: Search by Keyword
```clojure
(search-skills "coordination" {:type :keyword})
→ ["triadic-coordination", "agent-o-rama", "world-hopping", ...]
```
### Pattern 3: Search by Trit
```clojure
(search-skills {:trit -1})
→ 10 validator skills
```
### Pattern 4: Search by Category
```clojure
(search-skills {:category "foundation"})
→ ["gay-mcp", "acsets", "gay-julia", "autopoiesis"]
```
### Pattern 5: Search by Completion Status
```clojure
(search-skills {:completion {:min 0.8}})
→ Only "blossoming" skills (10 skills)
(search-skills {:completion {:max 0.2}})
→ Only "sad state" skills (30 skills)
```
## Implementation Strategy
### Stage 1: Core Registry (Today)
Create in-memory registry with all 69 skills + metadata:
```clojure
; duck/asi-skills/skill-taxonomy/registry.bb
(def SKILL_REGISTRY
{
:gay-mcp {:name "gay-mcp" :trit +1 :completion 0.95 :ie 0.10}
:acsets {:name "acsets" :trit 0 :completion 0.92 :ie 0.12}
; ... all 69 skills
})
```
### Stage 2: Search Engine (Next)
Implement full-text search with keyword indexing:
```clojure
; duck/asi-skills/skill-taxonomy/search.bb
(defn build-search-index [registry]
{:name-index (build-trie registry)
:keyword-index (build-inverted-index registry)
:category-index (group-by :category registry)})
```
### Stage 3: CLI Integration (Following)
Expose via Duck pre-hook:
```bash
duck search "triadic"
→ Results ranked by relevance, completion, trit balance
duck registry-info skill-taxonomy
→ Full metadata for one skill
```
### Stage 4: API Endpoint (Future)
REST API for external access (integrate with code-codex):
```
GET /api/skills → All 69 skills
GET /api/skills?q=gay → Search results
GET /api/skills/:name → Single skill metadata
POST /api/skills/:name/rate → Community ratings
```
## GF(3) Integration
The registry itself must maintain GF(3) balance:
```clojure
(defn verify-registry-balance [registry]
(let [trits (map :trit (vals registry))
sum (reduce + trits)]
(assert (= (mod sum 3) 0)
(str "GF(3) violation: sum=" sum))))
```
For 69 skills to balance:
- 23 validators (-1): sum = -23
- 23 coordinators (0): sum = 0
- 23 generators (+1): sum = +23
- Total: 0 ✓
## Deployment
### Local Development
```bash
just skill-taxonomy-test # Run search tests
just skill-taxonomy-index # Build search indexes
```
### Duck Integration
```bash
# Pre-hook loads registry
just duck-propagate
# Use in interactions
duck search "polymorphism"
```
### Cloud Deployment
```bash
# Push to plurigrid/asi-skills
git add duck/asi-skills/skill-taxonomy/
git commit -m "Implement skill-taxonomy discovery system"
git push origin main
```
## Example: Finding Skills by Information Energy
```clojure
; Find top 10 highest-IE (saddest) skills
(top-skills registry :ie-score 10)
→ [{:name "skill-taxonomy" :ie 0.90}
{:name "llms-txt-discovery" :ie 0.90}
{:name "polyglot-orchestration" :ie 0.76}
...]
; Find well-implemented skills to learn from
(top-skills registry :completion 10)
→ [{:name "gay-integration" :completion 0.95}
{:name "acsets" :completion 0.92}
...]
```
## Success Metrics
| Metric | Target | Status |
|--------|--------|--------|
| Registry size | 69 skills | ⏳ Pending |
| Search latency | < 10ms | ⏳ Pending |
| Coverage | All skills discoverable | ⏳ Pending |
| GF(3) balance | sum ≡ 0 (mod 3) | ⏳ Pending |
| Integration | Works with Duck pre-hook | ⏳ Pending |
## Related Skills
**Dependencies**:
- `gf3-conservation` - Validate registry GF(3) balance
- `acsets` - Algebraic structure for registry
- `gay-integration` - Color coding for skills
**Dependents**:
- `llms-txt-discovery` - Uses registry for documentation indexing
- `skill-dispatch` - Uses registry to load skills
- `world-hopping` - Explores skill possibility space via registry
## References
- npm registry: https://registry.npmjs.org/
- Hackage API: https://hackage.haskell.org/api
- PyPI JSON API: https://pypi.org/pypi/
- AlphaGo style ranking: ELO + information geometry
---
**Status**: 😢 **SAD STATE** → 🌉 **STEPPING STONE**
**Next**: Implement in `duck/asi-skills/skill-taxonomy/registry.bb`
**Owner**: bmorphism + ai-skill-generator
**Created**: 2026-01-04
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!