by Storybloq
Cross-session context for Claude Code. CLI + MCP server + /story skill that tracks tickets, issues, handovers, and roadmap in a .story/ directory.
# Add to your Claude Code skills
git clone https://github.com/Storybloq/storybloqLast scanned: 5/16/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@hono/node-server: @hono/node-server: Middleware bypass via repeated slashes in serveStatic",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "express-rate-limit: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "fast-uri: fast-uri vulnerable to path traversal via percent-encoded dot segments",
"severity": "high"
},
{
"type": "npm-audit",
"message": "hono: Hono missing validation of cookie name on write path in setCookie()",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "ip-address: ip-address has XSS in Address6 HTML-emitting methods",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "path-to-regexp: path-to-regexp vulnerable to Denial of Service via sequential optional groups",
"severity": "high"
},
{
"type": "npm-audit",
"message": "picomatch: Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
"severity": "high"
},
{
"type": "npm-audit",
"message": "postcss: PostCSS has XSS via Unescaped </style> in its CSS Stringify Output",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "vite: Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling",
"severity": "high"
}
],
"status": "WARNING",
"scannedAt": "2026-05-16T06:21:21.177Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}storybloq is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Storybloq. Cross-session context for Claude Code. CLI + MCP server + /story skill that tracks tickets, issues, handovers, and roadmap in a .story/ directory. It has 622 GitHub stars.
storybloq returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/Storybloq/storybloq" and add it to your Claude Code skills directory (see the Installation section above).
storybloq is primarily written in TypeScript. It is open-source under Storybloq on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh storybloq against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
AI coding assistants are stateless. Every new session starts from zero. The model doesn't know what was built yesterday, what's broken, what decisions were made, or what to work on next. Developers compensate with CLAUDE.md files and scattered notes, but there's no standard structure, no session continuity, and no tooling.
The real cost isn't wasted setup time. It's repeated mistakes, relitigated design decisions, hallucinated context, and linear instead of compounding work.
Every project gets a .story/ directory of JSON and markdown files. Tickets, issues, roadmap phases, session handovers, and lessons learned all live there, tracked by git, readable by any AI.
storybloq - inspect and mutate .story/ from the terminal./story in Claude Code or $story in Codex loads project state at the start of every session..story/ and updates live while your AI client works (separate product, free on the App Store).npm install -g @storybloq/storybloq@latest
storybloq setup --client all
Requires Node.js 20+ and at least one AI client: Claude Code or Codex CLI 0.130.0+. Package lives on npm at @storybloq/storybloq; releases are tagged on this repo at github.com/Storybloq/storybloq/releases.
setup --client all installs the Storybloq skill for Claude and Codex, registers this package as an MCP server, and configures available client hooks. Re-running it is safe. setup-skill remains as a compatibility alias for Claude-only setup.
npm install -g @storybloq/storybloq@latest
storybloq setup --client all
Same two commands as a fresh install: @latest pulls the newest version, and re-running setup refreshes the Storybloq skill files, re-registers the MCP server, and sweeps any stale hook entries from prior installs.
You'll usually see a one-line banner on the next storybloq invocation whenever a newer version is on npm:
storybloq v1.2.0 is available (you have v1.1.6).
Update: npm install -g @storybloq/storybloq@latest
The CLI also silently refreshes the skill dir and migrates any legacy hook entries (for example, from the pre-rename @anthropologies/claudestory package) on the first run after an upgrade — no manual cleanup needed.
Alternative install via the Claude Code plugin system: see Storybloq/plugin-archive (legacy path; storybloq setup --client all is the recommended install).
cd your-project
storybloq init --name "your-project"
For multi-repo projects, see Federation below.
That scaffolds:
.story/
├── config.json project config + recipe overrides
├── roadmap.json phase ordering + metadata
├── tickets/ T-001.json, T-002.json, ...
├── issues/ ISS-001.json, ISS-002.json, ...
├── notes/ N-001.json, N-002.json, ...
├── lessons/ L-001.json, ...
├── handovers/ YYYY-MM-DD-<slug>.md
└── snapshots/ state snapshots (gitignored)
Commit everything except .story/snapshots/.
Inside Claude Code:
/story - loads project status, reads the latest handover, surfaces open tickets and issues, lists blocked work, summarizes recent changes./story auto T-001 T-002 ISS-013 - autonomous mode scoped to those items. Drives a ticket through plan -> plan review -> implement -> tests -> code review -> commit with handovers at each checkpoint./story review T-001 - runs the multi-lens review (see Storybloq/lenses) against a ticket's diff./story handover - writes a session handover capturing decisions, blockers, and next steps.Outside Claude Code, the same state is one storybloq invocation away.
Federation coordinates AI agent work across multiple repos. One project becomes the orchestrator. It declares which repos (nodes) are part of the system, how they depend on each other, and how they communicate at runtime. Each node keeps its own .story/ with its own tickets, issues, and handovers. The orchestrator reads across all of them.
# Create an orchestrator
storybloq init --type orchestrator --name "my-platform"
# Register nodes
storybloq node add api --path ../api --stack typescript --role "REST backend"
storybloq node add web --path ../web --stack nextjs --depends-on api
storybloq node add sdk --path ../sdk --stack typescript
Three relationship types connect nodes:
dependsOn on node config: build-order edges. The web app depends on the API.links on node config: runtime integration. The web app calls the API over HTTP.crossNodeBlockedBy on tickets: a ticket in one repo is blocked until a ticket in another repo is complete. Example: "crossNodeBlockedBy": ["api:T-012"].From the orchestrator directory:
storybloq status # aggregated view across all nodes
storybloq recommend # federation-aware suggestions (bottlenecks, stale nodes, blockers)
storybloq ticket list --node api # list tickets in the api node without cd-ing
The recommendation engine generates federation-specific suggestions: nodes blocking downstream work, bottleneck nodes depended on by many others, nodes with no handover in two weeks. Tickets with crossNodeBlockedBy refs never surface in recommendations until the blocking ticket is complete.
All commands accept --format json|md (default md). Pipe JSON through jq for scripting, read the markdown variant directly.
| Command | Description |
|---|---|
storybloq init [--name] [--type orchestrator] [--force] |
Scaffold .story/ (add --type orchestrator for multi-repo) |
storybloq status |
Project summary with phase statuses, counts, and risks |
storybloq validate |
Reference integrity + schema checks |
storybloq setup --client claude|codex|all [--skip-hooks] |
Install Storybloq skills, register MCP, and configure client hooks |
storybloq setup-skill [--skip-hooks] |
Compatibility alias for storybloq setup --client claude |
storybloq recommend --count N |
Context-aware work suggestions |
| Command | Description |
|---|---|
storybloq phase list |
All phases with derived status (status is computed from tickets, never stored) |
storybloq phase current |
First non-complete phase |
storybloq phase tickets --phase <id> |
Leaf tickets for a phase |
storybloq phase create --id --name --label --description [--summary] --after/--at-start |
Create a phase |
storybloq phase rename <id> [--name] [--label] [--description] [--summary] |
Update phase metadata |
storybloq phase move <id> --after/--at-start |
Reorder |
storybloq phase delete <id> [--reassign <target>] |
Delete (reassign contained tickets) |
| Command | Description |
|---|---|
storybloq ticket list [--status] [--phase] [--type] |
List leaf tickets (umbrellas excluded) |
storybloq ticket get <id> |
Full ticket detail |
storybloq ticket next |
Highest-priority unblocked ticket |
storybloq ticket blocked |
All currently blocked tickets |
storybloq ticket create --title --type --phase [--description] [--blocked-by] [--parent-ticket] [--node <name>] |
Create (use --node from orchestrator) |
storybloq ticket update <id> [--status] [--title] [--phase] [--cross-node-blocked-by] [--node <name>] ... |
Update |
storybloq ticket meta get|set|unset <id> [path] [value] |
Manage custom passthrough metadata |
storybloq ticket delete <id> [--force] |
Delete |
| Command | Description |
|---|---|
storybloq issue list [--status] [--severity] |
List issues |
storybloq issue get <id> |
Issue detail |
| `storybloq issue create --title --se |