SuperAPI AI Directory

company-admin

General & other

View repository

Updated 10-15 21:10

About this skill

What I Do

This skill instructs how to access and update company administrative information. All data lives in Notion - this skill just tells you where to find it and how to update it.


Prerequisites

Required: .env file

This skill requires a .env file at .opencode/skill/company-admin/.env with Notion page IDs.

If the file doesn't exist or is missing info, ask the user:

I need to set up the company-admin skill. Please provide:
1. MCP Skills page ID (company-level info)
2. Admin/Legal page ID (personal details, sensitive info)
3. Investor Cheat Sheet page ID (optional)

You can find page IDs in the Notion URL after the page title.


Then create the `.env` file:

```bash
# Check if .env exists
cat .opencode/skill/company-admin/.env

# If missing, create it with user-provided values

.env Template

# Notion Page IDs for Company Admin
# Find these in the Notion URL: notion.so/[page-title]-[PAGE_ID]

NOTION_MCP_SKILLS_PAGE_ID=
NOTION_ADMIN_LEGAL_PAGE_ID=
NOTION_INVESTOR_CHEAT_SHEET_ID=

# External service URLs (non-sensitive)
FIRSTBASE_DASHBOARD_URL=https://app.firstbase.io/company/OR5DEAF6/details
TEAM_CALENDAR_URL=https://cal.com/team/0finance/30

Workflow

Step 1: Load Config

# First, check for .env file
cat .opencode/skill/company-admin/.env

If missing or incomplete → Ask user to provide the page IDs and create the file.

Step 2: Fetch from Notion

# For company-level info (incorporation, officers, addresses)
notion_notion-fetch: id="$NOTION_MCP_SKILLS_PAGE_ID"
→ Look at "Company Admin" section

# For personal details (passport, addresses, stock status)
notion_notion-fetch: id="$NOTION_ADMIN_LEGAL_PAGE_ID"

# For investor questions
notion_notion-fetch: id="$NOTION_INVESTOR_CHEAT_SHEET_ID"

Step 3: Update Notion (when user provides new info)

# Update Admin/Legal page (personal info, stock status, etc.)
notion_notion-update-page:
  page_id: "$NOTION_ADMIN_LEGAL_PAGE_ID"
  command: "insert_content_after"
  selection_with_ellipsis: "[find appropriate section]"
  new_str: "[new content]"

# Update MCP Skills page (company-level info)
notion_notion-update-page:
  page_id: "$NOTION_MCP_SKILLS_PAGE_ID"
  command: "insert_content_after" or "replace_content_range"
  ...

What Goes Where

Info Type Store In
Personal details (passport, DOB, citizenship) Admin/Legal page
Personal addresses (home, mailing) Admin/Legal page
Stock/shares status Admin/Legal page
Company details (legal name, state, industry) MCP Skills → Company Admin
Officers/directors/shareholders MCP Skills → Company Admin
Company addresses (registered agent, bank) MCP Skills → Company Admin
Service providers (Firstbase, Mercury) MCP Skills → Company Admin
Investor Q&A Investor Cheat Sheet

Security Rules

DO

  • Store page IDs in .env file (gitignored)
  • Fetch from Notion for accurate, up-to-date info
  • Update Notion when user provides new info
  • Ask user to create .env if missing

DON'T

  • Hardcode page IDs in the skill file
  • Cache sensitive info anywhere locally
  • Echo passport numbers, SSN in chat responses
  • Guess or make up legal/financial details

Common Tasks

Task Action
"What's our address?" Fetch MCP Skills page → Company Admin → Addresses
"Update my address" Update Admin/Legal page in Notion
"Fill out a form" Fetch relevant page, use info, don't echo sensitive data
"Add new company info" Update MCP Skills page → Company Admin section
"Stock/shares question" Fetch Admin/Legal page → Stock section

Admin Tasks Management

Tasks are stored in the Admin/Legal page under "# Admin Tasks" section.

Task Structure

# Admin Tasks

## Active Tasks

### [Category] (Due: [date])

- [ ] **Task name** - Description
  - Subtask or context
  - Links, phone numbers, etc.
- [ ] Another task

## Completed Tasks

- [x] Completed task - moved here when done

How to Add a Task

notion_notion-update-page:
  page_id: "$NOTION_ADMIN_LEGAL_PAGE_ID"
  command: "insert_content_after"
  selection_with_ellipsis: "## Active Tasks...appropriate category"
  new_str: "- [ ] **New task** - Description\n  - Subtask details"

How to Complete a Task

  1. Fetch the Admin/Legal page
  2. Find the task in "Active Tasks"
  3. Move it to "Completed Tasks" section with [x] checked
notion_notion-update-page:
  page_id: "$NOTION_ADMIN_LEGAL_PAGE_ID"
  command: "replace_content_range"
  selection_with_ellipsis: "- [ ] **Task name**...details"
  new_str: ""  # Remove from Active

# Then add to Completed:
notion_notion-update-page:
  page_id: "$NOTION_ADMIN_LEGAL_PAGE_ID"
  command: "insert_content_after"
  selection_with_ellipsis: "## Completed Tasks"
  new_str: "\n- [x] **Task name** - Done [date]"

How to Add Subtasks

When researching a task reveals subtasks (like Gusto setup), add them nested:

- [ ] **Main task**
  - [ ] Subtask 1
  - [ ] Subtask 2
  - Context: links, phone numbers, notes

Task Categories

Category Examples
Gusto Setup Payroll, tax registration, workers comp
Stock/Legal Share issuance, legal filings
Tax Filings, registrations, deadlines
Banking Mercury setup, account changes
Compliance CA requirements, retirement plans

First-Time Setup

If .env file is missing, run this flow:

  1. Ask user for Notion page IDs
  2. Create .env file:
cat > .opencode/skill/company-admin/.env << 'EOF'
NOTION_MCP_SKILLS_PAGE_ID=[user-provided]
NOTION_ADMIN_LEGAL_PAGE_ID=[user-provided]
NOTION_INVESTOR_CHEAT_SHEET_ID=[user-provided]
FIRSTBASE_DASHBOARD_URL=https://app.firstbase.io/company/OR5DEAF6/details
TEAM_CALENDAR_URL=https://cal.com/team/0finance/30
EOF
  1. Verify by fetching a page
  2. Confirm setup complete