/install freedcamp-agent-skill
Freedcamp
This skill provides a dependency-free Node.js CLI that calls the Freedcamp REST API (v1) using HMAC-SHA1 secured credentials (API Key + API Secret).
- Script:
{baseDir}/scripts/freedcamp.mjs - Auth:
FREEDCAMP_API_KEY+FREEDCAMP_API_SECRET - Output: JSON only (stdout), suitable for agents and automation
Setup
- Obtain your Freedcamp API key and secret from your Freedcamp account settings.
- Provide both values as environment variables.
Common injection patterns
-
Shell env (local testing):
export FREEDCAMP_API_KEY="..." export FREEDCAMP_API_SECRET="..." -
OpenClaw config (recommended): set
skills.entries.freedcamp.apiKeyandskills.entries.freedcamp.env.FREEDCAMP_API_SECRETso secrets are injected only for the agent run.
Configure via OpenClaw CLI (recommended)
openclaw config set skills.entries.freedcamp.enabled true
openclaw config set skills.entries.freedcamp.apiKey "YOUR_API_KEY"
openclaw config set skills.entries.freedcamp.env.FREEDCAMP_API_SECRET "YOUR_API_SECRET"
Verify what is stored:
openclaw config get skills.entries.freedcamp
Remove stored credentials:
openclaw config unset skills.entries.freedcamp.apiKey
openclaw config unset skills.entries.freedcamp.env.FREEDCAMP_API_SECRET
First calls (sanity + discovery)
-
Who am I / session info:
node {baseDir}/scripts/freedcamp.mjs me -
List all groups, projects, and apps:
node {baseDir}/scripts/freedcamp.mjs groups-projects
ID resolution
When the user provides project names, resolve to IDs using:
groups-projectsreturns all groups with their projects, including project IDs and names- Use the exact
project_namefrom the output for other commands
Avoid guessing a project ID when multiple matches exist.
Core: tasks
List tasks in a project
node {baseDir}/scripts/freedcamp.mjs tasks --project \x3Cproject_id> --all
List tasks with filters
node {baseDir}/scripts/freedcamp.mjs tasks --project \x3Cproject_id> --status in_progress,not_started --assigned_to 2,-1
Useful filters:
--statuscomma-separated:not_started,completed,in_progress,invalid,review--assigned_tocomma-separated user IDs.0= unassigned,-1= everyone--due_from YYYY-MM-DD/--due_to YYYY-MM-DD--created_from YYYY-MM-DD/--created_to YYYY-MM-DD--list_status active|archived|all--with_archived trueto include tasks from archived projects--limit \x3Cn>(max 200 per page, default 200)--offset \x3Cn>for pagination
Get a single task (with comments and files)
node {baseDir}/scripts/freedcamp.mjs task \x3Ctask_id>
Create a task
node {baseDir}/scripts/freedcamp.mjs create-task --project \x3Cproject_id> --title "Task title"
With optional description and task list:
node {baseDir}/scripts/freedcamp.mjs create-task --project \x3Cproject_id> --title "Task title" --description "Details here" --task_group \x3Ctask_group_id>
Update a task
node {baseDir}/scripts/freedcamp.mjs update-task \x3Ctask_id> --title "New title" --status in_progress
Status values: not_started (0), completed (1), in_progress (2), invalid (3), review (4)
Create a task by project name
node {baseDir}/scripts/freedcamp.mjs create-task-by-name --project_name "My Project" --app_name "Tasks" --title "New task"
Resolves the project name to an ID using session data. Currently supports the Tasks app.
Task lists (groups)
-
List task lists for a project:
node {baseDir}/scripts/freedcamp.mjs task-lists --project \x3Cproject_id> -
Specify app (default is Tasks / app_id 2):
node {baseDir}/scripts/freedcamp.mjs task-lists --project \x3Cproject_id> --app_id 2
Comments
-
Add a comment to any item:
node {baseDir}/scripts/freedcamp.mjs comment \x3Citem_id> --app_name "Tasks" --text "My comment"
Comments are automatically wrapped in \x3Cp> tags. You can also pass raw HTML:
node {baseDir}/scripts/freedcamp.mjs comment \x3Citem_id> --app_name "Tasks" --html "\x3Cp>Bold \x3Cb>text\x3C/b>\x3C/p>"
App names for comments
When adding comments, the --app_name must be one of:
Tasks, Discussions, Milestones, Time, Files, Issue Tracker, Wikis, CRM, Passwords, Calendar, Planner, Translations
Notifications
-
Fetch recent notifications (last 60 days):
node {baseDir}/scripts/freedcamp.mjs notifications -
Mark a notification as read:
node {baseDir}/scripts/freedcamp.mjs mark-read \x3Cnotification_uid>
Data model reference
Task statuses
| Name | Value | CLI flag |
|---|---|---|
| Not Started | 0 | not_started |
| Completed | 1 | completed |
| In Progress | 2 | in_progress |
| Invalid | 3 | invalid |
| Review | 4 | review |
Priorities
| Name | Value |
|---|---|
| None | 0 |
| Low | 1 |
| Medium | 2 |
| High | 3 |
App types
| ID | Name | Key |
|---|---|---|
| 2 | Tasks | TODOS |
| 3 | Discussions | DISCUSSIONS |
| 4 | Milestones | MILESTONES |
| 5 | Time | TIME |
| 6 | Files | FILES |
| 13 | Issue Tracker | BUGTRACKER |
| 14 | Wikis | WIKI |
| 16 | CRM | CRM |
| 17 | Passwords | PASSMAN |
| 19 | Calendar | CALENDAR |
| 47 | Planner | PLANNER |
| 48 | Translations | TRANSLATIONS |
Important notes
- Comments must contain HTML. Plain text passed via
--textis auto-wrapped in\x3Cp>tags. - Task pagination max is 200 per request; use
--offsetfor more. - Session is cached locally and auto-refreshes on 401 errors.
- The
--allflag ontasksauto-paginates to fetch every result.
Out of scope
- Invoices and Invoices Plus APIs are not exposed.
- "Bot personality" is not embedded; configure behavior in your agent prompt.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install freedcamp-agent-skill - 安装完成后,直接呼叫该 Skill 的名称或使用
/freedcamp-agent-skill触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Freedcamp Project Management 是什么?
Manage Freedcamp tasks, projects, groups, comments, notifications, and task lists via HMAC-SHA1 API credentials. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1467 次。
如何安装 Freedcamp Project Management?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install freedcamp-agent-skill」即可一键安装,无需额外配置。
Freedcamp Project Management 是免费的吗?
是的,Freedcamp Project Management 完全免费(开源免费),可自由下载、安装和使用。
Freedcamp Project Management 支持哪些平台?
Freedcamp Project Management 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Freedcamp Project Management?
由 agrublev(@agrublev)开发并维护,当前版本 v1.0.0。