skills/documentation/SKILL.md
# Skill: Documentation Manage bilingual project documentation following the folder-based language convention. ## Directory Structure Rule ``` docs/<domain>/<theme>/<chapter>/<lang>/<file>.md ``` **Key constraint: no .md files in intermediate directories.** If a directory has subdirectories, it MUST NOT contain .md files directly. Documentation files live ONLY in leaf directories. Examples: - `docs/agents/ua/hello-agent.md` — correct (leaf) - `docs/agents/hello-agent.md` — WRONG (agents/ has
npx skillsauth add nmdimas/ai-community-platform skills/documentationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage bilingual project documentation following the folder-based language convention.
docs/<domain>/<theme>/<chapter>/<lang>/<file>.md
Key constraint: no .md files in intermediate directories. If a directory has subdirectories, it MUST NOT contain .md files directly. Documentation files live ONLY in leaf directories.
Examples:
docs/agents/ua/hello-agent.md — correct (leaf)docs/agents/hello-agent.md — WRONG (agents/ has ua/ and en/ subdirs)docs/plans/mvp-plan.md — correct (plans/ is a leaf, English-only)The only exception is INDEX.md (project root) — see below.
INDEX.md (project root) is the agent-facing index of all documentation. It is:
docs/ — the sole allowed .md file in docs/ (besides no other)INDEX.md (project root)en/ versions — for bilingual sections, INDEX.md always references the en/ path (e.g., docs/agents/en/hello-agent.md), because ua/ exists only for quick human browsingAgents should load INDEX.md (project root) first to understand the documentation landscape before reading specific files.
| Level | Meaning | Example |
|-------|---------|---------|
| domain | Top-level subject area | agents, specs, plans |
| theme | Grouping within domain (optional) | prd, architecture |
| chapter | Specific topic (optional) | auth, core-agent |
| lang | Language folder (ua/, en/) | For bilingual sections only |
For English-only sections, files go directly in the deepest topic folder without ua/en split.
ua/ (Ukrainian canonical) and en/ (English mirror)ua/ and en/ are always the LAST level before .md filesua/en splitua/ and en/ files MUST have identical structure and headings; only language differsdocs/templates/ (English-only)openspec/project.md → Documentation Language| Domain | Path | Bilingual | Description |
|--------|------|-----------|-------------|
| agents | docs/agents/ | yes | Agent PRDs and feature docs |
| specs | docs/specs/ | yes | Interface specifications |
| plans | docs/plans/ | no (English) | Development plans |
| agent-requirements | docs/agent-requirements/ | no (English) | Agent contracts & conventions |
| neuron-ai | docs/neuron-ai/ | no (English) | AI framework reference |
| decisions | docs/decisions/ | no (English) | Architecture Decision Records |
| product | docs/product/ | yes | Product vision, PRDs, brainstorms |
| templates | docs/templates/ | no (English) | Reusable doc templates |
| features | docs/features/ | yes | Feature documentation |
| fetched | docs/fetched/ | per-source | External docs fetched by web-to-docs skill |
Create a new documentation file.
Input: <domain>/<filename> (e.g., agents/hello-agent)
Steps:
docs/<domain>/ua/ and en/ subdirsdocs/<domain>/ua/<filename>.md and docs/<domain>/en/<filename>.mddocs/<domain>/<filename>.mdINDEX.md (project root): add the new file entry to the appropriate sectionUpdate an existing documentation file.
Input: <domain>/<filename> (e.g., agents/hello-agent)
Steps:
docs/<domain>/ua/<filename>.md and docs/<domain>/en/<filename>.mdRemove a documentation file pair.
Input: <domain>/<filename> (e.g., agents/hello-agent)
Steps:
docs/<domain>/ua/<filename>.mddocs/<domain>/en/<filename>.mdua/ or en/ folder is now empty, remove itINDEX.md (project root): remove the deleted file entryConvert legacy files to proper structure.
Input: <domain> or specific <domain>/<filename>
Steps:
INDEX.md (project root): fix paths for all moved filesRun this check after any operation:
1. For each directory in docs/:
IF directory has subdirectories AND contains .md files (except docs/INDEX.md):
→ VIOLATION — move .md files to appropriate leaf directory
2. Every .md file under docs/ (except INDEX.md) MUST have a corresponding entry in docs/INDEX.md
# <Agent Name>
## Призначення / Purpose
<1-2 sentences>
## Функціонал / Features
- <bullet list of endpoints: POST /api/v1/a2a, GET /health, GET /api/v1/manifest, admin pages>
## Скіли / Skills
| Skill ID | Опис / Description | Ключові вхідні дані / Key Inputs |
|---|---|---|
| `agent.skill_name` | <what it does> | `field1`, `field2` |
<For each skill with non-trivial input, add a ### subsection with example JSON payload>
## База даних / Database
<Table name, columns with types, indexes. Use a markdown table>
## Технічний стек / Tech Stack
- <language, framework, DB, routing port>
## Автентифікація / Authentication
<Auth mechanism (e.g., X-Platform-Internal-Token header), curl example>
## Валідація вхідних даних / Input Validation
| Поле / Field | Правило / Rule |
|---|---|
| `field` | <required, range, allowlist, default> |
## Telegram-сповіщення / Notifications
<If agent sends notifications: mechanism, format, error handling>
## Makefile команди / Makefile Commands
- <make targets for setup, test, analyse, cs-check, migrate>
## Адмін-панель / Admin Panel
<URL, what it shows, filters>
Sections are ordered from "what it does" to "how to run it". Include only sections relevant to the agent — skip empty ones (e.g., skip Database if no DB, skip Notifications if none).
# <Feature Name>
## Огляд / Overview
<What it does, architecture>
## Швидкий старт / Quick Start
<Minimal steps to use the feature>
## Конфігурація / Configuration
<Env vars, config files, options table>
## Приклади / Examples
<Real usage examples with code blocks>
# <Spec Name>
## Огляд / Overview
<summary>
## Ендпоінти / Endpoints
<API surface>
## Формат даних / Data Format
<schemas, examples>
## Приклади / Examples
<request/response examples>
development
Convert a website or page with related links into a local collection of Markdown files with an index. Follows project docs conventions (ua/en bilingual structure). Uses WebFetch — no external dependencies. Triggers on: "web to docs", "website to markdown", "save docs locally", "convert site", "download docs", "fetch docs", "scrape to markdown".
documentation
Translation agent for ua/en bilingual content. Handles UI labels, help text, error messages, docs, and agent/system prompts. Finds translatable elements, detects supported languages, translates by context, maintains term consistency. Triggers on: "translate", "translation", "i18n", "missing translations", "mirror docs", "sync languages".
development
Security review agent for PHP/Symfony codebase. Performs manual-style security review with OWASP ASVS 5.0 category mapping, severity ratings, and PHP/Symfony-specific checklist. Triggers on: "security review", "security audit", "vulnerability check", "OWASP review", "pentest review", "security scan".
development
Auto-bump pipeline monitor version when builder/monitor/pipeline-monitor.sh is modified. Triggers automatically as a post-edit convention — not user-invocable directly. When any change is made to pipeline-monitor.sh, increment the patch version in the "# Version:" header comment. Triggers on: "pipeline-monitor", "monitor version", "bump monitor".