Skip to content
Back to skills

Superdev Rules

ASecurity

Use ALWAYS when the user wants to discover, capture, or maintain project coding conventions as .claude/rules files - learn the codebase's conventions, set up path-scoped rules, teach Claude the project's style. Triggers include "create rules", "set up .claude/rules", "capture coding conventions", "learn our conventions", "add naming/testing/error-handling rules", "audit rules". Discovers dominant patterns from the host code with real examples, confirms each in an interview, and writes MANY SM...

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 16, 2026
ai-agentsgobashtesting

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 16, 2026

npx -y skills add p2p2sp/viber --skill superdev-rules --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Superdev Rules?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Superdev Rules
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/p2p2sp-superdev-rules-viber/badge)](https://www.skillsdirectory.com/skills/p2p2sp-superdev-rules-viber)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: superdev-rules
description: Use ALWAYS when the user wants to discover, capture, or maintain project coding conventions as .claude/rules files - learn the codebase's conventions, set up path-scoped rules, teach Claude the project's style. Triggers include "create rules", "set up .claude/rules", "capture coding conventions", "learn our conventions", "add naming/testing/error-handling rules", "audit rules". Discovers dominant patterns from the host code with real examples, confirms each in an interview, and writes MANY SMALL path-scoped rule files (one convention area per file, YAML paths: gating) instead of a monolith, plus a maintenance mode to audit existing rules against the actual code and find new candidates.
user-invocable: true
allowed-tools: Read, Write, AskUserQuestion, Skill, Agent, Task, Bash, Bash(date:*), Bash(${CLAUDE_PLUGIN_ROOT}/skills/superdev-rules/scripts/detect_state.sh:*), Bash(${CLAUDE_PLUGIN_ROOT}/skills/superdev-rules/scripts/scan_conventions.sh:*)
---

# SuperDev Rules

Discovers the host project's coding conventions (naming, testing, error-handling, imports, ...) and persists them as `.claude/rules/*.md`. This skill is the interactive front: it scans, asks, and resolves every decision with the user, then hands ONE capture file to the `superdev:rules-writer` agent, which writes the rule files.

## Core Principle

**Many SMALL files, one convention area per file**, each gated by a narrow frontmatter `paths:` glob list - the harness loads a rule only when Claude reads a matching file. No monolith; no global rule where a narrow glob suffices. Record only the DELTA from what a competent developer would do anyway.

**Frozen `_` convention.** A basename with a leading underscore (`_{topic}.md`) is frozen: the native loader still loads it, but this skill never reads, scores, audits, or proposes it - reserved for hand-authored or bootstrap meta-rules that must stay immutable. Never emit a capture slug starting with `_`.

**The `superdev:rules-writer` agent writes this skill's output - you never write a rule file yourself.** The `Agent` tool missing from your tool pool means the harness lost the tool, never that you may stand in for the writer: STOP at once, report exactly these four lines, and end the turn.

```
AGENT TOOL UNAVAILABLE - stopped at <step>.
Nothing was written in its place.
State: .temp/superdev/rules/capture-<RUN_ID>.md, or "no capture written yet".
Fix: exit this session, restart with `claude --resume`, then run `superdev-rules` again.
```

## Run ID

!`date +%Y%m%d-%H%M%S`

The line above is `<RUN_ID>` - use it verbatim. Every run writes a fresh capture file `.temp/superdev/rules/capture-<RUN_ID>.md`; never reuse or overwrite an existing one.

## Workflow

```
0. Preflight
   `Agent` tool present in your tool pool? Absent → STOP and report per `## Core Principle`
   (State: no capture written yet). Do not run the scripts, do not start the interview.

1. Detect state
   "${CLAUDE_PLUGIN_ROOT}/skills/superdev-rules/scripts/detect_state.sh" /path/to/project
   → Returns: none | partial | complete

2. Route
   none/partial → Discovery (steps 3-5)
   complete     → Maintenance (step 6)

3. Scan [gate - show findings first]
   "${CLAUDE_PLUGIN_ROOT}/skills/superdev-rules/scripts/scan_conventions.sh" /path/to/project
   Then Read 2-3 representative files per candidate area - a convention is
   proposable only with a dominant pattern + a real example; never invent one.
   Show: | Area | Discovered convention (real example) | Proposed paths: |

4. Interview
   Confirm every candidate with the user - accept / adjust / drop, plus the
   Capture Questions. Only confirmed conventions reach the capture.

5. Capture + hand off
   Write .temp/superdev/rules/capture-<RUN_ID>.md (format below)
   Run `printf '%s\n' "${CLAUDE_PLUGIN_ROOT}/references"` and keep its output as `<refs>`
   Invoke `Agent` with `subagent_type: superdev:rules-writer` and a labeled-line prompt:
     capture: .temp/superdev/rules/capture-<RUN_ID>.md
     refs: <refs>
   Relay its VERDICT/RULE lines verbatim - do NOT re-verify or rewrite the rule files yourself

6. Maintenance mode (when state=complete)
   Ask user:
   a) Audit rules     → Read each rule, check it against the code its globs gate:
                        contradictions between rules, dead rules (globs match
                        nothing / convention gone), drift from the dominant pattern
   b) Find candidates → Re-scan (step 3) for areas no existing rule covers
   c) Both
   Resolved changes go through step 5 (capture + writer handoff);
   a dead rule becomes a `delete:` line.
```

## Capture file format

```
# Rules capture
## Rules
- <file-slug> - paths: <glob>[, <glob>] - <one-line scope>
- delete: <existing rule path> - <one-line reason>
## Facts
### <file-slug>
- <confirmed convention - imperative, carrying the real example from code>
```

Globs narrow (a directory or an extension in every glob); `paths: global` only when the convention is truly repo-wide.

## Capture Questions

Per candidate area:
1. Is this pattern intentional, or an accident of history?
2. Should new code follow it, or is a different target convention desired?
3. Which paths does it apply to - and where does it NOT apply?
4. Any exceptions worth recording?

## Resources

**Scripts:**
- `${CLAUDE_PLUGIN_ROOT}/skills/superdev-rules/scripts/detect_state.sh` - Check .claude/rules state (none/partial/complete, per-file paths: presence)
- `${CLAUDE_PLUGIN_ROOT}/skills/superdev-rules/scripts/scan_conventions.sh` - Deterministic convention signals (languages, naming styles, test patterns, tool configs, layout)

Files in this skill

  • SKILL.md5.5 KB
  • scripts/detect_state.sh2 KB
  • scripts/scan_conventions.sh2.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.