Skip to content
This repository was archived by the owner on May 6, 2026. It is now read-only.

Commit b4262df

Browse files
yysjasmineclaude
andcommitted
vendor(openclaw,hermes): commit skill assets that .gitignore was eating
Fresh clones were shipping without runtime-required files because of overbroad ignore rules in the vendored repos: openclaw (.gitignore): - `IDENTITY.md` / `USER.md` lines also matched the zh-CN templates under docs/zh-CN/reference/templates/. - `bin/` matched skills/sherpa-onnx-tts/bin/sherpa-onnx-tts, the skill's own Node.js entrypoint. hermes-agent (.gitignore): - `export*` matched the p5js skill's scripts/export-frames.js + references/ export-pipeline.md, both of which SKILL.md instructs users to call. - `examples/` matched optional-skills/creative/concept-diagrams/examples/, the 15 few-shot example files that SKILL.md ships for that skill. Add targeted `!pattern` exceptions and commit the 20 previously-untracked files so a fresh install has working skills. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 54e848c commit b4262df

22 files changed

Lines changed: 4243 additions & 0 deletions

repos/hermes-agent/.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,12 @@ mini-swe-agent/
6868
.nix-stamps/
6969
result
7070
website/static/api/skills-index.json
71+
72+
# Keep skill assets that the global `export*` + `examples/` rules above
73+
# unintentionally swallow. These files are read at runtime by the skills
74+
# themselves (p5js export pipeline, concept-diagrams few-shot examples),
75+
# so a fresh clone without them ships broken skills.
76+
!skills/creative/p5js/scripts/export-frames.js
77+
!skills/creative/p5js/references/export-pipeline.md
78+
!optional-skills/creative/concept-diagrams/examples/
79+
!optional-skills/creative/concept-diagrams/examples/*.md
Lines changed: 244 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,244 @@
1+
# Apartment Floor Plan: 3 BHK to 4 BHK Conversion
2+
3+
An architectural floor plan showing a 1,500 sq ft apartment with proposed modifications to convert from 3 BHK to 4 BHK. Demonstrates architectural drawing conventions, room layouts, proposed changes with dotted lines, and area comparison tables.
4+
5+
## Key Patterns Used
6+
7+
- **Architectural floor plan**: Top-down view with walls, doors, windows
8+
- **Proposed modifications**: Dotted red lines for new walls
9+
- **Room color coding**: Light fills to distinguish room types
10+
- **Circulation paths**: Arrows showing new access routes
11+
- **Data table**: Before/after area comparison with highlighting
12+
- **Architectural symbols**: North arrow, scale bar, door swings
13+
14+
## Diagram Type
15+
16+
This is an **architectural floor plan** with:
17+
- **Plan view**: Top-down orthographic projection
18+
- **Overlay technique**: Existing structure + proposed changes
19+
- **Quantitative data**: Area measurements and comparison table
20+
21+
## Architectural Drawing Elements
22+
23+
### Wall Styles
24+
25+
```xml
26+
<!-- Outer walls (thick) -->
27+
<line class="wall" x1="0" y1="0" x2="560" y2="0"/>
28+
29+
<!-- Internal walls (thinner) -->
30+
<line class="wall-thin" x1="180" y1="0" x2="180" y2="140"/>
31+
32+
<!-- Proposed new walls (dotted red) -->
33+
<line class="proposed-wall" x1="125" y1="170" x2="125" y2="330"/>
34+
```
35+
36+
```css
37+
.wall { stroke: var(--text-primary); stroke-width: 6; fill: none; stroke-linecap: square; }
38+
.wall-thin { stroke: var(--text-primary); stroke-width: 3; fill: none; }
39+
.proposed-wall { stroke: #A32D2D; stroke-width: 4; fill: none; stroke-dasharray: 8 4; }
40+
```
41+
42+
### Door Symbols
43+
44+
```xml
45+
<!-- Door opening with swing arc -->
46+
<rect x="150" y="137" width="25" height="6" fill="var(--bg-primary)"/>
47+
<path class="door" d="M150,140 L150,165"/>
48+
<path class="door-swing" d="M150,140 A25,25 0 0,0 175,140"/>
49+
50+
<!-- Sliding door (balcony) -->
51+
<rect x="60" y="327" width="60" height="6" fill="var(--bg-primary)" stroke="var(--text-secondary)" stroke-width="1"/>
52+
<line x1="60" y1="330" x2="90" y2="330" stroke="var(--text-secondary)" stroke-width="2"/>
53+
<line x1="90" y1="330" x2="120" y2="330" stroke="var(--text-secondary)" stroke-width="2" stroke-dasharray="3 3"/>
54+
55+
<!-- Proposed door (dotted) -->
56+
<rect x="143" y="292" width="22" height="6" fill="var(--bg-primary)" stroke="#A32D2D" stroke-width="1" stroke-dasharray="3 2"/>
57+
<path d="M165,295 A22,22 0 0,0 165,273" stroke="#A32D2D" stroke-width="1" stroke-dasharray="3 2" fill="none"/>
58+
```
59+
60+
```css
61+
.door { stroke: var(--text-secondary); stroke-width: 1.5; fill: none; }
62+
.door-swing { stroke: var(--text-tertiary); stroke-width: 1; fill: none; stroke-dasharray: 3 2; }
63+
```
64+
65+
### Window Symbols
66+
67+
```xml
68+
<!-- Window with glass indication -->
69+
<rect class="window" x="-3" y="30" width="6" height="50"/>
70+
<line class="window-glass" x1="0" y1="35" x2="0" y2="75"/>
71+
72+
<!-- Horizontal window (top wall) -->
73+
<rect class="window" x="220" y="-3" width="60" height="6"/>
74+
<line class="window-glass" x1="225" y1="0" x2="275" y2="0"/>
75+
```
76+
77+
```css
78+
.window { stroke: var(--text-primary); stroke-width: 1; fill: var(--bg-primary); }
79+
.window-glass { stroke: #378ADD; stroke-width: 2; fill: none; }
80+
```
81+
82+
### Room Fills
83+
84+
```xml
85+
<!-- Different colors for room types -->
86+
<rect class="room-master" x="3" y="3" width="174" height="134" rx="2"/>
87+
<rect class="room-bed2" x="183" y="3" width="134" height="104" rx="2"/>
88+
<rect class="room-living" x="3" y="173" width="554" height="154" rx="2"/>
89+
<rect class="room-kitchen" x="443" y="3" width="114" height="104" rx="2"/>
90+
<rect class="room-bath" x="183" y="113" width="54" height="54" rx="2"/>
91+
92+
<!-- Proposed new room (highlighted) -->
93+
<rect class="room-new" x="3" y="223" width="120" height="104"/>
94+
```
95+
96+
```css
97+
.room-master { fill: rgba(206, 203, 246, 0.3); } /* purple tint */
98+
.room-bed2 { fill: rgba(159, 225, 203, 0.3); } /* teal tint */
99+
.room-bed3 { fill: rgba(250, 199, 117, 0.3); } /* amber tint */
100+
.room-living { fill: rgba(245, 196, 179, 0.3); } /* coral tint */
101+
.room-kitchen { fill: rgba(237, 147, 177, 0.3); } /* pink tint */
102+
.room-bath { fill: rgba(133, 183, 235, 0.3); } /* blue tint */
103+
.room-new { fill: rgba(163, 45, 45, 0.15); } /* red tint for proposed */
104+
```
105+
106+
### Support Fixtures
107+
108+
```xml
109+
<!-- Kitchen counter hint -->
110+
<rect x="450" y="15" width="50" height="25" fill="none" stroke="var(--text-tertiary)" stroke-width="0.5" rx="2"/>
111+
<text class="tx" x="475" y="30" text-anchor="middle">Counter</text>
112+
113+
<!-- Balcony (dashed outline) -->
114+
<rect class="balcony-fill" x="3" y="333" width="200" height="50"/>
115+
```
116+
117+
```css
118+
.balcony { fill: none; stroke: var(--text-secondary); stroke-width: 2; stroke-dasharray: 6 3; }
119+
.balcony-fill { fill: rgba(93, 202, 165, 0.1); }
120+
```
121+
122+
### Room Labels
123+
124+
```xml
125+
<!-- Room name and area -->
126+
<text class="room-label" x="90" y="65" text-anchor="middle">MASTER</text>
127+
<text class="room-label" x="90" y="78" text-anchor="middle">BEDROOM</text>
128+
<text class="area-label" x="90" y="95" text-anchor="middle">195 sq ft</text>
129+
130+
<!-- Proposed room (in red) -->
131+
<text class="room-label" x="63" y="268" text-anchor="middle" fill="#A32D2D">BEDROOM 4</text>
132+
<text class="tx" x="63" y="282" text-anchor="middle" fill="#A32D2D">(NEW)</text>
133+
```
134+
135+
```css
136+
.room-label { font-family: system-ui; font-size: 11px; fill: var(--text-primary); font-weight: 500; }
137+
.area-label { font-family: system-ui; font-size: 9px; fill: var(--text-tertiary); }
138+
```
139+
140+
### Circulation Arrow
141+
142+
```xml
143+
<defs>
144+
<marker id="circ-arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto">
145+
<path d="M0,0 L10,5 L0,10 Z" class="circulation-fill"/>
146+
</marker>
147+
</defs>
148+
149+
<path class="circulation" d="M300,250 L200,250 L145,250 L145,280" marker-end="url(#circ-arrow)"/>
150+
<text class="tx" x="250" y="242" fill="#3B6D11" font-weight="500">New corridor access</text>
151+
```
152+
153+
```css
154+
.circulation { stroke: #3B6D11; stroke-width: 2; fill: none; }
155+
.circulation-fill { fill: #3B6D11; }
156+
```
157+
158+
### North Arrow and Scale Bar
159+
160+
```xml
161+
<!-- North arrow -->
162+
<g transform="translate(520, 260)">
163+
<circle cx="0" cy="0" r="20" fill="none" stroke="var(--text-tertiary)" stroke-width="0.5"/>
164+
<polygon points="0,-18 -5,5 0,0 5,5" fill="var(--text-primary)"/>
165+
<text class="tx" x="0" y="-22" text-anchor="middle">N</text>
166+
</g>
167+
168+
<!-- Scale bar -->
169+
<g transform="translate(420, 300)">
170+
<line x1="0" y1="0" x2="100" y2="0" stroke="var(--text-primary)" stroke-width="2"/>
171+
<line x1="0" y1="-5" x2="0" y2="5" stroke="var(--text-primary)" stroke-width="1"/>
172+
<line x1="50" y1="-3" x2="50" y2="3" stroke="var(--text-primary)" stroke-width="1"/>
173+
<line x1="100" y1="-5" x2="100" y2="5" stroke="var(--text-primary)" stroke-width="1"/>
174+
<text class="tx" x="0" y="15" text-anchor="middle">0</text>
175+
<text class="tx" x="50" y="15" text-anchor="middle">5'</text>
176+
<text class="tx" x="100" y="15" text-anchor="middle">10'</text>
177+
</g>
178+
```
179+
180+
## Area Comparison Table
181+
182+
### Table Structure
183+
184+
```xml
185+
<!-- Header row -->
186+
<rect class="table-header" x="0" y="0" width="180" height="28" rx="4 4 0 0"/>
187+
<text class="ts" x="90" y="18" text-anchor="middle" font-weight="500">Room</text>
188+
189+
<!-- Normal row -->
190+
<rect class="table-row" x="0" y="28" width="180" height="24"/>
191+
<text class="tx" x="10" y="44">Master Bedroom</text>
192+
<text class="tx" x="230" y="44" text-anchor="middle">195</text>
193+
194+
<!-- Alternating row -->
195+
<rect class="table-row-alt" x="0" y="52" width="180" height="24"/>
196+
197+
<!-- Highlighted row (for changes) -->
198+
<rect class="table-highlight" x="0" y="100" width="180" height="24"/>
199+
<text class="tx" x="10" y="116" fill="#A32D2D" font-weight="500">Bedroom 4 (NEW)</text>
200+
<text class="tx" x="430" y="116" text-anchor="middle" fill="#3B6D11">+100</text>
201+
202+
<!-- Total row -->
203+
<rect x="0" y="268" width="180" height="28" fill="var(--bg-secondary)" stroke="var(--border)" stroke-width="1"/>
204+
<text class="ts" x="10" y="286" font-weight="500">TOTAL CARPET AREA</text>
205+
```
206+
207+
```css
208+
.table-header { fill: var(--bg-secondary); }
209+
.table-row { fill: var(--bg-primary); stroke: var(--border); stroke-width: 0.5; }
210+
.table-row-alt { fill: var(--bg-tertiary); stroke: var(--border); stroke-width: 0.5; }
211+
.table-highlight { fill: rgba(163, 45, 45, 0.1); stroke: #A32D2D; stroke-width: 0.5; }
212+
```
213+
214+
## Layout Notes
215+
216+
- **ViewBox**: 800×780 (portrait for floor plan + table)
217+
- **Scale**: 10px = 1 foot (apartment ~50ft × 33ft)
218+
- **Floor plan origin**: Offset at (50, 60) for margins
219+
- **Wall thickness**: 6px outer, 3px inner (represents ~6" walls)
220+
- **Room labels**: Centered in each room with area below
221+
- **Table placement**: Below floor plan with full width
222+
223+
## Color Coding
224+
225+
| Element | Color | Usage |
226+
|---------|-------|-------|
227+
| Proposed walls | Red (#A32D2D) dotted | New construction |
228+
| New room fill | Red 15% opacity | Bedroom 4 area |
229+
| Circulation | Green (#3B6D11) | New access path |
230+
| Window glass | Blue (#378ADD) | Glass indication |
231+
| Bedrooms | Purple/Teal/Amber tints | Room differentiation |
232+
| Wet areas | Blue tint | Bathrooms |
233+
| Living | Coral tint | Common areas |
234+
235+
## When to Use This Pattern
236+
237+
Use this diagram style for:
238+
- Apartment/house floor plans
239+
- Office layout planning
240+
- Renovation proposals showing before/after
241+
- Space planning with area calculations
242+
- Real estate marketing materials
243+
- Interior design presentations
244+
- Building permit documentation

0 commit comments

Comments
 (0)