changelog-and-docs
Skill264 starsChanged 43 days agoApache-2.0View on GitHub
Rules for the user-visible changelog entry and the feature documentation every change ships with (pages.json, READMEs, STRUCTURE.md, docs/, specs/, audit:docs).
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 32
Write for the reader who has zero context: No commit jargon, no "see the code." Explain the why, show a working example, link to related …
- Distinctive: line 34
Update, don't duplicate: If a doc already covers the area, extend it.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Changelog: every user-visible change gets an entry
The three.ws community follows the public changelog (three.ws/changelog, RSS, JSON, Telegram). Keep it alive:
- New page? Nothing extra: the
addeddate indata/pages.jsonfeeds the changelog automatically. - Everything else users would notice (feature, improvement, fix, SDK release, security work): append an entry to
data/changelog.jsonwith date, community-readable title + summary (plain language, no commit jargon), and tags from: feature, improvement, fix, sdk, infra, docs, security. Optionallinkmust be a live page path. npm run build:pagesregenerates CHANGELOG.md, public/changelog.json, and public/changelog.xml. It also validates your entry and fails the build on a malformed one.- Delivery to the community is automatic.
/api/cron/changelog-push(Cloud Scheduler, every 20 min) reads the feed baked into the running image, diffs it against DB state (app_settings), and posts anything new to two lanes: the community Telegram channel (TELEGRAM_CHANGELOG_CHAT_ID, @three_ws) gets every entry, and a reply thread on @trythreews (pushXLane) gets every entry that passesdata/changelog-x-filter.json. That filter keeps a public, unattended feed free of wallet and payment internals, keys, outages, security work, other coins, and bare fixes; extend it there, with a reason, rather than in code. X was retired on 2026-07-18 and turned back on by the owner on 2026-09-24. The three reviewed feature posts a day are a separate pipeline (docs/x-content-pipeline.md). An entry goes out on its own shortly after the deploy that ships it; there is no manual push step. Credentials live on the Cloud Run service. Do NOT runnpm run changelog:push/changelog:push:xfor routine releases anymore: their file-based state (data/changelog-*-state.json) is separate from the cron's DB state, so a manual push double-posts. The scripts remain for--dry-runpreviews and owner-directed backfills only. - Internal-only chores (CI, lockfiles, refactors with no visible effect) do NOT get entries.
Documentation: every feature ships with its docs
We have strong product-level docs (README, STRUCTURE.md, changelog) but feature-level docs have drifted: half-built features land with no doc explaining what they are or how to use them. That stops now. Documentation is part of the feature, not a follow-up. A feature is not done until someone who didn't build it could find it, understand what it does, and use it from the docs alone.
Match the doc to the kind of work. Do every layer that applies, skip the ones that don't:
- New page or public route → add it to
data/pages.json(path, title, description,addeddate). This feeds the sitemap,llms.txt,features.json, and the changelog automatically. This is the one mandatory step for anything user-reachable. - New SDK, package, worker, service, or top-level directory → a
README.mdin that directory is required: what it does, how to install/use it, its public API/exports, and one runnable example. New package underpackages/*, newworkers/<name>/, new SDK: no exceptions. Coverage underpackages/,workers/, andservices/is 100%, every directory carrying a README, and it has stayed there while all three grew (the counts quoted here previously went stale within weeks, so verify rather than trust a number:for d in packages workers services; do for x in $d/*/; do [ -f "$x/README.md" ] || echo "$x"; done; doneprints nothing when the standard holds). That is a standard to hold, not a stat to admire: the next directory that lands without one breaks it. - New product surface or directory → add a row to
STRUCTURE.mdmapping it to its location and status. Nothing enforces this in CI, so it's on you. If you moved or graduated a surface, update its existing row. - New developer-facing capability (API endpoint, MCP tool, protocol, integration, CLI) → add or update the relevant file in
docs/(docs/api-reference.md,docs/mcp.md,docs/tutorials/*, etc.). Follow the format of the neighboring docs in that folder. A genuinely new subsystem gets its owndocs/<feature>.mdlinked fromdocs/start-here.md. - New load-bearing contract or wire format (manifest schema, on-chain interface, embed protocol, permission model) → write or update the spec in
specs/. Specs are contracts other code depends on, not tutorials. - Always → add the
data/changelog.jsonentry per the Changelog section above. Use thedocstag when the change is documentation.
Rules:
- Public, non-obvious surfaces get a doc. Internal refactors, one-off scripts, and changes with no user- or developer-visible effect do not. Don't manufacture filler docs for them.
- Write for the reader who has zero context. No commit jargon, no "see the code." Explain the why, show a working example, link to related surfaces (
STRUCTURE.md, the page, the spec). - Docs are real implementations too. The no-mocks, no-placeholders, no-stubs rules apply. Every code sample must actually run. Every link must resolve to a live path. A deferred-docs marker in place of real documentation is a failed feature, not a doc.
- Update, don't duplicate. If a doc already covers the area, extend it. Read the neighboring docs before adding a new file so you match their structure and depth.
- If you touched a feature and its existing docs are now wrong, fix them in the same change. Stale docs are worse than none.
- Verify with
npm run audit:docsbefore claiming a docs task done. It mechanically catches dead relative links, site links that match no route, commands naming a script that no longer exists, andpackages/*/workers/*directories missing a README. Renaming, moving, or deleting a file is exactly when it earns its keep. It is not wired into the deploy path, so nothing runs it for you.
In this repository62 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- docs/llms-full.txtllms.txt
- docs/llms.txtllms.txt
- llms-full.txtllms.txt
- llms.txtllms.txt
- public/llms-full.txtllms.txt
- public/llms.txtllms.txt
- anatomySkill
- authenticate-walletSkill
- build-an-agent-skillSkill
- connect-three-ws-mcpSkill
- create-3d-avatarSkill
- create-a-three-ws-agentSkill
- embed-three-ws-avatarSkill
- find-3d-assetsSkill
- fundSkill
- gcp-triageSkill
- generate-3d-modelSkill
- hire-an-agentSkill
- metamask-agent-walletSkill
- metamask-agent-workflowsSkill
- monetize-serviceSkill
- okx-agent-chatSkill
- okx-agentic-walletSkill
- okx-agent-identitySkill
- okx-agent-payments-protocolSkill
- okx-agent-taskSkill
- okx-ai-guideSkill
- okx-ai-supportSkill
- okx-audit-logSkill
- okx-dapp-discoverySkill
- okx-defi-investSkill
- okx-defi-portfolioSkill
- okx-dex-bridgeSkill
- okx-dex-marketSkill
- okx-dex-signalSkill
- okx-dex-socialSkill
- okx-dex-strategySkill
- okx-dex-swapSkill
- okx-dex-tokenSkill
- okx-dex-trenchesSkill
- okx-dex-wsSkill
- okx-growth-competitionSkill
- okx-how-to-playSkill
- okx-onchain-gatewaySkill
- okx-securitySkill
- okx-task-watchSkill
- okx-wallet-portfolioSkill
- pay-for-serviceSkill
- query-onchain-dataSkill
- rig-a-modelSkill
- search-for-serviceSkill
- sell-an-agent-skillSkill
- send-usdcSkill
- tradeSkill
- x402Skill
- deploy-runbookSkill
- engineering-standardsSkill
- maintain-claude-mdSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

