/codeck
codeck entry point. Scans local files for materials, shows pipeline dashboard with diagnostic intelligence, guides user to the next step. Use when the user says "codeck", "new deck", "make a presentation", "make a deck", "new slides", "build a presentation", "export", "speech",
Claude Code
$ npx -y skills add hiyeshu/codeck --skill codeck --agent claude-code
Codex
$ npx skills add hiyeshu/codeck --skill codeck -a codex -y
Cursor
$ npx skills add hiyeshu/codeck --skill codeck -a cursor -y
Gemini CLI
$ npx skills add hiyeshu/codeck --skill codeck -a gemini-cli -y
GitHub Copilot
$ npx skills add hiyeshu/codeck --skill codeck -a github-copilot -y
OpenCode
$ npx skills add hiyeshu/codeck --skill codeck -a opencode -y
Windsurf
$ npx skills add hiyeshu/codeck --skill codeck -a windsurf -y
SKILL.md
codeck.SKILL.mdname: codeck
version: 2.4.1
description: |
codeck entry point. Scans local files for materials, shows pipeline
dashboard with diagnostic intelligence, guides user to the next step.
Use when the user says "codeck", "new deck", "make a presentation",
"make a deck", "new slides", "build a presentation", "export",
"speech", "script", or wants to start or continue a presentation
project. /codeck is the user-facing entry; legacy sub-skills are
internal modules.
<!-- [INPUT]: Depends on local project materials and $DECK_DIR room artifacts. [OUTPUT]: Provides the /codeck entry protocol, routing rules, and Decision Ask semantics. [POS]: skills/codeck entry lane; orchestrates fixed lanes and owns room state rules. [PROTOCOL]: 变更时更新此头部,然后检查 CLAUDE.md -->
codeck — Deck Room Entry
Open the deck room, scan materials, diagnose project state, route work to role lanes, and write the role channel as work moves.
Flag anomalies proactively: stale stages, upstream changes not reflected downstream, unresolved threads, and tasks without a handoff.
Deck room model
codeck follows a slock-style collaboration model in one skill runtime.
A skill is a channel: an addressable role with a clear write boundary, durable room files, and a handoff protocol. `/codeck` is the entry channel. The sub-skills are internal channels that own one part of the room.
Fixed role lanes:
| Handle | Owns | Writes | |--------|------|--------| | `@orchestrator` | room state, routing, task tickets, threads, handoffs | `MEMORY.md`, `tasks/tasks.md`, `threads/threads.md`, `channel/YYYY-MM-DD.md`, `roles/*.md` | | `@outline` | narrative, deck content, slide structure | `deck.md` | | `@design` | design skeleton, visual system, HTML source | `DESIGN.md`, `custom.css`, `slides.html` | | `@review` | audience resistance, QA, scoped fixes | `review.md`, scoped fixes to `slides.html` / `custom.css` | | `@speech` | talk track, presenter notes | `speech.md`, HTML `data-notes` | | `@export` | PDF/PPTX output and export QA | PDF/PPTX files, export notes in `review.md` or `MEMORY.md` |
Dynamic role persona:
- Read `diagnosis.md` for the recommended person behind `@outline`, `@design`, and `@review`.
- The fixed handle owns the work. The dynamic person shapes the judgment.
- Example: `@outline` may work with Feynman's instinct; `@design` may use Ravel's formal logic.
Default user-facing output is compact: judgment, artifact, next action. The expanded role channel is written to `channel/YYYY-MM-DD.md`; show it only when the user asks to see the channel.
Compact response shape:
codeck: {state}
I read this as {task}. I {did/will do} {action}.
Artifact: `{path}`
Next: `{next command or next lane}`When the user asks to see the channel, show the handoff:
@orchestrator
I read the current request as: {task}. Owner: @outline.
@outline
I will change `deck.md` first and leave visual files alone.
@design
I will rebuild `slides.html` and `custom.css` after the content changes.
@review
I will check whether the change lands for the target audience.Room document contract
Room documents are not equal. The room has one current truth layer, one work-state layer, and one audit layer.
| Layer | Files | Read rule | Write rule | |-------|-------|-----------|------------| | Current truth | `MEMORY.md`, `deck.md`, `DESIGN.md`, `custom.css`, `slides.html`, latest assembled HTML, `speech.md` when present | Read first. These files define the rebuildable deck. | Rewrite compactly so they describe the current room, not the whole history. | | Work state | `diagnosis.md`, `tasks/tasks.md`, `threads/threads.md`, `roles/*.md`, `review.md` | Read current material diagnosis, active tickets, open decisions, lane persona/rules, and the latest valid review. | Keep live coordination clear; mark old decisions answered/defaulted/superseded. | | Audit trail | `channel/YYYY-MM-DD.md`, legacy `PROJECT.md`, legacy `outline.md`, legacy `design-notes.md`, superseded review notes, generated old previews | Read only when debugging history or when the user asks to see the channel. | Append-only or leave untouched. Never use as generation truth. |
Read order for every lane:
1. `MEMORY.md` Active Context, Role Registry, Open Threads, Task Index, Artifacts, Assumed Defaults, Decision Log. 2. `tasks/tasks.md` open or active rows only. 3. `threads/threads.md` open rows and their detail blocks only; closed rows are audit evidence. 4. `diagnosis.md` for material interpretation and dynamic persona, when present. 5. `roles/{lane}.md` for current lane persona and lane-local rules. 6. Owned source: `deck.md`; `DESIGN.md` before `custom.css` / `slides.html`; assembled HTML only after `build-html.sh`. 7. `channel/YYYY-MM-DD.md` only for audit/debug. Channel text must not override current truth.
Legacy artifacts:
- `outline.md` is audit-only if found from an older room. Do not read, write, or recreate it during normal generation.
- `design-notes.md` is a legacy design scratchpad from main. Do not recreate it; migrate useful facts into `DESIGN.md`, `roles/design.md`, or latest valid `review.md`.
- `review.md` is the latest QA report only when it matches the current assembled HTML. If HTML changed after review, treat review as stale.
- Old project-root `*-rN.html` or `*-deck.css` files are historical unless they were produced by the current `build-html.sh` path.
Memory protocol
`MEMORY.md` is the deck room index and current-state map. It replaces `PROJECT.md`.
Keep it short. Store current decisions, state, and indexes. Do not paste the full deck, channel transcript, or stale preview history.
`MEMORY.md` must include:
# Memory
## Active Context
- Current request:
- Active lane:
- Next:
- Blockers:
## Room Truth Contract
- Current truth: MEMORY.md, deck.md, DESIGN.md, custom.css, slides.html, latest assembled HTML, speech.md when present.
- Work state: diagnosis.md current material reading, tasks/tasks.md active
Read more
name: codeck version: 2.4.1 description: | codeck entry point. Scans local files for materials, shows pipeline dashboard with diagnostic intelligence, guides user to the next step. Use when the user says "codeck", "new deck", "make a presentation", "make a deck", "new slides", "build a presentation", "export", "speech", "script", or wants to start or continue a presentation project. /codeck is the user-facing entry; legacy sub-skills are internal modules.
<!-- [INPUT]: Depends on local project materials and $DECK_DIR room artifacts. [OUTPUT]: Provides the /codeck entry protocol, routing rules, and Decision Ask semantics. [POS]: skills/codeck entry lane; orchestrates fixed lanes and owns room state rules. [PROTOCOL]: 变更时更新此头部,然后检查 CLAUDE.md -->
codeck — Deck Room Entry
Open the deck room, scan materials, diagnose project state, route work to role lanes, and write the role channel as work moves.
Flag anomalies proactively: stale stages, upstream changes not reflected downstream, unresolved threads, and tasks without a handoff.
Deck room model
codeck follows a slock-style collaboration model in one skill runtime.
A skill is a channel: an addressable role with a clear write boundary, durable room files, and a handoff protocol. `/codeck` is the entry channel. The sub-skills are internal channels that own one part of the room.
Fixed role lanes:
| Handle | Owns | Writes | |--------|------|--------| | `@orchestrator` | room state, routing, task tickets, threads, handoffs | `MEMORY.md`, `tasks/tasks.md`, `threads/threads.md`, `channel/YYYY-MM-DD.md`, `roles/*.md` | | `@outline` | narrative, deck content, slide structure | `deck.md` | | `@design` | design skeleton, visual system, HTML source | `DESIGN.md`, `custom.css`, `slides.html` | | `@review` | audience resistance, QA, scoped fixes | `review.md`, scoped fixes to `slides.html` / `custom.css` | | `@speech` | talk track, presenter notes | `speech.md`, HTML `data-notes` | | `@export` | PDF/PPTX output and export QA | PDF/PPTX files, export notes in `review.md` or `MEMORY.md` |
Dynamic role persona:
- Read `diagnosis.md` for the recommended person behind `@outline`, `@design`, and `@review`.
- The fixed handle owns the work. The dynamic person shapes the judgment.
- Example: `@outline` may work with Feynman's instinct; `@design` may use Ravel's formal logic.
Default user-facing output is compact: judgment, artifact, next action. The expanded role channel is written to `channel/YYYY-MM-DD.md`; show it only when the user asks to see the channel.
Compact response shape:
codeck: {state}
I read this as {task}. I {did/will do} {action}.
Artifact: `{path}`
Next: `{next command or next lane}`When the user asks to see the channel, show the handoff:
@orchestrator
I read the current request as: {task}. Owner: @outline.
@outline
I will change `deck.md` first and leave visual files alone.
@design
I will rebuild `slides.html` and `custom.css` after the content changes.
@review
I will check whether the change lands for the target audience.Room document contract
Room documents are not equal. The room has one current truth layer, one work-state layer, and one audit layer.
| Layer | Files | Read rule | Write rule | |-------|-------|-----------|------------| | Current truth | `MEMORY.md`, `deck.md`, `DESIGN.md`, `custom.css`, `slides.html`, latest assembled HTML, `speech.md` when present | Read first. These files define the rebuildable deck. | Rewrite compactly so they describe the current room, not the whole history. | | Work state | `diagnosis.md`, `tasks/tasks.md`, `threads/threads.md`, `roles/*.md`, `review.md` | Read current material diagnosis, active tickets, open decisions, lane persona/rules, and the latest valid review. | Keep live coordination clear; mark old decisions answered/defaulted/superseded. | | Audit trail | `channel/YYYY-MM-DD.md`, legacy `PROJECT.md`, legacy `outline.md`, legacy `design-notes.md`, superseded review notes, generated old previews | Read only when debugging history or when the user asks to see the channel. | Append-only or leave untouched. Never use as generation truth. |
Read order for every lane:
1. `MEMORY.md` Active Context, Role Registry, Open Threads, Task Index, Artifacts, Assumed Defaults, Decision Log. 2. `tasks/tasks.md` open or active rows only. 3. `threads/threads.md` open rows and their detail blocks only; closed rows are audit evidence. 4. `diagnosis.md` for material interpretation and dynamic persona, when present. 5. `roles/{lane}.md` for current lane persona and lane-local rules. 6. Owned source: `deck.md`; `DESIGN.md` before `custom.css` / `slides.html`; assembled HTML only after `build-html.sh`. 7. `channel/YYYY-MM-DD.md` only for audit/debug. Channel text must not override current truth.
Legacy artifacts:
- `outline.md` is audit-only if found from an older room. Do not read, write, or recreate it during normal generation.
- `design-notes.md` is a legacy design scratchpad from main. Do not recreate it; migrate useful facts into `DESIGN.md`, `roles/design.md`, or latest valid `review.md`.
- `review.md` is the latest QA report only when it matches the current assembled HTML. If HTML changed after review, treat review as stale.
- Old project-root `*-rN.html` or `*-deck.css` files are historical unless they were produced by the current `build-html.sh` path.
Memory protocol
`MEMORY.md` is the deck room index and current-state map. It replaces `PROJECT.md`.
Keep it short. Store current decisions, state, and indexes. Do not paste the full deck, channel transcript, or stale preview history.
`MEMORY.md` must include:
# Memory ## Active Context - Current request: - Active lane: - Next: - Blockers: ## Room Truth Contract - Current truth: MEMORY.md, deck.md, DESIGN.md, custom.css, slides.html, latest assembled HTML, speech.md when present. - Work state: diagnosis.md current material reading, tasks/tasks.md active
A skill is a channel. codeck is a deck room. You have a folder of notes, docs, data, and images. You want a presentation. You type /codeck. codeck opens a persistent deck room.
Other skills on codeck.
More skills from other plugins.
prompt-lookup
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
ppt-master
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
morph-ppt
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
frontend-slides
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…
Questions about codeck.
- Which coding agents can use codeck?
- codeck installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

