Skip to content
Agentmart
Submit a tool

rat-init-project

Initialize RTL project workspace: directory structure, coding rules, phase guides.

Skill by babyworm

IndexedMIT★ 61
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/babyworm-rat-init-project

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Initialize RTL project workspace: directory structure, coding rules, phase guides. Run once per project. Triggers: 'init project', 'new project'.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Shell scripts

Network hosts it talks to 2

  • codeload.github.com · found in install command
  • github.com · found in code

Files it touches

  • ~/.claude/skills/rat-init-project

What's inside

Skill name
rat-init-project
Description
Initialize RTL project workspace: directory structure, coding rules, phase guides. Run once per project. Triggers: 'init project', 'new project'.
License
MIT
Instructions
323 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts
  • Instructions read files in your home folder (~/.ssh, ~/.aws…)

Agent Skills spec issues

  • files: referenced but missing: scripts/run_sim.sh

Files (24)

  • SKILL.md
  • generate_config.sh · scripts/
  • inject_claude_md.sh · scripts/
  • install_project_templates.sh · scripts/
  • Makefile · templates/
  • claude-md-rat-section.md · templates/
  • cocotb-makefile · templates/
  • filelist.f · templates/
  • docs-guide.md · templates/guides/
  • refc-guide.md · templates/guides/
  • reviews-guide.md · templates/guides/
  • rtl-guide.md · templates/guides/
  • sim-guide.md · templates/guides/
  • syn-guide.md · templates/guides/
  • tool-runner.sh · templates/lib/
  • phase6-pdf-makefile · templates/
  • rat_config.json · templates/
  • rtl-coding-conventions.md · templates/rules/
  • rtl-verification-gate.md · templates/rules/
  • run_cdc.sh · templates/
  • run_conformal.sh · templates/
  • run_formality.sh · templates/
  • run_lint.sh · templates/
  • run_syn.sh · templates/

SKILL.md (first lines)

<Purpose>
Initialize a new RTL design project with the standard directory structure, coding convention
rules, phase guides, and template files required by the 6-Phase pipeline.
This is a per-project operation — run once per new project workspace.
For EDA tool installation and environment verification, use `/rtl-agent-team:rat-setup` instead.
</Purpose>

<Use_When>
- Starting a new RTL/FPGA/ASIC design project
- First time using this plugin in a new workspace
- User says "init project", "initialize project", "new project", "project init"
- Agent Step 0 detects missing project structure (.claude/rules/ not found)
</Use_When>

<Do_Not_Use_When>
- Project directories already exist and rules are deployed (check `.claude/rules/rtl-coding-conventions.md`)
- Only need to verify/install EDA tools (use `/rtl-agent-team:rat-setup`)
- Designing architecture or writing RTL (use p2-arch-design or rtl-p4-implement)
</Do_Not_Use_When>

<Why_This_Exists>
The 6-Phase pipeline expects a standard directory layout (rtl/, refc/, bfm/, sim/, lint/, syn/, etc.)
and coding convention rules deployed to `.claude/rules/`. Without proper project initialization,
agents fail with missing directory errors and coding conventions are not enforced.
This skill ensures the project workspace is ready before design work begins.
</Why_This_Exists>

<Execution_Policy>
- Do not overwrite existing project templates, guides, rules, or directories
- Managed exceptions: update only the RAT block in project `CLAUDE.md`, refresh
  `rat_config.json` tool detection, and regenerate `config.mk`
- Preserve usable user tool path overrides; refresh stale or unusable paths from
  the detected environment
- Generate a project initialization report at the end
- Quick EDA tool status check (informational only — does NOT install tools)
- If required tools are missing, recommend running `/rtl-agent-team:rat-setup` for installation
</Execution_Policy>

<Steps>
1. **Check plugin setup** (advisory, not a hard gate):
   Check `${CLAUDE_PLUGIN_DATA:-$HOME/.config/rtl-agent-team}/.setup-complete` for `/rtl-agent-team:rat-setup` completion.
   If marker is missing, advise: "Run `/rtl-agent-team:rat-setup` first to verify EDA tools and configure the plugin environment."
   Proceed anyway — project structure can be created without tools, but warn about missing EDA environment.

1a. **Check project root**: Verify current directory is suitable (has .git or is empty).

