Loading...
Loading...
Create new documentation entities in the docs-first system. Routes to specialized creation sub-skills for tasks, definitions, rules, features, and social content. Use when adding any new documentation.
npx skill4agent add opendndapps/ogt-skills ogt-docs-createflowchart TB
CREATE["ogt-docs-create"] --> TASK["ogt-docs-create-task"]
CREATE --> DEF["ogt-docs-define"]
CREATE --> RULE["ogt-docs-rules"]
CREATE --> SOCIAL["ogt-docs-create-social"]
CREATE --> CHANGE["ogt-docs-changelog"]
TASK --> |folder| PENDING["docs/todo/pending/"]
DEF --> |folder| DEFINE["docs/define/"]
RULE --> |folder| RULES["docs/rules/"]
SOCIAL --> |folder| CONTENT["docs/content/"]
CHANGE --> |file| CHANGELOG["CHANGELOG.md"]| Creating | Sub-Skill | Target |
|---|---|---|
| Task | | docs/todo/pending/ |
| Feature | | docs/define/features/ |
| Business def | | docs/define/business/ |
| Code def | | docs/define/code/ |
| Marketing def | | docs/define/marketing/ |
| Branding def | | docs/define/branding/ |
| Tool doc | | docs/define/tools/ |
| Code rule | | docs/rules/code/ |
| Git rule | | docs/rules/git/ |
| Social post | | docs/content/social/ |
| Changelog | | CHANGELOG.md |
flowchart LR
A[Identify Type] --> B[Create Folder]
B --> C[Copy Template]
C --> D[Fill Content]
D --> E[Add Signals]
E --> F[Verify Structure]| If you need to... | Create a... | Location |
|---|---|---|
| Track work to do | Task | docs/todo/pending/ |
| Document a product feature | Feature | docs/define/features/ |
| Document code architecture | Code definition | docs/define/code/ |
| Establish coding standard | Code rule | docs/rules/code/ |
| Record what changed | Changelog entry | CHANGELOG.md |
# Use slug format: lowercase, hyphens, no spaces
mkdir -p docs/{section}/{category}/{slug}
# Examples
mkdir -p docs/todo/pending/user-auth-flow
mkdir -p docs/define/features/dark-mode
mkdir -p docs/rules/code/error-handling# Copy appropriate template
cp docs/_templates/{type}.md docs/{path}/{slug}/{type}.md
# Examples
cp docs/_templates/task.md docs/todo/pending/user-auth-flow/task.md
cp docs/_templates/feature.md docs/define/features/dark-mode/feature.md
cp docs/_templates/rule.md docs/rules/code/error-handling/rule.md# Common signals
echo '{"schema": "1.0", "created": "'$(date -Iseconds)'"}' > {folder}/.version
# Type-specific signals
echo "high" > docs/todo/pending/{task}/.priority
touch docs/rules/code/{rule}/.enforced_by# Verify folder has required files
ls -la docs/{path}/{slug}/
# Expected output example for task:
# task.md
# .version
# .priority# Task: {Title}
## Summary
{What and why}
## Objectives
- Objective 1
- Objective 2
## Acceptance Criteria
- [ ] Criterion 1
- [ ] Criterion 2
## Dependencies
{None or list}
## Estimated Effort
{Size} ({time})# Feature: {Name}
## Summary
{What the feature does}
## User Stories
As a {user}, I want to {action}, so that {benefit}.
## Scope
### In Scope
- Item 1
### Out of Scope
- Item 1
## Success Metrics
- Metric 1# {Name}
## Summary
{One paragraph}
## Details
{Full explanation}
## Examples
{Examples}
## Related
- {Links}# Rule: {Name}
## Summary
{One sentence}
## Rationale
{Why}
## The Rule
{MUST/SHOULD/MAY statements}
## Examples
### Correct
{example}
### Incorrect
{example}
## Enforcement
{How enforced}#!/bin/bash
# create-feature-with-tasks.sh
FEATURE=$1
# Create feature definition
mkdir -p docs/define/features/$FEATURE
cat > docs/define/features/$FEATURE/feature.md << EOF
# Feature: $(echo $FEATURE | tr '-' ' ' | sed 's/\b\(.\)/\u\1/g')
## Summary
TODO: Add summary
## User Stories
As a user, I want to TODO, so that TODO.
EOF
# Create initial tasks
for task in "design" "implement" "test" "document"; do
mkdir -p docs/todo/pending/${FEATURE}-${task}
cat > docs/todo/pending/${FEATURE}-${task}/task.md << EOF
# Task: $(echo $FEATURE | tr '-' ' ' | sed 's/\b\(.\)/\u\1/g') - $(echo $task | sed 's/\b\(.\)/\u\1/g')
## Summary
${task^} the $FEATURE feature.
## Objectives
- TODO
## Acceptance Criteria
- [ ] TODO
EOF
echo "medium" > docs/todo/pending/${FEATURE}-${task}/.priority
done
echo "Created feature: $FEATURE"
echo "Created tasks: ${FEATURE}-design, ${FEATURE}-implement, ${FEATURE}-test, ${FEATURE}-document"./create-feature-with-tasks.sh dark-mode| Rule | Example |
|---|---|
| Lowercase | |
| Hyphens for spaces | |
| No special chars | |
| Descriptive | |
| Under 30 chars | Keep it readable |
docs/todo/pending/add-steam-oauth
docs/define/features/dark-mode-toggle
docs/rules/code/no-implicit-anydocs/todo/pending/Add Steam OAuth # Spaces, caps
docs/define/features/dark_mode_toggle # Underscores
docs/rules/code/rule1 # Not descriptive# Task
test -f docs/todo/pending/{slug}/task.md || echo "MISSING: task.md"
test -f docs/todo/pending/{slug}/.priority || echo "MISSING: .priority"
# Feature
test -f docs/define/features/{slug}/feature.md || echo "MISSING: feature.md"
test -f docs/define/features/{slug}/mvp.md || echo "MISSING: mvp.md"
# Rule
test -f docs/rules/{category}/{slug}/rule.md || echo "MISSING: rule.md"
test -f docs/rules/{category}/{slug}/.enforced_by || echo "MISSING: .enforced_by"# For any markdown file, check for required headings
file=$1
required=("## Summary" "## Objectives" "## Acceptance Criteria")
for section in "${required[@]}"; do
grep -q "$section" "$file" || echo "MISSING: $section in $file"
done# 1. Feature folder
mkdir -p docs/define/features/search
# 2. Feature definition
cat > docs/define/features/search/feature.md << 'EOF'
# Feature: Global Search
## Summary
Fuzzy search across all content types.
EOF
# 3. MVP scope
cat > docs/define/features/search/mvp.md << 'EOF'
# MVP: Global Search
## In MVP
- Phase 0 only
## Definition of Done
- Search returns results in <100ms
- Fuzzy matching works
EOF
# 4. Phase 0
cat > docs/define/features/search/phase_0.md << 'EOF'
# Phase 0: Basic Search
## Deliverables
- MiniSearch integration
- Global search component
EOF
# 5. Tasks
mkdir -p docs/todo/pending/search-minisearch-setup
# ... create task# 1. Rule folder
mkdir -p docs/rules/code/async-await
# 2. Rule definition
cat > docs/rules/code/async-await/rule.md << 'EOF'
# Rule: Prefer async/await
## Summary
SHOULD use async/await over .then() chains.
## Rationale
Improved readability and error handling.
## The Rule
...
EOF
# 3. Examples
cat > docs/rules/code/async-await/examples.md << 'EOF'
# Examples
...
EOF
# 4. Enforcement
echo "eslint prefer-async-await" > docs/rules/code/async-await/.enforced_by
# 5. Configure ESLint
# Edit .eslintrc.js| Signal | Used For | Content |
|---|---|---|
| All | JSON schema version |
| Tasks | critical/high/medium/low |
| Rules | List of tools |
| Definitions | draft/review/approved |
| All | ISO timestamp |
| All | Author name |