Context Engineering
abashev/vfs-s3
Optimizes agent context setup. An agent skill from abashev/vfs-s3.
Creates, updates or audits CLAUDE.md files so they onboard an agent into a codebase with a short, universal set of facts rather than long style rules.
$ npx skills add luongnv89/claude-howto --skill claude-md -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install luongnv89/claude-howto claude-md --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/luongnv89/claude-howto.git skills-src && mkdir -p .claude/skills && cp -r skills-src/03-skills/claude-md .claude/skills/claude-md && 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 "claude-md" agent skill from https://github.com/luongnv89/claude-howto/tree/main/03-skills/claude-md into .claude/skills/claude-md/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "claude-md", 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/luongnv89/claude-howto/tree/main/03-skills/claude-mdType 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 luongnv89/claude-howto --skill claude-md -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install luongnv89/claude-howto claude-md --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/claude-howto.git skills-src && mkdir -p .agents/skills && cp -r skills-src/03-skills/claude-md .agents/skills/claude-md && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "claude-md" agent skill from https://github.com/luongnv89/claude-howto/tree/main/03-skills/claude-md into .agents/skills/claude-md/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "claude-md", 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 luongnv89/claude-howto --skill claude-md -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install luongnv89/claude-howto claude-md --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/claude-howto.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/03-skills/claude-md .cursor/skills/claude-md && 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 "claude-md" agent skill from https://github.com/luongnv89/claude-howto/tree/main/03-skills/claude-md into .cursor/skills/claude-md/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "claude-md", 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/luongnv89/claude-howto.git --path 03-skills/claude-md--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 luongnv89/claude-howto --skill claude-md -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install luongnv89/claude-howto claude-md --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/claude-howto.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/03-skills/claude-md .gemini/skills/claude-md && 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 "claude-md" agent skill from https://github.com/luongnv89/claude-howto/tree/main/03-skills/claude-md into .gemini/skills/claude-md/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "claude-md", 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 luongnv89/claude-howto claude-mdInstalls 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 luongnv89/claude-howto --skill claude-md -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/luongnv89/claude-howto.git skills-src && mkdir -p .github/skills && cp -r skills-src/03-skills/claude-md .github/skills/claude-md && 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 "claude-md" agent skill from https://github.com/luongnv89/claude-howto/tree/main/03-skills/claude-md into .github/skills/claude-md/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "claude-md", 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 luongnv89/claude-howto --skill claude-md -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install luongnv89/claude-howto claude-md --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/claude-howto.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/03-skills/claude-md .opencode/skills/claude-md && 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 "claude-md" agent skill from https://github.com/luongnv89/claude-howto/tree/main/03-skills/claude-md into .opencode/skills/claude-md/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "claude-md", 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.
claude-mdCreates, updates or audits CLAUDE.md files so they onboard an agent into a codebase with a short, universal set of facts rather than long style rules.
You tell it to create, update or audit, or give a path such as src/api/CLAUDE.md for a directory-level file. It rests on four rules: a model follows only a limited number of instructions (about 150 to 200, with roughly 50 already used by the Claude Code system prompt), so the file stays short; only what applies to every session goes in; style enforcement is left to tools like prettier and eslint; and the file is written by hand instead of generated.
Execution starts with project analysis: existing CLAUDE.md files at root, directory and user level, the technology stack, project type and tooling, and README, CONTRIBUTING and manifest files. Content is organized as what, why and how, covering stack and structure, purpose and architectural reasoning, and workflow, test commands and gotchas. For larger projects it suggests an agent_docs folder for progressive disclosure.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 556af8d. 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 (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
code.claude.comFrom 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.
CLAUDE.md Writer loads about 1.9k tokens when it runs. Until then it costs about 25 tokens; SKILL.md has 841 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 luongnv89/claude-howto at commit 556af8d, republished under its MIT licence (© luongnv89). 841 words, ~1,925 tokens.
.claude/skills/claude-md/SKILL.md (or your agent's skills folder).$ARGUMENTSYou MUST consider the user input before proceeding (if not empty). User may specify:
create - Create new CLAUDE.md from scratchupdate - Improve existing CLAUDE.mdaudit - Analyze and report on current CLAUDE.md qualitysrc/api/CLAUDE.md for directory-specific instructions)LLMs are stateless: CLAUDE.md is the only file automatically included in every conversation. It serves as the primary onboarding document for AI agents into your codebase.
Less is More: Frontier LLMs can follow ~150-200 instructions. Claude Code's system prompt already uses ~50. Keep your CLAUDE.md focused and concise.
Universal Applicability: Only include information relevant to EVERY session. Task-specific instructions belong in separate files.
Don't Use Claude as a Linter: Style guidelines bloat context and degrade instruction-following. Use deterministic tools (prettier, eslint, etc.) instead.
Never Auto-Generate: CLAUDE.md is the highest leverage point of the AI harness. Craft it manually with careful consideration.
First, analyze the current project state:
Check for existing CLAUDE.md files:
./CLAUDE.md or .claude/CLAUDE.md**/CLAUDE.md~/.claude/CLAUDE.mdIdentify the project structure:
Review existing documentation:
Structure CLAUDE.md around three dimensions:
For larger projects, recommend creating an agent_docs/ folder:
agent_docs/
|- building_the_project.md
|- running_tests.md
|- code_conventions.md
|- architecture_decisions.mdIn CLAUDE.md, reference these files with instructions like:
For detailed build instructions, refer to `agent_docs/building_the_project.md`Important: Use file:line references instead of code snippets to avoid outdated context.
When creating or updating CLAUDE.md:
A well-structured CLAUDE.md should include:
# Project Name
Brief one-line description.
## Tech Stack
- Primary language and version
- Key frameworks/libraries
- Database/storage (if any)
## Project Structure
[Only for monorepos or complex structures]
- `apps/` - Application entry points
- `packages/` - Shared libraries
## Development Commands
- Install: `command`
- Test: `command`
- Build: `command`
## Critical Conventions
[Only non-obvious, high-impact conventions]
- Convention 1 with brief explanation
- Convention 2 with brief explanation
## Known Issues / Gotchas
[Things that consistently trip up developers]
- Issue 1
- Issue 2DO NOT include:
Before finalizing, verify:
create or default:update:audit:If the user requests AGENTS.md creation/update:
Since v2.1.277, Claude Code reads AGENTS.md directly as project instructions — but only when the working directory and every directory above it contain no CLAUDE.md, .claude/CLAUDE.md, or CLAUDE.local.md. ~/.claude/CLAUDE.md, managed CLAUDE.md, and .claude/rules/ do not count for that check and keep loading alongside. Which files are read is controlled by Project instructions in /config: claude-md-or-agents-md (default), claude-md-and-agents-md, claude-md, or managed-only. Where direct reading is unavailable — versions before v2.1.277 (before v2.1.281 on Bedrock/Vertex/Foundry, LLM gateways, or with telemetry disabled), or the first session after upgrading — fall back to importing it from CLAUDE.md with @AGENTS.md, or symlinking CLAUDE.md to it.
AGENTS.md is a cross-tool project-context file — the same category of document as CLAUDE.md, not an agent-definition format. It exists so several coding agents can share one set of project conventions:
Subagents are defined separately, in .claude/agents/*.md — not in AGENTS.md.
Apply similar principles:
Last Updated: September 26, 2026 Claude Code Version: 2.1.283 Sources:
© luongnv89, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in 03-skills/claude-md of luongnv89/claude-howto.
Open the folder on GitHubat commit 556af8d
CLAUDE.md Writer 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 |
|---|---|---|---|---|---|---|
| CLAUDE.md Writer this skillluongnv89/claude-howto | 42k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Context Engineeringabashev/vfs-s3 | 106 | 9 repos | ~2.6k | Automated safety check: Notes | Apache-2.0 | |
| Harness Engineering10xChengTu/harness-engineering | 102 | 1 repos | ~1k | Automated safety check: Pass | None | |
| Cc Dev Agentsangrokjung/claude-forge | 852 | — | ~771 | Automated safety check: Pass | MIT | |
| Caveman Learn Token FixesJuliusBrussee/caveman | 111k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Context Routing Auditwithkynam/vibecode-pro-max-kit | 1.1k | — | ~1.2k | Automated safety check: Pass | MIT |
abashev/vfs-s3
Optimizes agent context setup. An agent skill from abashev/vfs-s3.
10xChengTu/harness-engineering
Set up and improve harness engineering (AGENTS.md, docs/, lint rules, eval systems, project-level prompt engineering) for AI-agent-friendly codebases.
sangrokjung/claude-forge
A skill your agent uses when starting Claude Code projects, writing CLAUDE.md/spec.md, dispatching subagents, or requesting Agent Teams parallel development.
JuliusBrussee/caveman
Acts on a Caveman learn report: reviews ranked token sinks, applies cost-lowering edits one at a time with your consent, and reports what each fix returned.
withkynam/vibecode-pro-max-kit
Audits a project's context routing, skill discoverability and skill wiring by running a chain of validator scripts and fixing whatever they report.
poshan0126/dotclaude
Estimates the per-turn token cost of a project's .claude folder and CLAUDE.md, split into always-loaded, path-scoped and invoked-only files, and flags what runs over budget.
luongnv89/claude-howto
Guides refactoring in phases based on Martin Fowler's method: research, test coverage check, planning and small tested steps, with your approval at each phase.
luongnv89/claude-howto
Guides systematic, test-backed refactoring in the style of Martin Fowler, moving through research, planning and small incremental changes with your approval at each phase.
luongnv89/claude-howto
Guides drafting a blog post from an idea and optional source material: research, brainstorming, outlining and version-tracked drafts, with user approval at each step.
luongnv89/claude-howto
Ensure all communication matches brand voice and tone guidelines. Use when creating marketing copy, customer communications, public-facing content, or when…
luongnv89/claude-howto
Reviews code for security, performance, quality and maintainability, using a checklist, a finding template and two metrics scripts.
luongnv89/claude-howto
Runs a quick or deep quiz on Claude Code skills, scores ten feature areas and generates a personalized learning path with prioritized next steps.
Categories
Creates, updates or audits CLAUDE.md files so they onboard an agent into a codebase with a short, universal set of facts rather than long style rules. md for a directory-level file. It rests on four rules: a model follows only a limited number of instructions (about 150 to 200, with roughly 50 already used by the Claude Code system prompt), so the file stays short; only what applies to every session goes in; style enforcement is left to tools like prettier and eslint; and the file is written by hand instead of generated.
CLAUDE.md Writer fits situations like: starting a CLAUDE.md for a repository that has none; trimming a CLAUDE.md that has grown bloated or full of style rules; auditing an existing CLAUDE.md and getting a quality report; adding directory-specific instructions in a monorepo package.
Run `npx skills add luongnv89/claude-howto --skill claude-md -a claude-code`. Or copy the skill folder (03-skills/claude-md in luongnv89/claude-howto) into .claude/skills/claude-md in your project. Claude Code loads it when a task matches its description.
Run `npx skills add luongnv89/claude-howto --skill claude-md -a codex`. Or copy the skill folder (03-skills/claude-md in luongnv89/claude-howto) into .agents/skills/claude-md 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 luongnv89/claude-howto --skill claude-md -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/claude-md, .gemini/skills/claude-md, .github/skills/claude-md and .opencode/skills/claude-md in your project.
SKILL.md names no scripts, command-line tools or credentials: CLAUDE.md Writer is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: code.claude.com. 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.
CLAUDE.md Writer 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.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with CLAUDE.md Writer: Context Engineering (abashev/vfs-s3, 106 stars), Harness Engineering (10xChengTu/harness-engineering, 102 stars), Cc Dev Agent (sangrokjung/claude-forge, 852 stars) and Caveman Learn Token Fixes (JuliusBrussee/caveman, 111k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
luongnv89 (a GitHub user) maintains it in luongnv89/claude-howto, which has 41,779 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on September 30, 2026.
Source: luongnv89/claude-howto on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.