← 返回 Skills 市场
seanwyngaard

Client Project Manager

作者 Sean Wyngaard · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
952
总下载
0
收藏
3
当前安装
1
版本数
在 OpenClaw 中安装
/install client-project-manager
功能描述
Manage freelance clients, projects, invoices, and communications. Use when tracking client work, creating invoices, sending updates, managing deadlines, or organizing freelance business operations.
使用说明 (SKILL.md)

Client Project Manager

A complete freelance business management system. Track clients, projects, deadlines, deliverables, invoices, and communications from a single skill.

How to Use

/client-project-manager add client "Acme Corp" --contact "[email protected]" --rate "$100/hr"
/client-project-manager add project "Website Redesign" --client "Acme Corp" --deadline "2026-03-15" --budget "$5000"
/client-project-manager status
/client-project-manager update "Website Redesign" --progress 60 --note "Homepage mockup approved"
/client-project-manager invoice "Acme Corp" --project "Website Redesign"
/client-project-manager weekly-update "Acme Corp"
/client-project-manager dashboard

Data Storage

All data is stored in ./freelance-data/ as JSON files:

freelance-data/
  clients.json        # Client CRM data
  projects.json       # Active and completed projects
  time-log.json       # Time tracking entries
  invoices/           # Generated invoices
  updates/            # Client update emails

If the directory doesn't exist, create it on first use. If files exist, read them first and preserve all existing data.

Commands

add client

Add a new client to the CRM.

/client-project-manager add client "[Name]" --contact "[email]" --rate "[rate]" --notes "[notes]"

Store in clients.json:

{
  "id": "client-uuid",
  "name": "Acme Corp",
  "contact_email": "[email protected]",
  "default_rate": "$100/hr",
  "notes": "Prefers Slack for communication",
  "projects": [],
  "total_billed": 0,
  "total_paid": 0,
  "created": "2026-02-13",
  "status": "active"
}

add project

Add a new project under a client.

/client-project-manager add project "[Name]" --client "[Client]" --deadline "[date]" --budget "[amount]" --deliverables "[list]"

Store in projects.json:

{
  "id": "project-uuid",
  "name": "Website Redesign",
  "client_id": "client-uuid",
  "client_name": "Acme Corp",
  "status": "active",
  "progress": 0,
  "budget": 5000,
  "billed": 0,
  "deadline": "2026-03-15",
  "created": "2026-02-13",
  "deliverables": [
    { "name": "Homepage mockup", "status": "pending", "due": "2026-02-20" },
    { "name": "Inner pages", "status": "pending", "due": "2026-03-01" },
    { "name": "Development", "status": "pending", "due": "2026-03-10" },
    { "name": "Launch", "status": "pending", "due": "2026-03-15" }
  ],
  "notes": [],
  "time_entries": []
}

log time

Log time worked on a project.

/client-project-manager log time "[Project]" --hours [X] --description "[what you did]"

Append to time-log.json:

{
  "id": "entry-uuid",
  "project_id": "project-uuid",
  "client_id": "client-uuid",
  "date": "2026-02-13",
  "hours": 3.5,
  "rate": 100,
  "amount": 350,
  "description": "Built responsive navigation and hero section"
}

update

Update project progress and add notes.

/client-project-manager update "[Project]" --progress [0-100] --note "[update]" --deliverable "[name]" --status "[done|in-progress|pending]"

status

Show current status of all active projects.

Output format:

╔══════════════════════════════════════════════════════════════╗
║                    FREELANCE DASHBOARD                       ║
╠══════════════════════════════════════════════════════════════╣

📊 Active Projects: 3
💰 Outstanding Invoices: $2,500
⏰ Hours This Week: 22.5
📅 Next Deadline: Website Redesign (Acme Corp) — Mar 15

