Back to list
different-ai

company-admin

by different-ai

CLI-first banking for agents

175🍴 32📅 Jan 23, 2026

SKILL.md


name: company-admin description: Access and update company administrative information stored in Notion

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:

# 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 TypeStore In
Personal details (passport, DOB, citizenship)Admin/Legal page
Personal addresses (home, mailing)Admin/Legal page
Stock/shares statusAdmin/Legal page
Company details (legal name, state, industry)MCP Skills → Company Admin
Officers/directors/shareholdersMCP Skills → Company Admin
Company addresses (registered agent, bank)MCP Skills → Company Admin
Service providers (Firstbase, Mercury)MCP Skills → Company Admin
Investor Q&AInvestor 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

TaskAction
"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

CategoryExamples
Gusto SetupPayroll, tax registration, workers comp
Stock/LegalShare issuance, legal filings
TaxFilings, registrations, deadlines
BankingMercury setup, account changes
ComplianceCA 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

Score

Total Score

75/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

+5
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon