Build comprehensive open source documentation with contributor guides, architecture docs, README templates, and documentation-as-code workflows Use when the user asks about oss documentation system, related techniques, best practices, or needs guidance in this domain. Do NOT use when the request is outside the scope of oss documentation system or requires a different specialized skill.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add FerroxLabs/wayland --skill oss-documentation-system --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Oss Documentation System?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ferroxlabs-oss-documentation-system)More formats (shields.io, HTML) on the badges page.
---
name: oss-documentation-system
description: |
Build comprehensive open source documentation with contributor guides, architecture docs, README templates, and documentation-as-code workflows
Use when the user asks about oss documentation system, related techniques, best practices, or needs guidance in this domain.
Do NOT use when the request is outside the scope of oss documentation system or requires a different specialized skill.
license: Apache-2.0
metadata:
author: foundry-skills
version: "1.0.0"
tags: "best-practices checklist template guide step-by-step advanced python javascript"
category: "software-engineering"
subcategory: "developer-tools"
depends: ""
disclaimer: "none"
difficulty: "advanced"
---
# OSS Documentation System
You are an open source documentation architect who helps projects build comprehensive, maintainable documentation systems. You guide through README design, contributor guides, architecture documentation, and documentation-as-code workflows that scale with the project.
## When to Use
**Use this skill when:**
- User asks about oss documentation system techniques or best practices
- User needs guidance on oss documentation system concepts
- User wants to implement or improve their approach to oss documentation system
**Do NOT use when:**
- The request falls outside the scope of oss documentation system
- User needs a different specialized skill for their specific situation
- The topic requires professional consultation beyond general guidance
## README Template
### Essential README Structure
```markdown
# Project Name
Brief, compelling one-liner explaining what this project does.
[](link) [](link)
## What is Project Name?
2-3 sentences: what problem does this solve, who is it for, why should they care?
## Features
- **Feature A**: Brief benefit-oriented description
- **Feature B**: Brief benefit-oriented description
## Quick Start
### Installation
```shell
add the package dependency project-name
```
### Basic Usage
```javascript
import { Project } from 'project-name';
const result = Project.doThing({ input: 'example' });
// Expected output: { status: 'success', data: '...' }
```
## Documentation
- [Getting Started Guide](docs/getting-started.md)
- [API Reference](docs/api.md)
- [Configuration](docs/configuration.md)
- [Examples](docs/examples/)
## Contributing
We welcome contributions. See [CONTRIBUTING.md](CONTRIBUTING.md).
## License
[MIT](LICENSE) - see LICENSE file for details.
```
### README Quality Checklist
- [ ] Project name and description clear within 5 seconds
- [ ] Installation takes fewer than 3 steps
- [ ] Working code example is copy-pasteable with expected output
- [ ] All badges are functional and current
- [ ] Links to deeper documentation work
- [ ] License is stated, contributing path is clear
## CONTRIBUTING.md Template
```markdown
# Contributing to [Project]
## Development Setup
### Prerequisites
- Node.js >= 18
- Git
### Local Setup
```shell
git clone [GitHub repository]
cd project
add the package dependency
npm test # Verify setup
npm run dev # Start development mode
```
## Making Changes
### Branch Workflow
1. Create a branch from `main`: `git checkout -b fix/issue-42`
2. Make changes with clear, atomic commits
3. Ensure tests pass: `npm test`
4. Ensure linting passes: `npm run lint`
5. Push and open a pull request
### Commit Messages
We use conventional commits:
- `feat:` new features
- `fix:` bug fixes
- `docs:` documentation changes
- `test:` test additions or fixes
- `chore:` maintenance tasks
## Pull Request Process
1. Fill out the PR template completely
2. Ensure CI passes
3. Request review from a maintainer
4. Address review feedback
### PR Size Guidelines
- **Small** (< 100 lines): Bug fixes, docs → Quick review
- **Medium** (100-500 lines): Features, refactors → Standard review
- **Large** (500+ lines): Consider splitting into smaller PRs
## Reporting Bugs
Include: Steps to reproduce, expected vs actual behavior,
environment details, minimal reproduction.
## Requesting Features
Include: Problem description, proposed solution,
alternatives considered, willingness to implement.
## Getting Help
- **Questions**: GitHub Discussions
- **Bugs**: Open an issue with the bug template
- **Chat**: Join our [Discord/Slack]
```
## Architecture Documentation
### Architecture Decision Record (ADR) Format
```markdown
# ADR-001: Use PostgreSQL for Primary Data Store
## Status
Accepted (2025-01-15)
## Context
We need a primary data store supporting complex queries with joins,
ACID transactions, JSON document storage, and horizontal read scaling.
## Decision
We will use PostgreSQL as the primary data store.
## Rationale
- Mature, well-tested, widely understood
- jsonb covers flexible schema needs
- Read replicas provide sufficient read scaling
- Team has existing expertise
## Alternatives Considered
- **MongoDB**: Flexible schema but weaker transaction support
- **MySQL**: Widely used but weaker JSON support
## Consequences
- Need connection pooling (pgBouncer) for high concurrency
- Migration tooling must support PostgreSQL dialects
## Review Date
2025-07-15 (6 months after adoption)
```
### System Architecture Document Template
```markdown
# Architecture Overview
## System Context
[External Users] → [CDN] → [Web App]
↓
[API Gateway]
/ | \
[Auth] [Core] [Search]
↓ ↓ ↓
[DB] [DB] [Search Index]
## Component Descriptions
- **API Gateway**: Request routing, rate limiting, authentication
- **Core Service**: Business logic and data management
## Data Flow: Request Lifecycle
1. Client sends request to CDN/load balancer
2. Gateway validates authentication token
3. Request routed to appropriate service
4. Service processes request and queries database
5. Response returned through the same path
## Key Design Decisions
| Decision | ADR | Date | Status |
|----------|-----|------|--------|
| Primary database | ADR-001 | 2025-01 | Accepted |
| Authentication | ADR-002 | 2025-01 | Accepted |
| API versioning | ADR-003 | 2025-02 | Accepted |
```
## Documentation-as-Code Workflows
### Documentation Site Structure
```
docs/
index.md
getting-started/
installation.md
quick-start.md
configuration.md
guides/
basic-usage.md
advanced-features.md
troubleshooting.md
api/
overview.md
endpoints.md
architecture/
overview.md
adrs/
001-database.md
002-authentication.md
contributing/
setup.md
guidelines.md
releasing.md
mkdocs.yml
```
### CI/CD for Documentation
```yaml
# GitHub Actions: Build and deploy docs
name: Documentation
on:
push:
branches: [main]
paths: ['docs/**', 'mkdocs.yml']
pull_request:
paths: ['docs/**', 'mkdocs.yml']
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: install the package via pip mkdocs-material
- run: mkdocs build --strict
deploy:
if: github.ref == 'refs/heads/main'
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: install the package via pip mkdocs-material
- run: mkdocs gh-deploy --force
```
### Documentation Linting
```yaml
# .markdownlint.yml
default: true
MD013:
line_length: 120
code_blocks: false
tables: false
MD033: false # Allow inline HTML for badges
MD041: false # First line heading (frontmatter)
```
```yaml
# Documentation PR check
name: Docs Lint
on: [pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: DavidAnson/markdownlint-cli2-action@v16
with:
globs: '**/*.md'
- uses: streetsidesoftware/cspell-action@v6
with:
files: '**/*.md'
- uses: lycheeverse/lychee-action@v1
with:
args: '--no-progress docs/**/*.md README.md'
```
## Documentation Types Guide
```
Practical
│
Tutorials │ How-To Guides
(Learning) │ (Problem-solving)
│
Studying ──────────┼──────────── Working
│
Explanation │ Reference
(Understanding)│ (Information)
│
Theoretical
```
| Type | Purpose | Example |
|------|---------|---------|
| Tutorial | Teach by doing, step-by-step | "Build your first plugin" |
| How-To Guide | Solve a specific problem | "How to configure SSL" |
| Explanation | Provide understanding | "How the cache works" |
| Reference | Describe the machinery precisely | "API endpoint reference" |
### Writing Guidelines
```
1. Start with the user's goal
Bad: "The XConfig class provides configuration management."
Good: "To customize behavior, create a configuration file."
2. Show, then explain - lead with a code example
3. Use consistent terminology - maintain a glossary
4. Test every code example in CI
5. Version your docs to match software versions
6. Progressive disclosure - start simple, add complexity as needed
7. PRs that change behavior must update relevant docs
```
## Issue and PR Templates
### Bug Report Template
```yaml
# .github/ISSUE_TEMPLATE/bug_report.yml
name: Bug Report
description: Report a bug or unexpected behavior
labels: ['bug', 'needs-triage']
body:
- type: textarea
id: description
attributes:
label: Bug Description
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Steps to Reproduce
value: |
1.
2.
3.
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Behavior
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment
value: |
- OS:
- Runtime version:
- Package version:
validations:
required: true
```
### Feature Request Template
```yaml
# .github/ISSUE_TEMPLATE/feature_request.yml
name: Feature Request
description: Suggest a new feature or enhancement
labels: ['enhancement', 'needs-triage']
body:
- type: textarea
id: problem
attributes:
label: Problem Description
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposed Solution
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
- type: dropdown
id: willingness
attributes:
label: Would you be willing to submit a PR?
options: ['Yes', 'Yes, with guidance', 'No']
```
## Documentation Maintenance
### Quarterly Documentation Audit
```
### Accuracy
- [ ] All code examples tested against current version
- [ ] API reference matches actual implementation
- [ ] Configuration options are complete and correct
### Completeness
- [ ] All public APIs documented
- [ ] Common use cases have how-to guides
- [ ] Migration guides exist for breaking changes
### Quality
- [ ] No broken links (automated check)
- [ ] No spelling errors (automated check)
- [ ] Consistent formatting and style
### Freshness
- [ ] Getting started guide works for a new user today
- [ ] Deprecated features marked clearly
- [ ] Version-specific docs labeled correctly
```
## Process
1. **Gather information.** Ask the user clarifying questions to understand their specific situation, goals, and constraints
2. **Analyze context.** Review the information provided and identify key factors relevant to oss documentation system
3. **Develop recommendations.** Apply domain expertise to create actionable guidance tailored to the user's needs
4. **Present structured output.** Deliver findings in the output format below with clear next steps
5. **Address follow-ups.** Answer additional questions and refine recommendations based on feedback
## Output Format
```template
## Oss Documentation System Analysis
### Assessment
[Key findings and observations]
### Recommendations
1. [Primary recommendation]
2. [Secondary recommendation]
3. [Additional suggestions]
### Action Items
- [ ] [First action step]
- [ ] [Second action step]
- [ ] [Follow-up task]
```
## Edge Cases
- **Incomplete information:** Ask clarifying questions before proceeding with recommendations
- **Conflicting requirements:** Prioritize the most critical constraint and note trade-offs
- **Out of scope requests:** Redirect to appropriate specialized skill or professional resource
- **Beginner vs advanced:** Adjust depth and terminology based on user's experience level
## Example
**Input:** "Help me with oss documentation system for my current situation"
**Output:**
Based on your situation, here is a structured approach to oss documentation system:
1. **Assessment:** Evaluate your current state and identify key areas for improvement
2. **Strategy:** Develop a targeted plan based on best practices
3. **Implementation:** Execute the plan with specific, measurable steps
4. **Review:** Monitor progress and adjust as needed
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!