本文へ移動
cccskills
無料GitHub で公開

design-team-management

Manage organizational teams and professional roles in the NV oOS Pro Toolkit. Covers team creation, profession definitions, role assignments, and organizational structure. Use when setting up teams, defining professional roles, assigning users to teams, or managing organizational hierarchy.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md14.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

NV oOS Pro Toolkit Team Management

The Pro Toolkit Team Management system provides organizational structure built on WordPress Custom Post Types. It defines the hierarchy: professions (specialties) → teams (organizational units) → users (team members). All entities are stored as CPT records accessible via the toolkit_cpt MCP tool.

WP-CLI Commands

Key mcp-ai WP-CLI commands for team management operations. Run via terminal:

CommandUse for
wp mcp-ai cronCheck team sync cron events (user-to-team assignments, role propagation)
wp mcp-ai queueInspect team import/export background jobs
wp mcp-ai healthVerify team structure integrity, orphaned members, missing professions
wp mcp-ai logView team assignment and role change logs
wp user list --role=<role>List WordPress users by role for team assignment planning

When to use this skill

Trigger when ANY of the following is true:

  • Creating, updating, or deleting teams (organizational units).
  • Defining or modifying professional roles and specialties.
  • Assigning users to teams or professions.
  • Reviewing organizational structure — which teams exist, who belongs to them.
  • Searching for teams by name, profession, or membership.
  • Building team hierarchies (parent/child teams, departments, divisions).
  • Onboarding new staff — creating their profession record and team assignment.
  • Auditing team composition for role coverage gaps.
  • Managing profession metadata like thumbnails, descriptions, and required skills.

Mental model — Teams and professions

The team management system is organized around two entity types in a many-to-many relationship:

PROFESSION ──(defines role)──→ USER ←──(belongs to)── TEAM
     │                                                    │
     ├── title (specialty name)                          ├── title (team name)
     ├── editor (rich description)                       ├── editor (team description)
     └── thumbnail (icon/badge)                          └── members (via user meta or CPT links)

Relationships:

  • A Profession (mcp_ai_profession) represents a role, specialty, or job function (e.g., "Cardiologist", "Frontend Developer", "Project Manager").
  • A Team (mcp_ai_team) represents an organizational unit, department, or project group (e.g., "Cardiology Department", "Engineering Team Alpha").
  • Users are WordPress user accounts. Team membership and profession are typically stored as user meta or linked via additional CPT relationships.
  • One user can belong to multiple teams and hold one or more professions.
  • Teams can have hierarchical relationships (parent/child) for departments and sub-teams, managed via the standard WordPress post_parent field.

Team Management Entity Types

All team management entities are managed through the toolkit_cpt MCP tool. Use the appropriate post_type slug for each entity:

CPT SlugLabelPurposeSupported Fields
mcp_ai_teamTeamsOrganizational units, departments, project groupstitle, editor (content), post_parent (hierarchy)
mcp_ai_professionProfessionsProfessional roles, specialties, job functionstitle, editor (content), thumbnail (featured image)

Team Fields (detailed)

FieldTypeDescriptionExample
titlestringTeam name"Cardiology Department", "Engineering Team Alpha"
contentstringTeam description, mission, or charterRich text describing the team's purpose and scope
post_parentintegerParent team ID for hierarchy15 (parent team post ID)
statusstringPost status"publish", "draft"
author_idintegerWordPress user ID of the team lead or creator7

Profession Fields (detailed)

FieldTypeDescriptionExample
titlestringProfession name"Cardiologist", "Senior Frontend Developer"
contentstringRole description, responsibilities, required qualificationsRich text describing the role
thumbnailintegerFeatured image attachment ID (badge, icon, or photo)205
statusstringPost status"publish", "draft"
author_idintegerWordPress user ID of the role creator1

Available Tools

All team management operations use the toolkit_cpt MCP tool. This is the single interface for all team and profession CRUD operations.

Discovery

# List all available team management post types
toolkit_cpt(action: "list_types")

# Get field schema for teams or professions
toolkit_cpt(action: "get_schema", post_type: "mcp_ai_team")
toolkit_cpt(action: "get_schema", post_type: "mcp_ai_profession")

Reading records

// List all teams
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "list_items",
    "post_type": "mcp_ai_team",
    "orderby": "title",
    "order": "ASC",
    "per_page": 50,
    "page": 1
  }
}

// Search teams by name
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "list_items",
    "post_type": "mcp_ai_team",
    "search": "Cardiology"
  }
}

