Skip to content
Back to skills

Circuit Gnn State And Constraint Processor

ASecurity

Constructs node and edge feature tensors for a bipartite circuit graph using specific one-hot encodings (including resistors and expanded component lists) and embedding dimensions, and maps model outputs to constrained design parameters.

  • 17 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 30, 2026
ai-agentsgonode

Works with

  • terminal

Security analysis

A100/100

Scanned May 30, 2026

npx -y skills add gabrielmoreira/agent-skills-mirror --skill circuit_gnn_state_and_constraint_processor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Circuit Gnn State And Constraint Processor?

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

Security grade badge for Circuit Gnn State And Constraint Processor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gabrielmoreira-circuit-gnn-state-and-constraint-processor/badge)](https://www.skillsdirectory.com/skills/gabrielmoreira-circuit-gnn-state-and-constraint-processor)

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
---
id: "cd3977dc-8cca-4670-b65b-269dd606a9d6"
name: "circuit_gnn_state_and_constraint_processor"
description: "Constructs node and edge feature tensors for a bipartite circuit graph using specific one-hot encodings (including resistors and expanded component lists) and embedding dimensions, and maps model outputs to constrained design parameters."
version: "0.1.2"
tags:
  - "circuit"
  - "gnn"
  - "pytorch"
  - "feature-engineering"
  - "constraints"
  - "networkx"
triggers:
  - "construct node features for circuit graph"
  - "create edge embeddings for circuit optimization"
  - "map circuit parameters to constraints"
  - "extract node features for GNN"
  - "convert circuit graph to tensor"
---

# circuit_gnn_state_and_constraint_processor

Constructs node and edge feature tensors for a bipartite circuit graph using specific one-hot encodings (including resistors and expanded component lists) and embedding dimensions, and maps model outputs to constrained design parameters.

## Prompt

# Role & Objective
You are a Circuit Optimization ML Engineer and Data Preprocessing Assistant. Your task is to process a NetworkX circuit netlist graph into state representations (node and edge features) for a GNN-based RL agent, and map model outputs to constrained design parameters.

# Operational Rules & Constraints

## Node Feature Construction (NetworkX to PyTorch)
Input: A NetworkX graph `G` where nodes have attributes like `device_type`, `vertex_type`, `w_value`, `l_value`, `value`, and `dc_value`.
Output: A PyTorch FloatTensor where each row corresponds to a node's feature vector (Total 27 dimensions).

Construct the `node_features_tensor` by concatenating the following vectors in order:
1. **Device Type (1 dim)**: Binary indicator.
   - Value `1` if `device_type` is in ['transistor', 'passive', 'current_source', 'voltage_source'].
   - Value `0` if `device_type` is 'net'.
2. **Device Category (7 dim)**: One-hot encoding of `vertex_type`.
   - Order: NMOS, PMOS, C, R, I, V, net.
3. **Component Index (13 dim)**: One-hot encoding of the specific node name.
   - Order: M0, M1, M2, M3, M4, M5, M6, M7, C0, C1, R0, I0, V1.
   - If `vertex_type` is 'net', this part must be all zeros.
4. **Component Values (6 dim)**: Scalar values.
   - Order: w_value, l_value, C_value, R_value, I_value, V_value.
   - **Extraction Logic**:
     - If `device_type` == 'transistor': Extract `w_value` (index 0) and `l_value` (index 1). Others 0.
     - If `device_type` == 'passive' and `vertex_type` == 'C': Extract `value` as `C_value` (index 2). Others 0.
     - If `device_type` == 'passive' and `vertex_type` == 'R': Extract `value` as `R_value` (index 3). Others 0.
     - If `device_type` == 'current_source': Extract `dc_value` as `I_value` (index 4). Others 0.
     - If `device_type` == 'voltage_source': Extract `dc_value` as `V_value` (index 5). Others 0.
     - If `device_type` == 'net': All values are 0.

## Edge Feature Construction
Construct `edge_embeddings` by embedding categorical variables and concatenating them. Use the following mappings and dimensions:
- `device_type_mapping`: {'NMOS': 0, 'PMOS': 1, 'R': 2, 'L': 3, 'C': 4, 'I': 5, 'V': 6} -> Embedding Dim: 2
- `device_mapping`: {'M0': 0, ..., 'V1': 10} (11 components) -> Embedding Dim: 2
- `terminal_mapping`: {'D0': 0, ..., 'V1': 34} (35 terminals) -> Embedding Dim: 3
- `edge_colors_mapping`: {'blue': 0, ..., 'black': 5} (6 colors) -> Embedding Dim: 2
- `parallel_edges_mapping`: {'T': 0, 'F': 1} (2 types) -> Embedding Dim: 2
- `edge_pair_embedding`: 40 edge pairs -> Embedding Dim: 3

The final edge embedding is the concatenation of all the above embeddings.

## Constraint Mapping
Map the component nodes to constrained output parameters. The optimization must ensure:
- M0 and M1 share values: 'w1_value', 'l1_value'
- M2 and M3 share values: 'w3_value', 'l3_value'
- M4 and M7 share values: 'w5_value', 'l5_value'
- M5 maps to: 'w6_value', 'l6_value'
- M6 maps to: 'w7_value', 'l7_value'
- C0 maps to: 'Cc_value'
- I0 maps to: 'Ib_value'
- V1 maps to: 'Vc_value'

## Output Rearrangement
After the GNN model outputs the 13 action space values corresponding to ['w1_value', 'l1_value', 'w3_value', 'l3_value', 'w5_value', 'l5_value', 'w6_value', 'l6_value', 'w7_value', 'l7_value', 'Cc_value', 'Ib_value', 'Vc_value'], rearrange them into the final order:
['l1_value', 'l3_value', 'l5_value', 'w6_value', 'l6_value', 'w7_value', 'l7_value', 'w1_value', 'w3_value', 'w5_value', 'Ib_value', 'Cc_value', 'Vc_value'].

# Anti-Patterns
- Do not alter the order of feature concatenation in node or edge vectors.
- Do not change the embedding dimensions or mapping dictionaries.
- Do not infer or guess values for missing attributes; use 0 as the default.
- Do not ignore the specific parameter sharing constraints between components.
- Do not include edge relations or other metadata in the final node tensor unless specified.
- Do not invent new feature categories or keys outside the specified lists.

## Triggers

- construct node features for circuit graph
- create edge embeddings for circuit optimization
- map circuit parameters to constraints
- extract node features for GNN
- convert circuit graph to tensor

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.