Intent Layer
crafter-station/skills
Set up hierarchical Intent Layer (AGENTS.md files) for codebases.
A skill your agent uses when the user wants to create, draft, or scaffold a CLAUDE.md (or AGENTS.md) file for their project.
$ npx skills add ragnar-pwninskjold/tech-snacks --skill scaffold-claude -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ragnar-pwninskjold/tech-snacks scaffold-claude --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ragnar-pwninskjold/tech-snacks.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/tech-snacks/skills/scaffold-claude .claude/skills/scaffold-claude && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "scaffold-claude" agent skill from https://github.com/ragnar-pwninskjold/tech-snacks/tree/main/plugins/tech-snacks/skills/scaffold-claude into .claude/skills/scaffold-claude/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scaffold-claude", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ragnar-pwninskjold/tech-snacks/tree/main/plugins/tech-snacks/skills/scaffold-claudeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ragnar-pwninskjold/tech-snacks --skill scaffold-claude -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ragnar-pwninskjold/tech-snacks scaffold-claude --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ragnar-pwninskjold/tech-snacks.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/tech-snacks/skills/scaffold-claude .agents/skills/scaffold-claude && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scaffold-claude" agent skill from https://github.com/ragnar-pwninskjold/tech-snacks/tree/main/plugins/tech-snacks/skills/scaffold-claude into .agents/skills/scaffold-claude/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scaffold-claude", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ragnar-pwninskjold/tech-snacks --skill scaffold-claude -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ragnar-pwninskjold/tech-snacks scaffold-claude --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ragnar-pwninskjold/tech-snacks.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/tech-snacks/skills/scaffold-claude .cursor/skills/scaffold-claude && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "scaffold-claude" agent skill from https://github.com/ragnar-pwninskjold/tech-snacks/tree/main/plugins/tech-snacks/skills/scaffold-claude into .cursor/skills/scaffold-claude/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scaffold-claude", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ragnar-pwninskjold/tech-snacks.git --path plugins/tech-snacks/skills/scaffold-claude--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ragnar-pwninskjold/tech-snacks --skill scaffold-claude -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ragnar-pwninskjold/tech-snacks scaffold-claude --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ragnar-pwninskjold/tech-snacks.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/tech-snacks/skills/scaffold-claude .gemini/skills/scaffold-claude && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "scaffold-claude" agent skill from https://github.com/ragnar-pwninskjold/tech-snacks/tree/main/plugins/tech-snacks/skills/scaffold-claude into .gemini/skills/scaffold-claude/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scaffold-claude", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ragnar-pwninskjold/tech-snacks scaffold-claudeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ragnar-pwninskjold/tech-snacks --skill scaffold-claude -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ragnar-pwninskjold/tech-snacks.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/tech-snacks/skills/scaffold-claude .github/skills/scaffold-claude && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "scaffold-claude" agent skill from https://github.com/ragnar-pwninskjold/tech-snacks/tree/main/plugins/tech-snacks/skills/scaffold-claude into .github/skills/scaffold-claude/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scaffold-claude", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ragnar-pwninskjold/tech-snacks --skill scaffold-claude -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ragnar-pwninskjold/tech-snacks scaffold-claude --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ragnar-pwninskjold/tech-snacks.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/tech-snacks/skills/scaffold-claude .opencode/skills/scaffold-claude && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "scaffold-claude" agent skill from https://github.com/ragnar-pwninskjold/tech-snacks/tree/main/plugins/tech-snacks/skills/scaffold-claude into .opencode/skills/scaffold-claude/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scaffold-claude", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
scaffold-claudeA skill your agent uses when the user wants to create, draft, or scaffold a CLAUDE.md (or AGENTS.md) file for their project.
Scaffold Claude is an agent skill from ragnar-pwninskjold/tech-snacks. Use when the user wants to create, draft, or scaffold a CLAUDE.md (or AGENTS.md) file for their project. Triggers on "scaffold CLAUDE.md", "write a CLAUDE.md", "set up CLAUDE.md", "/scaffold-claude", or any request to bootstrap project-level Claude/agent instructions. Produces a scratchpad draft that captures edge cases and tribal knowledge — not derivable facts.
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/interview-questions.md`, `references/postlane-example.md` and `templates/claude-md-stub.md`).
It sits in Agent Workflows, covering Agent instruction files and Project scaffolding. The repository describes itself as: A skill library for vibe coders that make cool stuff. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2d9a73b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Scaffold Claude loads about 1.7k tokens when it runs, and up to ~6.1k if it reads all its reference files. Until then it costs about 95 tokens; SKILL.md has 935 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ragnar-pwninskjold/tech-snacks at commit 2d9a73b, republished under its MIT licence (© ragnar-pwninskjold). 935 words, ~1,707 tokens.
.claude/skills/scaffold-claude/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Scaffold a CLAUDE.md for the user's project. Output is written to a scratchpad so the user can review and move it to the repo root themselves.
The file you produce documents edge cases, non-obvious choices, and tribal knowledge — things Claude can't read off package.json, the directory tree, or the README. If a fact is derivable, it does not belong in the file.
Never write a section based on inference. Always ask, and stub when the answer is "skip" or "I don't know."
A stubbed section (a <!-- TODO: ... --> comment) is strictly better than a section filled with plausible-sounding guesses. Guesses encode false confidence that future Claude will trust.
/scaffold-claude or asks to "scaffold/write/create CLAUDE.md"intent-layer-capture skill insteadWrite to: docs/scratchpad/CLAUDE.md (relative to the user's current working directory)
docs/scratchpad/ doesn't exist, create it.Read these if they exist, only to identify what to ask about — not to fill in:
package.json, Gemfile, pyproject.toml, go.mod, Cargo.toml (any one that's present)README.md (skim, do not summarize into the CLAUDE.md)CLAUDE.md, AGENTS.md, .cursorrules, .github/copilot-instructions.md — if any exist, mention them and ask whether to merge or start freshState what you found in one or two sentences. Example: "Saw a Next.js + Drizzle setup with a lib/ directory and no existing CLAUDE.md. I won't assume anything about your conventions — I'll ask."
Walk through the 8 sections one at a time, in order, using the scripts in references/interview-questions.md:
For each section:
Do not batch all questions into one big message. The user's attention is the bottleneck; one section per turn.
Use templates/claude-md-stub.md as the base. Fill in confirmed content. Leave every skipped section as the original <!-- TODO: ... --> stub from the template — do not delete the stubs, they help future-you know what was deliberately left blank.
Write to docs/scratchpad/CLAUDE.md after confirming the path.
Tell the user:
CLAUDE.md at the root of any project."No marketing flourishes. No "Now your project is well-documented!" Just the facts.
references/postlane-example.md contains a complete, real-world CLAUDE.md.
Use it to calibrate:
Do NOT use it to:
When showing the example to the user, frame it as: "This is what a fully-filled-in version looks like. Yours will be shorter — most projects don't have this much tribal knowledge to document yet, and that's correct."
| Rationalization | Reality |
|---|---|
| "Their package.json clearly shows Next.js — I'll just write that." | If Next.js choice has no story, it doesn't belong in Stack. Ask first. |
| "Most projects use Prettier, I'll add a convention for it." | Most projects ≠ this project. Ask. |
| "They didn't answer for Hard Constraints, but every project has some — let me suggest a few." | An empty stub is correct. Invented constraints are worse than no constraints. |
| "The Gotchas section feels empty, let me add some 'common Next.js gotchas.'" | Gotchas are bug-fix archaeology specific to this project. Generic gotchas are noise. |
| "I'll write 'good code quality' under Conventions as a placeholder." | Vague conventions are worse than no conventions. Stub it. |
| "They said skip but I can tell from the repo that X is true." | Skip means skip. The user knows their project; if they skipped, it's because there's nothing non-obvious to say. |
| "The example has 8 filled sections, theirs should too." | The example is for a mature, scarred-by-production codebase. A new project might fill 2 sections. That's correct. |
If you find yourself:
Stop. You've drifted into assumption. Re-ask the user; if they say skip, stub it.
references/postlane-example.md — the one-shot, with framing for what to copy (structure, voice) vs. not copy (specifics)references/interview-questions.md — section-by-section question scriptstemplates/claude-md-stub.md — the empty template with TODO comments for each section© ragnar-pwninskjold, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in plugins/tech-snacks/skills/scaffold-claude of ragnar-pwninskjold/tech-snacks.
Open the folder on GitHubat commit 2d9a73b
Scaffold Claude next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Scaffold Claude this skillragnar-pwninskjold/tech-snacks | 137 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Intent Layercrafter-station/skills | 112 | 1 repos | ~633 | Automated safety check: Pass | MIT | |
| AI Bomcdxgen/cdxgen | 1.1k | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| AI Context Workspace Initkvker/ai-context-workspace | 101 | — | ~948 | Automated safety check: Pass | MIT | |
| Add Remote Endpointnextcloud/android-library | 106 | — | ~1.1k | Automated safety check: Pass | Custom licence | |
| AGENTS.md Scaffoldmajiayu000/spellbook | 287 | — | ~1.5k | Automated safety check: Pass | MIT |
crafter-station/skills
Set up hierarchical Intent Layer (AGENTS.md files) for codebases.
cdxgen/cdxgen
Generates AI-BOM, MCP inventory, AI skill inventory, and AI authorship provenance documents with cdxgen, cataloging models, inference services, Hugging Face purls, MCP servers and their…
kvker/ai-context-workspace
Turns existing work units or an empty directory into an AI Context Workspace by scanning materials, generating background and conventions, and installing runtime skills.
nextcloud/android-library
A skill your agent uses when adding a new remote/network endpoint (a RemoteOperation / OCSRemoteOperation) to this Nextcloud Android library, or when the user says "add an endpoint", "new remote…
majiayu000/spellbook
Scans a repository for real evidence and proposes, or on request writes, a small stack of root and scoped AGENTS.md files with validation commands and generated-file boundaries.
k1ein-chen/Harness-Starter
Initialize this project with the Harness Engineering starter template.
ragnar-pwninskjold/tech-snacks
A skill your agent uses when translating a PRD, feature spec, or raw product idea into screen-level prompts for web UX generators (Google Stitch, Figma AI, Pencil.dev, Claude Design, v0, or similar).
ragnar-pwninskjold/tech-snacks
A skill your agent uses when user provides a URL and wants to replicate or clone a website's UI, design, or visual style for their own product.
ragnar-pwninskjold/tech-snacks
Mine recent Claude Code sessions for non-obvious, multi-file CLAUDE.md candidates, adversarially verify them, and propose paste-ready additions.
ragnar-pwninskjold/tech-snacks
Review React/Next.js code against the real vercel-react-best-practices skill, backlog the performance findings keyed to actual rule ids + impact tiers, rank the most over-subscribed tiers, then fix…
ragnar-pwninskjold/tech-snacks
A skill your agent uses when the user wants a terse, opinionated, research-backed answer to a "what tech/tools/stack do I need for X" question, or asks how to approach building something.
ragnar-pwninskjold/tech-snacks
A skill your agent uses when the user hands you a vague or half-formed feature ask and wants it turned into a lightweight PRD, or asks to "write a PRD", "spec this feature", "flesh this out", or…
Categories
A skill your agent uses when the user wants to create, draft, or scaffold a CLAUDE.md (or AGENTS.md) file for their project. Scaffold Claude is an agent skill from ragnar-pwninskjold/tech-snacks.md) file for their project.
Scaffold Claude fits situations like: the user wants to create; scaffold a CLAUDE.md (or AGENTS.md) file for their project; scaffold CLAUDE.md; write a CLAUDE.md.
Run `npx skills add ragnar-pwninskjold/tech-snacks --skill scaffold-claude -a claude-code`. Or copy the skill folder (plugins/tech-snacks/skills/scaffold-claude in ragnar-pwninskjold/tech-snacks) into .claude/skills/scaffold-claude in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ragnar-pwninskjold/tech-snacks --skill scaffold-claude -a codex`. Or copy the skill folder (plugins/tech-snacks/skills/scaffold-claude in ragnar-pwninskjold/tech-snacks) into .agents/skills/scaffold-claude in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ragnar-pwninskjold/tech-snacks --skill scaffold-claude -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scaffold-claude, .gemini/skills/scaffold-claude, .github/skills/scaffold-claude and .opencode/skills/scaffold-claude in your project.
SKILL.md names no scripts, command-line tools or credentials: Scaffold Claude is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Scaffold Claude is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Scaffold Claude: Intent Layer (crafter-station/skills, 112 stars), AI Bom (cdxgen/cdxgen, 1.1k stars), AI Context Workspace Init (kvker/ai-context-workspace, 101 stars) and Add Remote Endpoint (nextcloud/android-library, 106 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ragnar-pwninskjold (a GitHub user) maintains it in ragnar-pwninskjold/tech-snacks, which has 137 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on August 18, 2026.
Source: ragnar-pwninskjold/tech-snacks on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.