Use Yaak
mountain-loop/yaak
A skill your agent uses when the user mentions Yaak, a Yaak workspace, or the yaak command, or asks to call, hit, or smoke test HTTP/REST endpoints, save or organize API requests for reuse or manual…
Conventions for writing and maintaining tako documentation pages under website/content/docs/.
$ npx skills add rust-dd/tako --skill docs-writing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install rust-dd/tako docs-writing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/rust-dd/tako.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/docs-writing .claude/skills/docs-writing && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "docs-writing" agent skill from https://github.com/rust-dd/tako/tree/main/.claude/skills/docs-writing into .claude/skills/docs-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-writing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/rust-dd/tako/tree/main/.claude/skills/docs-writingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add rust-dd/tako --skill docs-writing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install rust-dd/tako docs-writing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rust-dd/tako.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/docs-writing .agents/skills/docs-writing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "docs-writing" agent skill from https://github.com/rust-dd/tako/tree/main/.claude/skills/docs-writing into .agents/skills/docs-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-writing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rust-dd/tako --skill docs-writing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install rust-dd/tako docs-writing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rust-dd/tako.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/docs-writing .cursor/skills/docs-writing && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "docs-writing" agent skill from https://github.com/rust-dd/tako/tree/main/.claude/skills/docs-writing into .cursor/skills/docs-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-writing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/rust-dd/tako.git --path .claude/skills/docs-writing--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add rust-dd/tako --skill docs-writing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install rust-dd/tako docs-writing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rust-dd/tako.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/docs-writing .gemini/skills/docs-writing && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "docs-writing" agent skill from https://github.com/rust-dd/tako/tree/main/.claude/skills/docs-writing into .gemini/skills/docs-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-writing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install rust-dd/tako docs-writingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add rust-dd/tako --skill docs-writing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/rust-dd/tako.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/docs-writing .github/skills/docs-writing && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "docs-writing" agent skill from https://github.com/rust-dd/tako/tree/main/.claude/skills/docs-writing into .github/skills/docs-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-writing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rust-dd/tako --skill docs-writing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install rust-dd/tako docs-writing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rust-dd/tako.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/docs-writing .opencode/skills/docs-writing && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "docs-writing" agent skill from https://github.com/rust-dd/tako/tree/main/.claude/skills/docs-writing into .opencode/skills/docs-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-writing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
docs-writingConventions for writing and maintaining tako documentation pages under website/content/docs/.
Docs Writing is an agent skill from rust-dd/tako. Conventions for writing and maintaining tako documentation pages under website/content/docs/. Page templates (transport / extractor / middleware / plugin / concept / tutorial / guide / reference), the frontmatter schema, meta.json sidebar wiring, RustExample-backed examples, and the audit-script contract. Invoke whenever a new public type ships and needs a docs page, or when fixing rot in an existing page.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering Markdown, Realtime and WebSockets and gRPC and Protobuf. It works with gRPC, OpenAPI, GraphQL and Rust. The repository describes itself as: Multi-transport Rust web framework: HTTP/1.1, HTTP/2, HTTP/3, WebSocket, SSE, gRPC, TCP/UDP and Unix sockets behind one router, on Tokio or Compio. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7fa9c80. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
bunFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Docs Writing loads about 2.8k tokens when it runs. Until then it costs about 106 tokens; SKILL.md has 443 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from rust-dd/tako at commit 7fa9c80, republished under its MIT licence (© rust-dd). 443 words, ~2,824 tokens.
.claude/skills/docs-writing/SKILL.md (or your agent's skills folder).The docs site lives under website/ (Fumadocs + Next.js + MDX, Bun,
deployed to tako.rust-dd.com). Content is website/content/docs/.
Sections with a single page live as a flat
website/content/docs/<section>.mdx; sections with multiple pages live as
website/content/docs/<section>/<name>.mdx plus a meta.json sidebar
manifest. Folder-form sections today: getting-started/, concepts/,
transports/, extractors/, middleware/, tutorials/, reference/.
All of them carry an index.mdx overview except reference/, whose
meta.json lists only migration-2-1, migration, features, api.
This SKILL is the per-page authoring contract. The audit script
(website/scripts/docs-audit.ts) and the linter
(website/scripts/lint-mdx.ts) enforce the rules under §2, §4, and §7.
When a section page outgrows a single MDX file (≈ 500 lines), promote it
to folder-form: create <section>/index.mdx (move the overview content
here) plus per-feature <section>/<name>.mdx pages, add a
<section>/meta.json sidebar manifest, and remove <section>.mdx.
Adding a public … → Page goes … → Template
────────────────────────── ─────────────────────────────── ─────────
transport / protocol → transports/<name>.mdx → §3.1 Transport
extractor → expand extractors/<group>.mdx → §3.2 Extractor
(body / request-meta / auth / cookies)
middleware → expand middleware/<group>.mdx → §3.3 Middleware
(auth / security / traffic / metrics)
plugin (TakoPlugin) → plugins.mdx (or plugins/<name>) → §3.4 Plugin
cross-cutting trait/idea → concepts/<name>.mdx → §3.5 Concept
end-to-end use case → tutorials/<name>.mdx → §3.6 Tutorial
request-handling guide → flat <name>.mdx → §3.7 Guide
normative reference → reference/<name>.mdx → §3.8 ReferenceCrate ownership (drives the crate: key and "which page" calls):
| Crate | Owns |
|---|---|
tako-rs | umbrella re-export (tako::*) |
tako-rs-core | routing, handlers, middleware traits, body/request/response, state, signals, queue, GraphQL/gRPC/OpenAPI helpers |
tako-rs-extractors | concrete request extractors |
tako-rs-server | HTTP/1.1, HTTP/2, HTTP/3, WebTransport, TLS, raw TCP/UDP/Unix, PROXY, compio variants |
tako-rs-streams | WebSocket, SSE, file streaming, static files, raw QUIC |
tako-rs-plugins | bundled middleware + plugins |
tako-rs-macros | #[tako::route] / #[tako::get] family |
tako-rs-server-pt | thread-per-core entry point |
If a new type does not fit an existing section, stop and ask — adding a new top-level section is a sidebar decision, not a per-page one.
Every page begins with frontmatter validated by zod in
website/source.config.ts and re-checked by website/scripts/lint-mdx.ts.
---
title: <human-readable name> # required
description: <one sentence, 20-160 chars> # required; comfort window 24-152
category: transport # concept | guide | transport | extractor | middleware | plugin | tutorial | reference
subcategory: diffusion # optional, free string
crate: tako-rs-server # optional; must match /^tako-rs(-[a-z]+)*$/
module_path: tako::server::serve_h3 # optional
since: 2.0.0 # optional; /^\d+\.\d+(\.\d+)?(-[a-z0-9.]+)?$/
status: stable # stable | experimental | deprecated
runtime: both # tokio | compio | both — tako's dual-runtime axis
features: [http3, tls] # optional; cargo features needed (inline flow array)
replaced_by: <slug> # REQUIRED when status: deprecated
---Current house convention: every page carries title, description,
category, since: 2.0.0, status: stable. Add crate, runtime, and
features on catalog pages (transports / extractors / middleware) where
they are meaningful. description is the OG meta + search snippet — keep
it one sentence, ≤ 152 chars to avoid the soft warning.
Each skeleton is modelled on a real page — open the cited page for the full house style before writing a new one.
transports/http.mdx---
title: HTTP/3
description: …
category: transport
crate: tako-rs-server
runtime: tokio
features: [http3]
since: 2.0.0
status: stable
---
# HTTP/3
<one-paragraph what + when. State runtime support up front.>
## Serving it
```rust
// minimal serve example, real API names from tako-rs-server<Callout type="warn"> for tokio-only / feature gates </Callout>See also: /docs/concepts/runtimes, /docs/transports (catalog).
Use a `<Tabs items={['Tokio','Compio']}>` split only when the transport
ships on both runtimes with different entry points.
### 3.2 Extractor — base: `extractors/body.mdx`
Group page (body / request-meta / auth / cookies). One `##` section per
extractor: the real type name, what it pulls from the request, a handler
snippet, and the feature gate. Put a `<Callout type="warn">` on any
security-sensitive extractor (e.g. unverified JWT claims). Cross-link the
matching middleware (`/docs/middleware/auth`).
### 3.3 Middleware — base: `middleware/auth.mdx`
Group page (auth / security / traffic / metrics). Lead with the
middleware model (`.into_middleware()` vs `router.plugin(...)`), then one
`##` per middleware: constructor, what it does, ordering notes. Verify the
real type names against `tako-rs-plugins` — they differ from the README's
friendly names (`Csrf` not `CsrfMiddleware`, `CookieSigned` not
`SignedCookieJar`).
### 3.4 Plugin — base: `plugins.mdx`
Explain the `TakoPlugin` trait, the `plugins` feature, and the
plugin-vs-middleware split (a plugin can `install()` its own routes;
middleware only wraps the chain). Link to the four middleware group pages.
### 3.5 Concept — base: `concepts/architecture.mdx`
Cross-cutting explanation (architecture, request lifecycle, runtimes,
design philosophy). Prose + tables over code. No per-API depth — link out
to the catalog pages for that.
### 3.6 Tutorial — base: `tutorials/rest-api.mdx`
End-to-end, runnable. Prefer `<RustExample path="examples/…/src/main.rs" />`
over hand-written code. Walk the reader from empty `main` to a working
service; link each building block to its reference page.
### 3.7 Guide — base: `routing.mdx`
Flat top-level page for a request-handling topic (routing, state, streams,
queue, signals, observability, deployment). Task-oriented prose with
focused snippets.
### 3.8 Reference — base: `reference/features.mdx`
Normative: the cargo feature graph, migration ledger,
API index. Tables + exact, exhaustive content. The feature page must cover
every flag in the README "Feature Flags" table.
## 4. meta.json sidebar wiring
- **Top-level** `content/docs/meta.json` orders the whole sidebar and uses
`"---Section title---"` string entries as group separators (e.g.
`"---Transports---"`). Folder names (`transports`, `concepts`, …) and
flat slugs (`routing`, `state`, …) are listed in display order.
- **Folder** `<section>/meta.json` is `{ "title": "...", "pages": [...] }`.
List `index` first when the folder has an overview page.
- The audit **fails** if an `.mdx` file is not listed in its folder's
`pages` array. Every new page must be added to the relevant `meta.json`.
## 5. MDX components
Registered globally in `website/mdx-components.tsx` — no import in MDX.
- **`Tabs` / `Tab`** — only for a genuine multi-variant split; the
canonical tako case is Tokio vs Compio. A lone snippet is a plain
fenced ```rust block, not a one-tab `Tabs`.
- **`Callout`** — `<Callout type="warn">…</Callout>` (`info | warn |
error`). Use `warn`/`error` for security gotchas and tokio-only
constraints.
- **`RustExample`** — `<RustExample path="examples/auth/src/main.rs" />`
inlines a real workspace file verbatim. The path is relative to the
**repo root** (`/Users/danixx/Desktop/tako`), not `website/`. The file
must exist or the audit fails.
Internal links are **site paths**, never `.md`: top-level `foo.mdx` →
`/docs/foo`; `transports/http.mdx` → `/docs/transports/http`; folder index
`transports/index.mdx` → `/docs/transports`.
## 6. Examples must be real
Accuracy is the whole job. Read the crate source before writing — do not
invent signatures or type names. Prefer `<RustExample>` pointing at a real
file in `examples/` over a hand-written snippet. Keep tokio-only vs compio
support correct (the README transport matrix is the reference: HTTP/2 +
TLS, h2c, HTTP/3, WebTransport, raw TCP/UDP, Unix sockets, and PROXY protocol on both runtimes; only the raw QUIC helper `RawQuicSession` is tokio-only). When a
type's friendly name in the README differs from its exported name, document
the exported name and mention the catalog name once.
## 7. The audit-script contract
Run before every commit that touches docs:
```bash
cd website
bun run typecheck # tsc --noEmit
bun run lint:mdx # frontmatter zod schema (scripts/lint-mdx.ts)
bun run audit # lint:mdx + meta coverage + RustExample + link graph
bun run build # next build — MDX + zod schema, the source of truthlint:mdx hard-fails on: missing title/description;
description length outside [20, 160]; category / status /
runtime outside their enums; crate not matching
/^tako-rs(-[a-z]+)*$/; status: deprecated without replaced_by. It
soft-warns when description is outside the [24, 152] comfort window.audit runs lint:mdx, then hard-fails on: an .mdx file missing
from its directory's meta.json pages; a <RustExample path> that
does not exist; a broken internal /docs/... link.content/docs/<…>.mdx with full frontmatter (§2) and an # H1
matching title.meta.json pages array (§4).<RustExample> for runnable
files (§6).bun run audit && bun run build — both green before committing.© rust-dd, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/docs-writing of rust-dd/tako.
Open the folder on GitHubat commit 7fa9c80
Docs Writing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Docs Writing this skillrust-dd/tako | 162 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Use Yaakmountain-loop/yaak | 19k | — | ~1.9k | Automated safety check: Pass | MIT | |
| SpikardGoldziher/spikard | 123 | — | ~799 | Automated safety check: Pass | MIT | |
| Release WorkflowGoldziher/spikard | 123 | — | ~909 | Automated safety check: Pass | MIT | |
| API ForgeEliasOulkadi/shokunin | 114 | — | ~2.9k | Automated safety check: Pass | MIT | |
| API Protocol Securityzhaji2333/CkSKILLS | 113 | — | ~520 | Automated safety check: Pass | MIT |
mountain-loop/yaak
A skill your agent uses when the user mentions Yaak, a Yaak workspace, or the yaak command, or asks to call, hit, or smoke test HTTP/REST endpoints, save or organize API requests for reuse or manual…
Goldziher/spikard
Scaffold Spikard projects and generate code from OpenAPI, AsyncAPI, OpenRPC, GraphQL, and Protobuf schemas using the Spikard CLI or its MCP server.
Goldziher/spikard
Release/publish the spikard Rust core crate and CLI end-to-end.
EliasOulkadi/shokunin
Design REST/GraphQL APIs with OpenAPI 3.1, error handling, pagination, rate limiting, webhooks, and idempotency.
zhaji2333/CkSKILLS
当目标存在REST/GraphQL/gRPC/WebSocket接口、Swagger/OpenAPI文档、调试端点(actuator/console)、旧版本API、内部接口、微服务网关,或需要测试HTTP走私、DoS、速率限制时调用。负责API全方法测试、BOLA越权、GraphQL深度攻击、协议层漏洞挖掘。
HoangNguyen0403/agent-skills-standard
Select how services talk: REST, gRPC, GraphQL, WebSocket, SSE, or webhook per hop, sync versus async per flow, service discovery mode, and DNS/edge routing.
rust-dd/tako
General coding-style rules to apply to every project. An agent skill from rust-dd/tako.
Categories
Conventions for writing and maintaining tako documentation pages under website/content/docs/. Docs Writing is an agent skill from rust-dd/tako. Conventions for writing and maintaining tako documentation pages under website/content/docs/.
Docs Writing fits situations like: tasks that involve Markdown; tasks that involve Realtime and WebSockets; tasks that involve gRPC and Protobuf.
Run `npx skills add rust-dd/tako --skill docs-writing -a claude-code`. Or copy the skill folder (.claude/skills/docs-writing in rust-dd/tako) into .claude/skills/docs-writing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add rust-dd/tako --skill docs-writing -a codex`. Or copy the skill folder (.claude/skills/docs-writing in rust-dd/tako) into .agents/skills/docs-writing in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rust-dd/tako --skill docs-writing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/docs-writing, .gemini/skills/docs-writing, .github/skills/docs-writing and .opencode/skills/docs-writing in your project.
Going by SKILL.md and its folder, Docs Writing needs the command-line tools its instructions call (bun).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Docs Writing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Docs Writing: Use Yaak (mountain-loop/yaak, 19k stars), Spikard (Goldziher/spikard, 123 stars), Release Workflow (Goldziher/spikard, 123 stars) and API Forge (EliasOulkadi/shokunin, 114 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
rust-dd (a GitHub organization) maintains it in rust-dd/tako, which has 162 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 1, 2026.
Source: rust-dd/tako on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.