Agent Skillsopensquilla/opensquilla › meta-skill-creator

meta-skill-creator

GitHub

专用于创建编排多个现有技能的元技能。通过意图澄清、冲突检查、静态Lint及安全门控,生成预览或持久化提案,严禁用于普通技能创建或讨论现有机制。

src/opensquilla/skills/bundled/meta-skill-creator/SKILL.md opensquilla/opensquilla

Trigger Scenarios

用户明确要求创建新的元技能 用户要求合成或编排多个现有技能

Install

npx skills add opensquilla/opensquilla --skill meta-skill-creator -g -y
More Options

Non-standard path

npx skills add https://github.com/opensquilla/opensquilla/tree/main/src/opensquilla/skills/bundled/meta-skill-creator -g -y

Use without installing

npx skills use opensquilla/opensquilla@meta-skill-creator

指定 Agent (Claude Code)

npx skills add opensquilla/opensquilla --skill meta-skill-creator -a claude-code -g -y

安装 repo 全部 skill

npx skills add opensquilla/opensquilla --all -g -y

预览 repo 内 skill

npx skills add opensquilla/opensquilla --list

SKILL.md

Frontmatter
{
    "kind": "meta",
    "name": "meta-skill-creator",
    "always": false,
    "triggers": [
        "新增 meta 技能",
        "组合现有 skill 成 meta-skill",
        "create a meta-skill",
        "new meta-skill",
        "orchestrates existing skills",
        "orchestrates search",
        "compose existing skills",
        "synthesize meta-skill",
        "compose meta-skill"
    ],
    "provenance": {
        "origin": "opensquilla-original",
        "license": "Apache-2.0"
    },
    "composition": {
        "steps": [
            {
                "id": "clarify_intent",
                "kind": "llm_chat",
                "with": {
                    "task": "Clarify whether the user wants a meta-skill, not a normal standalone\nskill. If the request is generic skill creation, return\nROUTE: normal-skill. If it requires orchestrating multiple existing\nskills, return ROUTE: meta-skill. Also summarize desired inputs,\noutputs, trigger phrases, and whether a human preference branch is\nneeded. Set NEEDS_CLARIFICATION: yes only when the workflow goal,\noutput shape, trigger boundary, or human preference branch is\ngenuinely ambiguous and the request is an interactive user request.\nFor unattended auto-propose, dream, or cron activation, set\nNEEDS_CLARIFICATION: no and continue from available context.\n\nUser request:\n{{ inputs.user_message | xml_escape | truncate(1200) }}\n\nOuter system \/ activation context:\n{{ inputs.system_prompt | default(\"\") | xml_escape | truncate(1200) }}\n\nReturn:\nROUTE: <normal-skill|meta-skill>\nWORKFLOW_GOAL: <goal or unclear>\nOUTPUT_SHAPE: <deliverable or unclear>\nTRIGGERS: <phrases or unclear>\nHUMAN_PREFERENCE_BRANCH: <yes|no|unclear>\nNEEDS_CLARIFICATION: <yes|no>\nMISSING_FIELDS:\n  - <workflow_goal|output_shape|trigger_boundary|human_preference_branch|none>\nCLARIFY_REASON: <one concise reason, or none>\n",
                    "system": "You are the intent gate for meta-skill-creator. Do not inspect\nworkspace files, history, memory, or external sources. Decide only\nfrom the explicit user request and activation context.\n"
                },
                "label": "意图澄清",
                "label_en": "Intent clarification"
            },
            {
                "id": "creator_clarify",
                "kind": "user_input",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower) and 'needs_clarification: yes' in (outputs.clarify_intent | lower)",
                "label": "创建澄清",
                "clarify": {
                    "mode": "form",
                    "intro": "新 meta-skill 的边界还不够明确。请补齐目标和输出形态,避免生成过宽的触发词。\n",
                    "fields": [
                        {
                            "name": "workflow_goal",
                            "type": "string",
                            "prompt": "工作流目标 \/ Workflow goal",
                            "required": true,
                            "max_chars": 300,
                            "prompt_en": "Workflow goal",
                            "prompt_zh": "工作流目标"
                        },
                        {
                            "name": "output_shape",
                            "type": "string",
                            "prompt": "最终输出形态 \/ Output shape",
                            "required": true,
                            "max_chars": 200,
                            "prompt_en": "Output shape",
                            "prompt_zh": "最终输出形态"
                        },
                        {
                            "name": "trigger_boundary",
                            "type": "string",
                            "prompt": "触发边界或不要覆盖的场景 \/ Trigger boundary",
                            "max_chars": 300,
                            "prompt_en": "Trigger boundary or cases to avoid",
                            "prompt_zh": "触发边界或不要覆盖的场景"
                        },
                        {
                            "name": "human_preference_branch",
                            "type": "bool",
                            "prompt": "是否需要运行中让用户选择偏好 \/ Need human preference branch?",
                            "default": false,
                            "prompt_en": "Need a human preference branch during the run?",
                            "prompt_zh": "是否需要运行中让用户选择偏好"
                        }
                    ],
                    "intro_en": "The new meta-skill boundary is not clear enough. Fill in the goal and output shape so the trigger stays precise.",
                    "intro_zh": "新 meta-skill 的边界还不够明确。请补齐目标和输出形态,避免生成过宽的触发词。",
                    "nl_extract": true,
                    "timeout_hours": 24,
                    "cancel_keywords": [
                        "算了",
                        "取消",
                        "cancel",
                        "stop",
                        "abort"
                    ]
                },
                "label_en": "Creation clarification",
                "depends_on": [
                    "clarify_intent"
                ]
            },
            {
                "id": "normal_skill_exit",
                "kind": "tool_call",
                "tool": "emit_text",
                "when": "'route: normal-skill' in (outputs.clarify_intent | lower)",
                "label": "普通技能退出",
                "label_en": "Regular skill exit",
                "tool_args": {
                    "text": "This request was classified as a normal standalone skill request, not\na meta-skill composition request. The meta-skill creator stopped\nbefore proposal assembly or persistence.\n"
                },
                "depends_on": [
                    "clarify_intent"
                ]
            },
            {
                "id": "creator_mode",
                "kind": "llm_classify",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower)",
                "with": {
                    "text": "Classify how far the creator workflow should go.\n\nUser request:\n{{ inputs.user_message | xml_escape | truncate(1200) }}\n\nOuter system \/ activation context:\n{{ inputs.system_prompt | default(\"\") | xml_escape | truncate(1200) }}\n\nClarified intent:\n{{ outputs.clarify_intent | truncate(1200) }}\n\nClarification answers (may be empty when not needed):\n{{ inputs.get('collected', {}).get('creator_clarify', {}) | tojson }}\n\nDecision rules:\n- PREVIEW_ONLY: user asks for an example, template, plan, draft,\n  or wants to inspect before writing\/persisting anything.\n- PERSISTED_PROPOSAL: user asks to create\/save\/write\/propose a\n  meta-skill but does not ask for exhaustive smoke testing.\n- FULL_GATED: user asks for a production-ready, accepted, tested,\n  validated, or fully gated meta-skill.\n- FULL_GATED: unattended auto-propose, dream, or cron activation\n  requires preserving all creator gates before any auto-enable\n  decision.\n"
                },
                "label": "创建模式",
                "label_en": "Creation mode",
                "depends_on": [
                    "clarify_intent",
                    "creator_clarify"
                ],
                "output_choices": [
                    "PREVIEW_ONLY",
                    "PERSISTED_PROPOSAL",
                    "FULL_GATED"
                ]
            },
            {
                "id": "harvest",
                "kind": "skill_exec",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower) and 'Unattended meta-skill auto-propose run' in inputs.get('system_prompt', '')",
                "with": {
                    "query": "Co-occurring skill chains and meta-skill usage for: {{ outputs.clarify_intent | truncate(1000) }}\nClarification answers:\n{{ inputs.get('collected', {}).get('creator_clarify', {}) | tojson }}\n",
                    "include": [
                        "co_occurrences",
                        "meta_usage",
                        "router_fixtures"
                    ],
                    "window_days": 30
                },
                "label": "需求采集",
                "skill": "history-explorer",
                "label_en": "Requirement capture",
                "depends_on": [
                    "clarify_intent",
                    "creator_clarify"
                ],
                "on_failure": "harvest_empty"
            },
            {
                "id": "harvest_empty",
                "kind": "tool_call",
                "tool": "emit_text",
                "label": "空采集兜底",
                "label_en": "Empty-capture fallback",
                "tool_args": {
                    "text": "no history available; downstream should rely on user intent only"
                }
            },
            {
                "id": "pick_pattern",
                "kind": "llm_classify",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower)",
                "with": {
                    "user_intent": "Raw user request:\n{{ inputs.user_message | xml_escape | truncate(1200) }}\n\nClarified intent:\n{{ outputs.clarify_intent | truncate(1000) }}\n",
                    "history_summary": "{{ outputs.harvest | truncate(2000) }}"
                },
                "label": "模式选择",
                "label_en": "Mode selection",
                "depends_on": [
                    "creator_mode",
                    "harvest"
                ],
                "output_choices": [
                    "p1_sequential",
                    "p2_fan_out_merge",
                    "p3_condition_gated"
                ]
            },
            {
                "id": "fill_slots",
                "kind": "tool_call",
                "tool": "meta_skill_fill_slots",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower)",
                "label": "填充槽位",
                "label_en": "Fill slots",
                "tool_args": {
                    "pattern_id": "{{ outputs.pick_pattern }}",
                    "user_intent": "Raw user request:\n{{ inputs.user_message | xml_escape | truncate(1200) }}\n\nClarified intent:\n{{ outputs.clarify_intent | truncate(1000) }}\n",
                    "history_summary": "{{ outputs.harvest | truncate(2000) }}"
                },
                "depends_on": [
                    "pick_pattern"
                ]
            },
            {
                "id": "assemble",
                "kind": "tool_call",
                "tool": "meta_skill_assemble",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower)",
                "label": "组装",
                "label_en": "Assembly",
                "tool_args": {
                    "pattern_id": "{{ outputs.pick_pattern }}",
                    "slots_json": "{{ outputs.fill_slots }}"
                },
                "depends_on": [
                    "fill_slots"
                ]
            },
            {
                "id": "collision_check",
                "kind": "llm_chat",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower)",
                "with": {
                    "task": "Review this generated meta-skill proposal for trigger collisions with\nexisting bundled skills. Flag generic triggers, overlaps with\nmeta-skill-creator, and broad phrases that would steal unrelated user\nintent. Return PASS or REVISE_NEEDED plus reasons.\n\nCandidate SKILL.md:\n{{ outputs.assemble | truncate(8000) }}\n",
                    "system": "You are a trigger-collision reviewer for meta-skill-creator. Use only\nthe candidate SKILL.md provided in the task and the bundled creator\nboundaries named there. Do not call tools or inspect the workspace.\n"
                },
                "label": "冲突检查",
                "label_en": "Conflict check",
                "depends_on": [
                    "assemble"
                ]
            },
            {
                "id": "lint",
                "kind": "tool_call",
                "tool": "meta_skill_lint_run",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower)",
                "label": "Lint 检查",
                "label_en": "Lint check",
                "tool_args": {
                    "gates": "G1,G2",
                    "skill_md": "{{ outputs.assemble }}"
                },
                "depends_on": [
                    "collision_check"
                ]
            },
            {
                "id": "risk_classify",
                "kind": "llm_chat",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower)",
                "with": {
                    "task": "Classify operational risk for the generated meta-skill. Consider file\nwrites, network access, GitHub\/gh actions, shell commands, memory\nwrites, and destructive operations. Return:\nRISK: low|medium|high\nCAPABILITIES:\n  - <capability>\nREQUIRED_GATES:\n  - <gate>\n\nCandidate SKILL.md:\n{{ outputs.assemble | truncate(8000) }}\n\nLint result:\n{{ outputs.lint | truncate(2000) }}\n",
                    "system": "You are an operational-risk classifier for generated meta-skills. Use\nonly the candidate SKILL.md and lint result in the task. Do not call\ntools or inspect the workspace.\n"
                },
                "label": "风险分类",
                "label_en": "Risk classification",
                "depends_on": [
                    "lint"
                ]
            },
            {
                "id": "single_model_baseline",
                "kind": "llm_chat",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower) and outputs.creator_mode == 'FULL_GATED'",
                "with": {
                    "task": "Same task as the orchestrated meta-skill creator workflow, but solve\nit as a standalone highest-tier model response. Use the outer system\nprompt and raw user request below; do not rely on any meta-skill\nintermediate output.\n\nOuter system prompt:\n{{ inputs.system_prompt | xml_escape | truncate(12000) }}\n\nUser request:\n{{ inputs.user_message | xml_escape | truncate(1600) }}\n\nReturn:\n- proposed meta-skill name\n- triggers\n- inputs\n- step graph\n- gates\n- collision risks\n- SKILL.md preview\n\nBoundary rule:\nCreator validation, proposal persistence, auto-enable decisions,\nand gate execution are handled by the outer meta-skill-creator\nworkflow. Do not require the generated candidate SKILL.md itself to\ncontain steps for saving proposals, running creator gates, comparing\nagainst baselines, or deciding auto-enable. The candidate SKILL.md\nshould describe only the reusable business workflow that will run\nlater when the new meta-skill is invoked.\n",
                    "system": "You are the highest-tier baseline model for meta-skill authoring.\nSolve the same task directly in one pass under the same outer\nassistant system prompt and user request, but without history\nmining, intent clarification output, deterministic slot filling,\nlint tools, smoke tools, persistence, or sub-skill orchestration.\nProduce the strongest standalone SKILL.md candidate you can from\nthat full prompt context.\n"
                },
                "label": "单模基线",
                "label_en": "Single-mode baseline",
                "depends_on": [
                    "creator_mode"
                ]
            },
            {
                "id": "acceptance_compare",
                "kind": "llm_chat",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower) and outputs.creator_mode == 'FULL_GATED'",
                "with": {
                    "task": "User request:\n{{ inputs.user_message | xml_escape | truncate(1200) }}\n\nOrchestrated candidate:\n{{ outputs.assemble | truncate(7000) }}\n\nSingle-model baseline:\n{{ outputs.single_model_baseline | truncate(7000) }}\n\nReturn this exact structure:\nWINNER: orchestrated|single-model|tie\nQUALITY_SCORE: <0.00-1.00 weighted final product quality score>\nREASONS:\n- <specific evidence>\nREGRESSIONS:\n- <what the orchestrated candidate lacks versus the baseline>\nREQUIRED_IMPROVEMENTS:\n- <blocking edit required before acceptance, or \"none\">\n\nTreat REQUIRED_IMPROVEMENTS as a hard acceptance gate. Do not list\noptional nice-to-have enhancements there. If the orchestrated\ncandidate is production-acceptable and any baseline advantages are\nnon-blocking, put those advantages under REGRESSIONS and set\nREQUIRED_IMPROVEMENTS to \"none\".\nScore final product quality with high weight: 40% usefulness and\ncompleteness of the generated SKILL.md, 25% trigger\/input\/output\nspecificity, 20% gate\/risk\/collision coverage, and 15% reusable\nworkflow generality. Scores below 0.80 are not acceptable for\nFULL_GATED persistence even when WINNER is orchestrated.\nNever make proposal persistence, auto-enable state, acceptance\ncomparison, or runtime E2E execution a REQUIRED_IMPROVEMENT for the\ncandidate SKILL.md; those are already performed by this outer creator\nworkflow and are evaluated from the creator's gate outputs.\n",
                    "system": "You are an acceptance reviewer. Compare an orchestrated candidate\nagainst a single-model baseline that used the highest-tier model on\nthe same task. Reward verifiable skill composition, trigger safety,\ngates, operational risk handling, and reusable SKILL.md quality.\nKeep the boundary strict: proposal persistence, gate execution,\nruntime E2E, acceptance comparison, and auto-enable decisions belong\nto the outer meta-skill-creator workflow. Do not penalize a candidate\nSKILL.md for omitting creator-workflow steps that should not run when\nthe generated meta-skill is invoked later.\n"
                },
                "label": "验收对比",
                "label_en": "Acceptance comparison",
                "depends_on": [
                    "assemble",
                    "single_model_baseline"
                ]
            },
            {
                "id": "smoke",
                "kind": "tool_call",
                "tool": "meta_skill_smoke_run",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower) and outputs.creator_mode != 'PREVIEW_ONLY'",
                "label": "冒烟测试",
                "label_en": "Smoke test",
                "tool_args": {
                    "skill_md": "{{ outputs.assemble }}",
                    "classifier_model": "openrouter\/auto",
                    "fixture_gen_model": "openai\/gpt-4o-mini"
                },
                "depends_on": [
                    "risk_classify"
                ]
            },
            {
                "id": "runtime_e2e",
                "kind": "tool_call",
                "tool": "meta_skill_runtime_e2e_run",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower) and outputs.creator_mode == 'FULL_GATED'",
                "label": "运行时 E2E",
                "label_en": "Runtime E2E",
                "tool_args": {
                    "skill_md": "{{ outputs.assemble }}",
                    "eval_prompts": ""
                },
                "depends_on": [
                    "assemble",
                    "smoke"
                ]
            },
            {
                "id": "preview",
                "kind": "llm_chat",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower)",
                "with": {
                    "task": "Produce a concise proposal preview for the user\/operator before\npersistence. Include proposed name, triggers, DAG summary, collision\nresult, risk classification, lint status, smoke status, baseline\ncomparison status, and whether it appears eligible for acceptance.\nDo not invent paths or proposal IDs.\n\nCandidate SKILL.md:\n{{ outputs.assemble | truncate(8000) }}\n\nCollision check:\n{{ outputs.collision_check | truncate(1200) }}\n\nRisk:\n{{ outputs.risk_classify | truncate(1200) }}\n\nCreator mode:\n{{ outputs.creator_mode }}\n\nLint:\n{{ outputs.lint | truncate(2000) }}\n\nSmoke:\n{{ outputs.smoke | truncate(2000) }}\n\nBaseline comparison:\n{{ outputs.acceptance_compare | truncate(2000) }}\n\nRuntime E2E:\n{{ outputs.runtime_e2e | truncate(2000) }}\n",
                    "system": "You are the final preview writer for meta-skill-creator. Produce only\na concise operator-facing proposal preview from the supplied step\noutputs. Do not call tools, inspect files, or invent persistence IDs.\n"
                },
                "label": "预览",
                "label_en": "Preview",
                "depends_on": [
                    "smoke",
                    "acceptance_compare",
                    "runtime_e2e"
                ]
            },
            {
                "id": "persist",
                "kind": "tool_call",
                "tool": "meta_skill_persist_proposal",
                "when": "'route: meta-skill' in (outputs.clarify_intent | lower) and outputs.creator_mode != 'PREVIEW_ONLY'",
                "label": "保存",
                "label_en": "Save",
                "tool_args": {
                    "skill_md": "{{ outputs.assemble }}",
                    "lint_result": "{{ outputs.lint }}",
                    "risk_result": "{{ outputs.risk_classify }}",
                    "creator_mode": "{{ outputs.creator_mode }}",
                    "smoke_result": "{{ outputs.smoke }}",
                    "collision_result": "{{ outputs.collision_check }}",
                    "acceptance_result": "{{ outputs.acceptance_compare }}",
                    "runtime_e2e_result": "{{ outputs.runtime_e2e }}"
                },
                "depends_on": [
                    "preview"
                ]
            },
            {
                "id": "final_response",
                "kind": "tool_call",
                "tool": "emit_text",
                "label": "最终回复",
                "label_en": "Final response",
                "tool_args": {
                    "text": "{% if outputs.normal_skill_exit %}\n{{ outputs.normal_skill_exit }}\n{% else %}\n{{ outputs.preview }}\n{% endif %}"
                },
                "depends_on": [
                    "preview",
                    "normal_skill_exit"
                ]
            }
        ]
    },
    "description": "Use this meta-skill instead of answering directly only when the current user explicitly asks to create, compose, synthesize, or propose a new meta-skill that orchestrates multiple existing skills. It uses multi-skill orchestration for intent clarification, optional history mining, trigger-collision checks, linting, smoke\/runtime gates, preview, and optional proposal persistence. Do not use it for creating a normal standalone skill, asking how meta-skills work, analyzing pasted skill lists, or discussing existing meta-skills.",
    "policy_tags": [
        "trigger-collision-check",
        "lint-before-enable"
    ],
    "eval_prompts": [
        {
            "name": "meta-skill-creator-baseline",
            "prompt": "Draft a meta-skill that orchestrates search, synthesis, validation, and proposal persistence.",
            "rubric": [
                "Intent summary",
                "Proposed DAG",
                "Trigger and collision notes",
                "Validation results",
                "Save or next-step status"
            ]
        }
    ],
    "meta_priority": 90,
    "final_text_mode": "step:final_response",
    "output_contract": {
        "artifacts": [
            {
                "name": "meta_skill_proposal",
                "required": false
            }
        ],
        "unverified": [
            "Live runtime smoke results when execution gates are unavailable."
        ],
        "assumptions": [
            "Preview mode is used unless persistence is explicit."
        ],
        "required_sections": [
            "Intent summary",
            "Proposed DAG",
            "Trigger and collision notes",
            "Validation results",
            "Save or next-step status"
        ],
        "append_to_final_text": false
    },
    "preference_keys": [
        "preferred_language",
        "meta_authoring_style"
    ],
    "request_template": {
        "fields": [
            {
                "name": "meta_skill_goal",
                "label_en": "Meta-skill goal",
                "label_zh": "Meta-skill 目标",
                "required": true
            },
            {
                "name": "existing_skills_to_orchestrate",
                "label_en": "Existing skills to orchestrate",
                "label_zh": "要编排的现有技能",
                "required": false
            },
            {
                "name": "save_or_preview",
                "default": "preview unless the user asks to persist",
                "label_en": "Save or preview",
                "label_zh": "保存或预览",
                "required": false,
                "default_en": "preview unless the user asks to persist",
                "default_zh": "默认预览;仅在用户要求持久化时保存"
            },
            {
                "name": "constraints",
                "label_en": "Constraints",
                "label_zh": "限制条件",
                "required": false
            },
            {
                "name": "audience",
                "default": "meta-skill author",
                "label_en": "Audience",
                "label_zh": "受众",
                "required": false,
                "default_en": "meta-skill author",
                "default_zh": "meta-skill 作者"
            },
            {
                "name": "language",
                "default": "match the user's language",
                "label_en": "Output language",
                "label_zh": "输出语言",
                "required": false,
                "default_en": "match the user's language",
                "default_zh": "跟随用户语言"
            }
        ],
        "outcome": "Proposed meta-skill spec or saved proposal with trigger, DAG, tests, and validation notes.",
        "outcome_en": "Proposed meta-skill spec or saved proposal with trigger, DAG, tests, and validation notes.",
        "outcome_zh": "生成 meta-skill 提案或保存方案,包含触发词、DAG、测试和验证记录。",
        "assumptions": [
            "Create a meta-skill only when orchestration is explicitly requested.",
            "Check trigger collisions and lint before presenting a proposal."
        ],
        "assumptions_en": [
            "Create a meta-skill only when orchestration is explicitly requested.",
            "Check trigger collisions and lint before presenting a proposal."
        ],
        "assumptions_zh": [
            "仅在用户明确要求编排时创建 meta-skill。",
            "展示提案前检查触发词冲突并运行 lint。"
        ]
    }
}

