brain-organizer

⛔ MANDATORY workflow for Archon Brain canvas system. AI MUST follow EXACTLY or canvas will NOT work.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "brain-organizer" with this command: npx skills add cantagestudio/cosmicatlaspacker/cantagestudio-cosmicatlaspacker-brain-organizer

Brain Organizer

⛔ MANDATORY workflow for Archon Brain canvas system. AI MUST follow EXACTLY or canvas will NOT work.

📄 General Document Reference: Docs/Index/BRAIN_FORMAT.md AI tools without skill system can also create Brain canvas by referencing the above document.

🚫 STOP! READ BEFORE ANY FILE OPERATIONS

DO NOT CREATE ANY FILES until you have:

  • ✅ Read and understood the Blocking Rules below

  • ✅ Calculated the exact fileName from canvas name

  • ✅ Verified ALL folder names will match fileName

  • ✅ Planned node positions using Grid Layout (no overlap!)

If you skip these steps, the canvas WILL BE BROKEN and show "0 nodes" in Archon app.

⛔ BLOCKING RULE #1: fileName (ZERO TOLERANCE)

If canvas name: value and folder names don't match, Archon app CANNOT load nodes!

fileName Generation Algorithm (Archon App Internal Logic)

// This is EXACTLY how Archon app generates fileName from name var fileName: String { name.replacingOccurrences(of: " ", with: "-") // 1. Space → Hyphen .lowercased() // 2. Lowercase .filter { $0.isLetter || $0.isNumber || $0 == "-" } // 3. Keep only letters/numbers/hyphens }

Transformation Examples:

name: value Generated fileName

"My Canvas"

my-canvas

"Aesthetic Canvas: Minimal Diary"

aesthetic-canvas-minimal-diary

"UI Design (v2)"

ui-design-v2

Folder Naming Rule (MUST MATCH fileName)

Canvas file: {fileName}.md Nodes folder: {fileName}_Nodes/ Connections: {fileName}_Connections/ Datasheet: {fileName}_Datasheet/

✅ CORRECT Example

Canvas file: aesthetic-minimal-diary.md

name: "Aesthetic Minimal Diary" # fileName = aesthetic-minimal-diary

Docs/Brain/ ├── aesthetic-minimal-diary.md ├── aesthetic-minimal-diary_Nodes/ ✅ MATCH ├── aesthetic-minimal-diary_Connections/ └── aesthetic-minimal-diary_Datasheet/

❌ WRONG Example (App shows 0 nodes)

Canvas file: aesthetic-minimal-diary-brain.md

name: "Aesthetic Canvas: Minimal Diary Brain"

fileName = aesthetic-canvas-minimal-diary-brain (colon removed!)

Docs/Brain/ ├── aesthetic-minimal-diary-brain.md ├── aesthetic-minimal-diary-brain_Nodes/ ❌ MISMATCH! │ # App looks for: aesthetic-canvas-minimal-diary-brain_Nodes

Pre-Creation Checklist (MANDATORY)

Before creating ANY files, verify:

  • Calculate fileName from name: value using the algorithm above

  • Canvas file = {fileName}.md

  • Nodes folder = {fileName}_Nodes/

  • Connections folder = {fileName}_Connections/

  • Datasheet folder = {fileName}_Datasheet/

  • ALL folder names EXACTLY match the calculated fileName

⛔ BLOCKING RULE #2: Node Positioning (NO OVERLAP)

Nodes MUST be placed on grid. Overlapping nodes = unusable canvas.

Position X = COLUMN × 350 Position Y = ROW × 250

Before creating nodes, assign grid positions:

Node 1: Col 0, Row 0 → position: { x: 0, y: 0 } Node 2: Col 1, Row 0 → position: { x: 350, y: 0 } Node 3: Col 0, Row 1 → position: { x: 0, y: 250 } Node 4: Col 1, Row 1 → position: { x: 350, y: 250 }

⛔ BLOCKING RULE #3: Mandatory Validation

