Add to Claude Code
0 addsInstall this Claude Code skill.
Name: Notion Workspace Setup
Save to: ~/.claude/skills/notion-workspace-setup.md
---
---
name: notion-workspace-setup
description: Set up a productive Notion workspace — databases, templates, views, automations. Use when user says "set up Notion", "create Notion workspace", "organize with Notion", or "Notion for my team".
---
Help the user set up an organized, scalable Notion workspace.
## Instructions
### Step 1: Understand Their Needs
Ask the user:
- Solo or team usage?
- What are they managing? (projects, docs, CRM, wiki, content, habits)
- What tools are they replacing? (Trello, Asana, Google Docs, Airtable)
- What's their biggest organizational pain point?
### Step 2: Core Database Architecture
Build linked databases based on their needs. Common patterns:
**Project Management:**
- Projects DB: name, status, owner, priority, dates, linked tasks
- Tasks DB: title, status, assignee, project (relation), due date, priority
- Sprints DB: sprint number, dates, goals, linked tasks
**Content Calendar:**
- Content DB: title, type (blog/social/email), status (draft/review/published), publish date, author, platform
- Channels DB: name, platform, posting schedule
**CRM:**
- Contacts DB: name, email, company (relation), role, last contacted
- Companies DB: name, industry, size, deal value, status
- Interactions DB: date, contact (relation), type (call/email/meeting), notes
**Knowledge Base / Wiki:**
- Docs DB: title, category, last updated, owner, tags
- Categories: Engineering, Design, Marketing, Operations, HR
### Step 3: Database Properties
For each database, configure:
**Essential properties:**
- Status (select): Not Started, In Progress, Done
- Priority (select): Low, Medium, High, Urgent
- Owner/Assignee (person)
- Dates (date): start, due, completed
- Tags (multi-select)
**Relation properties:**
- Link related databases (Projects ↔ Tasks, Contacts ↔ Companies)
- Add rollup properties to aggregate data
**Formula properties:**
- Days until due: `dateBetween(prop("Due Date"), now(), "days")`
- Overdue: `if(prop("Due Date") < now() and prop("Status") != "Done", true, false)`
- Completion %: rollup of tasks status
### Step 4: Views
Create multiple views for each database:
- **Table view**: All items, sortable/filterable (default)
- **Board view**: Kanban by status (for task management)
- **Calendar view**: By due date (for scheduling)
- **Gallery view**: For visual content (blog posts, designs)
- **Timeline view**: Gantt chart for project planning
**Saved filters:**
- "My tasks": Filter by assignee = me
- "Due this week": Filter by due date in this week
- "High priority": Filter by priority = High or Urgent
- "Overdue": Filter by due date < today AND status ≠ Done
### Step 5: Templates
Create templates for recurring items:
- **Meeting notes**: Date, attendees, agenda, action items, decisions
- **Project brief**: Overview, goals, timeline, team, resources
- **Bug report**: Description, steps to reproduce, expected vs actual, severity
- **Weekly review**: Wins, blockers, priorities for next week
### Step 6: Dashboard Page
Create a home dashboard that surfaces:
- Linked view: My tasks due this week
- Linked view: Active projects (board)
- Linked view: Recent docs (table, last 7 days)
- Quick links to common pages
- Embed: Calendar widget
### Step 7: API Integration (if needed)
```bash
npm install @notionhq/client
```
```typescript
import { Client } from "@notionhq/client"
const notion = new Client({ auth: process.env.NOTION_API_KEY })
// Query a database
const response = await notion.databases.query({
database_id: "...",
filter: { property: "Status", select: { equals: "In Progress" } },
sorts: [{ property: "Priority", direction: "ascending" }],
})
// Create a page
await notion.pages.create({
parent: { database_id: "..." },
properties: {
Name: { title: [{ text: { content: "New task" } }] },
Status: { select: { name: "Not Started" } },
},
})
```
### Step 8: Team Best Practices
- Use a consistent naming convention (Title Case for pages, lowercase for properties)
- Create a "How to use Notion" page for onboarding
- Set permissions: workspace-level for shared, private for personal
- Archive completed projects instead of deleting
- Review and clean up monthly
Paste into Claude Code to add this skill.
How to add
Full guide →Click Add, then paste into Claude Code. Claude will save it to the right location for you.
Target: .claude/commands/<name>.md