| name | simpledoc |
|---|---|
| description | Create or update documentation in this repo following SimpleDoc conventions. |
Use this skill whenever you are asked to create or update documentation in this repository.
Attention agent! This section is a template for creating instructions on how to create documentation in this repository. The placeholder sections must be filled in before anything else.
- Fetch the most recent SimpleDoc specification from https://github.com/osolmaz/SimpleDoc and copy it below, replacing the placeholder content.
- Ask the user about their preferences in documentation style (tone, technicality, planning style, etc.). Do a few rounds of back-and-forth to get the user's preferences, then replace the placeholder content in the Preferences section.
After finishing the setup, DELETE ONLY this section between dividers ---. The other agent instruction below is to be kept as is.
Attention agent! Complete every item below before touching documentation work:
- Read this file in full for the current session. No shortcuts.
- Verify that git is initialized and configured. You will need the name and email of the current user in order to populate the
authorfield in the YAML frontmatter. Run the following one-liner to verify:
printf '%s <%s>\n' "$(git config --local --get user.name 2>/dev/null || git config --global --get user.name)" "$(git config --local --get user.email 2>/dev/null || git config --global --get user.email)"If the name and email are not available for some reason, ask the user to provide them, and also setup git configuration for them.
<Replace this part with the content of SimpleDoc specification>
<Replace this part with the user's preferences in documentation style>
- Run
date +%Y-%m-%dand use the output for both filename prefix anddatefield. - Identify where the document belongs:
- Keep general documentation at the root of
docs/. - If exists, use the dedicated subdirectories for specialized content.
- Keep general documentation at the root of
- Check for existing, related docs to avoid duplicates and to link to prior work.
- Format:
YYYY-MM-DD-descriptive-title.md. The date MUST use dashes; the rest SHOULD be lowercase with hyphens (avoid underscores). - Choose names that reflect the problem or topic, not the team or author.
- Example:
2025-06-20-api-migration-guide.md. - Place the file in the appropriate folder before committing.
- Docs fall into two buckets:
- Timeless general documents describe enduring processes or repo-wide rules. They do not carry a date prefix and keep their canonical names.
- All other content (design notes, incidents, feature guides, migrations, meeting notes, etc.) must use the date-prefixed naming pattern above with a lower-case, hyphenated title.
- When adding or reviewing documentation, decide which bucket applies. If the doc is not a long-lived reference, rename or relocate it so the filename uses the
YYYY-MM-DD-…form before merging.
Every doc must start with YAML front matter:
---
date: 2025-10-24 # From `date +%Y-%m-%d`
author: Name <email@example.com>
title: Short Descriptive Title
tags: [tag1, tag2] # Optional but recommended
---SimpleDoc Guidelines:
- Keep the
datevalue in sync with the filename prefix. - Use a real contact in
author(Name <email>). - Choose a concise, action-oriented
title. - Populate
tagswhen it improves discoverability; omit the line if not needed.
Use SimpleLog for daily logs. The spec lives at docs/SIMPLELOG_SPEC.md.
- Default location:
docs/logs/YYYY-MM-DD.md. - The CLI writes to
<repo-root>/docs/logs/by default when inside a git repo. - You can set a shared default in
simpledoc.jsonand override locally in.simpledoc.local.json(seedocs/SIMPLEDOC_CONFIG_SPEC.md).
Use the CLI to create the file and append entries:
simpledoc log "Entry text here"Notes:
- The CLI creates the daily log file if missing, including required frontmatter.
- It adds a new session section only when the threshold is exceeded (default 5 minutes).
- It preserves the text you type and inserts a blank line before each new entry.
Pipe or heredoc input (stdin) for multiline entries:
cat <<'EOF' | simpledoc log
Multiline entry.
- line two
- line three
EOFYou can also use --stdin explicitly:
simpledoc log --stdin <<'EOF'
Another multiline entry.
EOF- Keep the YAML frontmatter intact (
title,author,date,tz,created, optionalupdated). - Ensure a blank line separates entries.
- Session sections must be
## HH:MM(local time of the first entry in that section).
Once this skill is active in a repo, the agent SHOULD log anything worth noting as it goes. This includes:
- Significant changes, decisions, discoveries, tradeoffs, and assumptions.
- Ongoing progress and small but real steps (changes, commands, tests, doc updates).
- Errors, failures, workarounds, and clarifications.
Log each entry after completing the step or realizing the insight.
- Filename follows the
YYYY-MM-DD-…pattern (date uses dashes) and lives in the correct directory. - Capitalized multi-word filenames use underscores (e.g.,
CODE_OF_CONDUCT.md). - Timeless vs. dated classification is correct and filenames reflect the choice.
- Front matter is complete and accurate.
- Links to related documentation exist where applicable.
- Run
npx -y @simpledoc/simpledoc check(orsimpledoc check) to verify SimpleDoc conventions.