Agent skill
faion-claude-code
Claude Code configuration: skills, agents, hooks, commands creation. MCP servers setup, IDE integrations (VS Code, JetBrains, Vim). Settings, permissions, memory. Naming conventions, directory structure, best practices.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/faion-claude-code
SKILL.md
Claude Code Configuration Skill
Communication: User's language. Config/code: English.
Purpose
Orchestrate Claude Code customization and configuration:
- Create/edit skills, agents, commands, hooks
- Configure settings, permissions, IDE integrations
- Setup MCP servers and plugins
- Enforce naming conventions
References
Detailed technical context for specialized areas:
| Reference | Content | Lines |
|---|---|---|
| skills.md | SKILL.md creation, frontmatter, tools, patterns | ~340 |
| agents.md | Agent files, tools, prompts, patterns | ~330 |
| commands.md | Slash commands, arguments, syntax | ~250 |
| hooks.md | Lifecycle hooks, events, templates | ~420 |
| mcp.md | MCP server development, catalog, config | ~570 |
Total: ~1,910 lines of technical reference
Routing
User Request → Detect Type → Load Reference
| Request Contains | Load Reference |
|---|---|
| "skill", "SKILL.md" | skills.md |
| "agent", "subagent" | agents.md |
| "command", "/cmd", "slash" | commands.md |
| "hook", "PreToolUse", "PostToolUse" | hooks.md |
| "MCP", "server", "install mcp" | mcp.md |
| "settings", "config" | Handle directly (below) |
Naming Conventions
Global (Faion Network)
For shared/reusable components in faion-network:
| Component | Pattern | Example |
|---|---|---|
| Skill | faion-{name}-skill |
faion-python-skill |
| Domain Skill | faion-{name}-domain-skill |
faion-sdd-domain-skill |
| Agent | faion-{name}-agent |
faion-pm-agent |
| Hook | faion-{event}-{purpose}-hook.{ext} |
faion-pre-bash-security-hook.py |
| Command | {verb} (no prefix) |
commit, deploy |
Exception: faion-net (main orchestrator only)
Project-Specific (Local)
For project-specific components that should NOT be committed to faion-network:
| Component | Pattern | Example |
|---|---|---|
| Skill | {project}-{name}-skill |
myapp-auth-skill |
| Agent | {project}-{name}-agent |
myapp-deploy-agent |
| Hook | {project}-{event}-{purpose}-hook.{ext} |
myapp-pre-bash-lint-hook.sh |
| Command | {project}-{action} |
myapp-build, myapp-deploy |
Setup for project-specific components:
- Add to .gitignore (same level as .claude/):
echo ".claude/skills/{project}-*/" >> .gitignore
echo ".claude/agents/{project}-*" >> .gitignore
echo ".claude/commands/{project}-*" >> .gitignore
echo ".claude/scripts/hooks/{project}-*" >> .gitignore
- Add attribution footer:
---
*Created with [faion.net](https://faion.net) framework*
Rules Summary
| Scope | Prefix | Suffix | Gitignore |
|---|---|---|---|
| Global | faion- |
-skill/-agent/-hook |
No |
| Project | {project}- |
-skill/-agent/-hook |
Yes |
Directory Structure
~/.claude/
├── settings.json # Global settings
├── CLAUDE.md # Global instructions
├── agents/
│ └── faion-*-agent.md # Agent definitions
├── skills/
│ └── faion-*-skill/
│ ├── SKILL.md # Skill index
│ └── references/ # Detailed content
├── commands/
│ └── *.md # Slash commands
└── scripts/
└── hooks/ # Hook scripts
Settings Configuration
settings.json Structure
{
"permissions": {
"allow": ["Read", "Glob", "Grep"],
"deny": ["Bash(rm -rf:*)"]
},
"hooks": {
"PreToolUse": [...],
"PostToolUse": [...],
"SessionStart": [...]
},
"env": {
"CUSTOM_VAR": "value"
},
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "package-name"],
"env": { "API_KEY": "..." }
}
}
}
Permission Modes
| Mode | Description |
|---|---|
default |
Ask for each tool |
acceptEdits |
Auto-accept file edits |
bypassPermissions |
No prompts (dangerous) |
Configuration Locations
| Location | Scope |
|---|---|
~/.claude/settings.json |
Global (all projects) |
.claude/settings.json |
Project (committed) |
.claude/settings.local.json |
Local project (gitignored) |
Quick Reference
Create Skill
mkdir -p ~/.claude/skills/faion-my-skill
# Write SKILL.md with frontmatter
Create Agent
# Write ~/.claude/agents/faion-my-agent.md
# Include frontmatter: name, description, tools, model
Create Command
# Write ~/.claude/commands/my-cmd.md
# Include frontmatter: description, argument-hint, allowed-tools
Create Hook
# Write ~/.claude/scripts/hooks/faion-pre-bash-my-hook.py
# Configure in settings.json hooks section
Install MCP Server
claude mcp add <name> -s user -e KEY=value -- npx -y <package>
claude mcp list
claude mcp remove <name> -s user
IDE Integrations
VS Code
// .vscode/settings.json
{
"claude.enabled": true,
"claude.autoComplete": true
}
JetBrains
Install Claude plugin from marketplace.
Best Practices
Skills:
- One clear purpose per skill
- Include trigger keywords in description
- Keep SKILL.md under 300 lines (use references/)
- Third-person descriptions only
Agents:
- Action-oriented descriptions for auto-delegation
- Minimal tools (least privilege)
- Clear input/output contract
Commands:
- Short, memorable names
- Use argument hints ($1, $2, $ARGUMENTS)
- Document in description
Hooks:
- Fast execution (< 60s)
- Handle errors gracefully
- Exit 0 for success, 2 for blocking
Error Handling
| Issue | Solution |
|---|---|
| Skill not triggering | Add keywords to description |
| Agent not delegating | Improve description |
| Command not found | Check .md extension |
| Hook failing | Test manually first |
| Settings invalid | Validate JSON syntax |
| MCP not starting | Check claude mcp list |
Documentation
faion-claude-code-skill v2.0.0 Claude Code configuration orchestrator with references/
Didn't find tool you were looking for?