/archestra-docs-writer
Use when writing or editing Archestra documentation pages under docs/pages/ — new feature docs, page rewrites, tone or copy fixes, or capturing docs screenshots.
$ npx -y skills add archestra-ai/archestra --skill archestra-docs-writer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/archestra-docs-writer
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when writing or editing Archestra documentation pages under docs/pages/ — new feature docs, page rewrites, tone or copy fixes, or capturing docs screenshots.
SKILL.md
archestra-docs-writer.SKILL.mdname: archestra-docs-writer
description: Use when writing or editing Archestra documentation pages under docs/pages/ — new feature docs, page rewrites, tone or copy fixes, or capturing docs screenshots.
Archestra Docs Writer
This skill is the single source of truth for Archestra docs. Write and edit `docs/pages/*.md` by these rules.
Process
1. Open the docs page you are editing. 2. Use whatever browser-automation MCP you have available (e.g. `claude-in-chrome`) to navigate the platform (not the docs site) for the feature you are documenting. Walk related screens and primitives so the page reflects what the software actually does. 3. Document only the concepts, dependencies, and use cases. Skip anything the UI already shows on screen.
Tone of Voice
Every sentence states a fact: what a thing is, or what it does. If a sentence does neither, delete it.
Sentence rules:
1. One idea per sentence. If it contains "and… so…", split it. 2. If a sentence needs re-reading, rewrite it. Roughly 15 words is the ceiling. 3. Common words: "use", "go to", "write" — never "leverage", "reside", "comprise". 4. No metaphors, idioms, or rhetorical hooks. 5. Name a thing once, then rely on context. Never the same noun three times in one sentence. 6. Active voice, present tense. 7. Second person for user actions; impersonal for system behavior. 8. Friendly, not dry: speak to the reader ("You can add your own files too"), give one tiny concrete example in passing ("a report, for example" — one, never a list), and use a dash for rhythm where it helps. Facts stay the substance; friendliness is the delivery. 9. No emojis.
Content rules:
10. A benefit is stated as a plain consequence ("so you can review what the agent did") — at most one per section. 11. Cut any detail that doesn't change how someone uses the feature: size limits, edge cases, ownership caveats, internal tool names, permission mechanics. Link to a reference page instead. 12. Don't describe what the UI or the screenshot already shows. 13. Headers are Title Case and name the thing ("Scheduled Tasks"), never the benefit. 14. Each page has a use case section with concrete, fictional data (never real customer names). The scenario comes from the user — ask for it before writing. 15. No "Future Considerations" section and no generic "Best Practices" section. 16. Good docs are short docs. Keep every page as concise as the feature allows.
Calibration Examples
| Rejected | Accepted | |---|---| | A chat answers a question and scrolls away; a project is where agent work accumulates. | A project is a shared workspace for chats, files, instructions, and scheduled tasks. | | Chats started in a project belong to it for their lifetime, and files the agent saves are owned by the project rather than the individual author. | Files saved in a project are available to everyone in it. | | Files the agent saves in a project chat go to the project, and every chat in the project can read them. | Files the agent saves go to the project. | | …so anyone with access can use them. | …available to everyone in it. | | ## Reports that write themselves: schedules | ## Scheduled Tasks | | Text and Markdown files are editable right in the panel, so a small fix doesn't need a re-upload. | Text and Markdown files are editable right in the panel. |
Reference page in this voice: `docs/pages/platform-projects.md`.
Screenshots
Every page should open with at least one screenshot; add more where they help. Capture them with your browser-automation MCP against the running platform at `localhost:3000` (docs run at `:3001` — never screenshot the docs site). Stage realistic data first: real project/team/file names from the page's use case scenario, forms pre-filled, scroll position checked so no important element is hidden. Save as `docs/assets/automated_screenshots/{page-name}_{shot-name}.webp` (convert PNG via the `sharp` package in `platform/node_modules`). Embed as ``.
Page Frontmatter
`category` and `order` place the page in the nav (categories derive from frontmatter; there is no registry). Check sibling pages for free `order` slots. Set `lastUpdated` to today. Create a worktree or branch from `main`, and open a PR when you are done.
Code References
Some pages are linked from the app through `platform/shared/docs.ts` (a `DocsPage` slug map). When you rename, delete, or add a page that code links to, update that file — a stale slug there is a dead "Learn more" link in the product. The `.github/scripts/check-docs-links.py` CI job fails if a `docs.ts` slug has no matching page, and if any internal doc link or asset embed doesn't resolve.
Read more
name: archestra-docs-writer description: Use when writing or editing Archestra documentation pages under docs/pages/ — new feature docs, page rewrites, tone or copy fixes, or capturing docs screenshots.
Archestra Docs Writer
This skill is the single source of truth for Archestra docs. Write and edit `docs/pages/*.md` by these rules.
Process
1. Open the docs page you are editing. 2. Use whatever browser-automation MCP you have available (e.g. `claude-in-chrome`) to navigate the platform (not the docs site) for the feature you are documenting. Walk related screens and primitives so the page reflects what the software actually does. 3. Document only the concepts, dependencies, and use cases. Skip anything the UI already shows on screen.
Tone of Voice
Every sentence states a fact: what a thing is, or what it does. If a sentence does neither, delete it.
Sentence rules:
1. One idea per sentence. If it contains "and… so…", split it. 2. If a sentence needs re-reading, rewrite it. Roughly 15 words is the ceiling. 3. Common words: "use", "go to", "write" — never "leverage", "reside", "comprise". 4. No metaphors, idioms, or rhetorical hooks. 5. Name a thing once, then rely on context. Never the same noun three times in one sentence. 6. Active voice, present tense. 7. Second person for user actions; impersonal for system behavior. 8. Friendly, not dry: speak to the reader ("You can add your own files too"), give one tiny concrete example in passing ("a report, for example" — one, never a list), and use a dash for rhythm where it helps. Facts stay the substance; friendliness is the delivery. 9. No emojis.
Content rules:
10. A benefit is stated as a plain consequence ("so you can review what the agent did") — at most one per section. 11. Cut any detail that doesn't change how someone uses the feature: size limits, edge cases, ownership caveats, internal tool names, permission mechanics. Link to a reference page instead. 12. Don't describe what the UI or the screenshot already shows. 13. Headers are Title Case and name the thing ("Scheduled Tasks"), never the benefit. 14. Each page has a use case section with concrete, fictional data (never real customer names). The scenario comes from the user — ask for it before writing. 15. No "Future Considerations" section and no generic "Best Practices" section. 16. Good docs are short docs. Keep every page as concise as the feature allows.
Calibration Examples
| Rejected | Accepted | |---|---| | A chat answers a question and scrolls away; a project is where agent work accumulates. | A project is a shared workspace for chats, files, instructions, and scheduled tasks. | | Chats started in a project belong to it for their lifetime, and files the agent saves are owned by the project rather than the individual author. | Files saved in a project are available to everyone in it. | | Files the agent saves in a project chat go to the project, and every chat in the project can read them. | Files the agent saves go to the project. | | …so anyone with access can use them. | …available to everyone in it. | | ## Reports that write themselves: schedules | ## Scheduled Tasks | | Text and Markdown files are editable right in the panel, so a small fix doesn't need a re-upload. | Text and Markdown files are editable right in the panel. |
Reference page in this voice: `docs/pages/platform-projects.md`.
Screenshots
Every page should open with at least one screenshot; add more where they help. Capture them with your browser-automation MCP against the running platform at `localhost:3000` (docs run at `:3001` — never screenshot the docs site). Stage realistic data first: real project/team/file names from the page's use case scenario, forms pre-filled, scroll position checked so no important element is hidden. Save as `docs/assets/automated_screenshots/{page-name}_{shot-name}.webp` (convert PNG via the `sharp` package in `platform/node_modules`). Embed as ``.
Page Frontmatter
`category` and `order` place the page in the nav (categories derive from frontmatter; there is no registry). Check sibling pages for free `order` slots. Set `lastUpdated` to today. Create a worktree or branch from `main`, and open a PR when you are done.
Code References
Some pages are linked from the app through `platform/shared/docs.ts` (a `DocsPage` slug map). When you rename, delete, or add a page that code links to, update that file — a stale slug there is a dead "Learn more" link in the product. The `.github/scripts/check-docs-links.py` CI job fails if a `docs.ts` slug has no matching page, and if any internal doc link or asset embed doesn't resolve.
Enterprise AI Platform with guardrails, MCP registry, gateway & orchestrator
Repo: archestra-ai/archestra
Other skills on archestra.
- /archestra-dev-backend-tests
Use when writing or modifying Archestra backend unit tests (platform/backend/src/**/*.test.ts) — mocking modules, stubbing globals, database fixtures, vitest projects/isolation, or test performance.
Open skill - /archestra-dev-backend
Use when adding or changing Archestra backend routes, models, services, API request/response schemas, endpoint permissions, or OpenAPI/codegen for the generated API client.
Open skill - /archestra-dev-bench-analysis
Map-reduce a finished archestra-bench run into a Tier-1/Tier-2 improvement report using Claude subagents (same analysis as the Rust analyzer, no API key).
Open skill - /archestra-dev-e2e
Use when writing, debugging, or running Archestra Playwright e2e tests, API/UI fixtures, WireMock-backed tests, local/CI e2e setup, or test selectors.
Open skill - /archestra-dev-frontend
Use when modifying Archestra frontend Next.js/React code, UI components, forms, TanStack Query hooks, generated API client usage, frontend copy, or documentation links.
Open skill - /archestra-dev-interactions-migrations
Use BEFORE writing or running any Drizzle migration that touches the `interactions` table (or any other very large, write-hot table). The interactions table is the platform's biggest, append-heavy table — every LLM proxy call writes a row — so a careless migration can take a
Open skill

