architecture-review
Surfaces architectural friction in real code — shallow modules, tight coupling, untested seams — and proposes deepening refactors…
Anti-hallucination research mode. Toggle on to enforce citation requirements, source grounding, and "I don't know" behavior. Toggle off for creative work.
$ npx -y skills add assafkip/kipi-system --skill research-mode --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/research-modeContext preview
The summary Claude sees to decide when to auto-load this skill.
Anti-hallucination research mode. Toggle on to enforce citation requirements, source grounding, and "I don't know" behavior. Toggle off for creative work.
name: research-mode description: Anti-hallucination research mode. Toggle on to enforce citation requirements, source grounding, and "I don't know" behavior. Toggle off for creative work.
Activates anti-hallucination constraints based on Anthropic's documentation. Stay in this mode until the user says to exit.
Source: [Anthropic - Reduce Hallucinations](https://docs.anthropic.com/en/docs/test-and-evaluate/strengthen-guardrails/reduce-hallucinations)
**Before starting:** Read `references/anthropic-reduce-hallucinations.md` for the full technique set from Anthropic's documentation. The constraints below are derived from that source.
If you don't have a credible source for a claim, say so. Don't guess. Don't infer. "I don't have data on this" is always a valid answer.
Every recommendation, claim, or piece of advice must cite a specific source:
If you generate a claim and cannot find a supporting source, retract it. Do not present it.
When working from documents, extract the actual text first before analyzing. Ground your response in word-for-word quotes, not paraphrased summaries. Reference the quote when making your point.
Check sources in this order. Stop at the first level that answers the question.
**Level 1 -- Local files (zero cost):** Use Grep and Read to search the current project. Canonical files, docs, code, and config are the cheapest, most reliable sources. If the claim is about this project, local files ARE the citation.
**Level 2 -- Perplexity (low cost, preferred for all web research):** Call `mcp__perplexity__perplexity_ask` with a focused question. Perplexity returns a grounded answer with inline citations in a single call. Cite the Perplexity response and its source URLs verbatim. Do NOT paraphrase without attribution.
**Level 3a -- Jina Reader (cheap default for page reads):** When Perplexity's summary is insufficient and you need word-for-word text from a specific page, default to Jina Reader BEFORE WebFetch. Returns clean markdown of any public URL with near-zero cost.
Usage:
curl -s https://r.jina.ai/<TARGET_URL>
**Level 3b -- WebFetch (only when Jina fails):** Use only if Jina Reader returns empty/error, or if the target page is Cloudflare-protected or auth-walled and Jina can't pass. WebFetch is ~10-50x more expensive per page than Jina due to LLM-side processing. Log every WebFetch call with rationale.
**Level 3c -- Chrome DevTools MCP snapshot (JS-rendered, local only):** For pages that need browser rendering (heavy JS, hydration, single-page apps), use `mcp__plugin_chrome-devtools-mcp_chrome-devtools__take_snapshot`. Returns accessibility tree (~10x smaller than full DOM). Local Claude Code sessions only -- not available in cloud routines.
**Level 4 -- Scholar Gateway (for academic claims):** For academic papers or research findings, use Scholar Gateway MCP if available. Structured results, no page scraping.
**Level 5 -- Firecrawl scrape-to-FILE (persist full source; for large or long-lived research projects):** When you need the FULL text of many pages SAVED for later search and citation (not summarized into context), run `q-system/.q-system/scripts/firecrawl-scrape.py <url> <output-dir>`. It writes the page's full markdown (`onlyMainContent`) to a file, so the cascade can grep + cite thousands of sources without hitting context limits. Requires `FIRECRAWL_API_KEY` (env var ONLY; no committed secret). Fail-closed on an empty body (persists nothing). Use only when persistence beats a one-shot Perplexity/WebFetch answer.
If the source is a public marketing/blog/docs/news page, default to Jina (3a). Only escalate to WebFetch (3b) when Jina fails. Use chrome-devtools-mcp (3c) only when JS rendering is required AND you are in a local session. Log every WebFetch call to justify the cost.
Give your AI the right knowledge, at the moment it needs it. Kipi turns the scattered knowledge around your work into context that follows you across AI sessions: decisions, conversations, projects, people, commitments, lessons, documents, history.
Surfaces architectural friction in real code — shallow modules, tight coupling, untested seams — and proposes deepening refactors…
AUDHD executive function accommodations. Apply to all output the founder will act on.
Generate modern presentation decks (PDF) from markdown content. Local open-source alternative to Gamma — uses Slidev for layouts…
Founder voice enforcement for all written output. Apply to any text another person will read.
Platform-optimized headline and hook engineering for X (Twitter), Reddit, LinkedIn, Medium, Substack. Apply when writing or…