thumbgate 1.27.8 → 1.27.9

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 (112) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.well-known/llms.txt +1 -2
  3. package/.well-known/mcp/server-card.json +1 -1
  4. package/README.md +0 -2
  5. package/adapters/claude/.mcp.json +2 -2
  6. package/adapters/mcp/server-stdio.js +1 -1
  7. package/adapters/opencode/opencode.json +1 -1
  8. package/bin/cli.js +259 -78
  9. package/package.json +12 -19
  10. package/public/blog.html +30 -0
  11. package/public/compare/adopt-ai.html +219 -0
  12. package/public/compare/agentix-labs.html +197 -0
  13. package/public/compare/ai-experience-orchestration.html +216 -0
  14. package/public/compare/anthropic-claude-for-legal.html +260 -0
  15. package/public/compare/anthropic-containment.html +280 -0
  16. package/public/compare/arcade.html +175 -0
  17. package/public/compare/arcjet.html +239 -0
  18. package/public/compare/bumblebee.html +307 -0
  19. package/public/compare/claude-code-hooks.html +294 -0
  20. package/public/compare/databricks-unity-ai-gateway.html +215 -0
  21. package/public/compare/fallow.html +351 -0
  22. package/public/compare/heidi.html +233 -0
  23. package/public/compare/mem0.html +342 -0
  24. package/public/compare/oak-and-sparrow-gatekeeper.html +289 -0
  25. package/public/compare/rein.html +236 -0
  26. package/public/compare/sigmashake.html +256 -0
  27. package/public/compare/speclock.html +342 -0
  28. package/public/compare.html +2 -0
  29. package/public/guides/agent-harness-optimization.html +342 -0
  30. package/public/guides/agentic-web-governance.html +406 -0
  31. package/public/guides/ai-agent-governance-sprint.html +415 -0
  32. package/public/guides/ai-agent-pre-action-approval-gates.html +401 -0
  33. package/public/guides/ai-agent-workflow-migration-checklist.html +392 -0
  34. package/public/guides/ai-deployment-readiness.html +415 -0
  35. package/public/guides/ai-mode-ads-agent-governance.html +401 -0
  36. package/public/guides/ai-search-topical-presence.html +342 -0
  37. package/public/guides/autoresearch-agent-safety.html +342 -0
  38. package/public/guides/background-agent-governance.html +358 -0
  39. package/public/guides/best-tools-stop-ai-agents-breaking-production.html +363 -0
  40. package/public/guides/browser-automation-safety.html +342 -0
  41. package/public/guides/chatgpt-ads-trust.html +353 -0
  42. package/public/guides/claude-code-feedback.html +339 -0
  43. package/public/guides/claude-code-prevent-repeated-mistakes.html +161 -0
  44. package/public/guides/claude-code-skills-guardrails.html +343 -0
  45. package/public/guides/claude-desktop.html +356 -0
  46. package/public/guides/code-knowledge-graph-guardrails.html +365 -0
  47. package/public/guides/codex-cli-guardrails.html +339 -0
  48. package/public/guides/cursor-agent-guardrails.html +339 -0
  49. package/public/guides/cursor-prevent-repeated-mistakes.html +161 -0
  50. package/public/guides/database-agent-safety.html +406 -0
  51. package/public/guides/deepseek-v4-runtime-guardrails.html +346 -0
  52. package/public/guides/developer-machine-supply-chain-guardrails.html +358 -0
  53. package/public/guides/gcp-mcp-guardrails.html +147 -0
  54. package/public/guides/gemini-cli-feedback-memory.html +339 -0
  55. package/public/guides/gpt-5-5-model-evaluation.html +358 -0
  56. package/public/guides/internal-ai-engineering-stack-guardrails.html +348 -0
  57. package/public/guides/long-running-agent-context-management.html +346 -0
  58. package/public/guides/mcp-tool-governance.html +401 -0
  59. package/public/guides/multica-thumbgate-setup.html +134 -0
  60. package/public/guides/native-messaging-host-security.html +342 -0
  61. package/public/guides/policy-engine-pre-action-gates.html +346 -0
  62. package/public/guides/pre-action-checks.html +342 -0
  63. package/public/guides/pretooluse-hooks-vs-advisory-prompt-rules.html +342 -0
  64. package/public/guides/prompt-tricks-to-workflow-rules.html +365 -0
  65. package/public/guides/proxy-pointer-rag-guardrails.html +352 -0
  66. package/public/guides/rag-precision-tuning-guardrails.html +352 -0
  67. package/public/guides/reasoning-compression-guardrails.html +346 -0
  68. package/public/guides/relational-knowledge-ai-recommendations.html +342 -0
  69. package/public/guides/roo-code-alternative-cline.html +339 -0
  70. package/public/guides/semantic-programmatic-seo-guardrails.html +352 -0
  71. package/public/guides/seo-agent-skills-guardrails.html +344 -0
  72. package/public/guides/stop-repeated-ai-agent-mistakes.html +342 -0
  73. package/public/index.html +12 -50
  74. package/public/learn/ac-dc-runtime-enforcement.html +277 -0
  75. package/public/learn/agent-harness-pattern.html +181 -0
  76. package/public/learn/agent-swarms-shared-gates.html +173 -0
  77. package/public/learn/agentic-enterprise-context-brain.html +117 -0
  78. package/public/learn/agentic-os-team-governance.html +146 -0
  79. package/public/learn/ai-agent-governance.html +158 -0
  80. package/public/learn/ai-agent-persistent-memory.html +211 -0
  81. package/public/learn/background-agent-control-layer.html +184 -0
  82. package/public/learn/claude-code-goal-with-rubrics.html +205 -0
  83. package/public/learn/codex-role-plugins-need-governance.html +125 -0
  84. package/public/learn/cost-aware-agent-gate-routing.html +173 -0
  85. package/public/learn/databricks-unity-ai-gateway-runtime-governance.html +157 -0
  86. package/public/learn/deterministic-agent-workflows.html +185 -0
  87. package/public/learn/feedback-loop-vs-decision-layer.html +283 -0
  88. package/public/learn/from-prototype-to-production.html +223 -0
  89. package/public/learn/learn.css +51 -0
  90. package/public/learn/mcp-pre-action-checks-explained.html +172 -0
  91. package/public/learn/pretix-stripe-connect-marketplaces.html +161 -0
  92. package/public/learn/regulated-agent-execution-boundary.html +196 -0
  93. package/public/learn/spec-driven-development.html +168 -0
  94. package/public/learn/stop-ai-agent-force-push.html +134 -0
  95. package/public/learn/vibe-coding-safety-net.html +142 -0
  96. package/public/learn.html +6 -50
  97. package/public/numbers.html +2 -2
  98. package/public/pro.html +6 -6
  99. package/scripts/cli-schema.js +10 -22
  100. package/scripts/dashboard-chat.js +1 -2
  101. package/scripts/document-intake.js +49 -1
  102. package/scripts/gemini-embedding-policy.js +1 -2
  103. package/scripts/hosted-config.js +12 -0
  104. package/scripts/plausible-domain-config.js +1 -3
  105. package/scripts/reddit-browser-notification-watch.js +230 -0
  106. package/scripts/seo-gsd.js +0 -239
  107. package/scripts/vector-store.js +0 -44
  108. package/scripts/workspace-evolver.js +2 -62
  109. package/src/api/server.js +124 -335
  110. package/adapters/policy-engine/ethicore-guardian-client.js +0 -68
  111. package/adapters/policy-engine/thumbgate-policy-engine-adapter.js +0 -260
  112. package/scripts/hook-stop-anti-claim.js +0 -227
