insight
Skill1 starsChanged 8 months agoMITView on GitHub
Weekly: generate Obsidian insight report with metrics and priorities
4 other projects use a version of this.
Adopted by
Most recently taken up by
- MannyFluss/claude-skillstheir own version, first seen Oct 13, 2026
- liangdabiao/market-insight-claude-skilltheir own version, first seen Jul 15, 2026
- allanbian1017/skillstheir own version, first seen Jul 3, 2026
- 15yotsuka/claude-skillstheir own version, first seen May 22, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- liangdabiao/market-insight-claude-skill★ 136same name
- allanbian1017/skills★ 2same name
- 15yotsuka/claude-skills★ 0same name
- MannyFluss/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository51 other files it gives its agents.
- algorithmic-artSkill
- audit-componentsSkill
- canvas-designSkill
- cascade-orchestrationSkill
- consultSkill
- data-reconciliationSkill
- debug-collaborateSkill
- deep-root-causeSkill
- deploy-allSkill
- design-reverse-engineerSkill
- design-showcaseSkill
- docxSkill
- env-auditSkill
- evolveSkill
- frontend-designSkill
- full-stack-buildSkill
- full-stack-traceSkill
- gh-repo-reconSkill
- grill-meSkill
- handoffSkill
- html-slidesSkill
- internal-commsSkill
- isolation-testSkill
- mcp-builderSkill
- model-selectionSkill
- pdfSkill
- persistent-issueSkill
- pre-merge-reviewSkill
- premise-auditSkill
- propagate-featureSkill
- regression-bisectSkill
- research-gateSkill
- review-implSkill
- schema-checkSkill
- session-notesSkill
- skill-auditSkill
- skill-creatorSkill
- slack-gif-creatorSkill
- start-daySkill
- temporal-forensicsSkill
- theme-factorySkill
- throwaway-scriptSkill
- triage-ideasSkill
- verify-completeSkill
- webapp-testingSkill
- web-artifacts-builderSkill
- wisdomSkill
- worker-buildSkill
- worktree-guardSkill
- write-planSkill
- xlsxSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 28
All CLI commands output to stderr — always append 2>&1 and filter startup noise:
- Distinctive: line 44
Read the most recent 5-7 files (one per session day).
- Very specific: line 75
If your project captures web-vitals from real users (e.g., in a D1 rum_events table), query them now:
- Very specific: line 108
If your project has an event_log table:
- Very specific: line 132
If your installed CLI does support property:set, that route still works — the embedded-frontmatter approach above is just the more portable …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Weekly Insight Report — Obsidian Vault
Generate a weekly insight report summarizing development metrics, progress, and priorities.
Obsidian CLI
Binary: Auto-detect the Obsidian installation path — a system-wide install and a per-user install can both exist, so probe rather than hardcode:
OBS="/c/Program Files/Obsidian/Obsidian.exe"
[ ! -f "$OBS" ] && OBS="/c/Users/${USERNAME:-$USER}/AppData/Local/Programs/obsidian/Obsidian.exe"⚠️ $USER is EMPTY in the Bash tool on Windows — $USERNAME carries it. A bare $USER
silently builds /c/Users//AppData/..., which fails the [ -f ] test and reads as "not
installed" rather than as a broken path.
Active vault: Set {{vault_path}} to your Obsidian vault location — resolve it at runtime
(env override, then a candidate list) rather than hardcoding a username; the folder differs per
machine.
All CLI commands output to stderr — always append 2>&1 and filter startup noise:
"$OBS" <command> [args] 2>&1 | grep -v "Loading\|out of date"Steps
1. Gather Data
Discover this week's session notes:
"$OBS" files folder="{{project}}/Sessions" 2>&1 | grep -v "Loading\|out of date"Read the most recent 5-7 files (one per session day).
Git stats for the week:
git log --oneline --since="7 days ago"
git diff --stat HEAD~{N} # where N = commit count from aboveVault-wide open tasks:
"$OBS" tasks todo verbose 2>&1 | grep -v "Loading\|out of date"Top topics this week (tag frequency):
"$OBS" tags counts sort=count 2>&1 | grep -v "Loading\|out of date"Recurring unresolved items (items appearing in "Next Steps" across sessions):
"$OBS" search:context query="Next Steps|Left Off|Still on backlog" path="{{project}}/Sessions" limit=20 2>&1 | grep -v "Loading\|out of date"Also review: memory/MEMORY.md (repo), CLAUDE.md (repo), {{project}}/Learnings/ (vault).
Real-User Monitoring (web-vitals) — past 7 days (if applicable):
If your project captures web-vitals from real users (e.g., in a D1 rum_events table), query them now:
Use p75, NOT mean. Core Web Vitals are defined at the 75th percentile precisely because backgrounded-tab samples poison the average — web-vitals reports LCP/FCP when a tab is refocused, which can be minutes later. Always: (1) filter outliers
numeric_value < 60000, (2) report p75, (3) keepmaxvisible so you can see the outlier tail you filtered.
npx wrangler d1 execute your-db --remote --command "
WITH f AS (
SELECT project, message AS metric, numeric_value,
ROW_NUMBER() OVER (PARTITION BY project, message ORDER BY numeric_value) AS rn,
COUNT(*) OVER (PARTITION BY project, message) AS n
FROM rum_events
WHERE event_type='perf' AND received_at >= datetime('now','-7 days')
AND numeric_value < 60000 -- drop backgrounded-tab outliers (>60s = tab refocus, not a real load)
)
SELECT project, metric, n AS samples, ROUND(numeric_value,1) AS p75
FROM f WHERE rn = CAST(ROUND(0.75 * (n - 1)) AS INT) + 1 -- nearest-rank p75
ORDER BY project, metric" --jsonCompare each p75 against the web.dev/vitals thresholds:
| Metric | Good | Needs Improvement | Poor |
| LCP | ≤2500ms | 2500–4000ms | >4000ms |
| CLS | ≤0.1 | 0.1–0.25 | >0.25 |
| INP | ≤200ms | 200–500ms | >500ms |
| FCP | ≤1800ms | 1800–3000ms | >3000ms |
| TTFB | ≤800ms | 800–1800ms | >1800ms |
Flag any metric crossing into "needs improvement" or "poor" — and any metric that DEGRADED vs the prior 7 days (re-run with received_at BETWEEN datetime('now','-14 days') AND datetime('now','-7 days') to compare). A jump driven by a few huge samples (check max separately) is almost always the backgrounded-tab artifact, not a real regression — the <60000 filter + p75 already guard against it, but sanity-check before raising an alarm.
Error trends (if applicable):
If your project has an event_log table:
npx wrangler d1 execute your-db --remote --command "SELECT dashboard, category, status, COUNT(*) AS n FROM event_log WHERE eventType = 'error' AND createdAt >= datetime('now', '-7 days') GROUP BY dashboard, category, status ORDER BY n DESC" --jsonSurface: total errors this week, top 3 categories by count, ratio of resolved/dismissed/still-new (the "noise floor"). If any single error type repeats >5 times, that's a hot spot worth calling out.
2. Generate Report
Create the insight file via CLI, with frontmatter embedded in the content:
Some Obsidian CLI versions have removed the
property:setwrite subcommand entirely (it can exit non-zero with "command not found" on newer releases), while the read-sidepropertiessubcommand keeps working. Rather than depend on a write subcommand that may not exist, embed the frontmatter as a literal---YAML block directly in thecreatecall's content — that always works, since it's just markdown text.
"$OBS" create path="{{project}}/Insights/{YYYY-MM-DD}.md" content="---\ntype: insight\nweek-ending: {YYYY-MM-DD}\n---\n\n{report content}" 2>&1 | grep -v "Loading\|out of date"Verify the frontmatter took:
"$OBS" properties path="{{project}}/Insights/{YYYY-MM-DD}.md" 2>&1 | grep -v "Loading\|out of date"If your installed CLI does support property:set, that route still works — the embedded-frontmatter approach above is just the more portable default since it has no dependency on that subcommand existing.
Template:
# Weekly Insight — {YYYY-MM-DD}
## Development Summary
- **Commits this week**: {count}
- **Files changed**: {count}
- **Key features shipped**: [list]
- **Bugs fixed**: [list]
## Architecture Changes
- [any structural changes made]
## Current Priorities
1. [highest priority item]
2. [next priority]
3. [etc.]
## Blocked Items
- [items waiting on external action]
## Metrics / Health
- Components: {count} views, {total lines}
- Shared utilities: {function count}
- Workers/services: {status}
- Open vault tasks: {count from tasks todo}
- Top tags: {from tags counts}
## Real-User Monitoring (web-vitals)
_All values are **p75** with samples >60s filtered out (never report the mean)._
| Project | LCP | CLS | INP | FCP | TTFB | Samples | Status |
|---------|-----|-----|-----|-----|------|---------|--------|
| {project} | {p75 ms} | {p75} | {p75 ms} | {p75 ms} | {p75 ms} | {n} | good / needs-improvement / poor |
**Anomalies vs prior week:** {list any metric that degraded by >20% or crossed a threshold band}
**Errors logged this week (event_log):** {N total · X new · Y resolved · Z dismissed} — top categories: {list top 3}
**Hot spots:** {any error type with >5 occurrences this week}
## Recurring Unresolved Items
- [items appearing in "Next Steps" / "Left Off" across multiple sessions without completion]
## Recommendations
- [suggested improvements or focus areas for next week]3. Update Roadmap
Check current roadmap tasks:
"$OBS" tasks todo path="{{project}}/Roadmap.md" verbose 2>&1 | grep -v "Loading\|out of date"Mark completed items and update priorities based on the week's progress.
When to Run
- End of week (Friday sessions)
- Or when user explicitly requests
/insight - Can also be triggered mid-week for a status check
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

