AR

ark-documentation

Provides guidance on organizing documentation into Tutorials, How-to Guides, Concepts, and Reference.

Install

mkdir -p .claude/skills/ark-documentation && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/3232" && unzip -o skill.zip -d .claude/skills/ark-documentation && rm skill.zip

Installs to .claude/skills/ark-documentation

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Guidance for structuring Ark documentation using the Diataxis framework. Use this skill when creating new docs, deciding where content belongs, reviewing documentation PRs, or restructuring existing documentation.
213 chars✓ has a “when” trigger
Beginner

Key capabilities

  • Maps content to Diataxis quadrants
  • Categorizes documentation by reader persona
  • Standardizes Ark terminology
  • Identifies documentation gaps
  • Structures navigation for linear learning

How it works

It applies the Diataxis taxonomy to evaluate whether content fits into Tutorials, How-to Guides, Core Concepts, or Reference sections.

Inputs & outputs

You give it
Draft documentation content or structural request
You get back
Refined structure and categorization according to Ark's documentation hierarchy

When to use ark-documentation

  • Structuring new documentation
  • Organizing docs by persona
  • Reviewing documentation PRs
  • Restructuring existing guides

About this skill

Ark Documentation

Guidance for structuring Ark documentation using Diataxis adapted for Ark's needs.

When to use this skill

  • Creating new documentation
  • Deciding where content belongs
  • Reviewing documentation PRs
  • Restructuring existing documentation

Ark's Diataxis structure

docs/content/
├── Introduction
├── Quickstart
├── Tutorials          → Linear learning paths
├── How-to Guides      → Task-oriented, by persona
├── Core Concepts      → Understanding "why" and "how"
├── Reference          → Factual lookup material
├── Marketplace        → External link
└── Disclaimer

Terminology

DiataxisArk TermWhy
ExplanationCore ConceptsMore accessible

The four quadrants

1. Tutorials (learning-oriented)

Purpose: Hands-on lessons for newcomers.

Characteristics:

  • Linear, numbered paths (1, 2, 3...)
  • Single prescribed path - no choices
  • Frequent visible results
  • Ends with "Next step" → How-to Guides

Writing style:

  • Use "we" language
  • Don't explain - link to Core Concepts

Content belongs here if:

  • It teaches a skill through doing
  • Reader is studying, not working
  • Success requires following steps in order

Examples: Quickstart, Running the Dashboard, Starting a New Project, Complete Worked Example


2. How-to guides (task-oriented)

Purpose: Help competent users complete specific tasks.

Organized by persona:

Build with Ark (application developers)

  • Configure models, create agents, coordinate teams, run queries, add tools.

Extend Ark (contributors)

  • Build services locally, implement APIs, build A2A servers, add tests.

Operate Ark (operators / SRE / security)

  • Platform operations: Provisioning, deploying
  • CI/CD and supply chain: Build pipelines
  • Security & assurance: Pen testing, code analysis

Writing style:

  • Goal-oriented: "If you want X, do Y"
  • Assumes competence
  • Don't teach - link to Tutorials or Core Concepts

Content belongs here if:

  • Reader has a specific task to complete
  • Reader is working, not studying

3. Core concepts (understanding-oriented)

Purpose: Explain what Ark is, how it's designed, and why.

Topics:

  • What Ark is and how it works.
  • Design effective agentic systems.
  • Platform architecture concepts.
  • Extensibility concepts.
  • Security and identity concepts.

Writing style:

  • Discursive: "The reason for X is..."
  • Make connections between concepts
  • Provide design decision context

Content belongs here if:

  • It answers "why" or "how does this work"
  • Reader is deciding how to design/extend/operate
  • Content provides context, not procedures

4. Reference (information-oriented)

Purpose: Factual lookup material.

Organized by type:

  • Interfaces: Ark API, Broker Service.
  • Kubernetes API: CRDs, resources.
  • System behavior: Query execution, relationships.
  • Operations: Upgrading, troubleshooting.
  • Project: Contributors.

