From domain-intel
Use when the user says 'digest', 'generate report', 'weekly summary', or when invoked by cron. Generates a daily or weekly digest from accumulated insights by dispatching trend-synthesizer for pattern detection and synthesis.
npx claudepluginhub n0rvyn/indie-toolkit --plugin domain-intelThis skill uses the workspace's default tool permissions.
Digest orchestrator for domain-intel. Collects insight files for a time range, dispatches trend-synthesizer (sonnet) for the heavy analytical work, formats and saves the report.
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.
Builds 3-5 year financial models for startups with cohort revenue projections, cost structures, cash flow, headcount plans, burn rate, runway, and scenario analysis.
Digest orchestrator for domain-intel. Collects insight files for a time range, dispatches trend-synthesizer (sonnet) for the heavy analytical work, formats and saves the report.
Designed for cron execution — produces a complete report without interaction.
Bash(command="pwd")
Store the result as WD. All file paths in this skill are relative to WD — prefix every ./ path with {WD}/ when calling Read, Write, Glob, or Grep. Bash commands can use relative paths as-is.
{WD}/config.yaml
[domain-intel] Not initialized. Run /intel setup in this directory. → stopParse the argument (if any):
| Input | Interpretation |
|---|---|
| (no argument) | Daily: today only |
week | Past 7 days |
YYYY-MM-DD | Single specific date |
YYYY-MM-DD YYYY-MM-DD | Custom range (start end) |
Get today's date: date +%Y-%m-%d
Set start_date and end_date.
For each date in the range, find matching insight files individually:
For each date (YYYY-MM-DD) from start_date to end_date:
Glob(pattern="{WD}/insights/{YYYY-MM}/{YYYY-MM-DD}-*.md")
Glob does not support numeric date ranges, so iterate day by day. For efficiency, batch by month: compute which YYYY-MM directories are relevant, then within each directory, glob each date.
Read all matching insight files (exclude convergence signal files for now — collect those separately).
Also find convergence signal files:
Grep(pattern="type: signal", path="{WD}/insights/", output_mode="files_with_matches")
Filter to those within the date range: for each matched file, check that the filename date prefix (YYYY-MM-DD in the filename) falls within [start_date, end_date]. Discard files outside the range.
If zero insights found → output [domain-intel] No insights found for {start_date} to {end_date}. Run /scan first. → stop
Find the most recent trend snapshot:
Glob(pattern="{WD}/trends/*-trends.md")
Read the most recent one (by filename date). If none exists, this is the first digest — no previous trends available.
Read {WD}/LENS.md if it exists:
lens_contextDispatch trend-synthesizer agent with:
Wait for completion. The agent returns:
headline: "..."
trends: [...]
surprises: [...]
collective_wisdom: "..."
domain_summaries: [...]
Write to {WD}/trends/{end_date}-trends.md:
---
date: {end_date}
range: "{start_date} to {end_date}"
insight_count: {N}
trend_count: {N}
---
# Trend Snapshot — {start_date} to {end_date}
## Trends
{For each trend:}
### {name} ({direction})
Evidence: {insight IDs}
{summary}
## Surprises
{For each surprise:}
- **{title}** ({insight_id}): {why}
Skip this step if {WD}/.lens-signals.yaml does not exist.
{WD}/.lens-signals.yaml## Evolution
The following patterns were detected that aren't reflected in your current profile:
| Type | Value | Evidence | Suggestion |
|------|-------|----------|------------|
| New interest | {value} | {N} insights | Consider adding to "What I Care About" |
| New figure | {value} | {N} mentions | Consider adding to figures[] |
| New company | {value} | {N} mentions | Consider adding to companies[] |
| New RSS | {url} | {N} insights | Consider adding to RSS feeds |
| New path | {company}: {path} | scanner discovery | Consider adding to company paths |
| New domain | {name} | {N} insights | Consider adding as tracking domain |
Run `/intel evolve` to review and apply these suggestions.
/intel evolve.Ensure directory: mkdir -p ./digests
Write to {WD}/digests/{end_date}-digest.md (include the Evolution section from Step 7 if signals were found):
---
date: {end_date}
range: "{start_date} to {end_date}"
insight_count: {N}
---
# Domain Intel Digest — {start_date} to {end_date}
> {headline}
## Trends
| Trend | Direction | Evidence |
|-------|-----------|----------|
{For each trend: | {name} | {direction} | {evidence count} insights |}
{For each trend:}
### {name}
{summary}
Evidence: {insight IDs as comma-separated list}
## Surprises
{For each surprise:}
**{title}** — {why}
*Ref: {insight_id}*
## Collective Wisdom
{collective_wisdom}
## By Domain
{For each domain_summary:}
### {domain} ({activity})
{summary}
Top insight: {top_insight_id}
## Convergence Signals
{If any convergence signals in range:}
{Include the signal table from convergence files}
{If none:}
No cross-source convergence detected in this period.
{If evolution section prepared in Step 7:}
{Include the Evolution section here}
---
*Generated: {timestamp} | Insights analyzed: {N} | Range: {start_date} to {end_date}*
Batch-update all included insight files in one command instead of editing each individually:
Bash: sed -i.bak 's/^read: false$/read: true/' {space-separated list of file paths} && rm -f {same paths with .bak suffix}
This handles all files in a single call regardless of count.
Display the full digest content to the terminal.