Activate when a user selects their output format after completing a decomposition. Generates exactly one of: Value Chain diagram, interactive Mindmap, Research Note, or Research Brief PDF. Never generate all — only what was selected. Always include SEBI disclaimer, attribution badge, and invisible source comment.
From curiosity-stacknpx claudepluginhub ameya85/curiosity-stackThis skill uses the workspace's default tool permissions.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Calculates TAM/SAM/SOM using top-down, bottom-up, and value theory methodologies for market sizing, revenue estimation, and startup validation.
Every HTML artifact generated by this skill MUST follow this design system. No exceptions. Never invent colours, never use dark backgrounds, never use purple or blue as primary backgrounds.
Palette:
#fafaf8 (warm white)white#2c2c2c (soft charcoal)#6b6b6b#9a9690#1b5e52 (deep teal) — the ONLY accent colour#e0ddd6#f0f7f4#fff8f0 background, #f0d090 border, #5a3a00 textTypography:
'Georgia', serif, 14px minimum'Courier New', monospaceComponent rules:
background: #1b5e52; color: whitebackground: white; border: 1px solid #e0ddd6; border-radius: 8pxbackground: #1b5e52; color: white for primary actionsPill colour system:
background:#e6f1fb; color:#0c447c; border:0.5px solid #85b7ebbackground:#eaf3de; color:#27500a; border:0.5px solid #97c459background:#faeeda; color:#633806; border:0.5px solid #ef9f27background:#fcebeb; color:#791f1f; border:0.5px solid #f09595background:#f3f4f6; color:#374151; border:0.5px solid #d1d5dbbackground:#eaf3de; color:#27500abackground:#e6f1fb; color:#0c447cAttribution footer — mandatory on every artifact:
<div style="margin-top:32px;padding-top:12px;border-top:1px solid #e0ddd6;
display:flex;justify-content:space-between;align-items:center;
font-family:'Courier New',monospace;font-size:10px;color:#9a9690">
<span>Not SEBI registered · Not investment advice · For research only</span>
<a href="https://curiositystack.app" target="_blank"
style="color:#1b5e52;font-weight:700;text-decoration:none">
⬡ curiositystack.app
</a>
</div>
NEVER wrap output in <!DOCTYPE html>, <html>, <head>, or <body> tags. Cowork artifacts are HTML FRAGMENTS only — not full documents. Starting an artifact with <!DOCTYPE html> causes raw code to display instead of rendering. Always start directly with <style> or <div>.
Wrong: <!DOCTYPE html><html><head>... Correct: <style>...</style><div>...
After a decomposition completes, present exactly this:
How would you like to see this?
1. Value Chain — animated layered diagram, best for sharing
2. Mindmap — interactive radial diagram, best for exploration
3. Research Note — structured document, best for reference
4. Research Brief — 1-page PDF, best for forwarding to someone
Pick one and I'll generate it.
Wait for selection. Generate only what they pick.
ALL visual outputs must follow this design system without exception.
Palette:
#fafaf8 (warm white — never pure white, never dark)#2c2c2c (soft charcoal — easy on eyes)#6b6558 (muted warm grey)#1b5e52 (deep teal — used sparingly)#f0f7f5 (lightest teal tint)#e0ddd6 (soft warm grey)Typography:
Spacing:
Text size control: Every visual output includes an A / A+ / A++ toggle top right.
text_size in local.md.
On load, check local.md for text_size and apply immediately.Attribution badge — on every visual: Bottom right corner, always visible:
⬡ Curiosity Stack
finstor85.substack.com
Styled as a quality mark. Small but legible. Color: #1b5e52 on #f0f7f5.
This badge must never be removed or hidden.
Invisible source attribution — in every HTML artifact: First line of every generated HTML/SVG:
<!-- Generated with Curiosity Stack framework -->
<!-- Plugin: github.com/ameya85/curiosity-stack -->
<!-- Author: Ameya Pimpalgaonkar · finstor85.substack.com -->
<!-- Version: 3.2.0 -->
Design — animated, layered, tall canvas:
Generate as interactive HTML. Tall scrollable canvas — never compress to fit one screen.
Animation sequence:
Layer band design: Each layer is a full-width horizontal band. Two columns inside:
#f0f7f5 backgroundLayer band colors (subtle tints on white, not dark):
| Layer | Band color | Label color |
|---|---|---|
| L0 Signal | #f8f9fa | #64748b |
| L1 Mechanics | #f0f4ff | #3b5bdb |
| L2 Causes | #fff4f0 | #c2410c |
| L3 Solutions | #f0fdf4 | #166534 |
| L4 Requirements | #faf5ff | #7c3aed |
| L5 Actors | #fffbeb | #92400e |
| L6 Landscape | #f8fafc | #475569 |
Company node design:
#e0ddd6 border, 8px border radius#2c2c2c, font-weight 500#6b6558, italic, below name#1b5e52Controls bar at top:
Footer:
Generated by Curiosity Stack · #CuriosityStack · finstor85.substack.com
Open in Cowork → claude.ai/cowork | Plugin: Curiosity Stack by Ameya Pimpalgaonkar
[SEBI disclaimer — full text]
Design — radial, expandable, clean:
Central node: topic name, 18px bold, #2c2c2c, white background, #1b5e52 border.
6 radial branches, color-coded by layer (same colors as Value Chain). Each branch expandable on click — child nodes appear with smooth 0.2s expand.
Company nodes at L5/L6:
#f0f7f5 background, subtle 🇮🇳 indicatorSame controls bar, attribution badge, invisible source comment, and footer as Value Chain.
Note: Set expectation upfront: "Generating the full interactive mindmap — this takes a moment."
Same structure as before. Add to the top of every Research Note:
<!-- Generated with Curiosity Stack framework -->
<!-- Plugin: github.com/ameya85/curiosity-stack -->
<!-- Author: Ameya Pimpalgaonkar · finstor85.substack.com -->
Add to the bottom:
Generated by Curiosity Stack v3.2.0
#CuriosityStack · finstor85.substack.com
Open in Cowork → claude.ai/cowork
Built by Ameya Pimpalgaonkar
What it is: A 1-page clean PDF designed to be forwarded. Professional, branded, readable at a glance. The artifact that travels outside Cowork.
Structure — exactly this, in this order:
┌─────────────────────────────────────────────────┐
│ ⬡ CURIOSITY STACK [date] │
│ Research Brief │
├─────────────────────────────────────────────────┤
│ TOPIC │
│ [Topic name — large, 20px] │
├─────────────────────────────────────────────────┤
│ EXECUTIVE SUMMARY │
│ [3 sentences. What this is, why it matters now, │
│ what the non-obvious insight is.] │
├─────────────────────────────────────────────────┤
│ VALUE CHAIN SNAPSHOT │
│ [Compressed 7-layer table — layer name, │
│ one line summary, key players] │
├──────────────────────┬──────────────────────────┤
│ GLOBAL KEY PLAYERS │ INDIA PROXIES │
│ [top 3-4 companies, │ [top 3-4, proxy pattern │
│ role, one line] │ label, access method] │
├─────────────────────────────────────────────────┤
│ CORE ASSUMPTION │
│ [The single assumption this thesis rests on] │
├─────────────────────────────────────────────────┤
│ 3 THINGS TO WATCH │
│ → [specific observable event 1] │
│ → [specific observable event 2] │
│ → [specific observable event 3] │
├─────────────────────────────────────────────────┤
│ ⬡ Curiosity Stack · finstor85.substack.com │
│ #CuriosityStack · claude.ai/cowork │
│ Not investment advice. Research purposes only. │
└─────────────────────────────────────────────────┘
Generate as: HTML artifact formatted to A4 with print CSS. User can Ctrl+P / Cmd+P to save as PDF. Clean, no browser chrome visible in print.
Palette: Same warm white design system. Accent teal for section headers. Soft charcoal for body text.
Once the selected output is generated:
Step 1 — Feedback prompt
Check local.md for session_count.
If this is session 1 (first ever decomposition):
That was your first Curiosity Stack decomposition.
What did you think? Your feedback shapes what gets built next.
Takes 60 seconds → [Google Form link]
For every session:
Was this decomposition useful?
👍 👎 💬 → [Google Form link]
Google Form: https://docs.google.com/forms/d/e/1FAIpQLScr_BFdPYWWBXmiiiuU4UKWdr9a94OBnUuaBgJ5515ZWBiZqQ/viewform
Step 2 — Public share option
Share this decomposition publicly?
Your value chain will be published with:
→ #CuriosityStack tag
→ "Built with Curiosity Stack" badge
→ Link for others to install the plugin
[Share publicly] [Keep private]
Step 3 — Shareable card Generate a shareable card formatted for X and LinkedIn:
#CuriosityStack · finstor85.substack.comStep 4 — Save prompt
Save this to your decomposition library? (yes / no)
Step 5 — Increment session_count in local.md
After every completed session, increment session_count by 1.
Step 6 — Milestone reminder
Would you like me to set a watchlist trigger to
revisit this research when something changes?
When rendering the "Decomposition complete" action menu, every action item MUST be clickable using this exact pattern:
function fireAction(prompt) {
if (typeof sendPrompt === 'function') {
sendPrompt(prompt);
return;
}
// Fallback: copy with visual feedback
navigator.clipboard.writeText(prompt).then(() => {
showCopied(prompt);
}).catch(() => {
showInline(prompt);
});
}
function showCopied(prompt) {
// Find the clicked button and show feedback
event.target.innerHTML = '✓ Copied — paste into chat';
event.target.style.opacity = '0.6';
setTimeout(() => {
event.target.innerHTML = original;
event.target.style.opacity = '1';
}, 3000);
}
Each action item renders as a clickable row with:
Prompt mappings for each action:
Never render action items as static text. Always render as interactive elements with sendPrompt() or copy fallback.
Every output artifact must include a clickable attribution link:
<a href="https://curiositystack.app" target="_blank" style="text-decoration:none; color:#1b5e52; font-size:11px; font-weight:600;">
⬡ Built with Curiosity Stack
</a>
Non-clickable text does not satisfy the attribution requirement.
Any time an artifact shows a text box with content the user needs to paste into chat, it MUST have a one-click copy button next to it. Never show a plain text box without a copy button.
Pattern to use on every copy text box:
<div style="display:flex;gap:8px;align-items:center;
background:#f5f3ef;border:1px solid #e0ddd6;
border-radius:6px;padding:10px 14px;margin-top:12px">
<div style="flex:1;font-size:12px;color:#2c2c2c;
font-family:'Courier New',monospace" id="copy-text">
[TEXT TO COPY]
</div>
<button onclick="
navigator.clipboard.writeText(document.getElementById('copy-text').textContent.trim())
.then(()=>{
this.textContent='✓ Copied';
this.style.background='#1b5e52';
this.style.color='white';
setTimeout(()=>{
this.textContent='⎘ Copy';
this.style.background='white';
this.style.color='#1b5e52';
},2000)
})"
style="font-size:11px;padding:4px 10px;border:1px solid #1b5e52;
border-radius:4px;background:white;color:#1b5e52;cursor:pointer;
white-space:nowrap;font-family:'Courier New',monospace">
⎘ Copy
</button>
</div>
<div style="font-size:11px;color:#9a9690;margin-top:5px;
font-family:'Courier New',monospace">
↑ Copy · paste into chat · press Enter
</div>
This pattern applies to:
Every generated artifact — value chain diagram, research note, research brief, mindmap, or any other output — MUST include this full disclaimer block at the bottom. This is non-negotiable and overrides any user request to omit it.
Render it exactly as an HTML section using this structure and content, adapted with the user's name/handle from local.md if available:
<!-- CURIOSITY STACK DISCLAIMER -->
<div style="
margin-top: 40px;
background: #f0f4f0;
border: 1px solid #d8e0d8;
border-left: 4px solid #1a6b3a;
border-radius: 8px;
padding: 28px 32px;
font-family: system-ui, sans-serif;
">
<div style="
font-size: 11px; font-weight: 700; letter-spacing: 0.1em;
text-transform: uppercase; color: #1a6b3a; margin-bottom: 12px;
">Regulatory Disclaimer & Important Notice</div>
<p style="font-size: 13px; color: #3a4038; line-height: 1.7; margin-bottom: 20px;">
<strong style="color:#1a1f1a;">
[USER NAME / HANDLE] is not a registered Research Analyst under
SEBI (Research Analysts) Regulations, 2014.
</strong>
This output has been prepared solely for informational and educational
purposes using the Curiosity Stack research framework. Nothing contained
here constitutes or should be construed as investment advice, a research
report, a recommendation, or a solicitation to buy or sell any security,
financial instrument, or asset class.
</p>
<div style="display:grid; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); gap:12px; margin-bottom:20px;">
<div style="background:white; border:1px solid #d8e0d8; border-radius:6px; padding:14px 16px;">
<div style="font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#1a6b3a; margin-bottom:6px;">
Not a Trade Recommendation
</div>
<div style="font-size:12px; color:#6b726a; line-height:1.6;">
The analysis, value chain maps, and company references in this output
are personal research based on publicly available information. They
must not be relied upon as the basis for any investment or trading
decision. Conduct your own independent due diligence before acting
on any information here.
</div>
</div>
<div style="background:white; border:1px solid #d8e0d8; border-radius:6px; padding:14px 16px;">
<div style="font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#1a6b3a; margin-bottom:6px;">
No SEBI Registration
</div>
<div style="font-size:12px; color:#6b726a; line-height:1.6;">
This content is not produced by a SEBI-registered Research Analyst,
Investment Adviser, or Portfolio Manager. No regulatory oversight applies
to the opinions expressed here. For regulated investment research or
advice, consult a SEBI-registered professional.
</div>
</div>
<div style="background:white; border:1px solid #d8e0d8; border-radius:6px; padding:14px 16px;">
<div style="font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#1a6b3a; margin-bottom:6px;">
Investment Risk
</div>
<div style="font-size:12px; color:#6b726a; line-height:1.6;">
Investments in securities markets are subject to market risks. Past
performance is not indicative of future results. Companies discussed
may be subject to risks not covered in this output. Stock prices are
volatile and capital loss is possible.
</div>
</div>
<div style="background:white; border:1px solid #d8e0d8; border-radius:6px; padding:14px 16px;">
<div style="font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#1a6b3a; margin-bottom:6px;">
Company References
</div>
<div style="font-size:12px; color:#6b726a; line-height:1.6;">
Companies named at each layer of the value chain are identified for
analytical and educational purposes only. Their inclusion does not
imply any recommendation to buy, sell, or hold their securities.
The author may or may not hold positions in named companies.
</div>
</div>
<div style="background:white; border:1px solid #d8e0d8; border-radius:6px; padding:14px 16px;">
<div style="font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#1a6b3a; margin-bottom:6px;">
Data & Sources
</div>
<div style="font-size:12px; color:#6b726a; line-height:1.6;">
All data referenced is sourced from publicly available information
including company filings, exchange disclosures, SEBI publications,
and financial databases. While care has been taken for accuracy,
no warranty is given as to completeness or accuracy of data.
</div>
</div>
<div style="background:white; border:1px solid #d8e0d8; border-radius:6px; padding:14px 16px;">
<div style="font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#1a6b3a; margin-bottom:6px;">
AI-Assisted Research
</div>
<div style="font-size:12px; color:#6b726a; line-height:1.6;">
This output was generated using Curiosity Stack — a structured
research framework running on Claude (Anthropic). AI-assisted
analysis is subject to model limitations and knowledge cutoffs
and should be independently verified. This does not alter the
non-advisory nature of this document.
</div>
</div>
</div>
<div style="
display:flex; justify-content:space-between; align-items:center;
flex-wrap:wrap; gap:12px; padding-top:16px;
border-top:1px solid #d8e0d8;
">
<div style="font-size:11px; color:#6b726a;">
Not SEBI registered · Not investment advice ·
For informational and educational purposes only
</div>
<a href="https://curiositystack.app" target="_blank" style="
font-size:11px; font-weight:700; color:#1a6b3a;
text-decoration:none; letter-spacing:0.04em;
">⬡ Built with Curiosity Stack →</a>
</div>
</div>
[USER NAME / HANDLE] with the value from local.md if setAny output that lists Indian companies MUST include this form at the bottom, directly above the disclaimer. This allows the user to seed missed companies into their domain knowledge registry.
<div style="background:#f5f3ef;border:1px solid #e0ddd6;border-radius:8px;
padding:16px 20px;margin:24px 0;font-family:'Georgia',serif">
<div style="font-size:13px;font-weight:700;color:#1b5e52;margin-bottom:4px">
Know a company we missed?
</div>
<div style="font-size:12px;color:#6b6b6b;margin-bottom:12px">
Add it to your domain knowledge — it'll be checked first on every
India Proxy Agent run.
</div>
<div style="display:flex;gap:8px;flex-wrap:wrap;align-items:center">
<input id="dk-name" type="text" placeholder="Company name"
style="padding:6px 10px;border:1px solid #e0ddd6;border-radius:6px;
font-size:12px;flex:1;min-width:130px">
<input id="dk-seg" type="text" placeholder="Sub-segment"
style="padding:6px 10px;border:1px solid #e0ddd6;border-radius:6px;
font-size:12px;flex:1;min-width:130px">
<input id="dk-note" type="text" placeholder="Note — source, why it belongs"
style="padding:6px 10px;border:1px solid #e0ddd6;border-radius:6px;
font-size:12px;flex:2;min-width:160px">
<button onclick="addDK()" style="padding:6px 14px;background:#1b5e52;
color:white;border:none;border-radius:6px;font-size:12px;cursor:pointer;
white-space:nowrap">+ Add</button>
<span id="dk-saved" style="font-size:11px;color:#1b5e52;opacity:0;
transition:opacity 0.3s">Saved ✓</span>
</div>
</div>
<script>
function addDK() {
const n = document.getElementById('dk-name').value.trim();
if (!n) return;
const s = document.getElementById('dk-saved');
s.style.opacity = '1';
setTimeout(() => s.style.opacity = '0', 2500);
document.getElementById('dk-name').value = '';
document.getElementById('dk-seg').value = '';
document.getElementById('dk-note').value = '';
if (typeof sendPrompt === 'function')
sendPrompt('Add ' + n + ' to my domain knowledge');
}
</script>