Install
$ agentstack add skill-makigjuro-cloudstack-ai-plugins-docs ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Generate / Update Documentation
Generate or update markdown documentation by analyzing the actual codebase. Never fabricate -- every statement must be backed by code you've read.
Arguments
{target}-- What to document. One of:service {name}-- Full service documentation (endpoints, events, config)api {service}-- API endpoint reference for a servicearchitecture-- Update the technical architecture docdomain-- Update the domain model docrunbook {service}-- Operational runbook (health checks, alerts, troubleshooting)quickstart-- Update the quickstart / getting started guideall-- Regenerate all outdated docs
If no argument given, detect what's changed since last docs update and suggest what needs refreshing.
Configuration
Read cloudstack.json from the project root at the start of execution. Extract:
NAMESPACE=project.namespaceSOLUTION=backend.solutionPathSERVICES=backend.services[]FRONTEND_PATH=frontend.path(default:web)CHARTS_PATH=infrastructure.chartsPath(default:deploy/charts)TERRAFORM_PATH=infrastructure.terraformPath
If cloudstack.json does not exist, auto-detect by scanning the project structure.
Process
Step 1: Detect Scope
If no target specified:
# Find docs that may be stale -- compare last doc commit vs last code commit
git log -1 --format=%H -- docs/
git log -1 --format=%H -- src/ ${FRONTEND_PATH} ${CHARTS_PATH} ${TERRAFORM_PATH}
# Show what code changed since docs were last updated
git diff {last-docs-commit}..HEAD --stat -- src/ ${FRONTEND_PATH} ${CHARTS_PATH} ${TERRAFORM_PATH}
Present the user with a summary of what's changed and recommend which docs to update.
Step 2: Gather Evidence
Read the actual code -- do NOT guess or use stale memory. For each doc type:
Service doc (docs/services/{service-name}/README.md):
- Read
src/{Service}/{Service}.Host/Program.cs-- DI, middleware, config sections - Read
src/{Service}/{Service}.Host/Endpoints/-- all endpoint files - Read
src/{Service}/{Service}.Application/Commands/-- all command records - Read
src/{Service}/{Service}.Application/Queries/-- all query records - Read
src/{Service}/{Service}.Infrastructure/DependencyInjection.cs-- external dependencies - Read
src/{Service}/{Service}.Infrastructure/Persistence/Configurations/-- DB schema - Grep for messaging subjects/topics in the service
- Read Helm chart values if present:
${CHARTS_PATH}/{service-name}/values.yaml - Read
appsettings.jsonin the Host project -- configuration keys
API doc (docs/services/{service-name}/api.md):
- Read all endpoint files in
src/{Service}/{Service}.Host/Endpoints/ - Read corresponding command/query records for request/response shapes
- Read validators for constraints
- Extract: method, route, request body, response body, status codes, auth requirements
Architecture doc (docs/architecture/technical-architecture.md):
- Read all
Program.csfiles for service topology - Read app host / orchestrator config for service discovery and dependencies
- Read
${TERRAFORM_PATH}/for infrastructure components - Read
${CHARTS_PATH}/for deployment topology - Grep for inter-service communication patterns (HTTP clients, messaging subjects)
Domain model doc (docs/architecture/domain-model.md):
- Read all entities in the shared domain layer
- Read all value objects in the shared domain layer
- Read all domain events in the shared domain layer
- Read EF Core configurations for relationships and constraints
Runbook (docs/services/{service-name}/runbook.md):
- Read
Program.csfor health check endpoints - Read
${CHARTS_PATH}/{service-name}/values.yamlfor resource limits, probes, env vars - Read
${CHARTS_PATH}/{service-name}/templates/for alerts, HPA config - Grep for error codes and error handling patterns
- Read integration test factory for dependencies (DB, messaging, cache, storage)
Quickstart (docs/quickstart.md):
- Read app host / orchestrator config for local dev setup
- Read
docker-compose*.ymlif present - Read
${FRONTEND_PATH}/package.jsonfor frontend setup - Read
Directory.Build.propsfor SDK requirements - Verify all commands by checking they reference real files/scripts
Step 3: Generate Documentation
Write the documentation to the appropriate path. Follow these rules:
Structure:
- Use the existing file if updating -- preserve sections the user may have manually edited
- Add a metadata comment at the top: ``
- Mark auto-generated sections with `
/` markers - Leave non-generated sections untouched when updating
Content rules:
- Every endpoint, entity, event, and config key must come from actual code you read
- Include code references:
See: src/{Service}/.../FileName.cs - Use tables for structured data (endpoints, config keys, events)
- Include Mermaid diagrams for architecture and entity relationships where helpful
- Keep descriptions concise -- one sentence per item unless complexity warrants more
Step 4: Verify
After generating:
- Check all file paths referenced in the doc actually exist
- Check all endpoint routes match what's in the code
- Check all config keys match what's in appsettings / values.yaml
- Validate any Mermaid diagrams using
mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram-- fix syntax errors before writing - Report what was generated/updated and word count
Output Formats
Service Doc Template
# {Service Name}
{One-paragraph description of what this service does.}
## API Endpoints
| Method | Route | Description | Auth |
|--------|-------|-------------|------|
| POST | `/api/{resource}` | Create a new resource | API Key |
| GET | `/api/{resource}/{id}` | Get resource by ID | API Key |
## Commands & Queries
### Commands
| Command | Description | Handler |
|---------|-------------|---------|
| `CreateResourceCommand` | Creates a new resource | `CreateResourceHandler` |
### Queries
| Query | Description | Handler |
|-------|-------------|---------|
| `GetResourceByIdQuery` | Retrieves resource by ID | `GetResourceByIdHandler` |
## Domain Events Published
| Event | Trigger | Key Data |
|-------|---------|----------|
| `ResourceCreatedEvent` | Resource.Create() | ResourceId, TenantId |
## Messaging Subjects
| Subject | Type | Direction | Description |
|---------|------|-----------|-------------|
| `{project}.{resource}.events.` | Persistent | Outbound | Resource events |
## Configuration
| Key | Description | Default | Required |
|-----|-------------|---------|----------|
| `ConnectionStrings:{name}` | Database connection | -- | Yes |
## Dependencies
- **PostgreSQL** -- State persistence
- **Messaging** -- Event publishing
API Doc Template
# {Service Name} API Reference
Base URL: `/api/{resource}`
## POST /api/{resource}
Create a new resource.
**Request Body:**
\`\`\`json
{
"name": "string",
"metadata": "string | null"
}
\`\`\`
**Response (201):**
\`\`\`json
{
"id": "guid",
"name": "string",
"createdAt": "datetime"
}
\`\`\`
**Error Codes:**
| Code | Status | Description |
|------|--------|-------------|
| `RESOURCE_ALREADY_EXISTS` | 409 | Resource with this ID already exists |
| `NAME_REQUIRED` | 400 | Name is missing or empty |
**Validation Rules:**
- `name` -- Required, max 200 characters
Runbook Template
# {Service Name} Runbook
## Health Checks
| Endpoint | Type | Description |
|----------|------|-------------|
| `/health/live` | Liveness | Process is running |
| `/health/ready` | Readiness | Dependencies accessible |
## Dependencies
| Dependency | Failure Impact | Recovery |
|------------|---------------|----------|
| PostgreSQL | Full outage | Readiness probe fails, pod restarts |
| Messaging | Event publishing stops | Circuit breaker, retries |
## Resource Limits
| Resource | Request | Limit |
|----------|---------|-------|
| CPU | 100m | 500m |
| Memory | 256Mi | 512Mi |
## Common Issues
### {Error Code}
- **Symptom:** {what the user sees}
- **Cause:** {root cause}
- **Resolution:** {steps to fix}
## Alerts
| Alert | Severity | Condition | Runbook Action |
|-------|----------|-----------|----------------|
Guidelines
- Accuracy over completeness -- skip a section rather than guess
- Update, don't replace -- preserve manually-written content outside generated markers
- Reference code -- every fact should be traceable to a source file
- Keep it scannable -- tables, headers, and short paragraphs over walls of text
- Date everything -- the metadata comment helps track staleness
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: makigjuro
- Source: makigjuro/cloudstack-ai-plugins
- License: MIT
- Homepage: https://github.com/makigjuro/cloudstack-ai-plugins#quick-start
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.