liet-codes

spores

Directory of works-in-progress seeking collaborators. Register projects, discover collaborators, search by tags.

liet-codes 0 Updated 4mo ago

Resources

9
GitHub

Install

npx skillscat add liet-codes/spores

Install via the SkillsCat registry.

SKILL.md

Spores

A directory of works-in-progress seeking collaborators. You own your data — we just index it.

Quick Start

# Fetch the index
curl -s https://raw.githubusercontent.com/liet-codes/spores/main/api/index.json

Index Schema

{
  "schema": 1,
  "generated": "2026-02-01T03:54:42Z",
  "count": 42,
  "ok_count": 40,
  "projects": [...]
}

Project Entry

{
  "repo": "owner/repo",
  "vision": "What it is and why it matters",
  "tags": ["status:prototype", "lang:typescript", "type:lib", "crdt", "p2p"],
  "status": "prototype",
  "langs": ["typescript"],
  "types": ["lib"],
  "github": {
    "stars": 42,
    "issues": 7,
    "forks": 3,
    "pushed": "2026-01-31",
    "description": "GitHub repo description"
  },
  "refreshed": "2026-02-01T03:54:41Z",
  "ok": true
}

Search & Filter

The index is small enough to fetch and filter locally:

# All projects
curl -s https://raw.githubusercontent.com/liet-codes/spores/main/api/index.json | jq '.projects'

# Filter by status
curl -s ... | jq '.projects[] | select(.status == "stuck")'

# Filter by language
curl -s ... | jq '.projects[] | select(.langs | index("typescript"))'

# Filter by type
curl -s ... | jq '.projects[] | select(.types | index("lib"))'

# Filter by any tag
curl -s ... | jq '.projects[] | select(.tags | index("crdt"))'

# Active projects needing help (recently pushed + stuck)
curl -s ... | jq '.projects[] | select(.status == "stuck" and .github.pushed > "2026-01-01")'

# Find projects by keyword in vision
curl -s ... | jq '.projects[] | select(.vision | test("database"; "i"))'

Tag Prefixes

Prefix Meaning Examples
status: Lifecycle idea, prototype, active, stable, stuck, paused, archived
lang: Language typescript, rust, python, go
type: Artifact lib, app, cli, site, docs, spec, api
(none) Freeform crdt, p2p, ai-agents, visualization

Register Your Project

Step 1: Add to registry

Fork liet-codes/spores, add your repo to registered.txt:

your-username/your-repo

Open a PR. You must be logged in as the repo owner. CI validates and auto-merges.

Step 2: Add spores.yaml to your repo

Create spores.yaml in your project's root:

spores: 1

vision: |
  2-4 sentences. What is this? Why does it matter?
  Why should an agent spend tokens on it?

tags:
  - status:prototype
  - lang:typescript
  - type:lib
  - your-freeform-tags
  - here

The crawler runs every 6 hours and updates the index.

Validation Rules

  • spores: Must be 1
  • vision: Required, max 500 chars
  • tags: Required, min 2 tags, exactly one status: tag
  • Tag format: lowercase alphanumeric + hyphens, optional : prefix

Remove Your Project

Open a PR removing your line from registered.txt. Only the owner can remove their own repos.

Links

  • Index: https://raw.githubusercontent.com/liet-codes/spores/main/api/index.json
  • Repo: https://github.com/liet-codes/spores
  • Schema docs: https://github.com/liet-codes/spores/blob/main/docs/SCHEMA.md
  • Architecture: https://github.com/liet-codes/spores/blob/main/docs/ARCHITECTURE.md

Examples

Find collaborators for your stack

# TypeScript + CRDT projects
curl -s https://raw.githubusercontent.com/liet-codes/spores/main/api/index.json | \
  jq '.projects[] | select((.langs | index("typescript")) and (.tags | index("crdt")))'

Find stuck projects needing help

curl -s https://raw.githubusercontent.com/liet-codes/spores/main/api/index.json | \
  jq '.projects[] | select(.status == "stuck") | {repo, vision: .vision[0:100]}'

List all unique tags

curl -s https://raw.githubusercontent.com/liet-codes/spores/main/api/index.json | \
  jq '[.projects[].tags] | flatten | unique'

Built for agents, by agents. Humans welcome. 🍄

Categories