To Tickets
vinvcn/mattpocock-skills-zh-CN
把 plan、spec 或当前对话拆成一组 tracer-bullet tickets,每个 ticket 声明 blocking edges,并发布到已配置的 tracker;本地用每 ticket 一个文件中的文本 edge,真实 tracker 用 native blocking links。
Platform operations for tickets, projects, and runtime coordination inside OpenASE.
$ npx skills add PacificStudio/openase --skill openase-platform -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install PacificStudio/openase openase-platform --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/PacificStudio/openase.git skills-src && mkdir -p .claude/skills && cp -r skills-src/internal/builtin/skills/openase-platform .claude/skills/openase-platform && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "openase-platform" agent skill from https://github.com/PacificStudio/openase/tree/main/internal/builtin/skills/openase-platform into .claude/skills/openase-platform/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openase-platform", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/PacificStudio/openase/tree/main/internal/builtin/skills/openase-platformType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add PacificStudio/openase --skill openase-platform -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install PacificStudio/openase openase-platform --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PacificStudio/openase.git skills-src && mkdir -p .agents/skills && cp -r skills-src/internal/builtin/skills/openase-platform .agents/skills/openase-platform && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "openase-platform" agent skill from https://github.com/PacificStudio/openase/tree/main/internal/builtin/skills/openase-platform into .agents/skills/openase-platform/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openase-platform", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PacificStudio/openase --skill openase-platform -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install PacificStudio/openase openase-platform --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PacificStudio/openase.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/internal/builtin/skills/openase-platform .cursor/skills/openase-platform && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "openase-platform" agent skill from https://github.com/PacificStudio/openase/tree/main/internal/builtin/skills/openase-platform into .cursor/skills/openase-platform/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openase-platform", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/PacificStudio/openase.git --path internal/builtin/skills/openase-platform--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add PacificStudio/openase --skill openase-platform -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install PacificStudio/openase openase-platform --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PacificStudio/openase.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/internal/builtin/skills/openase-platform .gemini/skills/openase-platform && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "openase-platform" agent skill from https://github.com/PacificStudio/openase/tree/main/internal/builtin/skills/openase-platform into .gemini/skills/openase-platform/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openase-platform", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install PacificStudio/openase openase-platformInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add PacificStudio/openase --skill openase-platform -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/PacificStudio/openase.git skills-src && mkdir -p .github/skills && cp -r skills-src/internal/builtin/skills/openase-platform .github/skills/openase-platform && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "openase-platform" agent skill from https://github.com/PacificStudio/openase/tree/main/internal/builtin/skills/openase-platform into .github/skills/openase-platform/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openase-platform", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PacificStudio/openase --skill openase-platform -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install PacificStudio/openase openase-platform --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PacificStudio/openase.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/internal/builtin/skills/openase-platform .opencode/skills/openase-platform && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "openase-platform" agent skill from https://github.com/PacificStudio/openase/tree/main/internal/builtin/skills/openase-platform into .opencode/skills/openase-platform/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openase-platform", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
openase-platformPlatform operations for tickets, projects, and runtime coordination inside OpenASE.
Openase Platform is an agent skill from PacificStudio/openase. Platform operations for tickets, projects, and runtime coordination inside OpenASE.
Its SKILL.md is about 6.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/upsert_workpad.sh`).
The repository describes itself as: Ticket-Driven Automated Software Engineering. OpenASE is an all-in-one platform that turns tickets into working code — AI agents automatically pick up tickets, execute workflows… The licence is Apache-2.0.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e530faf. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OPENASE_AGENT_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Openase Platform loads about 6.4k tokens when it runs. Until then it costs about 25 tokens; SKILL.md has 2,564 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from PacificStudio/openase at commit e530faf, republished under its Apache-2.0 licence (© PacificStudio). 2,564 words, ~6,405 tokens.
.claude/skills/openase-platform/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Prefer the wrapper injected into the workspace:
./.openase/bin/openase ticket list --status-name TodoThis wrapper is the openase binary with the current workspace's OpenASE
platform context already attached. Use it first. Do not hand-roll URLs, guess
endpoints, bypass the platform by writing the database directly, or fake
platform state.
Use these distinctions before you choose commands or explain the platform to a user:
workflow: the execution policy for a role. A workflow decides which agent
handles work, which ticket statuses it may pick up, which statuses count as
finished, which harness instructions and skills are active, and which
platform scopes the runtime may use.updates: curated project progress threads for humans. Use these for
milestone checkpoints, risk reporting, stakeholder communication, and
discussion. Updates are intentionally higher-signal than raw runtime logs.activity: the append-only project event stream. It records what actually
happened across tickets, agents, workflows, and platform writes for
traceability, debugging, and auditability.One short mental model:
Keep the boundaries clear:
workflow as "just a prompt"; it is prompt + routing +
policy + execution limits.updates as a synonym for activity; updates are curated,
while activity is the raw event timeline.activity as a task board; it explains history, not desired
future state.OpenASE is not a small helper that just runs commands. It is an issue-driven automated software engineering platform. Per the PRD, it is responsible for at least:
For agents, the core purpose of openase is not just inspection. It is
reading and writing real control-plane state inside platform-enforced
boundaries. The tickets you create, project descriptions you update, repos you
register, and comments you append all affect later scheduling, UI state, audit
trails, and other agents' context.
Treat openase as the control-plane API for the current engineering project.
openase CLI. Do not try
to express platform state indirectly by editing local files.403. That usually means the
current harness did not grant the required platform_access.The runtime injects a capability contract that tells you which principal kind, scopes, and environment variables are actually available in this session. Treat that runtime contract as the source of truth.
Common environment variables include:
OPENASE_API_URL: OpenASE API base URLOPENASE_AGENT_TOKEN: current agent tokenOPENASE_PROJECT_ID: current project UUIDOPENASE_TICKET_ID: current ticket UUID; only present in ticket runtime or
ticket-focused Project AIOPENASE_CONVERSATION_ID: current project conversation UUID; available in
Project AI conversationsOPENASE_PRINCIPAL_KIND: current principal kind, such as ticket_agent or
project_conversationOPENASE_AGENT_SCOPES: current token scopes, comma-separatedCommon platform subcommands auto-fill context in this order:
--project-id -> OPENASE_PROJECT_ID[ticket-id] -> --ticket-id ->
OPENASE_TICKET_ID--api-url -> OPENASE_API_URL--token -> OPENASE_AGENT_TOKENImportant limits:
ASE-42.--json, --jq, or
--template.--status-name / --status_name and --body-file / --body_file.Check OPENASE_PRINCIPAL_KIND before assuming a route is available.
When the principal is ticket_agent:
OPENASE_TICKET_ID.When the principal is project_conversation:
tickets.update is granted;
this includes ticket comment operations, and project scope still comes from
the token claims even though the suffix stays aligned with the human control
plane.OPENASE_TICKET_ID is present.OPENASE_CONVERSATION_ID is often the stable runtime identity you should
use when inspecting the current Project AI session.If you are unsure which write path to use, inspect OPENASE_PRINCIPAL_KIND
and OPENASE_AGENT_SCOPES first, then pick the smallest typed command that
matches the granted scope.
Use this order of preference:
openase command whose semantics already match the target
entity.openase api only when there is no suitable typed command.This skill is about platform reads and writes. It is not a substitute for the
separate ticket-workpad skill, repository code changes, or workflow-specific
execution instructions.
Below is the current top-level openase command surface from source. Not every
command is appropriate for agents; the first groups are the ones you will use
most often.
api: raw HTTP passthrough, the fallback entrypoint for any exposed APIticket: shared platform wrapper for common ticket reads and writes;
non-overlapping detail/run/dependency/external-link subcommands still go
directly through OpenAPIstatus: ticket status board managementchat: ephemeral chat and project conversationsproject: shared platform wrapper for update/add-repo; list/get/create/delete
still go directly through OpenAPIrepo: project repos, GitHub repo discovery, and ticket repo scopesworkflow: workflow and harness reads and writesscheduled-job: scheduled job managementmachine: machine registration, probing, and resource inspectionprovider: provider inspection and configurationagent: agent inspection, pause/resume, output, and step readsactivity: project activity timeline readschannel: notification channel management and testsnotification-rule: notification rule managementskill: skill inspection, updates, binding, and refreshwatch: SSE watch streamsstream: SSE stream feedsserve: start only the HTTP API serviceorchestrate: start only the orchestration loopall-in-one: start the API and orchestrator in one processup: start the local OpenASE servicesetup: initialize the local runtime environmentdown: stop the local servicerestart: restart the local servicelogs: inspect local service logsdoctor: local environment diagnosticsissue-agent-token: issue an agent tokenopenapi: export or inspect OpenAPI artifactsversion: inspect the versionIn practice, agents most often use these commands inside a workspace:
ticketstatuschatprojectrepoworkflowactivityscheduled-jobmachineprovideragentchannelnotification-ruleskillwatch / streamapiserve / orchestrate / up / down / restart / issue-agent-token are
more about platform operations or control-plane startup and are usually not the
first choice for normal ticket execution.
This is the safest first layer for agents to use. The semantics are stable and suitable for direct workflow / harness calls.
./.openase/bin/openase ticket list
./.openase/bin/openase ticket list --status-name Todo --priority high
./.openase/bin/openase ticket list --json ticketsCapabilities:
GET /projects/{projectId}/tickets--status-name--priorityUse this before creating follow-up tickets or mutating status. It gives you the real project board state instead of assuming a ticket name or status lane.
./.openase/bin/openase ticket create \
--title "Add integration coverage" \
--description "Split the follow-up work" \
--priority high \
--type task \
--external-ref "PacificStudio/openase#39"Capabilities:
POST /projects/{projectId}/tickets--title is required--description, --priority, --type, and --external-refGood fits:
./.openase/bin/openase ticket update --description "Record new findings from execution"
./.openase/bin/openase ticket update --status-name Done
./.openase/bin/openase ticket update $OPENASE_TICKET_ID --external-ref "gh-123"Capabilities:
PATCH /tickets/{ticketId}--title, --description, and --external-ref--status, --status-name, or --status-id--status-name and --status-id are mutually exclusiveIn project_conversation runtimes, do not assume the current-ticket variant is
available. Prefer the canonical ticket mutation routes exposed by the typed
command shape in the current runtime contract.
./.openase/bin/openase ticket report-usage \
--input-tokens 1200 \
--output-tokens 340 \
--cost-usd 0.0215Capabilities:
POST /tickets/{ticketId}/report-usage--input-tokens, --output-tokens, or --cost-usdUse this only when the current runtime exposes a compatible ticket route.
Project-conversation runtimes can lack current-ticket reporting endpoints even
if OPENASE_TICKET_ID exists.
List comments:
./.openase/bin/openase ticket comment listCreate a regular comment:
./.openase/bin/openase ticket comment create --body "Record the current blocker"
./.openase/bin/openase ticket comment create --body-file /tmp/comment.mdUpdate an existing comment:
./.openase/bin/openase ticket comment update $OPENASE_TICKET_ID $COMMENT_ID --body-file /tmp/comment.mdCapabilities:
ticket comment list calls GET /tickets/{ticketId}/commentsticket comment create calls POST /tickets/{ticketId}/commentsticket comment update calls PATCH /tickets/{ticketId}/comments/{commentId}--body or --body-fileopenase-platform only provides the comment primitives here. It does not
define workpad semantics directly. When you need persistent workpad
maintenance, use the separately bound ticket-workpad skill, which builds on
top of these comment list/create/update primitives.
./.openase/bin/openase project update --description "Update the latest project context"Capabilities:
PATCH /projects/{projectId}Good fits:
Preferred current form:
./.openase/bin/openase repo create $OPENASE_PROJECT_ID \
--name "worker-tools" \
--url "https://github.com/acme/worker-tools.git" \
--default-branch main \
--label go \
--label backendCompatibility form:
./.openase/bin/openase project add-repo \
--name "worker-tools" \
--url "https://github.com/acme/worker-tools.git" \
--default-branch mainCapabilities:
repo create calls POST /projects/{projectId}/repos--name and --url are required--default-branch defaults to main--label can be repeatedPrefer repo create when available because it models repos as first-class
project entities. Keep project add-repo in examples because older harnesses
and existing skills can still reference it.
./.openase/bin/openase status list $OPENASE_PROJECT_ID
./.openase/bin/openase status create $OPENASE_PROJECT_ID \
--name "QA" \
--stage started \
--color "#FF00AA"
./.openase/bin/openase status update $STATUS_ID --name "Ready for QA"Capabilities:
status list calls GET /projects/{projectId}/statusesstatus create calls POST /projects/{projectId}/statusesstatus update calls PATCH /statuses/{statusId}status delete and status reset are also available as typed commandsUse these when the workflow needs status-board visibility rather than only mutating one ticket.
./.openase/bin/openase workflow list $OPENASE_PROJECT_ID
./.openase/bin/openase workflow harness get $WORKFLOW_ID
./.openase/bin/openase workflow harness history $WORKFLOW_ID
./.openase/bin/openase workflow harness variables
./.openase/bin/openase workflow harness validate --input /tmp/harness.jsonCapabilities:
Use this path before editing workflows, binding skills, or assuming a workflow already grants a specific platform scope.
./.openase/bin/openase activity list $OPENASE_PROJECT_ID
./.openase/bin/openase ticket run list $OPENASE_PROJECT_ID $OPENASE_TICKET_ID
./.openase/bin/openase ticket run get $OPENASE_PROJECT_ID $OPENASE_TICKET_ID $RUN_ID
./.openase/bin/openase agent output $OPENASE_PROJECT_ID $AGENT_IDCapabilities:
activity list reads project-level business timeline eventsticket run list/get inspects execution history for a ticketagent output reads streamed or recorded agent outputUse these to understand what already happened before writing new platform state.
./.openase/bin/openase machine refresh-health $MACHINE_ID
./.openase/bin/openase machine resources $MACHINE_ID
./.openase/bin/openase provider list $OPENASE_ORG_ID --json providersCapabilities:
Run ./.openase/bin/openase machine refresh-health $MACHINE_ID before making
decisions based on machine capacity.
./.openase/bin/openase chat conversation list --project-id $OPENASE_PROJECT_ID
./.openase/bin/openase chat conversation get $OPENASE_CONVERSATION_ID
./.openase/bin/openase chat conversation entries $OPENASE_CONVERSATION_ID
./.openase/bin/openase chat conversation turn $OPENASE_CONVERSATION_ID --message "Continue the previous investigation"
./.openase/bin/openase chat conversation watch $OPENASE_CONVERSATION_IDCapabilities:
This is especially relevant when the principal is project_conversation.
./.openase/bin/openase skill list $OPENASE_PROJECT_ID --json skills
./.openase/bin/openase skill get $SKILL_ID
./.openase/bin/openase skill refresh $OPENASE_PROJECT_ID \
-f workspace_root="$PWD" \
-f adapter_type=codex-app-serverCapabilities:
skill list resolves the current project skill catalog and skill IDsskill get returns the current stored content, bundle files, and historyskill refresh re-projects enabled skills into .codex/skills,
.claude/skills, .gemini/skills, or .agent/skills depending on adapterThis is the preferred path when comparing repo skill bundles with the current platform copy or after updating a skill and needing the current workspace to see the new version.
ticket-workpadThe ticket-workpad skill owns durable execution-log semantics. This skill
only provides the platform primitives and helper script that make that
possible.
openase-platform exposes the underlying ticket comment APIs and ships
scripts/upsert_workpad.sh.ticket-workpad skill defines which comment counts as the workpad, how
sections should be maintained, and why later agents should resume from the
same persistent comment.ticket-workpad skill; this platform skill only provides the
underlying comment primitives.The helper script is projected into the runtime skill bundle and can be called directly:
cat <<'EOF' >/tmp/workpad.md
Plan
- inspect workflow and current ticket
Progress
- reading repository and platform state
Validation
- not run yet
Notes
- none
EOF
./.codex/skills/openase-platform/scripts/upsert_workpad.sh --body-file /tmp/workpad.mdEquivalent helper locations can exist under .claude/skills,
.gemini/skills, or .agent/skills depending on the adapter type.
When you are working on the platform skill library itself, use a different mental model from normal ticket execution:
skill import is for introducing a new local skill bundle into a project.skill get + skill update instead of importing
again.skill get is the easiest way to compare repo content with the platform's
current stored bundle.skill refresh is what makes the updated bundle appear inside the current
workspace's projected skill directory../.openase/bin/openase skill list $OPENASE_PROJECT_ID --json skills
./.openase/bin/openase skill get $SKILL_ID --json skill,content,files,historyUse skill list first to resolve the real UUID for a skill such as
openase-platform. Then use skill get to inspect:
SKILL.mdFor bundle updates, the platform expects a full valid skill bundle. Do not send only one helper file and assume the server will merge it into the previous bundle version.
At minimum:
SKILL.md.files array
unless you intentionally want to remove them.SKILL.md frontmatter name must still match the existing skill name.Practical payload generation example:
python3 - <<'PY' >/tmp/openase-platform-update.json
from __future__ import annotations
import base64
import json
from pathlib import Path
root = Path("internal/builtin/skills/openase-platform")
files = []
for path in sorted(p for p in root.rglob("*") if p.is_file()):
relative = path.relative_to(root).as_posix()
files.append(
{
"path": relative,
"content_base64": base64.b64encode(path.read_bytes()).decode(),
"is_executable": bool(path.stat().st_mode & 0o111),
}
)
payload = {
"description": "OpenASE Platform Operations",
"files": files,
}
print(json.dumps(payload, ensure_ascii=False))
PY
./.openase/bin/openase skill update $SKILL_ID --input /tmp/openase-platform-update.jsonAfter the update succeeds, refresh the projected workspace copy:
./.openase/bin/openase skill refresh $OPENASE_PROJECT_ID \
-f workspace_root="$PWD" \
-f adapter_type=codex-app-serverIf the target runtime is Claude Code or Gemini instead of Codex, change the
adapter_type accordingly.
If the high-frequency commands above are not enough, openase has a wider
typed CLI that follows the OpenAPI contract directly. Common namespaces
include:
openase ticket ...openase status ...openase chat ...openase project ...openase repo ...openase workflow ...openase scheduled-job ...openase machine ...openase provider ...openase agent ...openase activity ...openase channel ...openase notification-rule ...openase skill ...openase watch ...openase stream ...High-value examples:
./.openase/bin/openase ticket get $OPENASE_TICKET_ID
./.openase/bin/openase ticket detail $OPENASE_PROJECT_ID $OPENASE_TICKET_ID
./.openase/bin/openase workflow list $OPENASE_PROJECT_ID
./.openase/bin/openase workflow harness get $WORKFLOW_ID
./.openase/bin/openase workflow harness history $WORKFLOW_ID
./.openase/bin/openase workflow harness variables
./.openase/bin/openase machine refresh-health $MACHINE_ID
./.openase/bin/openase machine resources $MACHINE_ID
./.openase/bin/openase provider list $OPENASE_ORG_ID --json providers
./.openase/bin/openase agent output $OPENASE_PROJECT_ID $AGENT_ID
./.openase/bin/openase skill list $OPENASE_PROJECT_ID
./.openase/bin/openase watch project $OPENASE_PROJECT_IDThese typed commands have useful properties:
--json, --jq, and --template can trim large responses.If a typed command does not exist yet, use raw passthrough last:
./.openase/bin/openase api GET /api/v1/tickets/$OPENASE_TICKET_ID
./.openase/bin/openase api GET /api/v1/projects/$OPENASE_PROJECT_ID/tickets \
--query status_name=Todo \
--query priority=high
./.openase/bin/openase api POST /api/v1/projects/$OPENASE_PROJECT_ID/tickets \
-f title="Follow-up" \
-f workflow_id="550e8400-e29b-41d4-a716-446655440000"
./.openase/bin/openase api PATCH /api/v1/tickets/$OPENASE_TICKET_ID/comments/$COMMENT_ID \
--input payload.jsonRules:
api METHOD PATH is raw HTTP passthrough.-f/--field uses key=value entries to build a JSON body.--query appends query-string fields.--input sends a raw request body and cannot be mixed with -f.ticket list / get / detail, activity list, or skill get
before making assumptions about current state.--status-name unless you already have
the exact status UUID.403 happens, inspect capability boundaries and scopes first instead
of trying alternate endpoints blindly.ASE-42 will be accepted where a UUID
is required.project_conversation sessions, favor project-scoped routes, use
tickets.update for canonical ticket mutations including comments, and do
not assume usage-report endpoints are available.© PacificStudio, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in internal/builtin/skills/openase-platform of PacificStudio/openase.
Open the folder on GitHubat commit e530faf
Openase Platform next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Openase Platform this skillPacificStudio/openase | 268 | — | ~6.4k | Automated safety check: Pass | Apache-2.0 | |
| To Ticketsvinvcn/mattpocock-skills-zh-CN | 4.7k | — | ~938 | Automated safety check: Pass | MIT | |
| Agent Consensus Coordinatorruvnet/ruflo | 74k | 3 repos | ~3.2k | Automated safety check: Pass | MIT | |
| Agent Mesh Coordinatorruvnet/ruflo | 74k | 3 repos | ~3.2k | Automated safety check: Pass | MIT | |
| Agent Queen Coordinatorruvnet/ruflo | 74k | 3 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Agent Adaptive Coordinatorruvnet/ruflo | 74k | 2 repos | ~4k | Automated safety check: Pass | MIT |
vinvcn/mattpocock-skills-zh-CN
把 plan、spec 或当前对话拆成一组 tracer-bullet tickets,每个 ticket 声明 blocking edges,并发布到已配置的 tracker;本地用每 ticket 一个文件中的文本 edge,真实 tracker 用 native blocking links。
ruvnet/ruflo
Agent skill for consensus-coordinator - invoke with $agent-consensus-coordinator
ruvnet/ruflo
Agent skill for mesh-coordinator - invoke with $agent-mesh-coordinator
ruvnet/ruflo
Agent skill for queen-coordinator - invoke with $agent-queen-coordinator
ruvnet/ruflo
Agent skill for adaptive-coordinator - invoke with $agent-adaptive-coordinator
ruvnet/ruflo
Agent skill for hierarchical-coordinator - invoke with $agent-hierarchical-coordinator
PacificStudio/openase
Create or update a branch-scoped Coolify review environment with one command, and delete it with one command.
PacificStudio/openase
Build and locally redeploy OpenASE from the current branch, including web static assets and the Go binary, then restart the local service and verify health.
PacificStudio/openase
Diagnose and repair OpenASE CLI access in local bootstrap mode.
PacificStudio/openase
Push current branch changes to origin and create or update the corresponding pull request for OpenASE; use when asked to push, publish updates, or create a pull request.
PacificStudio/openase
Create a detailed GitHub issue for OpenASE and add it to the OpenASE Automation project with a caller-selected status (defaults to Todo).
PacificStudio/openase
Diagnose and strengthen a repository's harness layer: AGENTS.md rules, knowledge layout, architecture boundaries, lint and type gates, API and generated-client contracts, test scaffolding…
Platform operations for tickets, projects, and runtime coordination inside OpenASE. Openase Platform is an agent skill from PacificStudio/openase. Platform operations for tickets, projects, and runtime coordination inside OpenASE.
Run `npx skills add PacificStudio/openase --skill openase-platform -a claude-code`. Or copy the skill folder (internal/builtin/skills/openase-platform in PacificStudio/openase) into .claude/skills/openase-platform in your project. Claude Code loads it when a task matches its description.
Run `npx skills add PacificStudio/openase --skill openase-platform -a codex`. Or copy the skill folder (internal/builtin/skills/openase-platform in PacificStudio/openase) into .agents/skills/openase-platform in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PacificStudio/openase --skill openase-platform -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openase-platform, .gemini/skills/openase-platform, .github/skills/openase-platform and .opencode/skills/openase-platform in your project.
Going by SKILL.md and its folder, Openase Platform needs a shell for the scripts in its folder, the command-line tools its instructions call (python3) and credentials named OPENASE_AGENT_TOKEN. Our summary lists: A Bash shell; A credential in OPENASE_AGENT_TOKEN.
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Openase Platform is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 6.4k tokens (SKILL.md is roughly 26k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Openase Platform: To Tickets (vinvcn/mattpocock-skills-zh-CN, 4.7k stars), Agent Consensus Coordinator (ruvnet/ruflo, 74k stars), Agent Mesh Coordinator (ruvnet/ruflo, 74k stars) and Agent Queen Coordinator (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
PacificStudio (a GitHub organization) maintains it in PacificStudio/openase, which has 268 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on August 9, 2026.
Source: PacificStudio/openase on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.