mindforge-cc 11.5.1 → 11.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/.agent/mindforge/skill-tdd.md +53 -0
  2. package/.agent/mindforge/skills-index.md +118 -0
  3. package/.agent/mindforge/systematic-debug.md +60 -0
  4. package/.agent/mindforge/wf-catalog.md +37 -0
  5. package/.agent/mindforge/wf-code-audit.md +31 -0
  6. package/.agent/mindforge/wf-competitive-analysis.md +31 -0
  7. package/.agent/mindforge/wf-deep-research.md +32 -0
  8. package/.agent/mindforge/wf-feature-planner.md +31 -0
  9. package/.agent/mindforge/wf-incident-response.md +31 -0
  10. package/.agent/mindforge/wf-onboard-codebase.md +31 -0
  11. package/.agent/mindforge/wf-perf-optimize.md +31 -0
  12. package/.agent/mindforge/wf-pr-review.md +31 -0
  13. package/.agent/mindforge/wf-refactor-plan.md +31 -0
  14. package/.agent/mindforge/wf-release-prep.md +31 -0
  15. package/.agent/mindforge/wf-tdd-sprint.md +31 -0
  16. package/.agent/mindforge/wf-tech-evaluation.md +31 -0
  17. package/.agent/skills/1password-skill/SKILL.md +156 -0
  18. package/.agent/skills/1password-skill/references/cli-examples.md +31 -0
  19. package/.agent/skills/1password-skill/references/get-started.md +21 -0
  20. package/.agent/skills/article-illustrator/SKILL.md +199 -0
  21. package/.agent/skills/article-illustrator/references/prompt-construction.md +426 -0
  22. package/.agent/skills/article-illustrator/references/style-presets.md +80 -0
  23. package/.agent/skills/article-illustrator/references/styles.md +224 -0
  24. package/.agent/skills/article-illustrator/references/usage.md +50 -0
  25. package/.agent/skills/article-illustrator/references/workflow.md +332 -0
  26. package/.agent/skills/arxiv/SKILL.md +275 -0
  27. package/.agent/skills/blogwatcher/SKILL.md +130 -0
  28. package/.agent/skills/code-wiki/SKILL.md +438 -0
  29. package/.agent/skills/code-wiki/templates/README.md +31 -0
  30. package/.agent/skills/code-wiki/templates/architecture.md +30 -0
  31. package/.agent/skills/code-wiki/templates/getting-started.md +47 -0
  32. package/.agent/skills/code-wiki/templates/module.md +38 -0
  33. package/.agent/skills/codebase-inspection/SKILL.md +109 -0
  34. package/.agent/skills/comic-creator/SKILL.md +240 -0
  35. package/.agent/skills/comic-creator/references/analysis-framework.md +176 -0
  36. package/.agent/skills/comic-creator/references/auto-selection.md +71 -0
  37. package/.agent/skills/comic-creator/references/base-prompt.md +98 -0
  38. package/.agent/skills/comic-creator/references/character-template.md +180 -0
  39. package/.agent/skills/comic-creator/references/ohmsha-guide.md +85 -0
  40. package/.agent/skills/comic-creator/references/partial-workflows.md +106 -0
  41. package/.agent/skills/comic-creator/references/storyboard-template.md +143 -0
  42. package/.agent/skills/comic-creator/references/workflow.md +401 -0
  43. package/.agent/skills/concept-diagrams/SKILL.md +355 -0
  44. package/.agent/skills/concept-diagrams/references/dashboard-patterns.md +43 -0
  45. package/.agent/skills/concept-diagrams/references/infrastructure-patterns.md +144 -0
  46. package/.agent/skills/concept-diagrams/references/physical-shape-cookbook.md +42 -0
  47. package/.agent/skills/creative-ideation/SKILL.md +144 -0
  48. package/.agent/skills/creative-ideation/references/full-prompt-library.md +110 -0
  49. package/.agent/skills/devops-cli/SKILL.md +149 -0
  50. package/.agent/skills/devops-cli/references/app-discovery.md +112 -0
  51. package/.agent/skills/devops-cli/references/authentication.md +59 -0
  52. package/.agent/skills/devops-cli/references/cli-reference.md +104 -0
  53. package/.agent/skills/devops-cli/references/running-apps.md +171 -0
  54. package/.agent/skills/devops-watchers/SKILL.md +103 -0
  55. package/.agent/skills/docker-management/SKILL.md +273 -0
  56. package/.agent/skills/domain-intel/SKILL.md +96 -0
  57. package/.agent/skills/duckduckgo-search/SKILL.md +230 -0
  58. package/.agent/skills/github-auth/SKILL.md +240 -0
  59. package/.agent/skills/github-code-review/SKILL.md +474 -0
  60. package/.agent/skills/github-code-review/references/review-output-template.md +74 -0
  61. package/.agent/skills/github-issues/SKILL.md +363 -0
  62. package/.agent/skills/github-issues/templates/bug-report.md +35 -0
  63. package/.agent/skills/github-issues/templates/feature-request.md +31 -0
  64. package/.agent/skills/github-pr-workflow/SKILL.md +360 -0
  65. package/.agent/skills/github-pr-workflow/references/ci-troubleshooting.md +183 -0
  66. package/.agent/skills/github-pr-workflow/references/conventional-commits.md +71 -0
  67. package/.agent/skills/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
  68. package/.agent/skills/github-pr-workflow/templates/pr-body-feature.md +33 -0
  69. package/.agent/skills/github-repo-management/SKILL.md +509 -0
  70. package/.agent/skills/github-repo-management/references/github-api-cheatsheet.md +161 -0
  71. package/.agent/skills/godmode/SKILL.md +396 -0
  72. package/.agent/skills/godmode/references/jailbreak-templates.md +128 -0
  73. package/.agent/skills/godmode/references/refusal-detection.md +142 -0
  74. package/.agent/skills/hyperframes/SKILL.md +182 -0
  75. package/.agent/skills/hyperframes/references/cli.md +185 -0
  76. package/.agent/skills/hyperframes/references/composition.md +129 -0
  77. package/.agent/skills/hyperframes/references/features.md +289 -0
  78. package/.agent/skills/hyperframes/references/gsap.md +136 -0
  79. package/.agent/skills/hyperframes/references/troubleshooting.md +137 -0
  80. package/.agent/skills/hyperframes/references/website-to-video.md +145 -0
  81. package/.agent/skills/jupyter-live-kernel/SKILL.md +160 -0
  82. package/.agent/skills/kanban-orchestrator/SKILL.md +209 -0
  83. package/.agent/skills/kanban-worker/SKILL.md +188 -0
  84. package/.agent/skills/llm-wiki/SKILL.md +499 -0
  85. package/.agent/skills/meme-generation/SKILL.md +122 -0
  86. package/.agent/skills/node-inspect-debugger/SKILL.md +312 -0
  87. package/.agent/skills/obsidian/SKILL.md +60 -0
  88. package/.agent/skills/osint-investigation/SKILL.md +269 -0
  89. package/.agent/skills/osint-investigation/templates/source-template.md +59 -0
  90. package/.agent/skills/oss-forensics/SKILL.md +422 -0
  91. package/.agent/skills/oss-forensics/references/evidence-types.md +89 -0
  92. package/.agent/skills/oss-forensics/references/github-archive-guide.md +184 -0
  93. package/.agent/skills/oss-forensics/references/investigation-templates.md +131 -0
  94. package/.agent/skills/oss-forensics/references/recovery-techniques.md +164 -0
  95. package/.agent/skills/oss-forensics/templates/forensic-report.md +151 -0
  96. package/.agent/skills/oss-forensics/templates/malicious-package-report.md +43 -0
  97. package/.agent/skills/parallel-cli/SKILL.md +384 -0
  98. package/.agent/skills/pinggy-tunnel/SKILL.md +302 -0
  99. package/.agent/skills/pixel-art/SKILL.md +209 -0
  100. package/.agent/skills/pixel-art/references/palettes.md +49 -0
  101. package/.agent/skills/plan/SKILL.md +331 -0
  102. package/.agent/skills/polymarket/SKILL.md +75 -0
  103. package/.agent/skills/polymarket/references/api-endpoints.md +220 -0
  104. package/.agent/skills/python-debugpy/SKILL.md +368 -0
  105. package/.agent/skills/requesting-code-review/SKILL.md +273 -0
  106. package/.agent/skills/research-paper-writing/SKILL.md +2367 -0
  107. package/.agent/skills/research-paper-writing/references/autoreason-methodology.md +394 -0
  108. package/.agent/skills/research-paper-writing/references/checklists.md +434 -0
  109. package/.agent/skills/research-paper-writing/references/citation-workflow.md +563 -0
  110. package/.agent/skills/research-paper-writing/references/experiment-patterns.md +728 -0
  111. package/.agent/skills/research-paper-writing/references/human-evaluation.md +476 -0
  112. package/.agent/skills/research-paper-writing/references/paper-types.md +481 -0
  113. package/.agent/skills/research-paper-writing/references/reviewer-guidelines.md +433 -0
  114. package/.agent/skills/research-paper-writing/references/sources.md +191 -0
  115. package/.agent/skills/research-paper-writing/references/writing-guide.md +474 -0
  116. package/.agent/skills/research-paper-writing/templates/README.md +251 -0
  117. package/.agent/skills/rest-graphql-debug/SKILL.md +507 -0
  118. package/.agent/skills/s6-container-supervision/SKILL.md +171 -0
  119. package/.agent/skills/scrapling/SKILL.md +328 -0
  120. package/.agent/skills/sherlock/SKILL.md +186 -0
  121. package/.agent/skills/simplify-code/SKILL.md +168 -0
  122. package/.agent/skills/skill-authoring/SKILL.md +158 -0
  123. package/.agent/skills/spike/SKILL.md +190 -0
  124. package/.agent/skills/subagent-driven-development/SKILL.md +345 -0
  125. package/.agent/skills/subagent-driven-development/references/context-budget-discipline.md +53 -0
  126. package/.agent/skills/subagent-driven-development/references/gates-taxonomy.md +93 -0
  127. package/.agent/skills/systematic-debugging/SKILL.md +360 -0
  128. package/.agent/skills/test-driven-development/SKILL.md +336 -0
  129. package/.agent/skills/video-orchestrator/SKILL.md +194 -0
  130. package/.agent/skills/video-orchestrator/references/examples.md +227 -0
  131. package/.agent/skills/video-orchestrator/references/intake.md +166 -0
  132. package/.agent/skills/video-orchestrator/references/kanban-setup.md +278 -0
  133. package/.agent/skills/video-orchestrator/references/monitoring.md +180 -0
  134. package/.agent/skills/video-orchestrator/references/role-archetypes.md +298 -0
  135. package/.agent/skills/video-orchestrator/references/tool-matrix.md +317 -0
  136. package/.agent/skills/web-pentest/SKILL.md +332 -0
  137. package/.agent/skills/web-pentest/references/bypass-techniques.md +133 -0
  138. package/.agent/skills/web-pentest/references/exploitation-techniques.md +204 -0
  139. package/.agent/skills/web-pentest/references/scope-enforcement.md +110 -0
  140. package/.agent/skills/web-pentest/references/vuln-taxonomy.md +81 -0
  141. package/.agent/skills/web-pentest/templates/authorization.md +69 -0
  142. package/.agent/skills/web-pentest/templates/pentest-report.md +178 -0
  143. package/.claude/commands/mindforge/skill-tdd.md +53 -0
  144. package/.claude/commands/mindforge/skills-index.md +118 -0
  145. package/.claude/commands/mindforge/systematic-debug.md +60 -0
  146. package/.claude/commands/mindforge/wf-catalog.md +37 -0
  147. package/.claude/commands/mindforge/wf-code-audit.md +31 -0
  148. package/.claude/commands/mindforge/wf-competitive-analysis.md +31 -0
  149. package/.claude/commands/mindforge/wf-deep-research.md +32 -0
  150. package/.claude/commands/mindforge/wf-feature-planner.md +31 -0
  151. package/.claude/commands/mindforge/wf-incident-response.md +31 -0
  152. package/.claude/commands/mindforge/wf-onboard-codebase.md +31 -0
  153. package/.claude/commands/mindforge/wf-perf-optimize.md +31 -0
  154. package/.claude/commands/mindforge/wf-pr-review.md +31 -0
  155. package/.claude/commands/mindforge/wf-refactor-plan.md +31 -0
  156. package/.claude/commands/mindforge/wf-release-prep.md +31 -0
  157. package/.claude/commands/mindforge/wf-tdd-sprint.md +31 -0
  158. package/.claude/commands/mindforge/wf-tech-evaluation.md +31 -0
  159. package/.mindforge/config.json +2 -2
  160. package/.mindforge/dynamic-workflows/REGISTRY.md +65 -0
  161. package/.mindforge/dynamic-workflows/index.json +171 -0
  162. package/.mindforge/dynamic-workflows/scripts/code-audit.js +103 -0
  163. package/.mindforge/dynamic-workflows/scripts/competitive-analysis.js +85 -0
  164. package/.mindforge/dynamic-workflows/scripts/deep-research.js +151 -0
  165. package/.mindforge/dynamic-workflows/scripts/feature-planner.js +104 -0
  166. package/.mindforge/dynamic-workflows/scripts/incident-response.js +106 -0
  167. package/.mindforge/dynamic-workflows/scripts/onboard-codebase.js +102 -0
  168. package/.mindforge/dynamic-workflows/scripts/perf-optimize.js +128 -0
  169. package/.mindforge/dynamic-workflows/scripts/pr-review.js +87 -0
  170. package/.mindforge/dynamic-workflows/scripts/refactor-plan.js +121 -0
  171. package/.mindforge/dynamic-workflows/scripts/release-prep.js +102 -0
  172. package/.mindforge/dynamic-workflows/scripts/tdd-sprint.js +103 -0
  173. package/.mindforge/dynamic-workflows/scripts/tech-evaluation.js +72 -0
  174. package/.mindforge/memory/sync-manifest.json +1 -1
  175. package/.mindforge/skills/arxiv/SKILL.md +294 -0
  176. package/.mindforge/skills/blogwatcher/SKILL.md +147 -0
  177. package/.mindforge/skills/code-wiki/SKILL.md +457 -0
  178. package/.mindforge/skills/codebase-inspection/SKILL.md +126 -0
  179. package/.mindforge/skills/concept-diagrams/SKILL.md +373 -0
  180. package/.mindforge/skills/creative-ideation/SKILL.md +162 -0
  181. package/.mindforge/skills/domain-intel/SKILL.md +116 -0
  182. package/.mindforge/skills/duckduckgo-search/SKILL.md +249 -0
  183. package/.mindforge/skills/github-code-review/SKILL.md +493 -0
  184. package/.mindforge/skills/github-issues/SKILL.md +382 -0
  185. package/.mindforge/skills/github-pr-workflow/SKILL.md +379 -0
  186. package/.mindforge/skills/jupyter-live-kernel/SKILL.md +179 -0
  187. package/.mindforge/skills/kanban-orchestrator/SKILL.md +227 -0
  188. package/.mindforge/skills/kanban-worker/SKILL.md +206 -0
  189. package/.mindforge/skills/meme-generation/SKILL.md +141 -0
  190. package/.mindforge/skills/obsidian/SKILL.md +80 -0
  191. package/.mindforge/skills/osint-investigation/SKILL.md +288 -0
  192. package/.mindforge/skills/oss-forensics/SKILL.md +421 -0
  193. package/.mindforge/skills/pixel-art/SKILL.md +228 -0
  194. package/.mindforge/skills/plan/SKILL.md +350 -0
  195. package/.mindforge/skills/requesting-code-review/SKILL.md +292 -0
  196. package/.mindforge/skills/research-paper-writing/SKILL.md +2384 -0
  197. package/.mindforge/skills/scrapling/SKILL.md +345 -0
  198. package/.mindforge/skills/sherlock/SKILL.md +203 -0
  199. package/.mindforge/skills/simplify-code/SKILL.md +187 -0
  200. package/.mindforge/skills/spike/SKILL.md +209 -0
  201. package/.mindforge/skills/subagent-driven-development/SKILL.md +364 -0
  202. package/.mindforge/skills/systematic-debugging/SKILL.md +379 -0
  203. package/.mindforge/skills/test-driven-development/SKILL.md +355 -0
  204. package/.mindforge/skills/web-pentest/SKILL.md +327 -0
  205. package/CHANGELOG.md +71 -0
  206. package/MINDFORGE.md +2 -2
  207. package/README.md +72 -3
  208. package/RELEASENOTES.md +109 -0
  209. package/bin/installer-core.js +6 -2
  210. package/bin/mindforge-cli.js +7 -0
  211. package/bin/workflows/workflow-runner.js +110 -0
  212. package/docs/commands-reference.md +25 -0
  213. package/docs/getting-started.md +42 -5
  214. package/package.json +2 -1