After creating ALL files, AI MUST verify:

✓ VALIDATION CHECKLIST (AI must print this) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Canvas name: "{name value}" Calculated fileName: "{result}" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✓ Canvas file: {fileName}.md ✓ Nodes folder: {fileName}_Nodes/ (contains {N} files) ✓ Connections: {fileName}_Connections/ (if applicable) ✓ Datasheet: {fileName}_Datasheet/ (if applicable) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Node positions verified: No overlaps ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

If validation fails, FIX IMMEDIATELY before reporting completion.

Directory Structure

⚠️ All folder names MUST use {fileName} calculated from canvas name: value!

Docs/Brain/ ├── {fileName}.md # Main canvas file ├── {fileName}Nodes/ # Node files directory │ ├── Node_Heading-Text{UUID}.md │ ├── Node_Body-Text_{UUID}.md │ ├── Node_Post-It_{UUID}.md │ ├── Node_Image_{UUID}.md │ ├── Node_Memo_{UUID}.md │ └── Node_Data-Sheet_{UUID}.md ├── {fileName}Connections/ # Connection files directory │ ├── Connection_Arrow{UUID}.md │ └── Connection_Normal_{UUID}.md └── {fileName}Datasheet/ # Datasheet files directory ├── Datasheet{UUID}.csv └── {UUID}.styles.json

Canvas File Format

File: Docs/Brain/{fileName}.md


id: "{UUID-UPPERCASE}" name: "{Human Readable Name}" viewport_offset: { x: 0, y: 0 } zoom_level: 1.0 created_at: "{ISO8601 with Z suffix}" updated_at: "{ISO8601 with Z suffix}"

node_ids:

  • "{node-uuid-1}"

connections:

  • id: "{connection-uuid}" start_node_id: "{node-uuid}" start_point_id: "{point-uuid}" start_point_position: "right" start_target_type: "node" destination_node_id: "{node-uuid}" destination_point_id: "{point-uuid}" destination_point_position: "left" destination_target_type: "node" line_type: "arrow"

groups:

  • id: "{group-uuid}" name: "{Group Name}" color: "#FF6B6B" created_at: "{ISO8601}" updated_at: "{ISO8601}" node_ids:
    • "{node-uuid}"

{Canvas Name}

Node File Format

Directory: Docs/Brain/{fileName}_Nodes/

Node Type File Prefix Key Fields

Heading-Text Node_Heading-Text_

type: "heading-text", title, position

Body-Text Node_Body-Text_

type: "body-text", title, content, position, size

Post-It Node_Post-It_

type: "post-it", title, content, position, size

Image Node_Image_

type: "image", title, image_url, position, size

Memo Node_Memo_

type: "memo", title, content, position, size

Data-Sheet Node_Data-Sheet_

type: "data-sheet", title, datasheet_file, position, size

Node Structure


id: "{UUID}" type: "{node-type}" title: "{Title}" content: "{content}" # if applicable position: { x: -1000, y: -500 } size: { width: 260, height: 130 } # if applicable group_id: "{group-uuid}" # if in group

Connection Points

connection_points:

  • id: "{point-uuid}" position: "top" index: 0
  • id: "{point-uuid}" position: "right" index: 0 connected_to: "{other-point-uuid}" # if connected connection_id: "{connection-uuid}" # if connected
  • id: "{point-uuid}" position: "bottom" index: 0
  • id: "{point-uuid}" position: "left" index: 0

Connections (if any)

connections:

  • connection_id: "{uuid}" point_id: "{point-uuid}" point_position: "right" connected_node_id: "{other-node-uuid}" connected_point_id: "{other-point-uuid}" role: "start" # or "destination" line_type: "arrow" # or "normal"

created_at: "{ISO8601}" updated_at: "{ISO8601}"

{Title}

{Content}

Connection File Format

Directory: Docs/Brain/{fileName}_Connections/


id: "{UUID}" line_type: "arrow" # or "normal"

Start Point

