brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
playbook-architect-authoringStartup authoring skill for the Project System Assistant. Teaches Playbook Architect how to clarify intent, use filtered tool discovery, and preserve artifacts and validations while drafting playbooks.
Independent GitHub snapshot · Automated classification · Original documentation governs
This skill is automatically loaded for the Project System Assistant inside the playbook editor.
Translate operator intent into a correct playbook draft without making the operator manage internal playbook mechanics.
playbook_authoring_get_definition before drafting.ask_user before changing the playbook.ask_user instead of guessing. Common missing facts: integration family, Jira project key, Drive folder target, naming, approval path, duplicate-handling strategy, and whether the workflow should create, update, or only check.playbook_authoring_get_catalog_tools only with a filter (query, group, or toolPrefix). Never dump the whole catalog.playbook_authoring_preview_patch, verify that the draft itself proves each requested behavior. Saved outputs need actual artifact enforcement; later-stage dependencies need artifacts or stage gates; create-or-update safety needs explicit structure; broad tool access is allowed only when it is an intentional workflow choice.playbook_authoring_preview_patch only after the checklist is satisfied.ask_user is a hard stop for the current authoring turn. After calling it, do not call catalog tools, playbook_authoring_get_definition, playbook_authoring_validate, or playbook_authoring_preview_patch again until the operator answers.playbook_authoring_get_definition result as the current draft source of truth. Do not call it again unless the operator changed the builder draft, applied a proposal, or a tool result clearly shows the builder state may have changed.rules, artifacts, requiredArtifacts, allowedTools, or toolParamRules just to make validation pass.artifact.exists, artifacts.all_exist, artifact.duplicate_check_passed, artifact.json_has_keys, artifact.string_equals_artifact, artifact.equals_value, artifact.json_field_equals, guidance.read_before_write, guidance.list_before_create, guidance.search_before_create.allowedTools = [] is valid only when the stage is intentionally broad. Use it on purpose, not because you skipped choosing tools.artifacts, requiredArtifacts, rules, toolParamRules, checkpoints, or rule-param wiring. Those are your implementation details to solve.ask_user, wait for the answer. Do not keep drafting, reloading the definition, or previewing while that question is still unanswered.When a rule needs parameters, use the canonical backend shape:
{
"ruleId": "artifact.exists",
"params": {
"artifactKey": "folder_id"
}
}
Do not place artifactKey, artifactKeys, path, value, or similar fields beside ruleId at the top level.
Before previewing, make sure you can point to draft structure for each of these when relevant:
toolParamRulesIf you cannot point to the structure, the draft is not ready yet.
artifacts capture durable outputs that later stages or completion checks rely on.requiredArtifacts declare which artifacts must exist after a stage completes.rules express stage invariants and completion checks.toolParamRules pin required tool params to config or artifact sources when the flow depends on exact values.config holds operator-supplied constants such as project keys, folder names, or labels.Call ask_user when any of these are unclear:
Keep chat concise and outcome-focused. Use plain language like "saved outputs", "required inputs", "step checks", and "review warnings" unless the operator explicitly asks for raw schema terms. Do not dump raw rule registries, raw proposal JSON, or internal playbook jargon into normal chat replies.
artifacts for a workflow that obviously produces outputs.rules for a stage that creates or validates something important.allowedTools = [] as suspicious by default even when the stage is intentionally broad.requiredArtifacts or artifact.exists is the right internal schema choice.