// List all professions
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "list_items",
    "post_type": "mcp_ai_profession",
    "orderby": "title",
    "order": "ASC",
    "per_page": 50
  }
}

// Search professions by name
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "list_items",
    "post_type": "mcp_ai_profession",
    "search": "Developer"
  }
}

// Get a single team or profession
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "get_item",
    "post_type": "mcp_ai_team",
    "item_id": 42
  }
}

Creating records

// Create a new team
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "create_item",
    "post_type": "mcp_ai_team",
    "fields": {
      "title": "Cardiology Department",
      "content": "The Cardiology Department provides comprehensive cardiac care including diagnostics, interventional procedures, and long-term heart health management.",
      "status": "publish"
    }
  }
}

// Create a child team (sub-team under a parent)
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "create_item",
    "post_type": "mcp_ai_team",
    "fields": {
      "title": "Interventional Cardiology Unit",
      "content": "Specialized unit within Cardiology handling catheter-based procedures.",
      "status": "publish",
      "post_parent": 42
    }
  }
}

// Create a new profession
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "create_item",
    "post_type": "mcp_ai_profession",
    "fields": {
      "title": "Interventional Cardiologist",
      "content": "Board-certified cardiologist specializing in catheter-based treatment of structural heart diseases. Requires fellowship training in interventional cardiology.",
      "status": "publish"
    }
  }
}

Updating records

// Rename a team
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "update_item",
    "post_type": "mcp_ai_team",
    "item_id": 42,
    "fields": {
      "title": "Cardiology & Vascular Department"
    }
  }
}

// Update a profession's description and thumbnail
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "update_item",
    "post_type": "mcp_ai_profession",
    "item_id": 88,
    "fields": {
      "title": "Senior Interventional Cardiologist",
      "content": "Updated: Requires 5+ years post-fellowship experience. Leads complex structural heart interventions including TAVR and MitraClip procedures."
    }
  }
}

// Re-parent a team (move under a different parent)
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "update_item",
    "post_type": "mcp_ai_team",
    "item_id": 55,
    "fields": {
      "post_parent": 99
    }
  }
}

Deleting records

// Delete a team
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "delete_item",
    "post_type": "mcp_ai_team",
    "item_id": 42
  }
}

⚠️ Warning: Deleting a team is permanent. Before deleting, reassign any member users and re-parent any child teams. Consider archiving via status: "draft" instead, to preserve organizational history.

Common Workflows

Setting up organizational structure

1. Define professions:    create_item(mcp_ai_profession) for each role in the organization.
2. Create top-level teams:  create_item(mcp_ai_team) for departments or divisions.
3. Create sub-teams:        create_item(mcp_ai_team, post_parent: <parent_id>) for units.
4. Verify hierarchy:        list_items(mcp_ai_team, orderby: "title")
                            → Review the parent-child structure for correctness.
5. Assign users:            Link WordPress users to teams via user meta or assignment CPT.
6. Set team lead:           update_item(mcp_ai_team, author_id: <user_id>) for the team lead.

Onboarding a new team member

1. Verify profession:    get_item(mcp_ai_profession, item_id: <profession_id>)
                         If the role doesn't exist yet: create_item(mcp_ai_profession).
2. Verify team:          get_item(mcp_ai_team, item_id: <team_id>)
3. Assign user:          Link the WordPress user to the team (via user meta or CPT).
4. Set profession:       Assign the user's profession (user meta or role assignment CPT).
5. Document:             Add user details to team's content or a team membership log.

Organizational audit

1. List all teams:         list_items(mcp_ai_team, per_page: 50)
2. List all professions:   list_items(mcp_ai_profession, per_page: 50)
3. Check for gaps:         Identify teams with no assigned members or vacant professions.
4. Check for orphans:      Find child teams whose post_parent references a deleted team.
5. Review stale records:   Find unpublished (draft/trash) teams and professions — archive or clean up.

Restructuring — merging teams

1. Identify source team:   get_item(mcp_ai_team, item_id: <source_id>)
2. Identify target team:   get_item(mcp_ai_team, item_id: <target_id>)
3. Reassign child teams:   For each child of source, update_item(post_parent: <target_id>)
4. Reassign members:       Move all users from source team to target team.
5. Archive source:         update_item(mcp_ai_team, item_id: <source_id>, status: "draft")
                           OR delete_item if the team is truly obsolete.

