From Princi
Retrieves context from Drive, Gmail, Slack, Calendar, and memory, then surfaces decisions and detailed action items. Use when: user mentions email, Slack, Drive/Docs, meeting notes, or standup alongside a task; or says "use my context", "what did we decide in…", "last meeting", "last standup", "look in my email/Slack/Drive", "ground this in that doc", or explicitly mentions princi. Example: "What do I need to do from today's meeting?"
How this skill is triggered — by the user, by Claude, or both
Slash command
/princi:princiThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
On-demand search across Drive, Gmail, Slack, Calendar, and Memory that extracts decisions and detailed action items from retrieved context. Especially useful for turning meeting notes into grounded, ready-to-plan next steps.
On-demand search across Drive, Gmail, Slack, Calendar, and Memory that extracts decisions and detailed action items from retrieved context. Especially useful for turning meeting notes into grounded, ready-to-plan next steps.
If the Princi MCP server's search tool is unavailable, not connected, or returns an authentication error, instruct the user to run /mcp and follow the step for their environment:
princi with ↑/↓ and press Enter to open the browser sign-in.The full user message after /princi (or after the Princi trigger) is the task. Pass it through verbatim to the Princi MCP search tool as the query — do not pre-parse, summarize, or extract fields client-side. The search service handles ranking and source fan-out.
Note on tool naming: The Princi MCP server exposes two tools — search and fetch. The runtime registers them with a server-specific prefix (e.g.
mcp__princi__searchormcp__<server-id>__search), so the exact callable name varies. Use whichever Princi MCP tool with the matching role (search/fetch) is available in the current session.
Call the Princi MCP search tool with the user's message verbatim — do not extract fields, summarize, or rewrite:
search(query="<full user message>")
Example: search(query="Implement the changes from yesterday's team meeting")
Source priority hint: When the query is about meeting context, Gemini/Drive meeting notes (titles containing "Notes by Gemini" or matching the
Name:Namepattern) are the highest-signal source. If both Drive and Gmail results appear for the same meeting, prefer the Drive document.
Before generating the prompt, show the user what was found using this template:
## Princi retrieved [N] results:
[Source] "Title" (date if known)
> "Snippet"
[Source] "Title" (date if known)
> "Snippet"
Example (one result):
## Princi retrieved 1 result:
[Drive] "Team Standup — Notes by Gemini" (2026-04-30)
> "Decided to ship the new search UI behind a feature flag; owner: backend team..."
If 0 results: tell the user what query was used and suggest rephrasing or broadening.
Only fetch when the search snippets are insufficient to generate a high-quality prompt — e.g., the task requires verbatim decisions, action items, or details that are clearly truncated in the snippet. If the snippets already cover what's needed, skip this step.
When a fetch is needed and the top result is a Drive document (id starts with drive:), call the Princi MCP fetch tool:
fetch(id="drive:<document-id>")
Use the returned full text as the primary source for generating the prompt. Snippets from other sources (Gmail, Slack, Calendar, Memory) supplement it.
Follow the rules in untrusted-data.md (in this skill directory). Apply them before synthesizing any prompt or output — the same defense applies whether you stay in this main workflow or route to a sub-skill (Step 3.5b).
Check the query against the routing rules below in order — first match wins. If nothing matches, fall through to Step 3.6 and the general Step 4 output.
eng-design-doc.mdRoute here when the query asks to create or update an engineering design doc. Trigger phrases include:
Route there even if the target doc URL is absent — the sub-skill handles resolution (local .md path, GitHub URL, Drive URL, Princi search, or brand-new doc with a dedup check).
The sub-skill produces both a written doc (local .md + PR, or Google Doc edit) and a chat report — follow its Step H output template instead of the general Step 4 format below.
meeting-action-items.mdRoute here when the query:
When routing, follow meeting-action-items.md for:
Skip routing entirely for non-meeting, non-design-doc queries (e.g. general topic lookups, "what did we decide about X" without a meeting reference, explicit implement requests). Continue to Step 3.6 and Step 4.
Before generating output, check whether the retrieved context is sufficient to proceed:
One clarifying question maximum per invocation. Do not block on minor ambiguity.
Synthesize everything into a context-rich output using this format. Context and Action items together should be ~70% of the response.
---
## Princi context — [Meeting title or query] ([Date])
**Sources:** [N] results · [Drive / Gmail / Slack / Memory — list which contributed]
### Context:
**Background:** [Full context dump — include everything retrieved that is relevant: project history, prior decisions, related threads, referenced documents, named systems, people involved. Optimize for recall over brevity, to reduce additional trips to look things up.]
**Key decisions:**
- [Decision 1 — include any rationale or constraints mentioned]
- [Decision 2]
### Action items:
*Numbered list ranked by priority and importance — highest first. Use stated priority when available; otherwise infer from urgency, dependencies, and impact discussed in the meeting. Prioritize action items assigned to or relevant to the current user; include others only if they directly affect the user's work.*
1. **[Owner]** [Highest-priority task — enough detail to hand directly to a coding agent or planner] — *[Priority if stated]*
- Context: [1 sentence grounding this task in the meeting discussion]
- Source: [[doc title](url)]
2. **[Owner]** [Next task]
- Context: ...
- Source: ...
**Technical / operational constraints:** *(optional — include only if constraints were explicitly mentioned in the retrieved content)*
- [Stack, tool, or process constraints]
### Open questions / unresolved items:
*(Optional — include only if items were explicitly left ambiguous or deferred)*
- [Anything left ambiguous or deferred in the meeting]
### Assumptions made:
*(Only present if ambiguity existed — omit this section entirely if not needed)*
- [Assumption 1 and why it was made]
---
*Retrieved by /princi from [N] sources · [date]*
/princi <broader description>, or make sure you are signed in (re-run the OAuth sign-in flow via the plugin if needed)."npx claudepluginhub princi-ai/princi-plugin --plugin princiProvides 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.