Writing style:

  • Austere, factual, neutral
  • Structure mirrors product
  • No instruction, explanation, or opinion

Content belongs here if:

  • It describes what something IS
  • Reader needs to look up specific details
  • Content is consulted, not read cover-to-cover

Decision guide

Is the reader LEARNING or WORKING?
│
├─ LEARNING (studying)
│   ├─ Hands-on, step-by-step? → TUTORIALS
│   └─ Understanding concepts? → CORE CONCEPTS
│
└─ WORKING (applying)
    ├─ Completing a task? → HOW-TO GUIDES
    └─ Looking up facts? → REFERENCE

Hub pages

Hub pages link to content without moving files:

  • tutorials.mdx - Lists tutorials in order.
  • how-to-guides.mdx - Groups by persona.
  • core-concepts.mdx - Groups by topic.
  • reference/index.mdx - Groups by type.

Hub pages should:

  • Explain purpose in one sentence.
  • Group links logically.
  • Not duplicate content.

Personas

PersonaSections
End usersQuickstart, Tutorials
Agent buildersTutorials, How-to (Build)
Platform engineersHow-to (Operate), Reference
ContributorsHow-to (Extend), Core Concepts

Writing guidelines

Lexicon

  • The product is written Ark — capital A, lowercase rk. Never ARK. This matches the repo's CLAUDE.md and is enforced in review.

General style

  • Be concise and direct.
  • Use simple language.
  • Keep descriptions to 1-2 sentences.
  • Use active voice: "Creates agent" not "Agent is created".
  • Write "Ark" not "ARK".
  • Use US English.
  • Use Oxford commas in lists.

Bullets

  • Capitalize the first word and end with a period.
  • Use numbered lists only for sequences of instructions or when referencing items later.

Capitalization

  • Capitalize only proper nouns (product names, tools, services).
  • Use sentence case for titles: "An introduction to data visualization" not "An Introduction to Data Visualization".
  • Don't capitalize: cloud, internet, machine learning, advanced analytics.

Headings

  • Avoid gerunds: "Get started" not "Getting started," "Customize a layout" not "Customizing a layout".
  • Keep titles short and descriptive for search discoverability.

Instructions

  • Use imperatives: "Complete the configuration steps".
  • Don't use "please".
  • Don't use passive tense: "Complete the steps" not "The steps should be completed".

Links

  • Make hyperlinks descriptive: Learn how to [contribute to Ark](url).
  • Don't write: To contribute, see [here](url).

Avoid

  • Gerunds in headings.
  • Colloquialisms (may not translate across regions/languages).
  • Business speak: "leverage", "utilize", "facilitate".

What not to mix

Don't put in...This content...
TutorialsExplanations, choices.
How-to guidesTeaching, complete reference.
Core conceptsInstructions, reference.
ReferenceInstructions, explanations.

Reference page structure

CRD and service reference pages follow a consistent template. Use reference/resources/query.mdx, team.mdx, and tools.mdx as the models:

  1. Frontmattertitle and a description of the form "<Kind> CRD reference — ...".
  2. Intro — one paragraph on what the resource is, linking the task-oriented user-guide walkthrough; state plainly that this page is the field-by-field reference.
  3. ## Spec — a single annotated YAML example, comments grouped Required / optional.
  4. ## Fields — a table with columns Field | Type | Required | Description, including enum values, defaults, and cross-field rules.
  5. Topic sections as warranted (strategies, parameters, auth, …).
  6. ## Status — a status YAML block, a ### Status fields table, a ### Phases table where a phase enum exists, and a ### Print columns line naming the columns kubectl get renders.
  7. ## Related — links to adjacent pages.

For an overview/index page, use one table listing every resource with its Kind and API version. Don't keep a second overlapping overview page — one topic, one page. The same applies to service APIs: one service, one reference page (Ark API, Broker Service), with the built-in OpenAPI/Swagger framed as the always-current source of truth.

