scratchpad
Maintains a library of structured scratchpad notes within your repository for development tasks.
Install
mkdir -p .claude/skills/scratchpad && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18745" && unzip -o skill.zip -d .claude/skills/scratchpad && rm skill.zipInstalls to .claude/skills/scratchpad
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create an auto-numbered working document in .claude-work/scratchpads/: implementation plans, PR descriptions, analysis notes, architecture decisions, issue drafts.Key capabilities
- →Create auto-numbered working documents
- →Draft implementation plans
- →Write PR descriptions
- →Document architecture decisions
- →Draft GitHub issues
- →Embed structured JSON steps in plans
How it works
The skill resolves a target path using a script, ensures .gitignore is updated, and then creates a .txt file with the specified content, enforcing specific line-break rules.
Inputs & outputs
When to use scratchpad
- →Drafting implementation plans
- →Writing PR descriptions
- →Documenting architecture decisions
- →Drafting issue notes
About this skill
Scratchpad
Create or update a working document in .claude-work/.
Input: $ARGUMENTS (a short description for the filename)
Output format rule (read before writing anything)
See /pre-write for the think-before-writing rule: complete all reasoning before writing the first word.
Every paragraph in the scratchpad is ONE continuous line. No line breaks at 72, 80, or any fixed column. Use line breaks only for structural separation: between paragraphs, before/after lists, around code blocks, between sections. This overrides your default instinct to wrap long prose. See /prose-style for the full rationale.
Output Anchors
Length: varies by purpose and context. Format: freeform text with optional fenced JSON step block for implementation plans. Perspective: third-person technical.
Step 1: Resolve the Target Path
Run these two commands as parallel tool calls. They are independent.
~/.claude/skills/issue-context/target-path.sh --type scratchpads --description "$ARGUMENTS"
~/.claude/skills/ensure-gitignore/ensure-gitignore.sh
Use the stdout of the first command as the full absolute file path. The script handles branch detection, issue-ID extraction, directory creation, auto-numbering, and slug normalization in one call. On an issues/<ID> branch the output is an absolute path ending in /.claude-work/issues/<ID>/scratchpads/NNNN-<slug>.txt; otherwise an absolute path ending in /.claude-work/scratchpads/NNNN-<slug>.txt.
File Format
Files use .txt extension (not .md).
The content is freeform. Structure it for the purpose at hand (plan, analysis, PR description, etc.).
Step Tracking
When a scratchpad contains an implementation plan, embed the steps inside a fenced JSON block within the ## Implementation Plan section. The outer scratchpad remains freeform text; only the steps are structured.
JSON Schema
{
"finish_issue_on_complete": false,
"steps": [
{
"id": "S001",
"title": "Add parser module",
"status": "pending",
"done_when": "Parser exported and passing unit tests",
"depends_on": [],
"files": ["src/parser.ts", "src/index.ts"],
"tasks": [
"Create parseInput() function in src/parser.ts",
"Export from src/index.ts barrel file",
"Add unit tests in src/__tests__/parser.test.ts"
]
},
{
"id": "S002",
"title": "Wire parser into request handler",
"status": "pending",
"depends_on": ["S001"],
"files": ["src/server.ts"],
"tasks": [
"Import parseInput from src/parser.ts",
"Call parseInput() in handleRequest()"
]
}
]
}
Field Reference
Top-level fields (siblings of steps):
finish_issue_on_complete: Boolean, defaultfalse(omit to default). Whentrue,/tackle-scratchpad-blockinvokes/finish-issueautomatically after all steps reach"done". Only/start-issueand/start-side-questset this totrue. They mark the scratchpad as the primary issue deliverable. Every other skill that creates scratchpads (ad-hoc/scratchpad,/tackle-pr-comment, CI fix scratchpads) omits it.
Step-level fields (inside each steps entry):
id:S001,S002, etc. Zero-padded 3-digit IDs mirroring the/questionskill'sQ001/A001pattern. UseS001as the short form in cross-references.title: Short description of the step.status:pending|in_progress|done|blocked. Planning skills always write"pending". Only/tackle-scratchpad-blocktransitions status during execution.done_when: Concrete completion criteria. Recommended for implementation plans. Omit only for steps where completion is self-evident (e.g., "Delete file X"). A concrete criterion here helps/tackle-scratchpad-blockconfirm the step is truly done.depends_on: Array of step IDs that must be"done"first. Empty array means no dependencies.files: Array of file paths this step touches.tasks: Array of concrete action items within the step.addresses: (tackle-pr-comment only) Array of feedback item letters, e.g.["A", "C"].
After writing: self-check for hard-wrapping
Before reporting the absolute filepath back to the user, re-read the scratchpad you just wrote. For each paragraph in the body (text between blank lines, outside code blocks, tables, and lists), verify it is a single continuous line. If you find a mid-sentence line break, rewrite that paragraph as one line. Always complete this check. Wrapped prose is the most common failure mode for skill-generated files.
Also skim for AI-writing tells: em dashes, filler phrases (in order to, due to the fact that), vague attributions, generic positive conclusions. Rewrite any you find.
Formatting
See /prose-style for code-reference and GitHub-reference rules. The hard-wrap rule is covered above.
Questions Trigger
If design questions arise while creating or updating a scratchpad:
- FIRST use
/questionto create a questions file and gather user answers - Wait for user to fill in answers
- Then create/update the scratchpad with resolved decisions inlined
The questions workflow lets the user edit answers in-file; the scratchpad captures the resolved state.
When to Use
- PR descriptions being drafted
- Implementation plans and analysis
- Architecture decision exploration
- GitHub issue drafts
- Any temporary working document
When NOT to Use
- Questions needing user answers → use
/question - Commit messages → use
/commit-msg - Permanent documentation →
docs/or package READMEs
When not to use it
- →When questions needing user answers arise
- →For commit messages
- →For permanent documentation
Limitations
- →Every paragraph in the scratchpad is ONE continuous line
- →Files use .txt extension (not .md)
How it compares
This skill automates the creation and structuring of temporary working documents, ensuring consistent naming, location, and formatting, including embedded JSON for implementation steps.
Compared to similar skills
scratchpad side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| scratchpad (this skill) | 0 | 15d | Review | Beginner |
| obsidian-bases | 11 | 3mo | Review | Intermediate |
| video-transcript-downloader | 4 | 2mo | Review | Intermediate |
| obsidian-clipper-template-creator | 3 | 6mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
obsidian-bases
kepano
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.
video-transcript-downloader
steipete
Download videos, audio, subtitles, and clean paragraph-style transcripts from YouTube and any other yt-dlp supported site. Use when asked to “download this video”, “save this clip”, “rip audio”, “get subtitles”, “get transcript”, or to troubleshoot yt-dlp/ffmpeg and formats/playlists.
obsidian-clipper-template-creator
davila7
Guide for creating templates for the Obsidian Web Clipper. Use when you want to create a new clipping template, understand available variables, or format clipped content.
obsidian-vault-ops
ballred
Read and write Obsidian vault files, manage wiki-links, process markdown with YAML frontmatter. Use when working with vault file operations, creating notes, or managing links.
baoyu-danger-x-to-markdown
JimLiu
Converts X (Twitter) tweets and articles to markdown with YAML front matter. Uses reverse-engineered API requiring user consent. Use when user mentions "X to markdown", "tweet to markdown", "save tweet", or provides x.com/twitter.com URLs for conversion.
log-work
pchalasani
Log the work segment that you did after the last work log until now in a