──────────────────────────────────────────────────────────────
PROJECT: Website Redesign
CLIENT: Acme Corp | DEADLINE: Mar 15, 2026
PROGRESS: ████████████░░░░░░░░ 60%
BUDGET: $3,000 / $5,000 billed
DELIVERABLES:
  ✅ Homepage mockup (Feb 20) — DONE
  🔄 Inner pages (Mar 1) — IN PROGRESS
  ⬜ Development (Mar 10) — PENDING
  ⬜ Launch (Mar 15) — PENDING
──────────────────────────────────────────────────────────────

invoice

Generate a professional invoice for a client.

/client-project-manager invoice "[Client]" --project "[Project]" --period "[start] to [end]"

Generate the invoice as both Markdown and HTML in freelance-data/invoices/:

Invoice content:

INVOICE #[INV-YYYY-NNN]
Date: [today]
Due: [today + 14 days]

FROM:
[Your name/business — read from freelance-data/config.json if exists]

TO:
[Client name]
[Client contact]

PROJECT: [Project name]
PERIOD: [Date range]

| Date | Description | Hours | Rate | Amount |
|------|-------------|-------|------|--------|
| ... time entries from period ... |

                              Subtotal: $X,XXX.XX
                              Tax (0%): $0.00
                              TOTAL DUE: $X,XXX.XX

Payment Terms: Net 14
Payment Methods: [from config.json or "Bank Transfer / PayPal"]

Thank you for your business.

Save as freelance-data/invoices/INV-2026-001-acme-corp.md and .html.

weekly-update

Generate a professional weekly client update email.

/client-project-manager weekly-update "[Client]"

Read the client's projects, recent time entries, and notes. Generate:

Subject: Weekly Update — [Project Name] — Week of [date]

Hi [Contact first name],

Here's your weekly update on [Project Name]:

**This Week:**
- [Completed deliverables and progress]
- [Key decisions made]
- [Hours worked: X.X]

**Next Week:**
- [Planned deliverables]
- [Any blockers or decisions needed from client]

**Project Status:**
- Progress: XX%
- Budget used: $X,XXX / $X,XXX
- On track for [deadline]: ✅ Yes / ⚠️ At risk / ❌ Behind

[Any questions or items needing client input]

Best,
[Your name]

Save to freelance-data/updates/ and display for copy-paste.

payment-reminder

Generate a polite payment reminder for overdue invoices.

/client-project-manager payment-reminder "[Client]"

Check for unpaid invoices past due date. Generate appropriate reminder:

  • 1-7 days overdue: Gentle reminder
  • 8-14 days overdue: Firm but professional follow-up
  • 15+ days overdue: Final notice with late fee mention

dashboard

Show a comprehensive business overview:

╔══════════════════════════════════════════════════════════════╗
║                  MONTHLY BUSINESS REPORT                     ║
╠══════════════════════════════════════════════════════════════╣

💰 Revenue This Month:     $4,250
💰 Revenue Last Month:     $3,800  (↑ 12%)
📊 Active Projects:        3
✅ Completed This Month:   1
⏰ Hours Billed:           42.5
💵 Effective Hourly Rate:  $100/hr
📋 Outstanding Invoices:   $2,500 (2 invoices)
⚠️  Overdue Invoices:      $0

TOP CLIENTS (by revenue):
  1. Acme Corp        $2,500  (59%)
  2. StartupXYZ       $1,250  (29%)
  3. LocalBiz         $500    (12%)

UPCOMING DEADLINES:
  Feb 20 — Homepage mockup (Acme Corp)
  Mar 01 — Content strategy (StartupXYZ)
  Mar 15 — Website launch (Acme Corp)

config

Set your business details for invoices and communications.

/client-project-manager config --name "Your Name" --business "Your Business LLC" --email "[email protected]" --payment "PayPal: [email protected] / Bank: routing XXX"

Save to freelance-data/config.json.

