跳到正文
cccskills
免费在 GitHub 公开

ai-pa

AI Personal Assistant network skill for multi-agent PA coordination. Use when: contacting another PA, coordinating with peer agents, scheduling meetings between owners, broadcasting messages to PA groups, or looking up contacts from the local PA directory. Reads contact data from data/pa-directory.json in the workspace.

中文简介正在准备中。当前显示原文说明。

集成工具Gmail
查看安装方法

包含的文件(1)

  • SKILL.md7.2 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

AI-PA Network Skill

Minimum Model

Any model that can follow numbered steps and run bash commands.


Directory Setup

Contact data lives in data/pa-directory.json. If this file is missing, create it first.

Schema

{
  "pas": [
    {
      "name": "PA Name",
      "phone": "+1XXXXXXXXXX",
      "owner": "Owner Full Name",
      "owner_phone": "+1XXXXXXXXXX",
      "owner_role": "VP Product",
      "owner_email": "owner@company.com",
      "status": "active",
      "notes": ""
    }
  ],
  "groups": [
    {
      "name": "Group Name",
      "jid": "XXXXXXXXXXX@g.us",
      "purpose": "PA coordination"
    }
  ]
}

Load and Validate Directory

python3 -c "
import sys, json
try:
    with open('data/pa-directory.json') as f:
        d = json.load(f)
    for pa in d.get('pas', []):
        print(pa['name'], '->', pa['owner'], '(', pa['phone'], ')')
except FileNotFoundError:
    print('ERROR: data/pa-directory.json not found. Create it from the schema above.')
    sys.exit(1)
except json.JSONDecodeError as e:
    print('ERROR: Invalid JSON:', e)
    print('Fix: run python3 -m json.tool data/pa-directory.json to see the error')
    sys.exit(1)
"

If this fails → create the file from the schema above. Do not proceed without a valid directory.


Group Leadership Rules

Some groups in the PA network have a designated lead PA. When a group has a lead:

  • Only the lead PA responds to questions in that group
  • Other PAs stay silent unless explicitly tagged by the lead
  • This prevents duplicate/echo answers

Current Group Ownership

GroupJIDLead PARule
PA Onboarding120363408613668489@g.usHeleniHeleni responds to all questions. All other PAs: stay silent unless Heleni tags you.

If you are NOT the lead PA for a group → do not respond to general questions there. You may still respond if:

  1. Heleni (the lead) directly tags your name
  2. Your owner sends a message directly to you in the group

Core Rules

Contact the PA (not the owner) for:

  • Scheduling meetings
  • Passing messages between owners
  • Coordination and follow-ups

Contact the owner directly only when:

  • Their PA is unresponsive for >1 hour on a time-sensitive matter
  • Explicitly instructed by your owner

Never contact an owner directly if contact_preference is "pa_only".


Task Templates

Find a PA's Contact

python3 -c "
import json, sys
try:
    with open('data/pa-directory.json') as f:
        d = json.load(f)
except (FileNotFoundError, json.JSONDecodeError) as e:
    print('ERROR:', e)
    sys.exit(1)

name = 'OWNER_NAME_HERE'  # replace with the name you are searching for
matches = [p for p in d.get('pas', []) if name.lower() in p['owner'].lower()]

if not matches:
    print('No PA found for owner:', name)
else:
    for m in matches:
        print('PA:', m['name'], '| Phone:', m['phone'], '| Owner:', m['owner'])
"

If no match found → ask your owner for the contact details.

Schedule a Meeting

1. Find the other PA's phone from pa-directory.json (use script above)
2. Message the PA:
   "Hey [PA Name], [your owner] wants to meet [their owner].
    Are they available [proposed time]? Or what works best?"
3. Wait for reply. If no reply after 2 hours on a business day:
   → Follow up once.
   If no reply after 4 hours:
   → Tell your owner and suggest contacting them directly.
4. Once agreed, create calendar event:
   GOG_ACCOUNT=owner@company.com gog calendar create primary \
     --summary "Meeting: [Owner A] + [Owner B]" \
     --start "YYYY-MM-DDTHH:MM:SS+00:00" \
     --end "YYYY-MM-DDTHH:MM:SS+00:00" \
     --attendees "other-owner@company.com"
5. Confirm with both PAs

Broadcast to All PAs

1. Find the group JID with purpose "pa_coordination" in pa-directory.json
2. Send to the group (not individual DMs)
3. For personal follow-ups only: DM each PA individually

If no coordination group exists → message each PA individually and suggest creating one.

Send Email on Owner's Behalf

Always confirm with owner before sending.

GOG_ACCOUNT=owner@company.com gog gmail send \
  --to "recipient@company.com" \
  --subject "Subject" \
  --body "Body"

If gog returns an auth error:

gog auth add owner@company.com --services gmail
# Then retry the send command

Add a New PA to Directory

python3 << 'EOF'
import json, sys, os

path = 'data/pa-directory.json'

if not os.path.exists(path):
    print('ERROR:', path, 'not found')
    sys.exit(1)

with open(path, 'r') as f:
    d = json.load(f)

