Hub/Docs

Skills

Markdown instruction sets that tell agents how to operate: two separate skill systems for two separate agents.

Skills

Skills are markdown files with YAML frontmatter that give agents operational instructions. There are two independent skill systems.

Two Skill Systems

Slop SkillsAgent Skills
Used byDiscord bot (Slop)MCP clients (Claude Code, Cursor, etc.)
Runtime locationapps/bots/slop/skills/src/config/skills/agents/
Count42
LoadedAt bot startup, cached in memoryOn demand via ls_read_skill tool
Read toolslop_read_skill(name)ls_read_skill(name)

Slop Skills

Four required skills loaded at startup. Slop's system prompt includes a one-liner for each; the full content is available via slop_read_skill(name).

See Start Here for the entry-point skill.

Skill List

SkillFilePurpose
Start Herestart-here.mdRuntime orientation: node types, search strategy, answer patterns
DB Operationsdb-operations.mdSchema reference, search patterns, citation rules, response framing
Member Profilesmember-profiles.mdHow Slop builds Discord member profiles, <profile> block format
Event Schedulingevent-scheduling.mdPaper Club / Builders Club schedule, event queries

How They Load

Skills are validated and cached at startup in apps/bots/slop/src/skills/index.ts. The hub also keeps mirrored copies in src/config/skills/slop/ for docs and skill browsing:

const REQUIRED_SLOP_SKILLS = ['Start Here', 'Member Profiles', 'DB Operations', 'Event Scheduling'];

// Loaded once, cached globally
function loadSkillsContextFromLocalStrict(): string {
  // Reads each .md file from skills/ directory
  // Validates all 4 required skills exist
  // Returns formatted string: "- **SkillName**: description" per skill
}

The cached context is injected into every system prompt under the [SKILLS] section. At runtime, the LLM can call slop_read_skill(name) to load the full markdown content of any skill.

Skill Frontmatter Format

---
name: Start Here
skill_group: slop
description: "Slop Discord runtime orientation. Start here for every thread."
when_to_use: First skill for every Slop thread/mention.
when_not_to_use: Not for agent or MCP workflows.
success_criteria: Slop retrieves before claiming, cites sources, stays concise.
---

Agent Skills

Two skills for external agents connecting via MCP.

See Agent for the main operating policy.

Skill List

SkillFilePurpose
Agentagent.mdOperating policy: behavioral contract, retrieval pattern, citation rules
MCP Quickstartmcp-quickstart.mdSetup guide: config JSON, example queries, available tools

How They Load

Agent skills live in src/config/skills/agents/ and are served by the skill service:

// src/services/skills/skillService.ts
const BUNDLED_AGENT_SKILLS_DIR = path.join(process.cwd(), 'src/config/skills/agents');
const AGENT_SKILL_ORDER = ['agent.md', 'mcp-quickstart.md'];

// Read via API or MCP tool
export function readSkill(name: string): Skill | null {
  // Searches agent skills, then slop skills, then user skills
  // Returns { name, description, skillGroup, content, fileName }
}

MCP clients call ls_read_skill("agent") to load the operating policy, then ls_read_skill("mcp-quickstart") for setup details.


Skill Service

The hub's skill service (src/services/skills/skillService.ts) manages three sources:

const BUNDLED_AGENT_SKILLS_DIR = 'src/config/skills/agents';      // 2 agent skills
const BUNDLED_SLOP_SKILLS_DIR  = 'src/config/skills/slop';          // 4 mirrored slop skills
const USER_SKILLS_DIR          = '~/.latent-space-hub/skills';     // up to 10 user skills

API endpoints:

MethodRouteDescription
GET/api/skillsList all skills (agent + slop + user)
GET/api/skills/[name]Read single skill content
PUT/api/skills/[name]Create/update user skill
DELETE/api/skills/[name]Delete user skill

All skills appear in the docs sidebar under their respective sections (Slop Skills / Agent Skills).