Chalk Labs
Need help deploying lythoskill-deck?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/lythos-labs-lythoskill-deck
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: presentations, writing, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/lythoskill-deck
What's inside
- Skill name
lythoskill-deck- Description
- Declarative skill deck governance. `deck link` reconciles the working set to match skill-deck.toml — deny-by-default removes undeclared skills. DEFAULT patterns: PHASE SWITCH via separate deck files (deck link --deck phase<N>.toml), SEED bootstrap (minimal deck → agent self-expands via deck add + curator discovery). Always restores parent deck. Zero state pollution between phases. INNATE FIRST: after compaction, session reload, or skill refresh — read every innate skill's full SKILL.md before any tool skill. Innate = eagerly loaded, always full context. Tool = lazy, read only on trigger. CRITICAL when writing a deck for others: verify every locator path against the REAL repo structure before publishing.
- License
- MIT
- Instructions
- 251 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- name: "lythoskill-deck" does not match folder "skill"
- allowed-tools: must be a space-separated string
- files: referenced but missing: examples/decks/INDEX.md
Files (15)
- SKILL.md
- skill-deck.toml.template · assets/
- architecture.md · references/
- arena-integration.md · references/
- cold-pool-setup.md · references/
- custom-fields.md · references/
- deck-building.md · references/
- glossary.md · references/
- intent-plan-execute.md · references/
- skill-repo-states.md · references/
- skill-types.md · references/
- toml-format.md · references/
- deck-migrate.sh · scripts/
- deck-status.sh · scripts/
- link.sh · scripts/
SKILL.md (first lines)
# lythoskill-deck: Declarative Skill Deck Governance
> What matters is not how many skills you have, but which ones the agent sees at the same time.
> **Invocation.** Body text uses the `deck <cmd>` shorthand. Run commands as
> `bunx @lythos/skill-deck@{{PACKAGE_VERSION}} <cmd>` (no install), or
> `lythoskill-deck <cmd>` if installed globally. The bare `deck` name is an
> in-repo alias convention in the lythoskill monorepo only — NOT a registered
> bin (the npm package registers `lythoskill-deck`). Same mapping: `arena` →
> `@lythos/skill-arena`, `curator` → `@lythos/skill-curator`, `cortex` →
> `@lythos/project-cortex`.
> Want the shorthand? Register it yourself — e.g.
> `alias deck='bunx @lythos/skill-deck@latest'` in your shell config.
> Optional, your machine, your choice.
## Core Model
`skill-deck.toml` declares desired state. `deck link` makes the working set (default `.claude/skills/`) match — creates symlinks for declared skills, removes everything else. Deny-by-default: undeclared skills do not exist in the agent's view.
```
Cold Pool (~/.agents/skill-repos/) → deck add → skill-deck.toml → deck link → .claude/skills/
(all downloaded skills) (declare) (desired state) (reconcile) (working set — what agent sees)
```
## Multi-File Phase Decks (BEST PRACTICE)
When a task spans different skill sets, use **separate deck files per phase** instead of editing a single toml:
```bash
# Phase 1 — brand design (full form: bunx @lythos/skill-deck@<version> link …)
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} link --deck phase1-brand.toml --cold-pool ~/.agents/skill-repos
# Phase 2 — content creation (atomic switch, Phase 1 skills gone)
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} link --deck phase2-content.toml --cold-pool ~/.agents/skill-repos
# Done — restore parent deck
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} link --deck ./skill-deck.toml
```
Each phase deck is independently auditable. Never add/remove entries in-place when switching contexts — a wrong edit silently breaks the previous phase's composition. The reconciler handles the transition: old symlinks removed, new ones created, no state leaks.
## Seed Bootstrap
Start with a minimal deck (only lythoskill-deck as innate). The agent reads deck SKILL.md → learns schema → uses curator `name LIKE '%keyword%'` to discover skills → `deck add` + `deck link` → self-expands. Governance skill is the only irreducible dependency.
```toml
[deck]
max_cards = 8
cold_pool = "~/.agents/skill-repos"
working_set = ".claude/skills"
[innate.skills.lythoskill-deck]
path = "github.com/lythos-labs/lythoskill/skills/lythoskill-deck"
```
## Commands
```bash
# ── Core (use these every time) ──
# Reconcile working set to match declaration
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} link
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} link --deck ./phase1-brand.toml
# Add skill from cold pool or download URL
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} add github.com/owner/repo/skill-name
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} add github.com/owner/repo/skill-name --alias my-skill --type tool
# ── Maintenance ──
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} refresh # plan-only scan for updates
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} refresh --exec # actually git pull (self-heals dirty cold pool; non-zero exit + trailing ⚠️ on failure)
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} remove <alias> # remove from deck + working set
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} validate # check current deck
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} validate --deck <path> # check specific deck
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} validate --remote # probe locators against GitHub
# Cold-pool-missing skills warn (not error) — they may exist on GitHub.
# HATEOAS output: each warning suggests curator add <locator> as next step.
# ── Advanced ──
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} to-symlink <alias> # snapshot → symlink
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} to-snapshot <alias> # symlink → snapshot (pin HEAD)
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} per-run kimi # render per-run CLI call from deck state (zero side effects)
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} reconcile # drift report vs cold pool
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} reconcile --apply # converge
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} migrate-schema # old string-array → alias-as-key
```
`link` is a reconciler: undeclared symlinks → removed; broken symlinks → recreated; non-symlink entities → backed up then removed; missing declared skills → linked from cold pool. It also prints best-effort ⚠️ warnings when a cold-pool repo is behind origin, dirty, or on a non-default branch — drift is surfaced at the step every boot already runs. The health probe never blocks and swallows its own errors by design; set `LYTHOS_DEBUG=1` to print a caught probe error (🔍 whisper) when you suspect the probe itself is broken.
`refresh` defaults to **plan-only** (no git pull). Use `--exec` to apply, or let an agent read the plan and execute per target — the agent can probe remotes, switch mirrors, handle divergence.
> `deck update` is deprecated. Use `refresh`.
## Format Detection (agent duty)
Before running any `deck` command, check the toml format. If you see `skills = [...]` (string array), it's the deprecated format. Ask before migrating:
```
⚠️ This deck uses the deprecated string-array format. Run migrate?
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} migrate-schema
bunx @lythos/skill-deck@{{PACKAGE_VERSION}} migrate-schema --dry-run # preview first
```
Do NOT silently migrate.
## Key Concepts
| Concept | One-liner |
|---------|-----------|
| Cold Pool | All downloaded skills (`~/.agents/skill-repos/`). Agent cannot see here. |
| skill-deck.toml | Declares desired state. Alias-as-key dict format. |
| deck link | Reconciler. Makes the working set match the declaration. |
| Working Set | Symlinks only. What the agent actually scans. Default: `.claude/skills/` (configurable per platform). |
| skill-deck.lock | Machine-generated snapshot: resolved paths, hashes, constraints. |
## lock vs state — what to commit and why
The deck writes two machine files with opposite git policies
(ADR-20260616000939948 — born from a real incident: a ZK agent saw the oldFrom lythos-labs/lythoskill, MIT.
More from lythos-labs/lythoskill
- 0.605score
lythoskill-project-scribe
lythos-labs
Session context dump.
SkillAFreshness: A★ 3Claude Code +9 - 0.605score
lythoskill-project-onboarding
lythos-labs
Session context loader.
SkillAFreshness: A★ 3Claude Code +9 - 0.605score
lythoskill-dreaming
lythos-labs
Project memory consolidation — 夜有所梦 ("night dreams": the day's scattered notes get consolidated into long-term memory while "sleeping").
SkillAFreshness: A★ 3Claude Code +9 - 0.605score
lythoskill-reminders
lythos-labs
Reconciles a declarative session-reminder registry (cortex/REMINDERS.toml) against the host's session-scoped cron tools.
SkillAFreshness: A★ 3Claude Code +9 - 0.602score
lythoskill-red-green-release
lythos-labs
User-acceptance-driven release workflow using heredoc patch files.
SkillAFreshness: A★ 3Claude Code +9 - 0.602score
lythoskill-project-scribe-weekly
lythos-labs
Weekly synthesis writer.
SkillAFreshness: A★ 3Claude Code +9 - 0.602score
lythoskill-coach
lythos-labs
Analyzes SKILL.md files against Agent Skills best practices.
SkillAFreshness: A★ 3Claude Code +9 - 0.602score
lythoskill-writer
lythos-labs
Human-first documentation writer and reviewer.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
lythoskill-project-cortex
lythos-labs
Register tasks BEFORE fixing bugs.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
lythoskill-curator
lythos-labs
Skill curator (买家秀 — "buyer show": hands-on QA notes, as opposed to the author's own 卖家秀 "seller show" claims).
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
lythoskill-sober
lythos-labs
Stay clear-headed.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
lythoskill-arena
lythos-labs
Test play for skills and deck configurations.
SkillAFreshness: A★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 23, 2026 (7 days ago)
- Last release
- Oct 14, 2026 (16 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/lythos-labs/lythoskill
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from lythos-labs
- 0.605score
lythoskill-project-scribe
lythos-labs
Session context dump.
SkillAFreshness: A★ 3Claude Code +9 - 0.605score
lythoskill-reminders
lythos-labs
Reconciles a declarative session-reminder registry (cortex/REMINDERS.toml) against the host's session-scoped cron tools.
SkillAFreshness: A★ 3Claude Code +9 - 0.605score
lythoskill-project-onboarding
lythos-labs
Session context loader.
SkillAFreshness: A★ 3Claude Code +9 - 0.605score
lythoskill-dreaming
lythos-labs
Project memory consolidation — 夜有所梦 ("night dreams": the day's scattered notes get consolidated into long-term memory while "sleeping").
SkillAFreshness: A★ 3Claude Code +9 - 0.602score
lythoskill-coach
lythos-labs
Analyzes SKILL.md files against Agent Skills best practices.
SkillAFreshness: A★ 3Claude Code +9 - 0.602score
lythoskill-project-scribe-weekly
lythos-labs
Weekly synthesis writer.
SkillAFreshness: A★ 3Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get lythoskill-deck running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
lythoskill-deck. Agent Mart. https://agentmart.dev/skills/lythos-labs-lythoskill-deck (last updated 2026-10-24)