
Add a new property to the AI agents database. Use when the user wants to add, create, or introduce a new column, property, field, or feature to track across all agents in the comparison matrix. Handles all four required steps - database updates, groups.json, table display, and GitHub issue templates.
add-agent-property follows the SKILL.md standard. Use the install command to add it to your agent stack.
---
name: add-agent-property
description: Add a new property to the AI agents database. Use when the user wants to add, create, or introduce a new column, property, field, or feature to track across all agents in the comparison matrix. Handles all four required steps - database updates, groups.json, table display, and GitHub issue templates.
---
# Add Agent Property
Add a new property to the agents board by modifying four files in sequence.
**Schema reference:** See [references/schema.md](references/schema.md) for data structures.
## Workflow
### 1. Gather Property Details
Ask the user for:
- **Property key** (camelCase, e.g., `contextWindow`)
- **Display label** (short, e.g., "Context Window")
- **Tooltip description** (1 sentence explaining the property)
- **Cell type**: `badge` (yes/no/partial) or `text` (free-form)
- **Group**: `identity`, `packaging`, or `features`
### 2. Update agents-detailed.json
Add the property to **every agent** in `src/data/agents-detailed.json`:
```json
"propertyKey": {
"value": null,
"detail": null
}
```
Insert after the last feature property, before `additionalInfo`.
### 3. Update groups.json
Add the property key to the appropriate group's `columns` array in `src/data/groups.json`:
```json
{
"id": "features",
"label": "Features",
"columns": ["existingProp", "propertyKey"]
}
```
### 4. Update AgentTable.jsx
Add column definition to the `columns` array in `src/components/AgentTable.jsx`:
```javascript
{ key: 'propertyKey', label: 'Label', sortable: true, cellType: 'badge', tooltip: 'Description' }
```
Insert at the position matching its group order.
### 5. Update useAgentsData.js
Add transformation in `src/hooks/useAgentsData.js`:
```javascript
propertyKey: agent.propertyKey.value,
propertyKeyDetail: agent.propertyKey.detail,
```
### 6. Update FilterBar.jsx (for filterable properties)
If the property is in `packaging` or `features` group **and** has `cellType: 'badge'`, add it to the `featureOptions` array in `src/components/FilterBar.jsx`:
```javascript
{ key: 'propertyKey', label: 'Label' }
```
Insert in the appropriate section (Packaging or Features) following the existing order.
### 7. Update GitHub Issue Templates
**01-update-agent.md** - Add under Features section:
```markdown
- [ ] **Property Label** (`propertyKey`)
- New value: <!-- yes/no/partial/null -->
- Detail:
```
**02-add-new-agent.md** - Add new section with property definition, value format, and examples.
## Checklist
- [ ] Property added to all agents in agents-detailed.json
- [ ] Property key added to correct group in groups.json
- [ ] Column definition added to AgentTable.jsx
- [ ] Transformation added to useAgentsData.js
- [ ] Filter option added to FilterBar.jsx (if badge in packaging/features)
- [ ] Update template modified in .github/ISSUE_TEMPLATE/01-update-agent.md
- [ ] New agent template modified in .github/ISSUE_TEMPLATE/02-add-new-agent.md