Critical Rules

  • Always use get_schema first before creating or updating a record to verify available field keys and types.
  • Team names must be unique within the same parent — two sibling teams cannot share the same title.
  • post_parent creates hierarchy — use it for departments → units, not for loose organizational tags. The parent must exist before a child references it.
  • Profession title should be singular and descriptive — use "Cardiologist" not "Cardiology" (that's a team name) and not "Cardiologists" (that's a plural).
  • Do not delete a team that has children — re-parent child teams first, or delete children bottom-up.
  • status field controls visibility — use "publish" for active teams/professions and "draft" for planned, inactive, or archived ones.
  • thumbnail (featured image) on professions must be a valid attachment ID — verify the attachment exists before referencing it.

Common Mistakes

WRONG — deleting a team that has child teams
{ "action": "delete_item", "post_type": "mcp_ai_team", "item_id": 42 }
// Child teams with post_parent: 42 are now orphaned — they point to a deleted parent.

RIGHT — re-parent children before deleting
1. list_items(mcp_ai_team, filters: [{key: "post_parent", value: "42"}])
2. For each child: update_item(mcp_ai_team, item_id: <child_id>,
     fields: { "post_parent": <new_parent_id> })
3. Then: delete_item(mcp_ai_team, item_id: 42)

WRONG — creating a profession with a team name
{ "action": "create_item", "post_type": "mcp_ai_profession",
  "fields": { "title": "Cardiology Department" } }
// "Cardiology Department" is a team/organizational unit, not a profession.
// Profession should be: "Cardiologist"

RIGHT — use distinct, role-oriented names for professions
{ "action": "create_item", "post_type": "mcp_ai_profession",
  "fields": { "title": "Cardiologist",
  "content": "Medical doctor specializing in diagnosing and treating diseases of the cardiovascular system." } }

WRONG — using non-standard status values
// "active", "inactive", "archived" — these are not valid WordPress post statuses.

RIGHT — use standard WordPress statuses
// "publish" for active, "draft" for planned/inactive/archived.

WRONG — referencing a post_parent that doesn't exist
{ "post_parent": 99999 }  // This team ID doesn't exist — the hierarchy is broken.

RIGHT — verify parent exists before assigning
1. get_item(mcp_ai_team, item_id: <parent_id>) — confirm it returns a valid record.
2. Then: create_item or update_item with the confirmed post_parent.

Cross-References

  • Run design-crm to link team members to CRM contacts, leads, and company relationships.
  • Run design-pro-workflow-builder to automate team onboarding workflows and role-based task routing.
  • Run design-pro-schedule-manager to schedule recurring team syncs, reviews, and roster updates.
  • Run design-communications to set up team-specific communication channels and contact groups.
  • Run wp-security-audit on any team assignment code — team membership controls access and must be properly authorized.

What This Skill Does NOT Cover

  • WordPress user account creation and role management — use WordPress admin or WP-CLI (wp user create) for user accounts.
  • User-to-team assignment mechanics — the specific meta keys or CPT relationships linking users to teams vary by implementation. This skill covers the Team and Profession CPTs themselves.
  • Frontend team directory display — this skill covers data management; rendering is a theme concern.
  • Permission and capability configuration — use WordPress role/capability APIs for access control based on team membership.
  • External HR system integration — use ezuite_erp or custom REST endpoints for HR data sync.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.

日本語の概要は準備中です。原文の説明を表示しています。

nvdigitalsolutions/mcp-ai-wpoos72026年10月13日 更新

Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.

日本語の概要は準備中です。原文の説明を表示しています。

nvdigitalsolutions/mcp-ai-wpoos72026年10月13日 更新

Control a headless browser to navigate URLs, click elements, fill forms, extract content from JavaScript-rendered pages, take screenshots, and automate end-to-end web workflows.

日本語の概要は準備中です。原文の説明を表示しています。

nvdigitalsolutions/mcp-ai-wpoos72026年10月13日 更新

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

日本語の概要は準備中です。原文の説明を表示しています。

nvdigitalsolutions/mcp-ai-wpoos72026年10月13日 更新

Review code for quality, simplicity, and maintainability. Identifies unnecessary abstractions, duplicated logic, oversized functions, missing error handling, and naming issues — then fixes them automatically before presenting the result.

日本語の概要は準備中です。原文の説明を表示しています。

nvdigitalsolutions/mcp-ai-wpoos72026年10月13日 更新

WooCommerce store operations through NV oOS Pro — product research, catalog cross-referencing, inventory lookups, and Shopify or Flowhub comparisons where integrations are configured.

日本語の概要は準備中です。原文の説明を表示しています。

nvdigitalsolutions/mcp-ai-wpoos72026年10月13日 更新

nvdigitalsolutions のスキルをすべて見る

このスキルの問題を報告する