Meta-Skill Creator

Safeguarded DAG that synthesizes a new bundled meta-skill from observed skill co-occurrence patterns + user description of the desired workflow. It now separates preview-only, persisted-proposal, and fully gated modes so lightweight requests do not pay for persistence or smoke testing. The workflow separates generic skill creation from meta-skill composition, checks trigger collisions, classifies operational risk, and previews the proposal before optional persistence.

Output is a SKILL.md candidate written to ~/.opensquilla/proposals/<id>/. By default it is not auto-loaded; run opensquilla meta accept <id> (Phase 2) to enable. If the operator has enabled the auto-propose auto_enable setting, this manual path also runs the same conservative static safety preflight used by cron/dream auto-propose and may promote a low-risk gated proposal immediately.

Fallback

If creator's pipeline fails at any step, report the failure verbatim to the user:

  1. State which step failed (e.g. "harvest", "lint")
  2. Quote the error message from the orchestrator's structured log
  3. Stop. Do NOT improvise.

Do NOT:

  • Claim a proposal was written unless you have verified it by reading ~/.opensquilla/proposals/<id>/SKILL.md with the read_file tool
  • Invent file paths, proposal IDs, or skill names that you have not seen in the orchestrator's actual output
  • "Manually run" the individual skills as a recovery — that bypasses the validation gates the user explicitly opted into

