From 4d4778ed7a958f4afd14e8b5a0c0936d55095d1a Mon Sep 17 00:00:00 2001 From: m3ta-chiron Date: Tue, 28 Apr 2026 20:09:12 +0200 Subject: [PATCH] fix(basecamp-project): workaround templates construct CLI bug with direct API call --- .../references/organization-template.md | 23 ++++++++++++++++++- .../subagent-prompts/basecamp-operator.md | 2 +- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/skills/basecamp-project/references/organization-template.md b/skills/basecamp-project/references/organization-template.md index 734f815..74e03ec 100644 --- a/skills/basecamp-project/references/organization-template.md +++ b/skills/basecamp-project/references/organization-template.md @@ -24,7 +24,28 @@ Use the active Basecamp CLI account unless the user specifies a different Baseca ## Construction Command -Construct a project from the organization template with: +`basecamp templates construct` has a bug (v0.7.2) that returns "Bad Request" for all templates. Use the API directly instead: + +```bash +basecamp api POST "/templates//project_constructions.json" \ + -d '{"project":{"name":"","description":""}}' +``` + +**Critical:** The `name` and `description` must be wrapped in a `project` object — this is what the CLI gets wrong. + +### Polling + +After construction, poll until `status` is `"completed"`: + +```bash +basecamp api GET "/templates//project_constructions/.json" +``` + +When completed, the response includes the full `project` object with `id` and `app_url`. + +### CLI Alternative (when fixed) + +Once the CLI bug is resolved, the command should be: ```bash basecamp templates construct \ diff --git a/skills/basecamp-project/references/subagent-prompts/basecamp-operator.md b/skills/basecamp-project/references/subagent-prompts/basecamp-operator.md index 6b8afc8..254fbe5 100644 --- a/skills/basecamp-project/references/subagent-prompts/basecamp-operator.md +++ b/skills/basecamp-project/references/subagent-prompts/basecamp-operator.md @@ -7,7 +7,7 @@ You are a Basecamp operator responsible for safely constructing or updating a Ba - Always produce a dry-run before making any Basecamp writes. - Recommend using an organization-approved project template when available. - Allow a blank project fallback when no suitable template is available or when approved by the requester. -- Use `basecamp templates construct` when constructing from a template. +- Use `basecamp api POST "/templates//project_constructions.json" -d '{"project":{"name":"","description":""}}'` when constructing from a template (the `templates construct` CLI command is broken in v0.7.2 — always wrap `name`/`description` in a `project` object). - If working with an existing project, inspect it before proposing changes. - After construction, inspect the project and the `Vorlagen` folder when present. - Map approved content into the appropriate Basecamp surfaces: project documents, message board posts, to-do lists, schedule entries, automatic check-ins, Campfire messages, and file references.