2. **Create directory structure** (skip existing):
   ```
   specs/              # Input specifications and datasheets
   refc/               # C reference model (DPI-C compatible)
     include/          # Common ref model headers
     build/            # Build output (.so for DPI-C)
   bfm/                # Bus Functional Models
     include/          # Common BFM headers
   rtl/                # Synthesizable SystemVerilog source
     common/           # Shared utility modules (ICG, synchronizer, CDC primitives)
     include/          # Common defines, packages
     top/              # Top-level module instantiation
   sim/                # Simulation & testbenches
     top/              # Tier 4: integration tests
     formal/           # SVA formal verification (.sby configs)
   lint/               # Lint flow
     scripts/          # Lint scripts (run_lint.sh)
     reports/          # Per-module lint results
   syn/                # Synthesis flow
     scripts/          # Synthesis scripts (run_syn.sh)
     reports/          # Per-module synthesis results
   docs/               # Design documentation
     phase-1-research/   # Phase 1 artifacts
     phase-2-architecture/ # Phase 2 artifacts
     phase-3-uarch/      # Phase 3 artifacts
     phase-4-rtl/        # Phase 4 artifacts
     phase-5-verify/     # Phase 5 artifacts
     decisions/          # Architecture Decision Records (ADR)
   reviews/            # Phase gate review reports (Markdown)
     phase-1-research/
     phase-2-architecture/
     phase-3-uarch/
     phase-4-rtl/
     phase-5-verify/
     phase-6-review/    # Phase 6 review deliverables
   .rat/
     state/            # Plugin state files (auto-managed)
   ```
   Note: Per-module subdirectories under `refc/`, `bfm/`, `rtl/`, `sim/` are created
   during Phase 2 (architecture) when module decomposition is decided.

2a. **Inject project CLAUDE.md** (RAT-managed section):
   Run the injection script to create or update the RAT-managed section in the project root CLAUDE.md.
   User content outside `<!-- RAT:START -->` / `<!-- RAT:END -->` tags is never modified.
   ```bash
   bash "${CLAUDE_PLUGIN_ROOT}/skills/rat-init-project/scripts/inject_claude_md.sh" .
   ```
   Idempotent — safe to re-run on every `rat-init-project` invocation.

2b. **Generate project config** (`rat_config.json`):
   Run the config generator to detect available EDA tools and create the project configuration file.
   If `rat_config.json` already exists, tool availability and paths are refreshed while
   user-owned configuration is preserved. A usable explicit path override remains unchanged;
   a stale or unusable path is replaced when the tool is found in the current environment.
   ```bash
   bash "${CLAUDE_PLUGIN_ROOT}/skills/rat-init-project/scripts/generate_config.sh" . "$(basename "$(pwd)")"
   ```
   The config file stores:
   - `tools`: 24 EDA tools across 8 categories (simulators, synthesis, lint, formal, equivalence, cdc, debug, coverage). Each tool has `detected`, `path`, and `env_source` fields. Set `env_source` per-tool for tools needing setup (e.g., `"env_source": "source /tools/synopsys/vcs/setup.sh"`). Each `env_source` is trusted project input and is evaluated by Bash on every generator run; do not populate it from untrusted data.
   - `preferences`: preferred tool per category (auto-set to first detected commercial tool, user-overridable)
   - `technology`: target library path, SRAM lib, NAND2 cell pattern (auto-extracted from liberty if set)
   - `coverage`: targets (line≥90%, toggle≥80%, FSM≥70%, branch≥80%, functional≥95%), seeds, fail rate
   - `waivers`: custom paths for lint/CDC waiver files
   Users should edit per-tool `env_source`, `technology.liberty`, and `waivers` after generation.
   `config.mk` is plugin-managed output and is regenerated from the refreshed configuration.

2c. **Deploy rules** (skip if already deployed globally via `/rtl-agent-team:rat-setup`):
   For each rule file, check `~/.claude/rules/` first. If the same file exists globally,
   skip the local copy to avoid duplicate injection. Only deploy locally if neither exists.
   Diagram rules are injected into `~/.claude/CLAUDE.md` by `/rtl-agent-team:rat-setup` via `<markdown_diagram_rule>` tag.
   If the tag is missing (`/rtl-agent-team:rat-setup` not run), write an inline fallback file.
   ```bash
   mkdir -p .claude/rules

From babyworm/rtl-agent-team, MIT.

More from babyworm/rtl-agent-team

Signals

Stars
61
Forks
16
Open issues
0
Last commit (this folder)
Aug 23, 2026 (2 months ago)
Last release
Jul 17, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from babyworm

Cite this page

rat-init-project skill. Agent Mart. https://agentmart.dev/skills/babyworm-rat-init-project (last updated 2026-10-24)