
Claude Skill
- 128 installs
- 230 repo stars
- Updated July 27, 2026
- feiskyer/codex-settings
Scaffold, document, and wire new Claude Code skills with correct structure, triggers, and references so custom agent capabilities are reliable and discoverable in shared settings repos.
About
Claude-skill from feiskyer/codex-settings helps authors produce well-formed Claude Code skills: naming, trigger phrases, progressive disclosure, and file layout. It standardizes how custom agent procedures are added to settings repos so teammates can install and invoke them predictably.
- Creates SKILL.md with triggers and usage boundaries
- Bundles references and helper scripts consistently
- Aligns skill layout with Claude Code conventions
- Documents when to invoke versus avoid the skill
- Accelerates team-shared agent capability libraries
Claude Skill by the numbers
- 128 all-time installs (skills.sh)
- Ranked #228 of 782 Skill Development skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/feiskyer/codex-settings --skill claude-skillAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 128 |
|---|---|
| repo stars | ★ 230 |
| Last updated | July 27, 2026 |
| Repository | feiskyer/codex-settings ↗ |
What it does
Scaffold, document, and wire new Claude Code skills with correct structure, triggers, and references so custom agent capabilities are reliable and discoverable in shared settings repos.
Files
Claude Code Headless Mode
Use this skill when the job should be executed through Claude Code itself, not solved inline. Focus on commands and workflows that match current stable Claude Code behavior.
Core Rules
- Treat
claude --helpon the target machine as the compatibility floor. CLI flags move faster than blog posts and copied examples. - Permission rule syntax varies by build. Anthropic docs often show forms like
Bash(git diff *), while the installedclaude 2.1.71help on this machine still showsBash(git:*). Mirror the syntax shown by the target machine'sclaude --help. - Default to the model the user already configured through
/model, settings, orANTHROPIC_MODEL. - Do not add
--modelunless the user explicitly asked for a model override or the workflow must pin a model for reproducibility. - Prefer
--append-system-promptover--system-promptunless replacing the default Claude Code behavior is intentional. - Default to safe automation. If the user wants a truly unattended run, use explicit permission rules or
dontAsk; reservebypassPermissionsfor isolated environments.
Quick Verification
Run these checks before giving advanced advice:
claude --version
claude auth status --text
claude --helpIf installation or updates look odd, use:
claude doctorInstallation Guidance
- Anthropic's getting-started docs still show
npm install -g @anthropic-ai/claude-codeas the standard install path. - Newer builds may also support native installer flows and
claude install. - If the user needs installation help, point them to the official Claude Code setup docs and verify the result with
claude doctorrather than assuming one installer path is universal.
Headless Command Patterns
Basic Non-Interactive Run
Use -p / --print for non-interactive execution:
claude -p "summarize the repository architecture"Add --output-format json when the caller needs machine-readable output:
claude -p "review the auth layer for risks" --output-format jsonModel Selection
- Omit
--modelby default. - If the user explicitly wants a model override, use
claude --model <alias-or-name> .... - For persistent defaults, prefer settings (
model) orANTHROPIC_MODEL. - For third-party deployments, pin models via settings or environment variables instead of bolting
--modelonto every command example.
Permission Modes
Claude Code supports these permission modes:
| Mode | Use |
|---|---|
default | Interactive exploration. Prompts on first use of write/bash-style tools. |
acceptEdits | Recommended starting point for coding automation. Auto-accepts edits, but command execution can still prompt. |
plan | Analysis only. No file changes or command execution. |
dontAsk | Auto-denies anything not already approved by permission rules. Good for unattended-but-constrained runs. |
bypassPermissions | Skips prompts entirely. Only for strong sandbox / container / VM isolation. |
Important clarifications:
acceptEditsis the skill's recommended default, not the CLI default.- If the user says "no prompts at all," prefer permission rules or
dontAskwith explicit allow rules. - Only recommend
bypassPermissionswhen the environment is already isolated and the user accepts the risk. - For read-only analysis, prefer
--toolsplusdefaultorplan; do not reach forbypassPermissionsjust to suppress prompts.
Tool Availability vs Permission Approval
Do not mix these up:
--toolsrestricts which built-in tools are available at all.--allowedToolspre-approves specific tools or tool rules so Claude does not prompt for them.--disallowedToolsremoves tools or rules from context.
Permission rules follow Tool or Tool(specifier) syntax.
Use wildcard rules when the command will include arguments:
- Good:
Bash(git diff *) - Good:
Bash(npm run test *) - Risky for real use:
Bash(find)because it matches only the exact literal commandfind
If the local CLI help shows colon syntax such as Bash(find:*), use that form on that machine. The important part is to allow an argument-aware rule rather than an exact literal command.
If the user wants Claude limited to a narrow tool family, you should usually use both --tools and --allowedTools: --tools defines the hard boundary, --allowedTools removes prompts inside that boundary.
Output Formats
text: default human-readable outputjson: one final structured resultstream-json: event stream for long-running automation
Do not promise a fixed JSON schema unless you have validated it on the target version. Prefer wording like "returns a final result object with response text, timing, and session metadata."
Commonly Safe Flags
These are appropriate starting points on current stable builds:
--append-system-prompt--allowedTools--disallowedTools--tools--permission-mode--output-format--mcp-config--continue/--resume--settings/--setting-sources--session-id--add-dir--max-budget-usd--fallback-modelfor print mode
Version-Sensitive Flags
Published docs sometimes mention flags that are absent from the installed binary on a given machine. Before emitting less-common flags, verify them with claude --help.
Recommended Command Templates
Read-Only Analysis
claude -p "count the total lines of code in this repo, grouped by language" \
--permission-mode default \
--tools "Bash,Read" \
--allowedTools "Read" "Bash(find:*)" "Bash(wc:*)"Safe Edit Run
claude -p "fix the failing login test and rerun the relevant test command" \
--permission-mode acceptEdits \
--tools "Bash,Read,Edit,Write" \
--allowedTools "Read" "Edit" "Write" "Bash(npm test *)"JSON Report
claude -p "review the repository for security issues and produce a concise report" \
--output-format json \
--append-system-prompt "Focus on concrete findings, exploitability, and mitigations."Resume a Session
claude -r "$session_id" -p "continue by updating the tests and summarizing what changed"Continue the Most Recent Session
claude -c -p "continue with the next step"Use MCP Tools
claude -p "investigate the API latency spike" \
--permission-mode acceptEdits \
--mcp-config monitoring-tools.json \
--allowedTools "Read" "mcp__datadog__*" "mcp__prometheus__*"Fully Unattended Execution in an Isolated Environment
Use only when the environment is already sandboxed:
claude -p "run the migration and fix the resulting type errors" \
--permission-mode bypassPermissions \
--tools "Bash,Read,Edit,Write"Execution Workflow
1. Confirm the user wants Claude Code CLI rather than an inline answer. 2. Verify the installed CLI shape with claude --help if you plan to use uncommon flags. 3. Choose the least-permissive mode that still fits the task. 4. Build the command without --model unless the user explicitly asked for an override. 5. Restrict tools with --tools when safety or predictability matters. 6. Use --allowedTools for prompt-free approval of known-safe actions. 7. Return exact commands plus short caveats about assumptions and safety.
When To Pause
Pause only when one of these is materially unclear:
- The user wants a specific model or provider behavior that requires pinning.
- They asked for a fully unattended run in an environment that is not clearly sandboxed.
- The workflow depends on a Claude Code feature that is not visible in
claude --help.
Otherwise, proceed and give the best current command.
Final Response Expectations
When using this skill, the output should usually include:
- the exact command or command sequence
- a one-line note that the configured Claude model is being used by default
- any permission or isolation caveat
- the resume command if the workflow is meant to continue later
References
references/examples.mdfor extended patterns
Example Usage Scenarios
Use these as patterns, not rigid templates. Keep commands aligned with the installed claude --help output on the target machine.
Read-Only Repository Analysis
User: "Use Claude Code to explain this codebase structure without changing anything."
claude -p "explain the codebase structure, major entry points, and risks for future refactors" \
--tools "Read,Grep,Glob"Why this works:
- No
--model, so Claude Code uses the configured default model. --toolskeeps the session read-only and predictable.
Safe Bug Fix
User: "Use Claude Code headless mode to fix the authentication bug and run the relevant tests."
claude -p "fix the authentication bug in the login flow and run the relevant tests" \
--permission-mode acceptEdits \
--tools "Bash,Read,Edit,Write" \
--allowedTools "Read" "Edit" "Write" "Bash(npm test *)"Why this works:
acceptEditsis a good default for coding tasks.--toolsrestricts built-in tool availability.--allowedToolspre-approves the specific test command pattern instead of every Bash command.
Batch Refactor
User: "Update imports from old-lib to new-lib across the repo."
claude -p "update imports from old-lib to new-lib across the repository and report the affected files" \
--permission-mode acceptEdits \
--tools "Bash,Read,Edit,Write" \
--allowedTools "Read" "Edit" "Write" "Bash(npm run test *)"JSON Security Report
User: "Review the current repository for security issues and return JSON."
claude -p "review the repository for security vulnerabilities and provide a concise report" \
--output-format json \
--append-system-prompt "Focus on concrete findings, exploitability, and mitigations."Why this works:
jsonoutput is easier to consume in scripts.--append-system-promptkeeps Claude Code defaults intact.
Resume a Session
User: "Continue the session and add tests for the refactor."
claude -r "$session_id" -p "continue by adding tests for the refactor and summarizing the result"Continue the Most Recent Session
User: "Pick up where Claude Code left off."
claude -c -p "continue with the next step"MCP-Assisted Investigation
User: "Use Claude Code plus my monitoring MCP servers to investigate payment API latency."
claude -p "investigate the payment API latency spike and summarize likely causes" \
--permission-mode acceptEdits \
--mcp-config monitoring-tools.json \
--allowedTools "Read" "mcp__datadog__*" "mcp__prometheus__*"Fully Unattended Run in a Sandbox
User: "Run Claude Code without permission prompts inside my CI container."
claude -p "apply the requested changes and run the validation steps" \
--permission-mode bypassPermissions \
--tools "Bash,Read,Edit,Write"Use this only when the environment is already isolated. If the environment is not isolated, prefer dontAsk plus preconfigured permission rules or acceptEdits plus targeted --allowedTools.
Read-Only Line Count
User: "Give me a read-only Claude Code command that counts lines of code by language."
claude -p "Count lines of code in this repository by language. Stay read-only and use only the find and wc shell families plus file reads." \
--permission-mode default \
--tools "Read,Bash" \
--allowedTools "Read" "Bash(find:*)" "Bash(wc:*)"Why this works:
--toolsdefines the hard read-only boundary.--allowedToolspre-approves only the argument-awarefindandwccommand families.- The command still uses the configured model because there is no
--modelflag.