$npx -y skills add multica-ai/multica --skill multica-projects-and-resourcesUse when creating, inspecting, updating, or debugging Multica projects and project resources. Covers durable project context, github_repo and local_directory resources, how resources affect future agent task context, when to bind repos, and when not to mutate resources.
| 1 | # Multica Projects and Resources |
| 2 | |
| 3 | ## Quick start |
| 4 | |
| 5 | Projects are durable context containers. Resources attached to a project can affect future agent tasks. |
| 6 | |
| 7 | ```bash |
| 8 | multica project list --output json |
| 9 | multica project get <project-id> --output json |
| 10 | multica project resource list <project-id> --output json |
| 11 | ``` |
| 12 | |
| 13 | Project resources are mutated through project resource commands/endpoints. Issue |
| 14 | comments do not create durable project resources. |
| 15 | |
| 16 | ## Core model |
| 17 | |
| 18 | A project groups work and carries durable resources. A resource is not just display metadata; it is context later injected into task briefs and `.multica/project/resources.json`. |
| 19 | |
| 20 | A project's `description` is also durable context: when an issue (or a quick-create task) is bound to a project, the project description is injected into the agent's brief under `## Project Context` and written to `.multica/project/resources.json` as `project_description`. Use it for project-wide rules/context that should apply to every task in the project. |
| 21 | |
| 22 | Common resource types: |
| 23 | |
| 24 | - `github_repo` — durable GitHub repo context, with `resource_ref.url`, optional checkout `ref`, and optional prompt-only `default_branch_hint`; |
| 25 | - `local_directory` — daemon-local path context, with `resource_ref.local_path`, `daemon_id`, and optional label. |
| 26 | |
| 27 | ## CLI |
| 28 | |
| 29 | ```bash |
| 30 | multica project list --output json |
| 31 | multica project get <project-id> --output json |
| 32 | multica project create --title "<title>" --repo <github-url> --output json |
| 33 | multica project create --title "<title>" --start-date 2026-03-01 --due-date 2026-03-31 --output json |
| 34 | multica project update <project-id> --title "<title>" --output json |
| 35 | multica project update <project-id> --due-date 2026-04-15 --output json |
| 36 | multica project update <project-id> --start-date "" --output json # clear the start date |
| 37 | multica project status <project-id> in_progress --output json |
| 38 | multica project resource list <project-id> --output json |
| 39 | multica project resource add <project-id> --type github_repo --url <github-url> --output json |
| 40 | multica project resource add <project-id> --type github_repo --url <github-url> --ref <branch-or-sha> --output json |
| 41 | multica project resource add <project-id> --type local_directory --local-path <abs-path> --daemon-id <daemon-id> --output json |
| 42 | multica project resource update <project-id> <resource-id> --url <new-github-url> --output json |
| 43 | multica project resource update <project-id> <resource-id> --ref <branch-or-sha> --output json |
| 44 | multica project resource remove <project-id> <resource-id> --output json |
| 45 | ``` |
| 46 | |
| 47 | For `github_repo`, non-JSON `--ref` sets `resource_ref.ref`, the default checkout branch/tag/SHA for future tasks in that project. JSON `--ref '<json>'` remains the escape hatch for full payloads or resource types not covered by shortcuts. |
| 48 | |
| 49 | `--start-date` / `--due-date` are optional calendar days (`YYYY-MM-DD`, like issue dates). On `project update`, pass an empty string (`--start-date ""`) to clear a date; an unset flag leaves it untouched. |
| 50 | |
| 51 | ## When to add a resource |
| 52 | |
| 53 | Add/update a project resource when the user asks for durable project context: "把这个 GitHub repo 绑到项目上", "以后都用这个 repo", "agent 总是拿不到这个项目的仓库", or "这个项目要在我的本地目录里跑". |
| 54 | |
| 55 | Project resources are durable and affect future tasks. `multica repo checkout` |
| 56 | is task-local checkout state. |
| 57 | |
| 58 | ## Debugging wrong context |
| 59 | |
| 60 | 1. `multica project get <project-id> --output json`. |
| 61 | 2. `multica project resource list <project-id> --output json`. |
| 62 | 3. Check `github_repo.resource_ref.url`, optional `ref`, `default_branch_hint`, and `local_directory.resource_ref.daemon_id`. |
| 63 | 4. Updating resources is a durable mutation. After an update, listing the |
| 64 | resource is the verification path. |
| 65 | 5. If resources match the expected task context, inspect runtime/repo checkout |
| 66 | path next. |
| 67 | |
| 68 | ## Side effects |
| 69 | |
| 70 | Project create/update/delete/status and project resource add/update/remove mutate durable workspace state and affect future tasks. Ask before changing `local_directory` unless the user explicitly requested that exact local path. |
| 71 | |
| 72 | More source-backed details: `references/projects-and-resources-source-map.md`. |