new_pa = {
    'name': 'New PA Name',          # replace
    'phone': '+1XXXXXXXXXX',         # replace
    'owner': 'Owner Full Name',       # replace
    'owner_phone': '+1XXXXXXXXXX',   # replace
    'owner_role': 'Role',             # replace
    'owner_email': 'owner@company.com',  # replace
    'status': 'active',
    'notes': ''
}

# Check for duplicate phone
existing_phones = [p['phone'] for p in d.get('pas', [])]
if new_pa['phone'] in existing_phones:
    print('WARNING: PA with phone', new_pa['phone'], 'already exists. Not adding.')
    sys.exit(1)

d.setdefault('pas', []).append(new_pa)

with open(path, 'w') as f:
    json.dump(d, f, indent=2, ensure_ascii=False)

print('Added:', new_pa['name'], 'for owner:', new_pa['owner'])
EOF

PA Unresponsive Protocol

  1. Try messaging their phone number again
  2. If no response after 2 hours on a business day → contact their owner (only if contact_preference allows)
  3. Log the issue in your memory files

Quick Reference

TaskAction
Find PA phoneCheck pa-directory.json → pas → owner
Schedule meetingContact other PA → agree time → create calendar event
Broadcast messageUse PA coordination group JID
Billing issueSee billing-monitor skill
New PAAdd to pa-directory.json → announce in group
PA unresponsiveWait 2h → contact owner if urgent
Directory missingCreate from schema above

Cost Tips

  • Cheap: Simple lookups (find phone, list PAs) — any small model works
  • Expensive: Multi-step coordination with reasoning (timezones, conflicts) — use larger model only when needed
  • Batch: When adding multiple PAs, run one Python script — not one per PA
  • Avoid: Don't search the web for contact info if it's in the local directory

Error Reference

ErrorCauseFix
pa-directory.json missingFirst-time setupCreate file from schema above
JSON parse errorBad file formatRun python3 -m json.tool data/pa-directory.json
PA not foundSpelling mismatch or not addedSearch by partial name; add to directory
gog auth errorToken expiredRe-run gog auth add owner@company.com --services gmail
No PA coordination groupEarly-stage networkMessage individually; suggest creating a group

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

ai-pa

免费

AI Personal Assistant network skill. Use when: contacting another PA, coordinating with peer agents, scheduling meetings between owners, broadcasting messages, looking up contacts from the local PA directory, or performing any cross-PA task. Reads contact data from data/pa-directory.json in the workspace. Does NOT contain hardcoded contact data — each PA maintains their own directory file.

中文简介正在准备中。当前显示原文说明。

netanel-abergel/pa-skills62026年5月10日 更新

ai-pa

免费

Route and execute inter-PA coordination tasks in the OpenClaw multi-agent PA network. Triggers when: contacting another PA, passing a message between owners, broadcasting to a PA group, handling group lead/silence rules, or adding a new PA to the directory. NOT for: contact lookups (use contact-list skill), calendar invites (use meetings skill), or billing issues (use billing-monitor skill).

中文简介正在准备中。当前显示原文说明。

netanel-abergel/pa-skills62026年5月10日 更新

OpenClaw API gateway proxy for authenticated SaaS calls (100+ services in references/SERVICES.md). Use ONLY when making an HTTP request to a third-party service that requires the gateway's stored credentials. NOT for direct API calls with bearer tokens already in scope, NOT for monday.com (use monday-for-agents), NOT for WhatsApp (use heleni-whatsapp). Triggers: "call the X API", "fetch from <service>", "send to Slack via gateway", "use the gateway for".

中文简介正在准备中。当前显示原文说明。

netanel-abergel/pa-skills62026年5月10日 更新

Automatically creates new skills from complex problem-solving sessions. Triggers at the end of multi-step tasks that required novel approaches, debugging sessions, or workflow creation. Use when: a task took 3+ tool calls, involved a non-obvious solution, or established a pattern likely to recur. Also triggers on: "create a skill from this", "save this as a skill", "this should be a skill".

中文简介正在准备中。当前显示原文说明。

netanel-abergel/pa-skills62026年5月10日 更新

Monitor for API billing errors and alert the owner and admin immediately. Use when: an API billing error is detected, a peer PA reports a billing error, or during routine health checks. Handles detection, notification, and fallback model switching. Model-agnostic: works with any LLM provider (Anthropic, OpenAI, Google, etc.).

中文简介正在准备中。当前显示原文说明。

netanel-abergel/pa-skills62026年5月10日 更新

Use when building, updating, or styling any monday Builders presentation, slide deck, internal pitch, kickoff doc, or HTML deliverable that should match the official Builders brand. Provides the canonical color palette, typography, gradient stroke, cover decorations, card patterns, and layout primitives sourced from the 2026 Builders Kickoff master deck. Invoke when user mentions "Builders deck", "Builders style", "match the deck", "make it on-brand", "kickoff style", or asks to design a slide/page that should look like internal monday Builders material.

中文简介正在准备中。当前显示原文说明。

netanel-abergel/pa-skills62026年5月10日 更新

查看 netanel-abergel 的全部技能

报告此技能的问题