@@ -0,0 +1,373 @@
1
+ ---
2
+ name: concept-diagrams
3
+ description: "Generate flat, minimal light/dark-aware SVG diagrams as standalone HTML files, using a unified educational visual language with 9 semantic color ramps, sentence-case typography, and automatic dark mode. Best suited for educational and non-software visuals — physics setups, chemistry mechanisms, math curves, physical objects (aircraft, turbines, smartphones, mechanical watches), anatomy, floor plans, cross-sections, narrative journeys (lifecycle of X, process of Y), hub-spoke system integrations (smart city, IoT), and exploded layer views. If a more specialized skill exists for the subject (dedicated software/cloud architecture, hand-drawn sketches, animated explainers, etc.), prefer that — otherwise this skill can also serve as a general-purpose SVG diagram fallback with a clean educational look. Ships with 15 example diagrams."
4
+ version: 0.1.0
5
+ status: stable
6
+ min_mindforge_version: 11.5.1
7
+ triggers: concept diagram, educational diagram, SVG diagram, visual explanation, create diagram, draw diagram, make a diagram, svg visual, flat diagram, educational visual, diagram generation, visual concept
8
+ ---
9
+
10
+ # Concept Diagrams
11
+
12
+ Generate production-quality SVG diagrams with a unified flat, minimal design system. Output is a single self-contained HTML file that renders identically in any modern browser, with automatic light/dark mode.
13
+
14
+ ## Scope
15
+
16
+ **Best suited for:**
17
+ - Physics setups, chemistry mechanisms, math curves, biology
18
+ - Physical objects (aircraft, turbines, smartphones, mechanical watches, cells)
19
+ - Anatomy, cross-sections, exploded layer views
20
+ - Floor plans, architectural conversions
21
+ - Narrative journeys (lifecycle of X, process of Y)
22
+ - Hub-spoke system integrations (smart city, IoT networks, electricity grids)
23
+ - Educational / textbook-style visuals in any domain
24
+ - Quantitative charts (grouped bars, energy profiles)
25
+
26
+ **Look elsewhere first for:**
27
+ - Dedicated software / cloud infrastructure architecture with a dark tech aesthetic (consider `architecture-diagram` if available)
28
+ - Hand-drawn whiteboard sketches (consider `excalidraw` if available)
29
+ - Animated explainers or video output (consider an animation skill)
30
+
31
+ If a more specialized skill is available for the subject, prefer that. If none fits, this skill can serve as a general-purpose SVG diagram fallback — the output will carry the clean educational aesthetic described below, which is a reasonable default for almost any subject.
32
+
33
+ ## Workflow
34
+
35
+ 1. Decide on the diagram type (see Diagram Types below).
36
+ 2. Lay out components using the Design System rules.
37
+ 3. Write the full HTML page using `templates/template.html` as the wrapper — paste your SVG where the template says `<!-- PASTE SVG HERE -->`.
38
+ 4. Save as a standalone `.html` file (for example `~/my-diagram.html` or `./my-diagram.html`).
39
+ 5. User opens it directly in a browser — no server, no dependencies.
40
+
41
+ Optional: if the user wants a browsable gallery of multiple diagrams, see "Local Preview Server" at the bottom.
42
+
43
+ Load the HTML template:
44
+ ```
45
+ skill_view(name="concept-diagrams", file_path="templates/template.html")
46
+ ```
47
+
48
+ The template embeds the full CSS design system (`c-*` color classes, text classes, light/dark variables, arrow marker styles). The SVG you generate relies on these classes being present on the hosting page.
49
+
50
+ ---
51
+
52
+ ## Design System
53
+
54
+ ### Philosophy
55
+
56
+ - **Flat**: no gradients, drop shadows, blur, glow, or neon effects.
57
+ - **Minimal**: show the essential. No decorative icons inside boxes.
58
+ - **Consistent**: same colors, spacing, typography, and stroke widths across every diagram.
59
+ - **Dark-mode ready**: all colors auto-adapt via CSS classes — no per-mode SVG.
60
+
61
+ ### Color Palette
62
+
63
+ 9 color ramps, each with 7 stops. Put the class name on a `<g>` or shape element; the template CSS handles both modes.
64
+
65
+ | Class | 50 (lightest) | 100 | 200 | 400 | 600 | 800 | 900 (darkest) |
66
+ |------------|---------------|---------|---------|---------|---------|---------|---------------|
67
+ | `c-purple` | #EEEDFE | #CECBF6 | #AFA9EC | #7F77DD | #534AB7 | #3C3489 | #26215C |
68
+ | `c-teal` | #E1F5EE | #9FE1CB | #5DCAA5 | #1D9E75 | #0F6E56 | #085041 | #04342C |
69
+ | `c-coral` | #FAECE7 | #F5C4B3 | #F0997B | #D85A30 | #993C1D | #712B13 | #4A1B0C |
70
+ | `c-pink` | #FBEAF0 | #F4C0D1 | #ED93B1 | #D4537E | #993556 | #72243E | #4B1528 |
71
+ | `c-gray` | #F1EFE8 | #D3D1C7 | #B4B2A9 | #888780 | #5F5E5A | #444441 | #2C2C2A |
72
+ | `c-blue` | #E6F1FB | #B5D4F4 | #85B7EB | #378ADD | #185FA5 | #0C447C | #042C53 |
73
+ | `c-green` | #EAF3DE | #C0DD97 | #97C459 | #639922 | #3B6D11 | #27500A | #173404 |
74
+ | `c-amber` | #FAEEDA | #FAC775 | #EF9F27 | #BA7517 | #854F0B | #633806 | #412402 |
75
+ | `c-red` | #FCEBEB | #F7C1C1 | #F09595 | #E24B4A | #A32D2D | #791F1F | #501313 |
76
+
77
+ #### Color Assignment Rules
78
+
79
+ Color encodes **meaning**, not sequence. Never cycle through colors like a rainbow.
80
+
81
+ - Group nodes by **category** — all nodes of the same type share one color.
82
+ - Use `c-gray` for neutral/structural nodes (start, end, generic steps, users).
83
+ - Use **2-3 colors per diagram**, not 6+.
84
+ - Prefer `c-purple`, `c-teal`, `c-coral`, `c-pink` for general categories.
85
+ - Reserve `c-blue`, `c-green`, `c-amber`, `c-red` for semantic meaning (info, success, warning, error).
86
+
87
+ Light/dark stop mapping (handled by the template CSS — just use the class):
88
+ - Light mode: 50 fill + 600 stroke + 800 title / 600 subtitle
89
+ - Dark mode: 800 fill + 200 stroke + 100 title / 200 subtitle
90
+
91
+ ### Typography
92
+
93
+ Only two font sizes. No exceptions.
94
+
95
+ | Class | Size | Weight | Use |
96
+ |-------|------|--------|-----|
97
+ | `th` | 14px | 500 | Node titles, region labels |
98
+ | `ts` | 12px | 400 | Subtitles, descriptions, arrow labels |
99
+ | `t` | 14px | 400 | General text |
100
+
101
+ - **Sentence case always.** Never Title Case, never ALL CAPS.
102
+ - Every `<text>` MUST carry a class (`t`, `ts`, or `th`). No unclassed text.
103
+ - `dominant-baseline="central"` on all text inside boxes.
104
+ - `text-anchor="middle"` for centered text in boxes.
105
+
106
+ **Width estimation (approx):**
107
+ - 14px weight 500: ~8px per character
108
+ - 12px weight 400: ~6.5px per character
109
+ - Always verify: `box_width >= (char_count × px_per_char) + 48` (24px padding each side)
110
+
111
+ ### Spacing & Layout
112
+
113
+ - **ViewBox**: `viewBox="0 0 680 H"` where H = content height + 40px buffer.
114
+ - **Safe area**: x=40 to x=640, y=40 to y=(H-40).
115
+ - **Between boxes**: 60px minimum gap.
116
+ - **Inside boxes**: 24px horizontal padding, 12px vertical padding.
117
+ - **Arrowhead gap**: 10px between arrowhead and box edge.
118
+ - **Single-line box**: 44px height.
119
+ - **Two-line box**: 56px height, 18px between title and subtitle baselines.
120
+ - **Container padding**: 20px minimum inside every container.
121
+ - **Max nesting**: 2-3 levels deep. Deeper gets unreadable at 680px width.
122
+
123
+ ### Stroke & Shape
124
+
125
+ - **Stroke width**: 0.5px on all node borders. Not 1px, not 2px.
126
+ - **Rect rounding**: `rx="8"` for nodes, `rx="12"` for inner containers, `rx="16"` to `rx="20"` for outer containers.
127
+ - **Connector paths**: MUST have `fill="none"`. SVG defaults to `fill: black` otherwise.
128
+
129
+ ### Arrow Marker
130
+
131
+ Include this `<defs>` block at the start of **every** SVG:
132
+
133
+ ```xml
134
+ <defs>
135
+ <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5"
136
+ markerWidth="6" markerHeight="6" orient="auto-start-reverse">
137
+ <path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke"
138
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
139
+ </marker>
140
+ </defs>
141
+ ```
142
+
143
+ Use `marker-end="url(#arrow)"` on lines. The arrowhead inherits the line color via `context-stroke`.
144
+
145
+ ### CSS Classes (Provided by the Template)
146
+
147
+ The template page provides:
148
+
149
+ - Text: `.t`, `.ts`, `.th`
150
+ - Neutral: `.box`, `.arr`, `.leader`, `.node`
151
+ - Color ramps: `.c-purple`, `.c-teal`, `.c-coral`, `.c-pink`, `.c-gray`, `.c-blue`, `.c-green`, `.c-amber`, `.c-red` (all with automatic light/dark mode)
152
+
153
+ You do **not** need to redefine these — just apply them in your SVG. The template file contains the full CSS definitions.
154
+
155
+ ---
156
+
157
+ ## SVG Boilerplate
158
+
159
+ Every SVG inside the template page starts with this exact structure:
160
+
161
+ ```xml
162
+ <svg width="100%" viewBox="0 0 680 {HEIGHT}" xmlns="http://www.w3.org/2000/svg">
163
+ <defs>
164
+ <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5"
165
+ markerWidth="6" markerHeight="6" orient="auto-start-reverse">
166
+ <path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke"
167
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
168
+ </marker>
169
+ </defs>
170
+
171
+ <!-- Diagram content here -->
172
+
173
+ </svg>
174
+ ```
175
+
176
+ Replace `{HEIGHT}` with the actual computed height (last element bottom + 40px).
177
+
178
+ ### Node Patterns
179
+
180
+ **Single-line node (44px):**
181
+ ```xml
182
+ <g class="node c-blue">
183
+ <rect x="100" y="20" width="180" height="44" rx="8" stroke-width="0.5"/>
184
+ <text class="th" x="190" y="42" text-anchor="middle" dominant-baseline="central">Service name</text>
185
+ </g>
186
+ ```
187
+
188
+ **Two-line node (56px):**
189
+ ```xml
190
+ <g class="node c-teal">
191
+ <rect x="100" y="20" width="200" height="56" rx="8" stroke-width="0.5"/>
192
+ <text class="th" x="200" y="38" text-anchor="middle" dominant-baseline="central">Service name</text>
193
+ <text class="ts" x="200" y="56" text-anchor="middle" dominant-baseline="central">Short description</text>
194
+ </g>
195
+ ```
196
+
197
+ **Connector (no label):**
198
+ ```xml
199
+ <line x1="200" y1="76" x2="200" y2="120" class="arr" marker-end="url(#arrow)"/>
200
+ ```
201
+
202
+ **Container (dashed or solid):**
203
+ ```xml
204
+ <g class="c-purple">
205
+ <rect x="40" y="92" width="600" height="300" rx="16" stroke-width="0.5"/>
206
+ <text class="th" x="66" y="116">Container label</text>
207
+ <text class="ts" x="66" y="134">Subtitle info</text>
208
+ </g>
209
+ ```
210
+
211
+ ---
212
+
213
+ ## Diagram Types
214
+
215
+ Choose the layout that fits the subject:
216
+
217
+ 1. **Flowchart** — CI/CD pipelines, request lifecycles, approval workflows, data processing. Single-direction flow (top-down or left-right). Max 4-5 nodes per row.
218
+ 2. **Structural / Containment** — Cloud infrastructure nesting, system architecture with layers. Large outer containers with inner regions. Dashed rects for logical groupings.
219
+ 3. **API / Endpoint Map** — REST routes, GraphQL schemas. Tree from root, branching to resource groups, each containing endpoint nodes.
220
+ 4. **Microservice Topology** — Service mesh, event-driven systems. Services as nodes, arrows for communication patterns, message queues between.
221
+ 5. **Data Flow** — ETL pipelines, streaming architectures. Left-to-right flow from sources through processing to sinks.
222
+ 6. **Physical / Structural** — Vehicles, buildings, hardware, anatomy. Use shapes that match the physical form — `<path>` for curved bodies, `<polygon>` for tapered shapes, `<ellipse>`/`<circle>` for cylindrical parts, nested `<rect>` for compartments. See `references/physical-shape-cookbook.md`.
223
+ 7. **Infrastructure / Systems Integration** — Smart cities, IoT networks, multi-domain systems. Hub-spoke layout with central platform connecting subsystems. Semantic line styles (`.data-line`, `.power-line`, `.water-pipe`, `.road`). See `references/infrastructure-patterns.md`.
224
+ 8. **UI / Dashboard Mockups** — Admin panels, monitoring dashboards. Screen frame with nested chart/gauge/indicator elements. See `references/dashboard-patterns.md`.
225
+
226
+ For physical, infrastructure, and dashboard diagrams, load the matching reference file before generating — each one provides ready-made CSS classes and shape primitives.
227
+
228
+ ---
229
+
230
+ ## Validation Checklist
231
+
232
+ Before finalizing any SVG, verify ALL of the following:
233
+
234
+ 1. Every `<text>` has class `t`, `ts`, or `th`.
235
+ 2. Every `<text>` inside a box has `dominant-baseline="central"`.
236
+ 3. Every connector `<path>` or `<line>` used as arrow has `fill="none"`.
237
+ 4. No arrow line crosses through an unrelated box.
238
+ 5. `box_width >= (longest_label_chars × 8) + 48` for 14px text.
239
+ 6. `box_width >= (longest_label_chars × 6.5) + 48` for 12px text.
240
+ 7. ViewBox height = bottom-most element + 40px.
241
+ 8. All content stays within x=40 to x=640.
242
+ 9. Color classes (`c-*`) are on `<g>` or shape elements, never on `<path>` connectors.
243
+ 10. Arrow `<defs>` block is present.
244
+ 11. No gradients, shadows, blur, or glow effects.
245
+ 12. Stroke width is 0.5px on all node borders.
246
+
247
+ ---
248
+
249
+ ## Output & Preview
250
+
251
+ ### Default: standalone HTML file
252
+
253
+ Write a single `.html` file the user can open directly. No server, no dependencies, works offline. Pattern:
254
+
255
+ ```python
256
+ # 1. Load the template
257
+ template = skill_view("concept-diagrams", "templates/template.html")
258
+
259
+ # 2. Fill in title, subtitle, and paste your SVG
260
+ html = template.replace(
261
+ "<!-- DIAGRAM TITLE HERE -->", "SN2 reaction mechanism"
262
+ ).replace(
263
+ "<!-- OPTIONAL SUBTITLE HERE -->", "Bimolecular nucleophilic substitution"
264
+ ).replace(
265
+ "<!-- PASTE SVG HERE -->", svg_content
266
+ )
267
+
268
+ # 3. Write to a user-chosen path (or ./ by default)
269
+ write_file("./sn2-mechanism.html", html)
270
+ ```
271
+
272
+ Tell the user how to open it:
273
+
274
+ ```
275
+ # macOS
276
+ open ./sn2-mechanism.html
277
+ # Linux
278
+ xdg-open ./sn2-mechanism.html
279
+ ```
280
+
281
+ ### Optional: local preview server (multi-diagram gallery)
282
+
283
+ Only use this when the user explicitly wants a browsable gallery of multiple diagrams.
284
+
285
+ **Rules:**
286
+ - Bind to `127.0.0.1` only. Never `0.0.0.0`. Exposing diagrams on all network interfaces is a security hazard on shared networks.
287
+ - Pick a free port (do NOT hard-code one) and tell the user the chosen URL.
288
+ - The server is optional and opt-in — prefer the standalone HTML file first.
289
+
290
+ Recommended pattern (lets the OS pick a free ephemeral port):
291
+
292
+ ```bash
293
+ # Put each diagram in its own folder under .diagrams/
294
+ mkdir -p .diagrams/sn2-mechanism
295
+ # ...write .diagrams/sn2-mechanism/index.html...
296
+
297
+ # Serve on loopback only, free port
298
+ cd .diagrams && python3 -c "
299
+ import http.server, socketserver
300
+ with socketserver.TCPServer(('127.0.0.1', 0), http.server.SimpleHTTPRequestHandler) as s:
301
+ print(f'Serving at http://127.0.0.1:{s.server_address[1]}/')
302
+ s.serve_forever()
303
+ " &
304
+ ```
305
+
306
+ If the user insists on a fixed port, use `127.0.0.1:<port>` — still never `0.0.0.0`. Document how to stop the server (`kill %1` or `pkill -f "http.server"`).
307
+
308
+ ---
309
+
310
+ ## Examples Reference
311
+
312
+ The `examples/` directory ships 15 complete, tested diagrams. Browse them for working patterns before writing a new diagram of a similar type:
313
+
314
+ | File | Type | Demonstrates |
315
+ |------|------|--------------|
316
+ | `hospital-emergency-department-flow.md` | Flowchart | Priority routing with semantic colors |
317
+ | `feature-film-production-pipeline.md` | Flowchart | Phased workflow, horizontal sub-flows |
318
+ | `automated-password-reset-flow.md` | Flowchart | Auth flow with error branches |
319
+ | `autonomous-llm-research-agent-flow.md` | Flowchart | Loop-back arrows, decision branches |
320
+ | `place-order-uml-sequence.md` | Sequence | UML sequence diagram style |
321
+ | `commercial-aircraft-structure.md` | Physical | Paths, polygons, ellipses for realistic shapes |
322
+ | `wind-turbine-structure.md` | Physical cross-section | Underground/above-ground separation, color coding |
323
+ | `smartphone-layer-anatomy.md` | Exploded view | Alternating left/right labels, layered components |
324
+ | `apartment-floor-plan-conversion.md` | Floor plan | Walls, doors, proposed changes in dotted red |
325
+ | `banana-journey-tree-to-smoothie.md` | Narrative journey | Winding path, progressive state changes |
326
+ | `cpu-ooo-microarchitecture.md` | Hardware pipeline | Fan-out, memory hierarchy sidebar |
327
+ | `sn2-reaction-mechanism.md` | Chemistry | Molecules, curved arrows, energy profile |
328
+ | `smart-city-infrastructure.md` | Hub-spoke | Semantic line styles per system |
329
+ | `electricity-grid-flow.md` | Multi-stage flow | Voltage hierarchy, flow markers |
330
+ | `ml-benchmark-grouped-bar-chart.md` | Chart | Grouped bars, dual axis |
331
+
332
+ Load any example with:
333
+ ```
334
+ skill_view(name="concept-diagrams", file_path="examples/<filename>")
335
+ ```
336
+
337
+ ---
338
+
339
+ ## Quick Reference: What to Use When
340
+
341
+ | User says | Diagram type | Suggested colors |
342
+ |-----------|--------------|------------------|
343
+ | "show the pipeline" | Flowchart | gray start/end, purple steps, red errors, teal deploy |
344
+ | "draw the data flow" | Data pipeline (left-right) | gray sources, purple processing, teal sinks |
345
+ | "visualize the system" | Structural (containment) | purple container, teal services, coral data |
346
+ | "map the endpoints" | API tree | purple root, one ramp per resource group |
347
+ | "show the services" | Microservice topology | gray ingress, teal services, purple bus, coral workers |
348
+ | "draw the aircraft/vehicle" | Physical | paths, polygons, ellipses for realistic shapes |
349
+ | "smart city / IoT" | Hub-spoke integration | semantic line styles per subsystem |
350
+ | "show the dashboard" | UI mockup | dark screen, chart colors: teal, purple, coral for alerts |
351
+ | "power grid / electricity" | Multi-stage flow | voltage hierarchy (HV/MV/LV line weights) |
352
+ | "wind turbine / turbine" | Physical cross-section | foundation + tower cutaway + nacelle color-coded |
353
+ | "journey of X / lifecycle" | Narrative journey | winding path, progressive state changes |
354
+ | "layers of X / exploded" | Exploded layer view | vertical stack, alternating labels |
355
+ | "CPU / pipeline" | Hardware pipeline | vertical stages, fan-out to execution ports |
356
+ | "floor plan / apartment" | Floor plan | walls, doors, proposed changes in dotted red |
357
+ | "reaction mechanism" | Chemistry | atoms, bonds, curved arrows, transition state, energy profile |
358
+
359
+ ## Mandatory actions when this skill is active
360
+
361
+ Before applying this skill:
362
+ - [ ] Read the task requirements fully before acting
363
+ - [ ] Confirm you understand the goal and constraints
364
+ - [ ] Check for existing work or prior context in the codebase
365
+
366
+ While working:
367
+ - [ ] Follow the methodology described above step by step
368
+ - [ ] Document any decisions or findings as you go
369
+
370
+ After completing:
371
+ - [ ] Self-check: does the output satisfy the original requirement?
372
+ - [ ] Verify no regressions or unintended side effects
373
+
@@ -0,0 +1,162 @@
1
+ ---
2
+ name: creative-ideation
3
+ description: "Generate project ideas via creative constraints."
4
+ version: 1.0.0
5
+ status: stable
6
+ min_mindforge_version: 11.5.1
7
+ triggers: creative ideation, brainstorm ideas, creative ideas, generate concepts, idea generation, brainstorming session, creative brainstorm, concept generation, idea brainstorm, creative thinking, generate ideas, ideation session
8
+ ---
9
+
10
+ # Creative Ideation
11
+
12
+ ## When to use
13
+
14
+ Use when the user says 'I want to build something', 'give me a project idea', 'I'm bored', 'what should I make', 'inspire me', or any variant of 'I have tools but no direction'. Works for code, art, hardware, writing, tools, and anything that can be made.
15
+
16
+ Generate project ideas through creative constraints. Constraint + direction = creativity.
17
+
18
+ ## How It Works
19
+
20
+ 1. **Pick a constraint** from the library below — random, or matched to the user's domain/mood
21
+ 2. **Interpret it broadly** — a coding prompt can become a hardware project, an art prompt can become a CLI tool
22
+ 3. **Generate 3 concrete project ideas** that satisfy the constraint
23
+ 4. **If they pick one, build it** — create the project, write the code, ship it
24
+
25
+ ## The Rule
26
+
27
+ Every prompt is interpreted as broadly as possible. "Does this include X?" → Yes. The prompts provide direction and mild constraint. Without either, there is no creativity.
28
+
29
+ ## Constraint Library
30
+
31
+ ### For Developers
32
+
33
+ **Solve your own itch:**
34
+ Build the tool you wished existed this week. Under 50 lines. Ship it today.
35
+
36
+ **Automate the annoying thing:**
37
+ What's the most tedious part of your workflow? Script it away. Two hours to fix a problem that costs you five minutes a day.
38
+
39
+ **The CLI tool that should exist:**
40
+ Think of a command you've wished you could type. `git undo-that-thing-i-just-did`. `docker why-is-this-broken`. `npm explain-yourself`. Now build it.
41
+
42
+ **Nothing new except glue:**
43
+ Make something entirely from existing APIs, libraries, and datasets. The only original contribution is how you connect them.
44
+
45
+ **Frankenstein week:**
46
+ Take something that does X and make it do Y. A git repo that plays music. A Dockerfile that generates poetry. A cron job that sends compliments.
47
+
48
+ **Subtract:**
49
+ How much can you remove from a codebase before it breaks? Strip a tool to its minimum viable function. Delete until only the essence remains.
50
+
51
+ **High concept, low effort:**
52
+ A deep idea, lazily executed. The concept should be brilliant. The implementation should take an afternoon. If it takes longer, you're overthinking it.
53
+
54
+ ### For Makers & Artists
55
+
56
+ **Blatantly copy something:**
57
+ Pick something you admire — a tool, an artwork, an interface. Recreate it from scratch. The learning is in the gap between your version and theirs.
58
+
59
+ **One million of something:**
60
+ One million is both a lot and not that much. One million pixels is a 1MB photo. One million API calls is a Tuesday. One million of anything becomes interesting at scale.
61
+
62
+ **Make something that dies:**
63
+ A website that loses a feature every day. A chatbot that forgets. A countdown to nothing. An exercise in rot, killing, or letting go.
64
+
65
+ **Do a lot of math:**
66
+ Generative geometry, shader golf, mathematical art, computational origami. Time to re-learn what an arcsin is.
67
+
68
+ ### For Anyone
69
+
70
+ **Text is the universal interface:**
71
+ Build something where text is the only interface. No buttons, no graphics, just words in and words out. Text can go in and out of almost anything.
72
+
73
+ **Start at the punchline:**
74
+ Think of something that would be a funny sentence. Work backwards to make it real. "I taught my thermostat to gaslight me" → now build it.
75
+
76
+ **Hostile UI:**
77
+ Make something intentionally painful to use. A password field that requires 47 conditions. A form where every label lies. A CLI that judges your commands.
78
+
79
+ **Take two:**
80
+ Remember an old project. Do it again from scratch. No looking at the original. See what changed about how you think.
81
+
82
+ See `references/full-prompt-library.md` for 30+ additional constraints across communication, scale, philosophy, transformation, and more.
83
+
84
+ ## Matching Constraints to Users
85
+
86
+ | User says | Pick from |
87
+ |-----------|-----------|
88
+ | "I want to build something" (no direction) | Random — any constraint |
89
+ | "I'm learning [language]" | Blatantly copy something, Automate the annoying thing |
90
+ | "I want something weird" | Hostile UI, Frankenstein week, Start at the punchline |
91
+ | "I want something useful" | Solve your own itch, The CLI that should exist, Automate the annoying thing |
92
+ | "I want something beautiful" | Do a lot of math, One million of something |
93
+ | "I'm burned out" | High concept low effort, Make something that dies |
94
+ | "Weekend project" | Nothing new except glue, Start at the punchline |
95
+ | "I want a challenge" | One million of something, Subtract, Take two |
96
+
97
+ ## Output Format
98
+
99
+ ```
100
+ ## Constraint: [Name]
101
+ > [The constraint, one sentence]
102
+
103
+ ### Ideas
104
+
105
+ 1. **[One-line pitch]**
106
+ [2-3 sentences: what you'd build and why it's interesting]
107
+ ⏱ [weekend / week / month] • 🔧 [stack]
108
+
109
+ 2. **[One-line pitch]**
110
+ [2-3 sentences]
111
+ ⏱ ... • 🔧 ...
112
+
113
+ 3. **[One-line pitch]**
114
+ [2-3 sentences]
115
+ ⏱ ... • 🔧 ...
116
+ ```
117
+
118
+ ## Example
119
+
120
+ ```
121
+ ## Constraint: The CLI tool that should exist
122
+ > Think of a command you've wished you could type. Now build it.
123
+
124
+ ### Ideas
125
+
126
+ 1. **`git whatsup` — show what happened while you were away**
127
+ Compares your last active commit to HEAD and summarizes what changed,
128
+ who committed, and what PRs merged. Like a morning standup from your repo.
129
+ ⏱ weekend • 🔧 Python, GitPython, click
130
+
131
+ 2. **`explain 503` — HTTP status codes for humans**
132
+ Pipe any status code or error message and get a plain-English explanation
133
+ with common causes and fixes. Pulls from a curated database, not an LLM.
134
+ ⏱ weekend • 🔧 Rust or Go, static dataset
135
+
136
+ 3. **`deps why <package>` — why is this in my dependency tree**
137
+ Traces a transitive dependency back to the direct dependency that pulled
138
+ it in. Answers "why do I have 47 copies of lodash" in one command.
139
+ ⏱ weekend • 🔧 Node.js, npm/yarn lockfile parsing
140
+ ```
141
+
142
+ After the user picks one, start building — create the project, write the code, iterate.
143
+
144
+ ## Attribution
145
+
146
+ Constraint approach inspired by [wttdotm.com/prompts.html](https://wttdotm.com/prompts.html). Adapted and expanded for software development and general-purpose ideation.
147
+
148
+ ## Mandatory actions when this skill is active
149
+
150
+ Before applying this skill:
151
+ - [ ] Read the task requirements fully before acting
152
+ - [ ] Confirm you understand the goal and constraints
153
+ - [ ] Check for existing work or prior context in the codebase
154
+
155
+ While working:
156
+ - [ ] Follow the methodology described above step by step
157
+ - [ ] Document any decisions or findings as you go
158
+
159
+ After completing:
160
+ - [ ] Self-check: does the output satisfy the original requirement?
161
+ - [ ] Verify no regressions or unintended side effects
162
+
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: domain-intel
3
+ description: "Passive domain reconnaissance using Python stdlib. Subdomain discovery, SSL certificate inspection, WHOIS lookups, DNS records, domain availability checks, and bulk multi-domain analysis. No API keys required."
4
+ version: 1.0.0
5
+ status: stable
6
+ min_mindforge_version: 11.5.1
7
+ triggers: domain intelligence, investigate domain, domain research, company intelligence, domain analysis, research company, investigate organization, competitive intelligence, domain investigation, org intelligence, company research, domain profiling
8
+ ---
9
+
10
+ # Domain Intelligence — Passive OSINT
11
+
12
+ Passive domain reconnaissance using only Python stdlib.
13
+ **Zero dependencies. Zero API keys. Works on Linux, macOS, and Windows.**
14
+
15
+ ## Helper script
16
+
17
+ This skill includes `scripts/domain_intel.py` — a complete CLI tool for all domain intelligence operations.
18
+
19
+ ```bash
20
+ # Subdomain discovery via Certificate Transparency logs
21
+ python3 SKILL_DIR/scripts/domain_intel.py subdomains example.com
22
+
23
+ # SSL certificate inspection (expiry, cipher, SANs, issuer)
24
+ python3 SKILL_DIR/scripts/domain_intel.py ssl example.com
25
+
26
+ # WHOIS lookup (registrar, dates, name servers — 100+ TLDs)
27
+ python3 SKILL_DIR/scripts/domain_intel.py whois example.com
28
+
29
+ # DNS records (A, AAAA, MX, NS, TXT, CNAME)
30
+ python3 SKILL_DIR/scripts/domain_intel.py dns example.com
31
+
32
+ # Domain availability check (passive: DNS + WHOIS + SSL signals)
33
+ python3 SKILL_DIR/scripts/domain_intel.py available coolstartup.io
34
+
35
+ # Bulk analysis — multiple domains, multiple checks in parallel
36
+ python3 SKILL_DIR/scripts/domain_intel.py bulk example.com github.com google.com
37
+ python3 SKILL_DIR/scripts/domain_intel.py bulk example.com github.com --checks ssl,dns
38
+ ```
39
+
40
+ `SKILL_DIR` is the directory containing this SKILL.md file. All output is structured JSON.
41
+
42
+ ## Available commands
43
+
44
+ | Command | What it does | Data source |
45
+ |---------|-------------|-------------|
46
+ | `subdomains` | Find subdomains from certificate logs | crt.sh (HTTPS) |
47
+ | `ssl` | Inspect TLS certificate details | Direct TCP:443 to target |
48
+ | `whois` | Registration info, registrar, dates | WHOIS servers (TCP:43) |
49
+ | `dns` | A, AAAA, MX, NS, TXT, CNAME records | System DNS + Google DoH |
50
+ | `available` | Check if domain is registered | DNS + WHOIS + SSL signals |
51
+ | `bulk` | Run multiple checks on multiple domains | All of the above |
52
+
53
+ ## When to use this vs built-in tools
54
+
55
+ - **Use this skill** for infrastructure questions: subdomains, SSL certs, WHOIS, DNS records, availability
56
+ - **Use `web_search`** for general research about what a domain/company does
57
+ - **Use `web_extract`** to get the actual content of a webpage
58
+ - **Use `terminal` with `curl -I`** for a simple "is this URL reachable" check
59
+
60
+ | Task | Better tool | Why |
61
+ |------|-------------|-----|
62
+ | "What does example.com do?" | `web_extract` | Gets page content, not DNS/WHOIS data |
63
+ | "Find info about a company" | `web_search` | General research, not domain-specific |
64
+ | "Is this website safe?" | `web_search` | Reputation checks need web context |
65
+ | "Check if a URL is reachable" | `terminal` with `curl -I` | Simple HTTP check |
66
+ | "Find subdomains of X" | **This skill** | Only passive source for this |
67
+ | "When does the SSL cert expire?" | **This skill** | Built-in tools can't inspect TLS |
68
+ | "Who registered this domain?" | **This skill** | WHOIS data not in web search |
69
+ | "Is coolstartup.io available?" | **This skill** | Passive availability via DNS+WHOIS+SSL |
70
+
71
+ ## Platform compatibility
72
+
73
+ Pure Python stdlib (`socket`, `ssl`, `urllib`, `json`, `concurrent.futures`).
74
+ Works identically on Linux, macOS, and Windows with no dependencies.
75
+
76
+ - **crt.sh queries** use HTTPS (port 443) — works behind most firewalls
77
+ - **WHOIS queries** use TCP port 43 — may be blocked on restrictive networks
78
+ - **DNS queries** use Google DoH (HTTPS) for MX/NS/TXT — firewall-friendly
79
+ - **SSL checks** connect to the target on port 443 — the only "active" operation
80
+
81
+ ## Data sources
82
+
83
+ All queries are **passive** — no port scanning, no vulnerability testing:
84
+
85
+ - **crt.sh** — Certificate Transparency logs (subdomain discovery, HTTPS only)
86
+ - **WHOIS servers** — Direct TCP to 100+ authoritative TLD registrars
87
+ - **Google DNS-over-HTTPS** — MX, NS, TXT, CNAME resolution (firewall-friendly)
88
+ - **System DNS** — A/AAAA record resolution
89
+ - **SSL check** is the only "active" operation (TCP connection to target:443)
90
+
91
+ ## Notes
92
+
93
+ - WHOIS queries use TCP port 43 — may be blocked on restrictive networks
94
+ - Some WHOIS servers redact registrant info (GDPR) — mention this to the user
95
+ - crt.sh can be slow for very popular domains (thousands of certs) — set reasonable expectations
96
+ - The availability check is heuristic-based (3 passive signals) — not authoritative like a registrar API
97
+
98
+ ---
99
+
100
+ *Contributed by [@FurkanL0](https://github.com/FurkanL0)*
101
+
102
+ ## Mandatory actions when this skill is active
103
+
104
+ Before applying this skill:
105
+ - [ ] Read the task requirements fully before acting
106
+ - [ ] Confirm you understand the goal and constraints
107
+ - [ ] Check for existing work or prior context in the codebase
108
+
109
+ While working:
110
+ - [ ] Follow the methodology described above step by step
111
+ - [ ] Document any decisions or findings as you go
112
+
113
+ After completing:
114
+ - [ ] Self-check: does the output satisfy the original requirement?
115
+ - [ ] Verify no regressions or unintended side effects
116
+