Accuracy: verify against the source

Reference docs must be true to the code, not to intent or memory. Pages can read plausibly and still be wrong — this is the most common defect. Before writing or reviewing a reference page, verify every claim:

  • Fields, enums, defaults — read the Go types in ark/api/v1alpha1/*_types.go and the generated CRD in ark/config/crd/bases/. +kubebuilder:validation:Enum, +kubebuilder:default, and the json tags are authoritative — not the existing prose.
  • Behavior and constraints — read the controller and webhooks (ark/internal/controller/, ark/internal/validation/). Migration targets, same- vs cross-namespace resolution, and validation rules live here. Example: a deprecated graph team strategy migrates to sequential (edges discarded), not selector — confirmed in validation/defaults.go. Verify even when a reviewer asserts otherwise.
  • Live cluster — where one is available, confirm with kubectl explain, kubectl get <kind> (for the print columns), and real resource YAML. For a service API, hit the running service's /openapi.json and Swagger.
  • Version and release claims — check the release tags, not the calendar. git grep <pattern> <tag> shows when something changed; git merge-base --is-ancestor <commit> <tag> confirms what actually shipped. Don't label a section "Unreleased" or cite a version (e.g. there is no v0.2.0) without checking.

This session's rewrites found extensive fictional fields (spec.model, systemPrompt, spec.agents), non-existent CLI commands (ark check, ark describe; it's devspace run routes, not make routes), and wrong migration targets — all in pages that looked fine.

Build and preview before pushing

  • Build with cd docs && npm run build (Turbopack). The production build catches MDX and mermaid errors the dev server silently tolerates, and prints a page count on success. Never push a docs change without a clean build.
  • Preview the rendered page (dev server + screenshot). Mermaid renders lazily — scroll to the diagram or render a tall enough viewport before capturing.
  • Keep diagrams and prose complementary, not duplicated. When two pages cover related ground (e.g. Core Architecture and Query Execution Flow, or the Core Concepts and Core Architecture diagrams), cross-link and defer rather than repeat.

References

When not to use it

  • Technical documentation not following Diataxis
  • Short-form wiki pages or ad-hoc notes
  • Marketing or product-led landing pages

Limitations

  • Requires user commitment to the framework
  • Does not write the technical prose itself

How it compares

This tool enforces a specific mental model (Diataxis) for developers to prevent 'documentation bloat' where theory and tasks are mixed together.

Compared to similar skills

ark-documentation side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
ark-documentation (this skill)14moNo flagsBeginner
docs-write226moNo flagsBeginner
content-research-writer1510moNo flagsBeginner
doc-coauthoring168moNo flagsBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

docs-write

metabase

Write documentation following Metabase's conversational, clear, and user-focused style. Use when creating or editing documentation files (markdown, MDX, etc.).

22139

content-research-writer

ComposioHQ

Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section. Transforms your writing process from solo effort to collaborative partnership.

15111

doc-coauthoring

anthropics

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.

1686

research-grants

davila7

Write competitive research proposals for NSF, NIH, DOE, and DARPA. Agency-specific formatting, review criteria, budget preparation, broader impacts, significance statements, innovation narratives, and compliance with submission requirements.

694

teams-channel-post-writer

daymade

Creates educational Teams channel posts for internal knowledge sharing about Claude Code features, tools, and best practices. Applies when writing posts, announcements, or documentation to teach colleagues effective Claude Code usage, announce new features, share productivity tips, or document lessons learned. Provides templates, writing guidelines, and structured approaches emphasizing concrete examples, underlying principles, and connections to best practices like context engineering. Activates for content involving Teams posts, channel announcements, feature documentation, or tip sharing.

591

write-docs

tldraw

Writing SDK documentation for tldraw. Use when creating new documentation articles, updating existing docs, or when documentation writing guidance is needed. Applies to docs in apps/docs/content/.

665

Search skills

Search the agent skills registry