Data Integrity Rules

  1. Never overwrite — always read existing data first, modify, then write back
  2. Always backup — before any write operation, check data exists and is valid JSON
  3. UUID generation — use timestamp-based IDs: client-[timestamp], project-[timestamp]
  4. Date format — always use ISO 8601: YYYY-MM-DD
  5. Currency — store as numbers, display with $ formatting
安全使用建议
This skill appears coherent and limited to managing local freelance data under ./freelance-data. Before installing, consider: 1) Run it in a dedicated project folder or container so its file reads/writes are contained. 2) Review or create freelance-data/config.json yourself (don’t let the skill auto-read unknown config files). 3) Note that the skill lists Bash as an allowed tool — if your platform lets you restrict tools, only enable the file read/write helpers if you don't want the agent to run arbitrary shell commands. 4) Back up existing data before first run. If you want extra caution, test in an isolated environment (VM/container) first.
功能分析
Type: OpenClaw Skill Name: client-project-manager Version: 1.0.0 The skill bundle is classified as suspicious primarily due to the inclusion of 'Bash' in the `allowed-tools` list within `SKILL.md`. While the skill's instructions themselves describe a benign freelance business management system and do not explicitly direct the AI agent to perform malicious actions, the broad permission to execute arbitrary shell commands via `Bash` introduces a significant vulnerability. This capability is not clearly justified by the described functionality, which mainly involves local file operations and content generation, making it a potential attack surface for prompt injection leading to arbitrary code execution.
能力评估
Purpose & Capability
The name/description match the runtime instructions: create/read JSON files under ./freelance-data, generate invoices and updates, log time, and display a dashboard. No external services, credentials, or unrelated binaries are required.
Instruction Scope
SKILL.md confines operations to a local directory (./freelance-data) and describes only reading/writing JSON, generating Markdown/HTML invoices, and creating update emails. That scope is appropriate. One note: the skill header lists allowed-tools including Bash, which grants the agent the ability to run arbitrary shell commands; the SKILL.md itself does not instruct accessing system files outside the working directory, but the presence of Bash as an allowed tool increases the runtime capability and should be considered when granting tool permissions.
Install Mechanism
No install spec and no code files are present; this is instruction-only so nothing is written to disk by an installer. That is the lowest-risk posture for install mechanism.
Credentials
The skill declares no required environment variables, credentials, or config paths. It optionally reads freelance-data/config.json (local workspace config) for user/business name and payment preferences, which is proportionate to its function.
Persistence & Privilege
always is false (no forced permanent inclusion). The skill can be invoked autonomously (default platform behavior) but does not request elevated/system-wide privileges or modify other skills' settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install client-project-manager
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /client-project-manager 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release: A complete freelance business management skill for tracking clients, projects, invoices, and communications. - Add and manage clients and projects, including contacts, rates, deadlines, and deliverables. - Track time entries and link hours worked to projects and clients. - Generate invoices and payment reminders, saving invoices in both Markdown and HTML. - Create weekly client update emails based on recent project activity. - View status dashboards and monthly business reports with financial and project summaries. - Configure your business details for use on invoices and communications. - All data stored in JSON files within a dedicated freelancing data directory; always preserves and backs up existing data before changes.
元数据
Slug client-project-manager
版本 1.0.0
许可证
累计安装 3
当前安装数 3
历史版本数 1
常见问题

Client Project Manager 是什么?

Manage freelance clients, projects, invoices, and communications. Use when tracking client work, creating invoices, sending updates, managing deadlines, or organizing freelance business operations. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 952 次。

如何安装 Client Project Manager?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install client-project-manager」即可一键安装,无需额外配置。

Client Project Manager 是免费的吗?

是的,Client Project Manager 完全免费(开源免费),可自由下载、安装和使用。

Client Project Manager 支持哪些平台?

Client Project Manager 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Client Project Manager?

由 Sean Wyngaard(@seanwyngaard)开发并维护,当前版本 v1.0.0。

💬 留言讨论