Teaching coding agents (Claude Code, Cursor, Codex, Gemini, OpenCode) how to build and document ZIO applications.
This marketplace currently ships two plugins:
zio-skills— Build ZIO and ZIO HTTP applications (server scaffolding, OpenAPI code generation, endpoint API, …).documentation— Write high-quality documentation for ZIO libraries (reference pages, how-to guides, tutorials, mdoc conventions, writing-style enforcement).
First, add the marketplace, then install one or both plugins:
claude plugin marketplace add zio/zio-skills
# build apps with ZIO / ZIO HTTP
claude plugin install zio-skills@ziogenetics
# write documentation for ZIO libraries
claude plugin install documentation@ziogeneticsThen invoke a skill in Claude Code:
/zio-http-scaffold
/zio-http-openapi-to-endpoint
/zio-http-endpoint-to-openapi
/zio-http-imperative-to-declarative
/docs-data-type-ref
/docs-how-to-guide
/docs-tutorial
/docs-writing-style-judgment
/docs-writing-style-mechanical
/add-plugin zio-skillsgemini extensions install https://github.com/zio/zio-skillsTo update:
gemini extensions update zio-skillsClone the repo and symlink:
git clone https://github.com/zio/zio-skills.git ~/.agents/skills/zio-skillsor user Skill Installer inside codex cli:
$skill-installer zio/zio-skillsAdd to opencode.json:
{
"plugin": ["zio-skills@git://github.com/zio/zio-skills.git"]
}Crossref Agent is a Flue-based TypeScript tool that automatically discovers and creates cross-references between pages in Markdown documentation. It helps improve documentation quality, SEO, and user navigation by intelligently identifying related pages and generating link suggestions with confidence-based filtering.
- Automated Link Discovery — Scans documentation to find pages that should be cross-referenced
- Intelligent Suggestions — Uses Claude LLM to generate contextually relevant link suggestions with confidence scoring
- Security Hardening — Built-in validation for path safety, symlink handling, and LLM output verification
- Flexible Execution — Four modes: dry-run analysis, suggestions, application, and full pipeline with reporting
- State Management — Persistent tracking of index state and applied suggestions for incremental updates
# Install dependencies
npm install
# Run in dry-run mode (analyze without making changes)
npm run crossref -- --mode=dry-run
# Generate suggestions for new cross-references
npm run crossref -- --mode=suggest
# Apply all suggestions to documentation
npm run crossref -- --mode=apply
# Run complete pipeline with analytics report
npm run crossref -- --mode=full- Framework: Flue (agent orchestration)
- Language: TypeScript with Valibot schema validation
- AI Model: Claude Haiku 4.5 for suggestions and enrichment
- Testing: Vitest with 43+ test cases
- State Storage: JSON-based index and suggestion tracking
That module was writer-assistant/, removed in this repository once its capabilities had been ported into flowrite/. What was ported, what was dropped and why is recorded in flowrite/WRITER-ASSISTANT-MIGRATION.md, which also carries the commands to recover any file from git history.
zio-http-scaffold— Scaffold a minimal ZIO HTTP server and clientzio-http-openapi-to-endpoint— Generate Endpoint declarations from an OpenAPI speczio-http-endpoint-to-openapi— Generate OpenAPI documentation from Endpoint declarations + serve Swagger UIzio-http-imperative-to-declarative— Convert imperative routes to typed Endpoint API
Authoring skills:
docs-data-type-ref— Write a reference page for a single data typedocs-module-ref— Write a reference page for a module (multiple related types)docs-how-to-guide— Write a goal-oriented how-to guidedocs-tutorial— Write a learning-oriented tutorial for newcomersdocs-document-pr— Generate documentation from a GitHub PRdocs-add-missing-section— Add a missing section to an existing reference pagedocs-enrich-section— Add motivation and use-cases to a thin section
Authoring helpers:
docs-examples— Shared procedure for creating runnable companion examplesdocs-research— Shared research procedure (find source, tests, examples, history)docs-integrate— Wire a new doc page into Docusaurus navigationdocs-organize-types— Group types into logical sidebar categories
Quality checks:
docs-writing-style-judgment— Judgment-based prose rules requiring language understanding (Rules J-1 to J-9)docs-writing-style-mechanical— Mechanical prose rules checkable via regex (Rules M-1 to M-17) withcheck-docs-style.shscriptdocs-mdoc-conventions— mdoc code-block modifiers and Docusaurus admonitionsdocs-check-compliance— Audit a doc file against a rule skilldocs-verify-compliance— Fix compliance issues in a doc filedocs-critique— Review and fix an existing documentation file using a maker-critic loopdocs-find-documentation-gaps— Scan project for undocumented types/modulesdocs-report-method-coverage— Check that all public members are documenteddocs-data-type-list-members— Extract public members from a Scala typedocs-skill-retrospection— Improve a docs-* skill from execution feedback
The docs-writing-style skill has been split into two focused skills to separate concerns and reduce token overhead:
Judgment-Based Rules (docs-writing-style-judgment)
- J-1: Person pronouns ("we" vs "you")
- J-2: No manual line breaks in prose
- J-3: Qualified method names (semantic cases)
- J-4: Type name alone rule
- J-5: No bare subheaders (quality check)
- J-6: When to use ####
- J-7: One concept per code block
- J-8: Method signatures within containing type
- J-9: Contextualized descriptions for code blocks
Mechanical Rules (docs-writing-style-mechanical)
- M-1 to M-17: Rules checkable via regex/bash (present tense, filler phrases, bullet capitalization, link formats, heading hierarchy, code block structure, table alignment, Scala syntax, implicit trace convention, etc.)
Usage:
- LLM checker agent imports only judgment skill (smaller, focused)
- Writer agent imports both judgment and mechanical skills
- Mechanical checker script runs independently via
check-docs-style.sh - Violations reported as
[J-Rule N](judgment) and[M-Rule N](mechanical) to avoid ambiguity
- Typed path & query parameters
- Custom middleware with context injection
- Type-safe HTTP client with EndpointExecutor
- Server-Sent Events (SSE) streaming
- WebSocket handlers
- Datastar reactive UI integration
- HTML templates with template2 DSL
- Multipart form uploads
- Testing with zio-http-testkit
- Metrics & Prometheus integration
- ZIO Streams patterns
- ZIO Config patterns
- And more…
Skills are curated learning resources. See CLAUDE.md for contribution guidelines.