If the user wants to retry, suggest they re-issue the request after the underlying error is resolved (often a sandbox or provider issue), not a manual workaround.

Version History

  • 7f72a32 Current 2026-07-05 18:38

Same Skill Collection

src/opensquilla/skills/bundled/advanced-dubbing-studio/SKILL.md
src/opensquilla/skills/bundled/ai-video-script/SKILL.md
src/opensquilla/skills/bundled/audio-cog/SKILL.md
src/opensquilla/skills/bundled/awesome-webpage-image-download/SKILL.md
src/opensquilla/skills/bundled/awesome-webpage-research/SKILL.md
src/opensquilla/skills/bundled/AwesomeWebpageMetaSkill/SKILL.md
src/opensquilla/skills/bundled/cron/SKILL.md
src/opensquilla/skills/bundled/docx/SKILL.md
src/opensquilla/skills/bundled/filesystem/SKILL.md
src/opensquilla/skills/bundled/git-diff/SKILL.md
src/opensquilla/skills/bundled/github/SKILL.md
src/opensquilla/skills/bundled/history-explorer/SKILL.md
src/opensquilla/skills/bundled/html-coder/SKILL.md
src/opensquilla/skills/bundled/html-to-pdf/SKILL.md
src/opensquilla/skills/bundled/http-fetch/SKILL.md
src/opensquilla/skills/bundled/latex-compile/SKILL.md
src/opensquilla/skills/bundled/memory/SKILL.md
src/opensquilla/skills/bundled/music-and-singing-studio/SKILL.md
src/opensquilla/skills/bundled/nano-banana-pro-openrouter/SKILL.md
src/opensquilla/skills/bundled/nano-banana-pro/SKILL.md
src/opensquilla/skills/bundled/nano-pdf/SKILL.md
src/opensquilla/skills/bundled/openrouter-video-generator/SKILL.md
src/opensquilla/skills/bundled/paper-abstract-author/SKILL.md
src/opensquilla/skills/bundled/paper-citation-planner/SKILL.md
src/opensquilla/skills/bundled/paper-experiment-stub/SKILL.md
src/opensquilla/skills/bundled/paper-outline-author/SKILL.md
src/opensquilla/skills/bundled/paper-preference-planner/SKILL.md
src/opensquilla/skills/bundled/paper-refbib-stub/SKILL.md
src/opensquilla/skills/bundled/paper-revision-author/SKILL.md
src/opensquilla/skills/bundled/paper-section-author/SKILL.md
src/opensquilla/skills/bundled/paper-source-curator/SKILL.md
src/opensquilla/skills/bundled/pptx/SKILL.md
src/opensquilla/skills/bundled/seedance-2-prompt/SKILL.md
src/opensquilla/skills/bundled/skill-creator-linter/SKILL.md
src/opensquilla/skills/bundled/skill-creator-proposals/SKILL.md
src/opensquilla/skills/bundled/skill-creator-smoke-test/SKILL.md
src/opensquilla/skills/bundled/srt-from-script/SKILL.md
src/opensquilla/skills/bundled/stack-trace-generic-probe/SKILL.md
src/opensquilla/skills/bundled/stack-trace-go-probe/SKILL.md
src/opensquilla/skills/bundled/stack-trace-js-probe/SKILL.md
src/opensquilla/skills/bundled/stack-trace-python-probe/SKILL.md
src/opensquilla/skills/bundled/stack-trace-rust-probe/SKILL.md
src/opensquilla/skills/bundled/subtitle-burner/SKILL.md
src/opensquilla/skills/bundled/swe-bench/SKILL.md
src/opensquilla/skills/bundled/text-file-read/SKILL.md
src/opensquilla/skills/bundled/title-card-image/SKILL.md
src/opensquilla/skills/bundled/video-merger/SKILL.md
src/opensquilla/skills/bundled/video-still-animator/SKILL.md
src/opensquilla/skills/bundled/voice-clone-lab/SKILL.md
src/opensquilla/skills/bundled/voice-conversion-studio/SKILL.md
src/opensquilla/skills/bundled/voiceover-studio/SKILL.md
src/opensquilla/skills/bundled/weather/SKILL.md
src/opensquilla/skills/bundled/web-search/SKILL.md
src/opensquilla/skills/bundled/xlsx/SKILL.md
src/opensquilla/skills/exp/meta-arxiv-daily-digest-deck/SKILL.md
src/opensquilla/skills/exp/meta-codereview-current-diff/SKILL.md
src/opensquilla/skills/exp/meta-compliance-audit-bundle/SKILL.md
src/opensquilla/skills/exp/meta-diagram-triangulation/SKILL.md
src/opensquilla/skills/exp/meta-github-pr-watch-digest/SKILL.md
src/opensquilla/skills/exp/meta-issue-to-pr-autopilot/SKILL.md
src/opensquilla/skills/exp/meta-knowledge-base-bootstrap/SKILL.md
src/opensquilla/skills/exp/meta-migration-assistant/SKILL.md
src/opensquilla/skills/exp/meta-multi-format-export-pack/SKILL.md
src/opensquilla/skills/exp/meta-pdf-intelligence/SKILL.md
src/opensquilla/skills/exp/meta-pdf-reformat-pipeline/SKILL.md
src/opensquilla/skills/exp/meta-pre-commit-quality-gate/SKILL.md
src/opensquilla/skills/exp/meta-scheduled-morning-digest/SKILL.md
src/opensquilla/skills/exp/meta-security-review-bundle/SKILL.md
src/opensquilla/skills/exp/meta-spreadsheet-insight/SKILL.md
src/opensquilla/skills/exp/meta-stack-trace-investigator/SKILL.md
src/opensquilla/skills/exp/meta-travel-planner/SKILL.md
src/opensquilla/skills/exp/meta-web-to-pdf-briefing/SKILL.md
tests/_fixtures/meta-paper-write-handwritten.SKILL.md
src/opensquilla/skills/bundled/code-task/SKILL.md
src/opensquilla/skills/bundled/deep-research/SKILL.md
src/opensquilla/skills/bundled/meta-kid-project-planner/SKILL.md
src/opensquilla/skills/bundled/meta-paper-write/SKILL.md
src/opensquilla/skills/bundled/meta-short-drama/SKILL.md
src/opensquilla/skills/bundled/multi-search-engine/SKILL.md
src/opensquilla/skills/bundled/pdf-toolkit/SKILL.md
src/opensquilla/skills/bundled/skill-creator/SKILL.md
src/opensquilla/skills/bundled/sub-agent/SKILL.md
src/opensquilla/skills/bundled/summarize/SKILL.md
src/opensquilla/skills/bundled/tmux/SKILL.md
src/opensquilla/skills/exp/meta-long-running-build-watchdog/SKILL.md
src/opensquilla/skills/bundled/paper-plot-stub/SKILL.md
src/opensquilla/skills/exp/meta-content-publish-pipeline/SKILL.md
src/opensquilla/skills/exp/meta-home-it-rescue/SKILL.md
src/opensquilla/skills/exp/meta-meeting-to-workflow/SKILL.md
src/opensquilla/skills/exp/meta-research-to-slide-deck/SKILL.md
src/opensquilla/skills/exp/meta-sales-lead-researcher/SKILL.md

Metadata

Files
0
Version
7f72a32
Hash
38aa1839
Indexed
2026-07-05 18:38

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-08 22:23
浙ICP备14020137号-1 $Гость$