ai_misc/skills/future-proof-docs/SKILL.md
This skill should be used during all code development work to maintain future-proof documentation practices. It ensures code comments explain "why" not "what," maintains a DECISIONS.md log of architectural and design decisions, keeps a SCRATCHPAD.md session journal for context continuity, and treats the README as an operational runbook. This skill activates proactively during normal coding, not only when documentation is explicitly requested.
npx skillsauth add madbomber/experiments future-proof-docsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Prevent "Context Bankruptcy" — the state where returning to code after weeks or months means zero memory of why decisions were made. This skill integrates four documentation practices into the standard development workflow, treating documentation as self-care rather than a chore.
When writing or reviewing code comments, enforce this principle:
# Increment counter above counter += 1 is noise.Bad:
# Set timeout to 5000ms
timeout = 5000
Good:
# Stripe webhook occasionally hangs ~4s during their nightly maintenance window (midnight-1am UTC).
# 5s timeout prevents job queue backup while still tolerating the slow responses.
timeout = 5000
When encountering existing "what" comments during code work, improve them to "why" comments or remove them if the code is self-evident.
Maintain a DECISIONS.md file at the project root. Log entries when:
To create or update DECISIONS.md, use the template in references/DECISIONS_TEMPLATE.md.
Proactive behavior: After making or implementing a significant design decision during coding work, prompt to record it in DECISIONS.md. A decision is "significant" if future-you might look at the code and wonder "why did I do it this way?"
Maintain a SCRATCHPAD.md file at the project root. Update it:
To create or update SCRATCHPAD.md, use the template in references/SCRATCHPAD_TEMPLATE.md.
Proactive behavior: When a session involves substantial work (multiple files touched, decisions made, problems debugged), suggest updating SCRATCHPAD.md before wrapping up. The goal is to eliminate the "ramp-up tax" of the next session.
Treat the README as an operational runbook, not a project description. It should answer: "What do I type to make this work?"
When creating or significantly updating a README, follow the structure in references/README_RUNBOOK_TEMPLATE.md. Prioritize:
Link to DECISIONS.md for architectural reasoning rather than duplicating it in the README.
These practices are part of the standard development process, not separate documentation tasks.
Templates for the three documentation files:
references/DECISIONS_TEMPLATE.md — Structure and example for the decision logreferences/SCRATCHPAD_TEMPLATE.md — Structure and example for the session journalreferences/README_RUNBOOK_TEMPLATE.md — Structure and guidance for the operational READMEdata-ai
Postgres performance optimization and best practices from Supabase. Use this skill when writing, reviewing, or optimizing Postgres queries, schema designs, or database configurations.
development
Apply SOLID principles when writing, reviewing, or refactoring Ruby code. This skill should be used when designing classes, evaluating architecture, reviewing pull requests, or refactoring existing code. It provides actionable checklists, violation detection patterns, and Ruby-idiomatic refactoring strategies for each of the five SOLID principles.
tools
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
development
Analyze Ruby and Rails code quality with RubyCritic. Identifies code smells, complexity issues, and refactoring opportunities. Provides detailed metrics, scores files A-F, compares branches, and prioritizes high-churn problem areas. Use when analyzing Ruby code quality, reviewing PRs, or identifying technical debt.