6.6 KiB
6.6 KiB
| name | description | user-invocable | metadata | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| openclaw-github-authoring | Use when the user wants to create an issue or PR for `openclaw/openclaw`. The skill should run a very short, pointed interview first, collect any missing grounded details, then create the OpenClaw GitHub issue or PR for the user as soon as it has enough safe information. | true |
|
OpenClaw GitHub Authoring
Use this skill only for openclaw/openclaw.
Primary goal
- Help the user create an issue or PR for
openclaw/openclawwith as little user effort as possible while keeping the filing accurate and safe.
Core policy
- Default to a very short, pointed interview before filing.
- Keep the interview small: usually 1-3 targeted questions.
- Ask only for the information that materially improves the filing.
- Prefer doing the drafting, cleanup, and template-mapping work yourself instead of forcing the user through each field verbatim.
- Automatically redact obvious secrets and unnecessary PII when that can be done safely without losing the meaning needed for the filing.
- Try recovery in this order: infer the likely filing type, sanitize obvious risky content, ask a very short grouped follow-up, then draft the strongest accurate issue or PR you can.
- Once the filing is sufficiently grounded and safe, create it for the user instead of stopping at a draft or asking the user to submit it manually.
- Return exact
NOT_ENOUGH_INFOonly after the brief recovery attempt still leaves the filing too weak, ambiguous, or misleading. - Return
BLOCKED_UNSAFE_CONTENTonly when automatic masking would materially damage correctness or the remaining content is still unsafe.
Never do these
- Do not file against any repo other than
openclaw/openclaw. - Do not push branches.
- Do not invent repro steps, versions, evidence, branch names, or verification details.
- Do not leave obvious secrets or unnecessary PII unredacted if you can safely mask them yourself.
Bundled copies
- Bug issue:
bug_report.yml - Feature issue:
feature_request.yml - PR:
pull_request_template.md
Submission states
NOT_ENOUGH_INFOBLOCKED_UNSAFE_CONTENTREADY_TO_CREATECREATED
Default workflow
- Decide whether the request is a bug issue, feature issue, or PR. If it is an issue, also set
$LABELtobugorenhancementto match the bundled template. - Load the copied template file for the chosen issue or PR type.
- Run a short targeted interview even if the initial request is terse but plausible.
- Prefer grouped interview questions over replaying the whole template.
- Stop interviewing as soon as the payload is strong enough.
- Draft the issue or PR body yourself using the bundled template structure instead of forcing the user to fill every field manually.
- Treat any instruction preamble in the copied template files as internal-only guidance. Do not pass the copied template files directly as
$BODY_FILE; generate a new body file that excludes internal-only guidance. - If critical facts are still missing after the brief recovery attempt, return
NOT_ENOUGH_INFO. - If the payload is complete and safe, create the issue or PR with
ghfor the user; do not stop atREADY_TO_CREATEunless actual creation is blocked.
Interview policy
- Prefer 1-3 grouped questions.
- Ask the smallest number of questions that materially improves the filing.
- Recover thin requests instead of rejecting them early when the user intent is clear.
- For issues, prioritize:
- What breaks and how to reproduce it
- Expected vs actual behavior and exact environment
- Impact and evidence
- For PRs, prioritize:
- Exact change summary and title
- Verification and evidence
- Branch/base context, risks, and recovery
Issue requirements
- Use the exact title prefix from the canonical issue template.
- Keep the filed issue grounded in observed evidence.
- Include only helpful optional context; avoid filler.
- If the user gives terse but usable facts, draft the issue body for them instead of replaying every template label.
PR requirements
- Require:
- explicit PR title
- explicit base branch
- explicit head ref in either
<branch>form for branches onopenclaw/openclawor<user>:<branch>form for personal fork branches thatgh pr createcan target - proof that the remote head branch already exists
- If the remote head branch does not exist, return
NOT_ENOUGH_INFO. - If the head branch lives on a fork and the user/login is missing, return
NOT_ENOUGH_INFO. - If the head branch lives on an organization-owned fork, return
NOT_ENOUGH_INFOunless the user provides a different supported creation path. - Preserve the canonical PR section structure in the generated body.
- If branch context is missing, ask the smallest grouped follow-up possible before failing.
Unsafe content rules
Automatically mask obvious risky strings when the filing can remain accurate, including:
- API keys, tokens, bearer headers, cookies, passwords, or secrets
- email addresses
- phone numbers
- other unnecessary identifying personal details
Use compact placeholders that preserve meaning, such as:
[token-redacted][cookie-redacted][email-redacted][phone-redacted]
Return BLOCKED_UNSAFE_CONTENT only if:
- the unsafe content cannot be removed without breaking the technical meaning
- the remaining payload would still expose sensitive information
- the user is trying to file content that should not be published even in redacted form
Creation commands
# Issue
gh issue create --repo openclaw/openclaw --title "$TITLE" --label "$LABEL" --body-file "$BODY_FILE"
# PR
gh pr create --repo openclaw/openclaw --base "$BASE_BRANCH" --head "$HEAD_REF" --title "$TITLE" --body-file "$BODY_FILE"
Output format
Use READY_TO_CREATE only as a transient internal state before immediate creation, or when creation is blocked by a concrete external precondition such as missing auth or missing required PR branch context. Do not leave the user with a draft when creation can proceed.
NOT_ENOUGH_INFO
- Missing: <field label>
- Question: <targeted question>
BLOCKED_UNSAFE_CONTENT
- Field: <field label>
- Reason: <brief reason>
READY_TO_CREATE
- Type: bug issue | feature issue | pr
- Title: <sanitized title>
CREATED
- URL: https://github.com/openclaw/openclaw/...