start_node_id: "{node-uuid}" start_point_id: "{point-uuid}" start_point_position: "right"

Destination Point

destination_node_id: "{node-uuid}" destination_point_id: "{point-uuid}" destination_point_position: "left"

created_at: "{ISO8601}" updated_at: "{ISO8601}"

Connection: 화살표

Direction: start → destination

Datasheet Format

Directory: Docs/Brain/{fileName}_Datasheet/

CSV: Row 1 = headers, Row 2 = types (Int, Double, String), Row 3+ = data

Styles JSON: "row_col" format for backgroundColors, formulas, alignments

Group Colors

Color Hex Use Case

Red #FF6B6B

Primary category

Yellow #F7DC6F

Highlights

Green #98D8C8

Completed

Teal #4ECDC4

Secondary

Purple #9B59B6

Special

Blue #5DADE2

References

Positioning Strategy (⚠️ Prevent Node Overlap)

Grid-Based Layout - Use this formula:

Position X = COLUMN × 350 Position Y = ROW × 250

Example for 6 nodes (2 rows × 3 columns):

Row 0 (Headers)

Node 1: position: { x: 0, y: 0 } Node 2: position: { x: 350, y: 0 } Node 3: position: { x: 700, y: 0 }

Row 1 (Content)

Node 4: position: { x: 0, y: 250 } Node 5: position: { x: 350, y: 250 } Node 6: position: { x: 700, y: 250 }

Minimum Spacing: 300px horizontal, 200px vertical

Node Size Reference

Node Type Width Height Note

Heading-Text 200 40

Body-Text 260 130

Post-It 190 140

Image 250 300

Memo 165 40 (minimize) ⚠️ Always use minimum height

Data-Sheet 265 40 (minimize) ⚠️ Always use minimum height

⚠️ Memo & Data-Sheet Height Rule: Memo and Data-Sheet nodes MUST use minimum height (40). These node types auto-expand when opened in Archon app.

Best Practices

  • UUID: UPPERCASE format (e.g., E9991F5F-C691-4042-827B-8D76BDF2A5A3 )

  • Timestamp: ISO8601 with Z suffix (e.g., 2025-12-15T07:28:18Z )

  • Max 50 nodes per canvas

  • Each node has 4 connection points (top, right, bottom, left)

When to Invoke (AUTOMATIC)

⚠️ This skill MUST be invoked automatically when:

  • ANY file operation in Docs/Brain/ directory

  • User mentions "Brain", "canvas", "nodes", "캔버스", "브레인"

  • Creating visual research output

  • Organizing aesthetic references

  • Any task that requires structured information visualization

Trigger Phrases:

  • "Create a Brain canvas for {topic}"

  • "Organize {info} in Brain"

  • "Add nodes to Brain canvas"

  • "Brain-organize {research results}"

Integration with Aesthetic Skills

Aesthetic Skill Brain Output

aesthetic-cultural-research

Image nodes + Memo nodes (analysis)

aesthetic-critic-historian

Memo nodes (critical notes)

aesthetic-form-composition

Memo nodes (composition rules)

aesthetic-motion-temporal

Memo nodes (motion bible)

aesthetic-pattern-miner

Data-Sheet nodes (pattern library)

🚨 FINAL REMINDER: 3 BLOCKING RULES

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ RULE #1: fileName MUST match folder names ┃ ┃ RULE #2: Nodes MUST use grid positions (X=COL×350, Y=ROW×250)┃ ┃ RULE #3: MUST print validation checklist after completion ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

VIOLATION = BROKEN CANVAS (0 nodes, overlapping nodes, unusable)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

refactor-dedupe-and-cleanup

No summary provided by upstream source.

Repository SourceNeeds Review
General

aesthetic-pattern-miner

No summary provided by upstream source.

Repository SourceNeeds Review
General

brand-guidelines-enforcer

No summary provided by upstream source.

Repository SourceNeeds Review
General

ux-information-architecture

No summary provided by upstream source.

Repository SourceNeeds Review