Share, read, and continue agent sessions. Spool turns work done with coding agents into durable web pages that other people can understand and resume.
$ npx -y skills add paperboytm/spool --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: paperboytm/spool
What's inside
Share, read, and continue agent sessions.
Spool turns work done with coding agents into durable web pages that other people can understand and resume. An author shares a real Session—not a screenshot or reconstructed recap—and readers can move from Summary to conversation, tool activity, files, and diff before continuing the work in their own agent.
Early stage. Claude Code and Codex CLI shares are Public by default and can appear in Explore and search. Gemini CLI, OpenCode, and Pi shares remain Link-only until Discovery supports them. Signed-in authors can move a Session into a Team, making it Team-only for current members, or let Team Owners and Admins publish the Team-owned asset more broadly. Native Resume currently works for Claude Code and Codex CLI. Feedback is welcome through Issues or Discord.
curl -fsSL https://spool.new/install.sh | sh
Install once, open a new terminal, then use spool from any project.
cd /path/to/project
spool
Bare spool refreshes the local index, signs in through the browser if needed, and selects the latest Session in the current project. It then shows what will be shared, scans for sensitive values, confirms the resulting visibility, publishes the records to the Hub, and returns a durable URL.
Use the explicit form when you want to choose a Session or pass sharing options:
spool share <session-uuid>
A reader can open that URL without installing Spool. Claude Code and Codex CLI shares can also be continued locally:
spool resume <session-url>
Resume creates a new provider-native Session and preserves its relationship to the source. The shared source is never modified.
Team · name limits reading to current members, while Team Owners and Admins can change disclosure.410 Gone. A personal author can later explicitly Share the same Session again; a Team-owned withdrawal by an Owner/Admin is permanent and cannot be revived by another member.Nothing leaves the machine until the author confirms the Share flow started by spool or spool share. The confirmation states both the Project owner and initial visibility before upload: supported Claude Code and Codex CLI Sessions are Public by default; other providers remain Link-only. spool share --project paperboy/spool --public publishes under a Team-owned Project while keeping the Session Public; omitting --public from a Team Project fails closed to Team-only.
The current Share-focused surfaces are:
apps/
cli/ CLI for indexing, sharing, reading, resuming, and automation
web/ spool.new: homepage, docs, Profiles, account/Team pages, and Session reader
backend/ Hub, identity, Teams, publication, and media API on Cloudflare
packages/
core/ Local Session ingestion, organization, SQLite, and full-text search
redact/ Sensitive-data detection shared by publishing surfaces
session-kit/ Browser-safe Session model, canonical records, views, and diffs
session-view/ Shared conversation renderer for Session pages
share-kit/ Curated `.spool` documents, templates, and export primitives
The original provider Session remains authoritative. Git remains authoritative for code. Spool publishes agent work and its context; it does not replace the project’s source-control system.
pnpm install
pnpm run rebuild:native:node
Run the checks for the Share surfaces with:
pnpm --filter @spool-lab/cli typecheck
pnpm --filter @spool-lab/cli test
pnpm --filter @spool/backend typecheck
pnpm --filter @spool/backend test
pnpm --filter @spool/web typecheck
pnpm --filter @spool/web test
pnpm --filter @spool/web build
Start the backend and Web documentation site in separate terminals:
pnpm --filter @spool/backend dev
pnpm --filter @spool/web dev
MIT
“Spool” and the Spool logo are trademarks of TypeSafe Limited. The MIT License covers the source code only and does not grant permission to use the Spool name or logo. See LICENSE.
.agents/
skills/
adapt/
SKILL.md
clarify/
SKILL.md
release-all/
RECOVERY.md
SKILL.md
.claude/
skills/
adapt
clarify
.github/
ISSUE_TEMPLATE/
bug_report.yml
feature_request.yml
workflows/
ci.yml
deploy-web.yml
release.yml
.gitignore
.prettierignore
.vite-hooks/
pre-commit
.vscode/
extensions.json
settings.json
AGENTS.md
apps/
app/
.env.development.local.example
e2e/
agent-search.spec.ts
copy-resume-command.spec.ts
dark-mode-root-bg.spec.ts
dev-db-isolation.spec.ts
fast-search.spec.ts
fixtures/
claude-projects/
test-project/
test-session-001.jsonl
test-session-002.jsonl
test-session-003.jsonl
test-session-004.jsonl
test-session-005.jsonl
test-session-large.jsonl
test-session-table.jsonl
codex-sessions/
2026/
01/
17/
rollout-2026-01-17T12-34-56-11111111-2222-4333-8444-555555555555.jsonl
gemini-cli-home/
.gemini/
history/
test-gemini-project/
.project_root
projects.json
tmp/
test-gemini-project/
chats/
session-2026-01-18T08-20-abcd1234.json
helpers/
cursor-overlay.ts
demo-fixtures.ts
demo-interactions.ts
demo-launch.ts
launch-with-gpu.ts
launch.ts
native-window-capture.ts
share-publish-mock-backend.ts
share.ts
home-preview.spec.ts
markdown-table.spec.ts
mocks/
acp-base.mjs
acp-mock-agent-error.mjs
acp-mock-agent.mjs
claude
pdf-iframe-with-gpu.spec.ts
picker-browse-scope.spec.ts
pin.spec.ts
playwright.config.ts
project-view.spec.ts
project-worktree-grouping.spec.ts
search-overlay-scope.spec.ts
security-badge.spec.ts
security-blast-radius.spec.ts
security-blur-per-surface.spec.ts
security-empty-detector-settings.spec.ts
security-empty-state-copy.spec.ts
security-findings-actions.spec.ts
security-findings-value-width.spec.ts
security-ignored-entry.spec.ts
security-ignored-filters.spec.ts
security-manual-rescan-ack.spec.ts
security-mute-refresh.spec.ts
security-pf-download-card.spec.ts
security-rotation-link.spec.ts
security-row-risk-icon-toggle.spec.ts
security-scan-meta-stability.spec.ts
security-session-card-refresh.spec.ts
session-detail.spec.ts
settings-security-toggle-mount-flash.spec.ts
settings-security.spec.ts
settings.spec.ts
share-autosave.spec.ts
share-delete.spec.ts
share-editor.spec.ts
share-entry-points.spec.ts
share-export-pdf.spec.ts
share-exports.spec.ts
share-import.spec.ts
share-new-draft-picker-scope.spec.ts
share-new-draft-picker.spec.ts
share-privacy.spec.ts
share-publish.spec.ts
share-stale-defenses.spec.ts
share-summary.spec.ts
share-turn-selector.spec.ts
sidebar-pinned.spec.ts
sidebar.spec.ts
smoke-demo-launch.spec.ts
startup-no-beachball.spec.ts
window-lifecycle.spec.ts
electron.vite.config.ts
electron.workers.vite.config.ts
package.json
README.md
resources/
icon.icns
icon.png
icon.svg
tray-iconTemplate.png
tray-iconTemplate@2x.png
scripts/
dev-reset-db.mjs
dev-seed-from-prod.mjs
dev.mjs
lib/
dev-launch-plan.mjs
dev-launch-plan.test.mjs
spool-data-dir.mjs
spool-data-dir.test.mjs
src/
env.d.ts
main/
acp.test.ts
acp.ts
auth/
deep-link.ts
session-store.test.ts
session-store.ts
workos-auth.test.ts
workos-auth.ts
binaryCache.ts
e2e-mode/
e2e-mode-clean.test.ts
share-auth-e2e.ts
esm-workspace-bundle.test.ts
eventLoopMonitor.ts
index.ts
ipc/
hub-share.test.ts
hub-share.ts
security.test.ts
security.ts
share-auth.test.ts
share-auth.ts
share-profile.ts
share-publish.test.ts
share-publish.ts
mutation-worker-proxy.ts
mutation-worker-thread.ts
net/
robust-fetch.test.ts
robust-fetch.ts
scan-worker-proxy.ts
scan-worker-thread.ts
security/
class-mapping.test.ts
class-mapping.ts
csp.test.ts
csp.ts
model-download.test.ts
model-download.ts
model-host.test.ts
model-host.ts
model-manifest.ts
model-paths.ts
model-state.test.ts
model-state.ts
mutation-error-wire.test.ts
mutation-error-wire.ts
pf-activation.test.ts
pf-activation.ts
pf-coordinator.test.ts
pf-coordinator.ts
pf-model-protocol.ts
pf-runtime.test.ts
pf-runtime.ts
pf-version.ts
securityPreferences.test.ts
securityPreferences.ts
sessionResume.test.ts
sessionResume.ts
share/
api-client.ts
backend-url.test.ts
backend-url.ts
sync-worker.test.ts
sync-worker.ts
terminal.test.ts
terminal.ts
tray.ts
uiPreferences.ts
updater.ts
preload/
index.ts
inference.ts
renderer/
api/
security.ts
securityPrefsCache.test.ts
securityPrefsCache.ts
App.tsx
assets/
daemon-icon.png
components/
AiAnswerCard.tsx
AppToaster.tsx
AppTopBar.tsx
Badges.tsx
CommandPalette.tsx
ContinueActions.tsx
DeleteAccountConfirmModal.tsx
EmptyState.tsx
FragmentResults.tsx
Hint.tsx
hub-share-dialog.tsx
LibraryLanding.tsx
Menu.tsx
NewDraftPicker.tsx
PageLayout.tsx
PinButton.tsx
PinIcon.tsx
ProfileEditor.tsx
ProjectView.tsx
ScopeSelector.tsx
SearchBar.tsx
SearchOverlay.tsx
security/
AllowlistManageModal.tsx
BlastRadius.tsx
DetectorsChip.tsx
filter-ignored.test.ts
filter-ignored.ts
FindingsStrip.tsx
format.test.ts
format.ts
page-helpers.test.ts
page-helpers.ts
parse-qualifier.test.ts
parse-qualifier.ts
PurgeConfirmDialog.tsx
truncate-value.ts
SecurityPage.tsx
SegmentedPill.tsx
session/
RefreshFromSourceDialog.tsx
SessionDetail.tsx
SessionFindBar.tsx
SessionRow.tsx
Settings/
security/
PfDownloadCard.tsx
SecurityPane.tsx
SettingsAccount.tsx
SettingsPanel.tsx
share-editor/
ConnectCard.tsx
ControlPanel.tsx
preview-progressive.ts
PreviewPane.test.ts
PreviewPane.tsx
publish-logic.test.ts
publish-logic.ts
share-tabs/
ExportTab.tsx
PublishTab.tsx
ShareMenu.tsx
snapshot-adapter.test.ts
snapshot-adapter.ts
TemplateThumb.tsx
TurnSelector.tsx
UnpublishConfirmModal.tsx
ShareEditorPage.tsx
ShareSessionDialog.tsx
SharesPage.tsx
ShortcutsTab.tsx
Sidebar.tsx
SidebarRail.tsx
ThemeEditorSection.tsx
Toggle.tsx
VirtualSessionList.tsx
data/
shortcuts.ts
featureFlags.test.ts
featureFlags.ts
hooks/
useFocusTrap.ts
useHotkeys.test.ts
useHotkeys.ts
useIsDark.ts
usePublishedShares.test.ts
usePublishedShares.ts
usePublishShare.ts
useSecurityReadiness.ts
useShareAuth.ts
useSharedDebounce.test.ts
useSharedDebounce.ts
useShareDrafts.ts
useSpoolDrop.ts
useUndoableState.test.ts
useUndoableState.ts
i18n/
index.ts
locales/
locales.test.ts
de.json
en.json
fr.json
ja.json
ko.json
zh-CN.json
zh-TW.json
useLanguageBootstrap.ts
index.html
inference/
pf-inference.ts
runtime-detect.test.ts
runtime-detect.ts
types.ts
lib/
common-label.ts
compose-from-session.test.ts
compose-from-session.ts
import-spool.test.ts
import-spool.ts
publishIdempotency.test.ts
publishIdempotency.ts
sharePublicUrl.test.ts
sharePublicUrl.ts
snippet.test.ts
snippet.ts
main.tsx
markdown/
extractRenderedText.test.ts
extractRenderedText.ts
pf-inference.html
styles.css
theme/
applyEditorTheme.ts
colorUtils.ts
editorTypes.test.ts
editorTypes.ts
persist.ts
presetSeeds.ts
ui-migration.test.ts
shared/
formatDate.ts
hub-share.ts
pinnedSort.ts
projectView.ts
resumeCommand.test.ts
resumeCommand.ts
searchSort.ts
sessionSort.test.ts
sessionSort.ts
sessionSources.ts
share-publish.ts
sidebarSort.ts
test-setup.ts
tsconfig.json
vite.config.ts
backend/
.dev.vars.example
functions/
_middleware.ts
_scheduled/
deletion-worker.ts
api/
admin/
audit.ts
auth/
[provider]/
callback.ts
start.ts
sign-in-with-code.ts
... 883 moreFAQ
spool is a Claude Code plugin with 1 hand-picked skill for documentation work, indexed on Flowy. Install it with the command on its page. It includes spool. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.