Case 00079
A fast, offline static risk analysis CLI for AI agent skill files. Detects malicious instructions, steganographic payloads, and dangerous capability chains.
npx -y skills add knownasnaffy/prompthound --skill case_00079Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Sync AI coding assistant config files from a single source. Generates CLAUDE.md, AGENTS.md, GEMINI.md, .cursor/rules/, .github/copilot-instructions.md, .windsurf/rules/, .clinerules/, CONVENTIONS.md, .kiro/steering/, .amazonq/rules/, .goosehints, .trae/rules/ from your canonical rules. ACTIVAR cuando el usuario dice 'sync configs', 'generate ai rules', 'configurar para otros tools', 'unificar instrucciones', 'config sync'.
SKILL.md
4.7 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
Config Sync — 16 AI Tools, 1 Source
Reads .claude/rules/ (or CLAUDE.md) as canonical source and generates native config files for every major AI coding assistant.
Problem
Each AI coding tool uses a different config file:
- Claude Code →
CLAUDE.md+.claude/rules/*.md - Codex CLI →
AGENTS.md - Gemini CLI →
GEMINI.md - Cursor →
.cursor/rules/*.mdc - GitHub Copilot →
.github/copilot-instructions.md - Windsurf →
.windsurf/rules/*.md - Cline/Roo →
.clinerules/*.md - Aider →
CONVENTIONS.md - Kiro →
.kiro/steering/*.md - Amazon Q →
.amazonq/rules/*.md - Goose →
.goosehints - Trae AI →
.trae/rules/*.md - Zed →
.rules - Amp/OpenCode/Warp →
AGENTS.md(shared)
Maintaining 16 files for the same instructions is absurd. Config-sync fixes it.
How It Works
- Source of truth:
.claude/rules/*.md(most expressive format — supports glob patterns, frontmatter conditions, always/attached/triggered modes) - Fallback source:
CLAUDE.mdat repo root if.claude/rules/doesn't exist - Transform: Concatenates all rule files, strips Claude-specific frontmatter, generates each format
- Output: Only generates configs for tools you select (or all by default)
Usage
Generate all configs
python3 ~/.openclaw/skills/config-sync/scripts/config-sync.py /path/to/repo
Generate specific tools only
python3 ~/.openclaw/skills/config-sync/scripts/config-sync.py /path/to/repo --tools codex,gemini,cursor
Preview without writing
python3 ~/.openclaw/skills/config-sync/scripts/config-sync.py /path/to/repo --dry-run
Init from existing CLAUDE.md
python3 ~/.openclaw/skills/config-sync/scripts/config-sync.py /path/to/repo --init
This creates .claude/rules/ from your existing CLAUDE.md as the canonical source.
Supported Tools
| Tool | Output File | Notes |
|---|---|---|
| Claude Code | .claude/rules/*.md (source, not generated) | Already the canonical format |
| Codex CLI | AGENTS.md | Flat markdown, no frontmatter |
| Gemini CLI | GEMINI.md | Flat markdown |
| Cursor | .cursor/rules/config-sync.mdc | MDC format with description + globs |
| GitHub Copilot | .github/copilot-instructions.md | Flat markdown |
| Windsurf | .windsurf/rules/config-sync.md | Flat markdown |
| Cline/Roo | .clinerules/config-sync.md | Flat markdown |
| Aider | CONVENTIONS.md | Flat markdown, concise style |
| Kiro | .kiro/steering/config-sync.md | Flat markdown |
| Amazon Q | .amazonq/rules/config-sync.md | Flat markdown |
| Goose | .goosehints | Line-per-rule, no markdown |
| Trae AI | .trae/rules/config-sync.md | Flat markdown |
| Zed | .rules | Flat markdown |
Transformation Rules
Stripped from source
- YAML frontmatter (--- blocks) — tool-specific, not portable
alwaysApply: true/false— Claude Code specific- Glob patterns in frontmatter — converted to natural language headers
Added to each output
- Header comment:
<!-- Generated by config-sync. Edit source at .claude/rules/ --> - Tool-specific header if needed (e.g., MDC frontmatter for Cursor)
Format adaptations
- Goose (
.goosehints): Each rule becomes one line, no markdown - Cursor (
.mdc): Gets MDC frontmatter withdescriptionandglobs: ** - Aider (
CONVENTIONS.md): Condensed to bullet points, no long explanations - AGENTS.md: Standard markdown, used by Codex/Amp/OpenCode/Warp (4 tools, 1 file)
Workflow
- Edit
.claude/rules/*.md(your canonical source) - Run
config-syncto generate all other formats - Commit all generated files together
- Repeat when rules change
Auto-detect installed tools
The script checks for:
.cursor/directory → Cursor installed.github/copilot-instructions.mdexists → Copilot in use.windsurf/→ Windsurf installed.clinerules/→ Cline installed.kiro/→ Kiro installed.amazonq/→ Amazon Q installed.trae/→ Trae installedAGENTS.mdexists → Codex/Amp/OpenCode in useGEMINI.mdexists → Gemini CLI in use
If --tools is not specified, generates all formats (belt-and-suspenders approach).
Philosophy
One source of truth. Many outputs. Like a compiler: write once in the richest language, emit to every target.