diff --git a/.opencode/skills/cleveragents-agent-rules/SKILL.md b/.opencode/skills/cleveragents-agent-rules/SKILL.md deleted file mode 100644 index bbaae675e..000000000 --- a/.opencode/skills/cleveragents-agent-rules/SKILL.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -name: cleveragents-agent-rules -description: | - Universal operational rules that every CleverAgents agent must follow - without exception. Load this skill to get the complete specification for - exhaustive pagination, label management, bot signatures, credential flow, - and localhost:4096 access restrictions. - - Use this skill whenever you need to know: exactly how to paginate any - list-returning call (Forgejo MCP, curl, or bash), why all label operations - must go through forgejo-label-manager, what the required bot signature - format is, how credentials flow top-down through prompts (never env vars), - and why only async-agent-manager may call localhost:4096. - - Covers: exhaustive pagination protocol (limit=50, page-by-page, partial-page - stop condition), label management via forgejo-label-manager subagent (no - direct Forgejo MCP label tools, no curl label mutations, org-level labels - only, never create), bot signature block format and placement requirement, - credential flow hierarchy (product-builder reads env vars → passes to - supervisors in prompt → supervisors pass to workers in prompt → workers - never read env vars), and the localhost:4096 restriction (async-agent-manager - is the sole permitted caller of the OpenCode server API). ---- - -# Universal Agent Rules - -These rules apply to **every** agent in the CleverAgents system without exception. - -## Exhaustive Pagination - -Every tool call, REST/curl request, or any other command that returns a list -must be treated as potentially paginated and incomplete. - -**Required protocol:** - -1. Always set `limit` to its maximum available value: - - Forgejo MCP tools: `limit=50` - - Direct REST/curl calls: `limit=50` or higher -2. After each list response, count the returned items. -3. If there is more than one item returned in the last call, fetch the next page. -4. Continue until receiving an empty page. -5. Concatenate all pages before processing. Never process a partial set. - -This rule applies to **every** list-returning call without exception: -Forgejo MCP tools, curl REST calls, bash commands (`find`, `git log`, -`git branch -r`, etc.), and any other list-producing operation. - -**Why this matters:** Missing a page means silently skipping work items, -causing incorrect escalation decisions, duplicate filings, or incomplete -audits. The cost of an extra API call is always less than the cost of -a missed item. - -## Label Management via `forgejo-label-manager` - -**All label operations must go through the `forgejo-label-manager` subagent.** - -Rules: -- Never apply, remove, or replace labels using Forgejo MCP tools - (`forgejo_add_issue_labels`, `forgejo_edit_issue`, etc.) -- Never apply labels via direct curl or REST API calls -- Never use `forgejo_list_repo_labels` or any other method to retrieve - repo-level lables — use org-level labels only -- Always delegate every label operation to the `forgejo-label-manager` - subagent (operations: `apply_labels`, `remove_label`, `get_labels`, - `validate_labels`) -- Only apply existing organization-level labels — **never create new labels** -- `forgejo_create_label`, `forgejo_create_org_label`, and - `forgejo_create_repo_label` are completely forbidden - -## Signature - -Every piece of content you create on Forgejo (issue bodies, comments, PR -descriptions) must end with this exact block. The `Supervisor:` and -`Agent:` values are specific to your agent — use the values given in your -system prompt: - -``` ---- -**Automated by CleverAgents Bot** -Supervisor: [Your Pool Name] | Agent: [your-agent-name] -``` - -Utility subagents that do not belong to a pool omit the `Supervisor:` line: - -``` ---- -**Automated by CleverAgents Bot** -Agent: [your-agent-name] -``` - -## Credential Flow - -**Workers never read environment variables.** All credentials flow downward -through prompt text only: - -1. `product-builder` reads credentials from environment variables at startup. -2. `product-builder` embeds credentials in each supervisor's launch prompt. -3. Each supervisor embeds credentials in every worker prompt it dispatches. -4. Workers receive all credentials as plain text in their prompt — never - through `os.environ` or `echo $VAR`. - -Every supervisor's worker prompt **must** include: -- Repository owner and name -- Forgejo PAT -- Git identity (name and email) -- Any other credentials the worker requires - -## localhost:4096 Restriction - -Only `async-agent-manager` is permitted to make HTTP calls to the OpenCode -server at `localhost:4096` (or `127.0.0.1:4096`). No other agent may call -this endpoint directly. - -To launch, monitor, or clean up async agent sessions, invoke the -`async-agent-manager` subagent via the Task tool. Pass the operation and -all required parameters in the prompt.