@@ -0,0 +1,365 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Prompt Tricks Are Not Enough | Turn AI Instructions Into Workflow Rules</title>
7
+ <meta name="description" content="Clear prompts and examples help modern AI tools, but they do not stop the same failure from recurring. ThumbGate turns one messy agent workflow into rules, e..." />
8
+ <meta property="og:title" content="Prompt Tricks Are Not Enough | Turn AI Instructions Into Workflow Rules" />
9
+ <meta property="og:description" content="Clear prompts and examples help modern AI tools, but they do not stop the same failure from recurring. ThumbGate turns one messy agent workflow into rules, e..." />
10
+ <meta property="og:type" content="article" />
11
+ <meta property="og:url" content="https://thumbgate.ai/guides/prompt-tricks-to-workflow-rules" />
12
+ <link rel="canonical" href="https://thumbgate.ai/guides/prompt-tricks-to-workflow-rules" />
13
+ <link rel="llm-context" href="/llm-context.md" type="text/markdown" />
14
+ <link rel="icon" type="image/svg+xml" href="/thumbgate-icon.png" />
15
+ <link rel="apple-touch-icon" href="/assets/brand/thumbgate-mark.svg" />
16
+ <meta property="og:image" content="/og.png" />
17
+ <style>
18
+ :root {
19
+ --bg: #0a0a0b;
20
+ --bg-raised: #111113;
21
+ --bg-card: #161618;
22
+ --line: #222225;
23
+ --text: #e8e8ec;
24
+ --muted: #8b8b96;
25
+ --cyan: #22d3ee;
26
+ --green: #4ade80;
27
+ --red: #f87171;
28
+ }
29
+ * { box-sizing: border-box; }
30
+ body {
31
+ margin: 0;
32
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
33
+ background: var(--bg);
34
+ color: var(--text);
35
+ line-height: 1.65;
36
+ }
37
+ a { color: var(--cyan); text-decoration: none; }
38
+ a:hover { text-decoration: underline; }
39
+ .container { max-width: 980px; margin: 0 auto; padding: 0 24px; }
40
+ .topbar {
41
+ position: sticky;
42
+ top: 0;
43
+ z-index: 20;
44
+ backdrop-filter: blur(12px);
45
+ background: rgba(10, 10, 11, 0.88);
46
+ border-bottom: 1px solid var(--line);
47
+ }
48
+ .topbar .container {
49
+ display: flex;
50
+ justify-content: space-between;
51
+ align-items: center;
52
+ padding-top: 14px;
53
+ padding-bottom: 14px;
54
+ }
55
+ .brand {
56
+ font-weight: 700;
57
+ color: var(--text);
58
+ display: inline-flex;
59
+ align-items: center;
60
+ gap: 8px;
61
+ text-decoration: none;
62
+ }
63
+ .brand .logo-mark { width: 28px; height: 28px; display: block; }
64
+ .hero { padding: 72px 0 32px; }
65
+ .eyebrow {
66
+ display: inline-flex;
67
+ align-items: center;
68
+ gap: 8px;
69
+ padding: 6px 12px;
70
+ border-radius: 999px;
71
+ border: 1px solid rgba(34, 211, 238, 0.22);
72
+ background: rgba(34, 211, 238, 0.1);
73
+ color: var(--cyan);
74
+ text-transform: uppercase;
75
+ letter-spacing: 0.08em;
76
+ font-size: 12px;
77
+ font-weight: 700;
78
+ }
79
+ h1 {
80
+ font-size: clamp(34px, 5vw, 56px);
81
+ line-height: 1.06;
82
+ letter-spacing: -0.04em;
83
+ margin: 16px 0;
84
+ max-width: 760px;
85
+ }
86
+ .hero p {
87
+ max-width: 720px;
88
+ color: var(--muted);
89
+ font-size: 18px;
90
+ }
91
+ .signal-row {
92
+ display: flex;
93
+ flex-wrap: wrap;
94
+ gap: 12px;
95
+ margin: 28px 0 0;
96
+ }
97
+ .signal-pill {
98
+ display: inline-flex;
99
+ align-items: center;
100
+ gap: 8px;
101
+ padding: 10px 14px;
102
+ border-radius: 999px;
103
+ border: 1px solid var(--line);
104
+ background: var(--bg-raised);
105
+ font-weight: 600;
106
+ font-size: 14px;
107
+ }
108
+ .signal-pill.up {
109
+ border-color: rgba(74, 222, 128, 0.28);
110
+ color: #b8f7c8;
111
+ background: rgba(74, 222, 128, 0.1);
112
+ }
113
+ .signal-pill.down {
114
+ border-color: rgba(248, 113, 113, 0.28);
115
+ color: #ffc0c0;
116
+ background: rgba(248, 113, 113, 0.1);
117
+ }
118
+ .grid {
119
+ display: grid;
120
+ grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
121
+ gap: 24px;
122
+ padding-bottom: 72px;
123
+ }
124
+ .card, .detail-section, .sidebar-card {
125
+ background: var(--bg-card);
126
+ border: 1px solid var(--line);
127
+ border-radius: 16px;
128
+ }
129
+ .card { padding: 24px; }
130
+ .detail-section { padding: 24px; margin-bottom: 18px; }
131
+ .detail-section h2 { margin: 0 0 12px; font-size: 24px; letter-spacing: -0.03em; }
132
+ .detail-section p { color: var(--muted); }
133
+ .detail-section ul, .card ul { padding-left: 18px; color: var(--muted); }
134
+ .card h2 { margin-top: 0; }
135
+ .sidebar {
136
+ display: flex;
137
+ flex-direction: column;
138
+ gap: 18px;
139
+ }
140
+ .sidebar-card {
141
+ padding: 20px;
142
+ }
143
+ /* Only the first sidebar card sticks. Stacking multiple stickies at the
144
+ same top offset makes them overlap each other on scroll. The related-
145
+ pages card flows normally below. */
146
+ .sidebar-card:first-child {
147
+ position: sticky;
148
+ top: 84px;
149
+ max-height: calc(100vh - 104px);
150
+ overflow-y: auto;
151
+ -webkit-overflow-scrolling: touch;
152
+ }
153
+ .proof-links {
154
+ display: flex;
155
+ flex-wrap: wrap;
156
+ gap: 12px;
157
+ margin-top: 16px;
158
+ }
159
+ .cta-button {
160
+ display: inline-flex;
161
+ align-items: center;
162
+ justify-content: center;
163
+ margin-top: 18px;
164
+ padding: 12px 16px;
165
+ border-radius: 10px;
166
+ background: var(--cyan);
167
+ color: #071116;
168
+ font-weight: 700;
169
+ text-decoration: none;
170
+ }
171
+ .faq-item {
172
+ border-top: 1px solid var(--line);
173
+ padding: 14px 0;
174
+ }
175
+ .faq-item summary {
176
+ cursor: pointer;
177
+ font-weight: 600;
178
+ }
179
+ .faq-item p {
180
+ color: var(--muted);
181
+ }
182
+ .related-card {
183
+ display: block;
184
+ padding: 14px;
185
+ border-radius: 12px;
186
+ border: 1px solid var(--line);
187
+ background: var(--bg-raised);
188
+ margin-top: 12px;
189
+ color: var(--text);
190
+ }
191
+ .related-label {
192
+ display: block;
193
+ color: var(--muted);
194
+ font-size: 12px;
195
+ text-transform: uppercase;
196
+ letter-spacing: 0.08em;
197
+ margin-bottom: 4px;
198
+ }
199
+ @media (max-width: 860px) {
200
+ .grid {
201
+ grid-template-columns: 1fr;
202
+ }
203
+ .sidebar-card:first-child {
204
+ position: static;
205
+ max-height: none;
206
+ overflow: visible;
207
+ }
208
+ }
209
+ </style>
210
+ <script type="application/ld+json">
211
+ {
212
+ "@context": "https://schema.org",
213
+ "@type": "TechArticle",
214
+ "headline": "Prompt Tricks Are Table Stakes. Workflow Rules Make Them Pay.",
215
+ "description": "Clear prompts and examples help modern AI tools, but they do not stop the same failure from recurring. ThumbGate turns one messy agent workflow into rules, e...",
216
+ "about": [
217
+ "claude code masterclass guardrails",
218
+ "cursor prevent repeated mistakes",
219
+ "claude code prevent repeated mistakes",
220
+ "codex cli guardrails"
221
+ ],
222
+ "url": "https://thumbgate.ai/guides/prompt-tricks-to-workflow-rules",
223
+ "publisher": {
224
+ "@type": "Organization",
225
+ "name": "ThumbGate",
226
+ "url": "https://thumbgate.ai"
227
+ },
228
+ "mainEntityOfPage": "https://thumbgate.ai/guides/prompt-tricks-to-workflow-rules"
229
+ }
230
+ </script>
231
+ <script type="application/ld+json">
232
+ {
233
+ "@context": "https://schema.org",
234
+ "@type": "FAQPage",
235
+ "mainEntity": [
236
+ {
237
+ "@type": "Question",
238
+ "name": "Do better prompts still matter?",
239
+ "acceptedAnswer": {
240
+ "@type": "Answer",
241
+ "text": "Yes. Clear prompts and examples reduce ambiguity. ThumbGate starts where prompts stop: enforcing repeated lessons before the next action executes."
242
+ }
243
+ },
244
+ {
245
+ "@type": "Question",
246
+ "name": "What prompt tactics should teams stop wasting time on?",
247
+ "acceptedAnswer": {
248
+ "@type": "Answer",
249
+ "text": "Do not rely on politeness, threats, flattery, or roleplay as control mechanisms. Use clear instructions, concrete examples, neutral constraints, and verification gates."
250
+ }
251
+ },
252
+ {
253
+ "@type": "Question",
254
+ "name": "What should a $99 workflow diagnostic produce?",
255
+ "acceptedAnswer": {
256
+ "@type": "Answer",
257
+ "text": "One repeated failure translated into a rule, one good and bad example, one pre-action check, and a short verification plan for proving the check paid for itself."
258
+ }
259
+ }
260
+ ]
261
+ }
262
+ </script>
263
+ </head>
264
+ <body>
265
+ <div class="topbar">
266
+ <div class="container">
267
+ <a class="brand" href="/"><img src="/assets/brand/thumbgate-mark-inline.svg" alt="ThumbGate" class="logo-mark" width="28" height="28"><span class="logo-text">ThumbGate</span></a>
268
+ <a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/VERIFICATION_EVIDENCE.md" target="_blank" rel="noopener">Verification evidence</a>
269
+ </div>
270
+ </div>
271
+
272
+ <main class="container">
273
+ <section class="hero">
274
+ <div class="eyebrow">guide | prompt tricks to workflow rules</div>
275
+ <h1>Prompt Tricks Are Table Stakes. Workflow Rules Make Them Pay.</h1>
276
+ <p>Clear prompts and examples help modern AI tools, but they do not stop the same failure from recurring. ThumbGate turns one messy agent workflow into rules, examples, and pre-action checks before the next tool call executes.</p>
277
+ <div class="signal-row">
278
+ <div class="signal-pill up">👍 Thumbs up reinforces good behavior</div>
279
+ <div class="signal-pill down">👎 Thumbs down blocks repeated mistakes</div>
280
+ </div>
281
+ </section>
282
+
283
+ <section class="grid">
284
+ <div>
285
+ <div class="card">
286
+ <h2>Why this page exists</h2>
287
+ <ul><li>Politeness, threats, flattery, and clever prompt rituals are unreliable leverage; clear task shape, examples, and verification are the durable parts.</li><li>The paid layer is enforcement: convert repeated mistakes into durable rules that run before an agent acts.</li><li>The fastest revenue offer is a $99 workflow diagnostic that turns one messy AI workflow into clear instructions, examples, and pre-action checks.</li></ul>
288
+ </div>
289
+
290
+ <section class="detail-section">
291
+ <h2>Why this became a buyer question</h2>
292
+ <p>Teams have learned that better prompts can reduce ambiguity, but a prompt still relies on the model remembering and obeying every constraint at the exact moment it matters.</p><p>That is where ThumbGate fits. Keep prompts clear and neutral, then promote the failure patterns into local checks that can warn or block before shell commands, file edits, browser actions, or deploy steps run.</p>
293
+
294
+ </section>
295
+ <section class="detail-section">
296
+ <h2>High-ROI conversion steps</h2>
297
+
298
+ <ul><li>Capture one repeated failure: the agent edits the wrong file, runs a risky command, invents an import, skips verification, or reopens a resolved loop.</li><li>Write the smallest clear rule: describe the allowed action, the blocked action, and one concrete example of each.</li><li>Attach a pre-action check: run the rule before the tool call, not after the agent has already spent tokens or changed files.</li><li>Verify with proof: record the next prevented action, the saved remediation time, and the narrower rule created from feedback.</li></ul>
299
+ </section>
300
+ <section class="detail-section">
301
+ <h2>Where this creates revenue</h2>
302
+ <p>This turns generic prompt advice into a buyer-ready diagnostic. The public offer is simple: send one messy AI-agent workflow and ThumbGate turns it into clear rules, examples, and pre-action checks.</p><p>For teams, position the Workflow Hardening Sprint around the repeated failure they can already name. The deliverable is not a better pep talk for the model; it is enforcement that survives across sessions and agents.</p>
303
+
304
+ </section>
305
+ <div class="detail-section">
306
+ <h2>FAQ</h2>
307
+
308
+ <details class="faq-item">
309
+ <summary>Do better prompts still matter?</summary>
310
+ <p>Yes. Clear prompts and examples reduce ambiguity. ThumbGate starts where prompts stop: enforcing repeated lessons before the next action executes.</p>
311
+ </details>
312
+ <details class="faq-item">
313
+ <summary>What prompt tactics should teams stop wasting time on?</summary>
314
+ <p>Do not rely on politeness, threats, flattery, or roleplay as control mechanisms. Use clear instructions, concrete examples, neutral constraints, and verification gates.</p>
315
+ </details>
316
+ <details class="faq-item">
317
+ <summary>What should a $99 workflow diagnostic produce?</summary>
318
+ <p>One repeated failure translated into a rule, one good and bad example, one pre-action check, and a short verification plan for proving the check paid for itself.</p>
319
+ </details>
320
+ </div>
321
+ </div>
322
+
323
+ <aside class="sidebar">
324
+
325
+
326
+
327
+ <div class="sidebar-card">
328
+ <h2>Workflow Rule Safety</h2>
329
+ <ul>
330
+ <li>Clear rule before risky execution</li>
331
+ <li>Good and bad examples before reuse</li>
332
+ <li>Verification evidence before done</li>
333
+ </ul>
334
+ </div>
335
+ <div class="sidebar-card">
336
+ <h2>GSD execution brief</h2>
337
+ <p>This page was prioritized because it captures high-intent demand around prompt tricks to workflow rules and feeds directly into ThumbGate's proof-led conversion path.</p>
338
+ <p><strong>Opportunity score:</strong> 72</p>
339
+ <p><strong>Primary persona:</strong> ai-engineer</p>
340
+ <p><strong>Keyword cluster:</strong> claude code masterclass guardrails, cursor prevent repeated mistakes, claude code prevent repeated mistakes, codex cli guardrails</p>
341
+ <p><strong>Pricing:</strong> Pro $19/mo or $149/yr. Team $49/seat/mo.</p>
342
+ <div class="proof-links"><a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/VERIFICATION_EVIDENCE.md" target="_blank" rel="noopener">Verification evidence</a><a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/proof/automation/report.json" target="_blank" rel="noopener">Automation proof</a><a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub repository</a></div>
343
+ <a class="cta-button" href="/checkout/pro?utm_source=website&amp;utm_medium=seo_page&amp;utm_campaign=guides_prompt-tricks-to-workflow-rules&amp;cta_placement=seo_brief&amp;plan_id=pro" target="_blank" rel="noopener">Go Pro — $19/mo</a>
344
+ </div>
345
+ <div class="sidebar-card">
346
+ <h2>Related pages</h2>
347
+
348
+ <a class="related-card" href="/guides/pre-action-checks">
349
+ <span class="related-label">Related page</span>
350
+ <strong>What Are Pre-Action Checks?</strong>
351
+ </a>
352
+ <a class="related-card" href="/guides/agent-harness-optimization">
353
+ <span class="related-label">Related page</span>
354
+ <strong>AI Agent Harness Optimization That Blocks Repeat Failures</strong>
355
+ </a>
356
+ <a class="related-card" href="/guides/best-tools-stop-ai-agents-breaking-production">
357
+ <span class="related-label">Related page</span>
358
+ <strong>Best Tools to Stop AI Agents From Breaking Production</strong>
359
+ </a>
360
+ </div>
361
+ </aside>
362
+ </section>
363
+ </main>
364
+ </body>
365
+ </html>