mirror of
https://github.com/botpress/skills.git
synced 2026-09-19 05:20:42 +08:00
master
13 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
1f12077c0b |
Update ADK skills from agent-lack master (#54)
* docs(adk): update skills from agent-lack master * docs(adk): address skill review comments * docs(adk): address greptile review notes |
||
|
|
f5a710c585 |
docs(adk): fix skill gaps surfaced by the 06-20 benchmark sweep (#52)
* docs(adk): fix skill gaps surfaced by the 06-20 benchmark sweep
Each change was verified against agent-lack source (runtime/CLI/bundler)
before editing. Skills-only; no runtime/CLI changes.
- ADK-702: custom events nest authored data at event.payload.payload,
not event.payload (conversations.md, patterns-mistakes.md)
- ADK-703: route natural language to execute()/adk.zai.extract instead
of hand-rolled keyword/regex parsers (conversations.md,
patterns-mistakes.md)
- ADK-704: single-quote `adk chat --single` messages; $ expands in
double quotes and silently mangles input (cli.md, adk-test.md)
- ADK-705: test pushed chat:custom events with an eval event turn +
adk evals, not adk chat --single or curl (adk-test.md,
debug-workflow.md, conversations.md)
- ADK-708/707: ship bundled data via static JSON import; assets.get()
returns a URL only, never file bytes (patterns-mistakes.md, assets.md)
- eval event turns take { payload } only (no type field); pushed events
arrive as chat:custom (adk-evals SKILL.md, eval-format.md,
test-patterns.md)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* chore: format .claude-plugin manifests with oxfmt
Pre-existing format:check failures on dev (multi-line keywords arrays),
unrelated to the skill doc changes — fixes the Code Quality check.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs(adk): address review — guard message access + link zai reference
- patterns-mistakes.md: use message?.payload.text in the WRONG routing
example so it doesn't model an unguarded-access crash on event turns
- conversations.md: cross-link zai-agent-reference.md where adk.zai.extract
is mentioned, so the API and its import are discoverable
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
||
|
|
32bbd8cfe1 |
docs(adk): refresh dependency workflow guidance (#49)
* docs(adk): refresh dependency workflow guidance * docs(adk): align plugin snapshot terminology * chore: format plugin metadata * docs(adk): note that `adk check` does not typecheck — run `tsc --noEmit` --------- Co-authored-by: Yiming Su <yiming.su@botpress.com> |
||
|
|
0acd69a9ce | Format ADK skills (#48) | ||
|
|
117fa0a7f4 |
refactor(adk): consolidate adk-integrations into main adk skill (#35)
* refactor(adk): consolidate adk-integrations into main adk skill Merge the standalone adk-integrations skill into the main adk skill's integrations.md reference. Update all CLI docs to reflect the new `adk integrations` subcommand structure and lock file system from agent-lack, replacing the old flat commands and agent.config.ts dependencies pattern. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(adk): remove stale ADK 1.9+ note from agent-config.md Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(adk): remove incorrect plugin references from integration docs Plugins have their own `adk plugins` commands — they don't belong in `adk integrations` examples. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat(adk): add plugins.md reference for plugin management Document the `adk plugins` CLI subcommands, interface dependency resolution, lock file structure, and plugin lifecycle. Add to SKILL.md reference listing and cli.md quick reference. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: mention plugins in README Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs(adk): mention plugins in main SKILL.md Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(adk): address Greptile review comments - Add lock files to project structure tree, remove stale "(includes integrations)" from agent.config.ts comment - Add missing --to flag on adk integrations upgrade - Add missing --dry-run on sync, --from/--to on copy Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(adk): route plugin queries to adk plugins commands in /adk-integration Addresses Greptile P1: plugin names like desk-hitl were silently routed to adk integrations commands which can't find them. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs(adk): rename sync/apply to pull-lock/push-lock Matches agent-lack#594 which renames the dependency-management CLI commands so direction is unambiguous (pull = cloud → lockfile, push = lockfile → cloud). "sync" and "apply" were ambiguous because both are reused elsewhere (kb sync, assets sync) with different meaning. Also documents the new bundled top-level commands `adk pull-lock` and `adk push-lock` that run both integrations and plugins at once. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(adk): fix flag scope contradictions in cli.md - Move `--to <version>` out of "Plugin-specific flags" since `adk integrations upgrade` supports it too. - Add a `pull-lock` options callout — it supports `--dry-run` like `push-lock`, but the cli.md callout was missing. Addresses Greptile review on PR #35. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|
|
6630ef80f3 |
feat(adk): document plugin support and --format json for CLI commands (#33)
* feat(adk): document plugin support and --format json for add, remove, upgrade Syncs skill documentation with agent-lack feat/cli-format-flag branch which adds plugin support to `adk add/remove/upgrade` and `--format json` to `remove` and `upgrade`. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(adk): clarify adk info/search are integration-only, address Greptile feedback - Note that `adk info` and `adk search` do not support plugins - Fix inconsistent `adk list` description ("integrations" → "dependencies") - Add note about pinned version upgrades via `adk add <name>@<version>` Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(adk): use desk-hitl as plugin example instead of hitl hitl is an integration, not a plugin. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|
|
dfba21029d |
fix(ADK-542): Update skills references from Control Panel to Dev Console (#29)
* chore: initialize branch for ADK-542 * docs(ADK-542): replace 'Control Panel' with 'Dev Console' across skills and commands Update all references from 'Control Panel' to 'Dev Console' in skills (adk-integrations, adk-evals, adk-debugger) and commands (adk-ship, adk-dev-console) to use the canonical term. Also removes redundant '(control panel)' parenthetical from adk-ship.md. --------- Co-authored-by: Patchwork <patchwork[bot]@botpress.com> |
||
|
|
dd6736eb9f |
fix(commands): use relative paths in manifest generation (#27)
* fix(commands): use relative paths in manifest generation * chore(commands): include generated timestamp in manifest * chore(commands): stop including generated timestamp in manifest |
||
|
|
0b790caa4a |
feat(adk): improve command guidance and add dev console docs (#24)
* feat(adk): improve command guidance and add dev console docs Update debug, eval, explain, integration, and init command flows to use more specific project context. Add the adk-dev-console skill, UI references, and register the new command. * feat(adk-dev-console): add dev console command guidance * feat(adk-document): consolidate documentation commands * fix: address greptile review comments - Fix `}}` typo in Glob calls in adk-eval.md and adk-frontend.md - Add /adk-dev-console to command discovery menu in adk/SKILL.md Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat(adk): add build, validate, test, and ship commands Adds four new commands to round out the ADK lifecycle: - /adk-build: interview the user about a new primitive, then build it - /adk-validate: proactive schema/imports/config-deps check (counterpart to /adk-debug) - /adk-test: one-shot end-to-end invocation (distinct from /adk-eval) - /adk-ship: pre-flight checks + deploy, never auto --yes Updates SKILL.md command index with a new Ship group and regenerates manifest. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(adk-build): interview about outcomes, not implementation Replace schema/return-type/durability questions with outcome and user-visible behavior questions. The agent infers implementation details from the description and existing primitives. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(adk-ship): drop adk chat smoke test, it hits dev bot adk chat --single runs against the linked local dev bot, not the deployed one, so it can't validate a production deploy. Direct the user to the Dev Console for live verification instead. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(adk-test): use .adk/scripts/ for disposable runners Disposable test runners belong under the project's .adk/ workspace, not the repo's top-level scripts/ directory. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(adk-validate): run typecheck and adk check before reading file Project-wide compilation issues should surface before primitive-level inspection — they often explain or supersede the primitive's apparent problems. Run typecheck (project script if defined, else tsc --noEmit) and adk check in parallel as step 1, then filter their output against the primitive in step 4. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(adk/cli): warn that adk chat hits dev bot, not production Make the dev-vs-prod distinction explicit in the cli reference so future command authors don't reintroduce adk chat as a post-deploy smoke test. Also document --single, which the commands rely on but the reference didn't mention. Addresses Greptile P2 on PR #25. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(adk): address remaining greptile review comments - adk-ship: drop unused [message] from argument-hint - adk-ship: always re-run pre-flight; filesystem changes between invocations are not detectable from within the conversation - adk-validate: gate fix-mode on a literal --fix flag, never on a bare "fix" token, so it doesn't clash with a primitive named "fix" - adk-test: require deletion of the inserted table row after the query, mark it with a recognizable tag, and prompt before inserting into a shared/production workspace Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(adk-ship): drop --env flag entirely Remove the --env <env> argument-hint and all references in the workflow. /adk-ship now always deploys to the project's default environment via plain `adk deploy`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(adk-validate): remove --fix mode Drop the auto-fix path entirely. /adk-validate is now report-only — let the user decide which fixes to apply. This also removes the ambiguity with a primitive legitimately named "fix". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(adk-validate): accept a feature, not just a single primitive The argument can be either a single primitive (one file under src/) or a feature spanning multiple primitives (e.g. a checkout flow as workflow + action + table). Resolution tries an exact primitive match first, falls back to a codebase search and asks the user to confirm the candidate set, then runs the same baseline + static checks across all matched files. Feature mode adds a wiring summary to the report. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(adk-build): build a primitive or a whole feature Mirror /adk-validate's primitive-or-feature distinction: the target can be a single primitive (one file) or a feature spanning several primitives wired together. Detection: if the first token is a recognized primitive type, build single; otherwise treat the whole argument as a feature description and decompose it. Adds a Decompose step (feature mode only) where the agent identifies which primitives the feature needs and explains the choice. The Build step now writes files in dependency order so imports resolve. The suggest-next-steps line includes /adk-validate for wiring confirmation. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(adk-ship): name slash commands in wrap-up nudges User-facing next-steps should point at agent commands, not CLI. Step 6's "regression eval" / "soak check" suggestions now route to /adk-eval and /schedule explicitly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(adk): enforce post-build adk check, prefer existing conversations, drop /schedule from /adk-ship - /adk-build step 1 now globs src/conversations/*.ts up front; new conversation behavior must extend an existing handler rather than spawn a new file unless none exists or the user asked for one. - /adk-build step 5 reinforces the same rule at the write step. - /adk-build step 6 makes adk check --format json mandatory after every build, with errors and warnings resolved in the same turn before reporting done. - /adk-ship wrap-up no longer references /schedule. ADK slash commands should keep suggestions within the /adk-* family. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(adk): use .adk/scratch for disposable runners; tighten ship confirm - cli.md Best Practices: keep "don't edit .adk/" but carve out an explicit exception for .adk/scratch/, which is reserved for disposable user/agent files. adk dev does not touch it. - /adk-test: rename .adk/scripts/ -> .adk/scratch/ in both the runner invocation and the cleanup line. The previous .adk/scripts/ path conflicted with the "don't edit .adk/" rule and could be wiped by the next adk dev run. - /adk-ship step 3: always confirm before deploying. The previous wording only handled blockers and warnings; an all-green pre-flight fell through to step 4 unconfirmed, contradicting the preamble. Addresses Greptile P1 comments on PR #25. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(adk-build): block overlapping-channel conversation handlers The previous "extend an existing conversation handler" rule wasn't strict enough — /adk-build kept creating new conversation files whose channel: array duplicated the default handler's, so both fired on the same message and routing got ambiguous. Make the rule precise: - Step 1 now requires reading *every* handler under src/conversations/ and recording its channel: field. Defines overlap explicitly: * is universal, identical arrays overlap, arrays sharing any one channel overlap. - Default behavior is extend-not-add when channels overlap. - A new conversation file is only justified when its channel set is fully disjoint from every existing handler, or the user explicitly asked for a separate handler. - Step 4 requires a one-line "channel-overlap check" in the plan whenever a new conversation file is proposed, so the choice can be challenged before code is written. - Step 5 enforces the rule at build time. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(adk/cli): document check, status, logs, traces, evals These commands are referenced extensively across the adk-debugger, adk-evals, and adk skills, and used by the new /adk-build, /adk-test, /adk-validate, and /adk-ship commands — but none of them appeared in the cli.md reference. Greptile correctly flagged that future agents have no way to verify these commands exist. Documents each one with the flag patterns the existing skills already use: - adk check: offline validation, --format - adk status: link/version metadata, read-only - adk logs: severity filter, --follow, since= - adk traces: execution traces, --conversation-id - adk evals: name filter, --tag, --type, runs subcommand Inserted after adk chat in the Commands section so debug-flow tools sit together. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Aj@Botpress <ajaykumar.mudaliar@botpress.com> |
||
|
|
f65cc8a007 |
chore: add manifest generation script and CI check (#23)
* chore: add script to generate commands manifest Adds scripts/generate-manifest.sh that scans commands/*.md frontmatter and produces commands/manifest.json with all commands listed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: add CI check for manifest freshness Runs generate-manifest.sh on PRs touching commands/ and fails if the committed manifest.json doesn't match. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: remove auto-commit generate-manifest workflow Replaced by the check-manifest CI check and the local script. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore(commands): regenerate manifest to include adk-explain command * address greptile review feedback (greploop iteration 1) - Remove generatedAt field to avoid date drift CI failures - Use jq for safe JSON construction (no injection from descriptions) - Fix double trailing newline - Add scripts/generate-manifest.sh to CI path trigger Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: use sed instead of awk for description extraction Avoids truncating descriptions containing ': ' (awk $2 only captures the first field after the delimiter). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|
|
b2ee35b766 |
feat(adk-explain): add adk-explain slash command (ADK-529) (#22)
* feat(adk-explain): add adk-explain slash command (ADK-529) Add a new command that explains an ADK bot's architecture, flow, and components using `adk status --format json` and the existing explain-config reference. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: add agent.json and agent.local.json data-gathering steps Address Greptile review: explicitly read agent.json (bot/workspace IDs) and agent.local.json (dev bot ID) before following the explanation patterns, matching the four data sources in explain-config.md. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: add GitHub Action to auto-generate commands manifest Adds a workflow that regenerates commands/manifest.json whenever command .md files change on master. Also includes the initial manifest with all 11 commands. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: add check-shells workflow from agent-lack Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: enable check_actions in check-shells workflow Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: shell precedence bug in manifest workflow, revert check_actions Wrap commit+push in a subshell so git push only runs when there's actually a new commit. Revert check_actions to false. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|
|
df9e30f001 |
feat(adk-docs): add adk-docs skill with 5 doc commands (ADK-262) (#14)
* feat: add commands layer and plugin manifest (ADK-263) - Add commands/ directory with 5 Claude Code slash commands: adk-init, adk-debug, adk-eval, adk-frontend, adk-integration - Add .claude-plugin/plugin.json to make repo a valid CC plugin - Update adk SKILL.md with plugin installation prompt - Update README with commands section and install instructions Closes ADK-263 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: quote argument-hint brackets in command frontmatter YAML interprets unquoted [...] as a flow sequence. Wrap in quotes to avoid parsing issues in Claude Code TUI. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat(adk-docs): add adk-docs skill with 5 doc commands (ADK-262) Port the adk-doc-* commands from botpress-claude-marketplace into a new adk-docs skill. Helps users create, review, update, sync-check, and search documentation for their own ADK bot projects. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * address greptile review feedback (greploop iteration 1) - Fix $1/$2 positional vars in adk-doc-update (only $ARGUMENTS is valid) - Fix regex precedence bug in adk-doc-sync grep pattern Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|
|
6f1e6e34cb |
feat: add commands layer and plugin manifest (#13)
* feat: add commands layer and plugin manifest (ADK-263) - Add commands/ directory with 5 Claude Code slash commands: adk-init, adk-debug, adk-eval, adk-frontend, adk-integration - Add .claude-plugin/plugin.json to make repo a valid CC plugin - Update adk SKILL.md with plugin installation prompt - Update README with commands section and install instructions Closes ADK-263 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: quote argument-hint brackets in command frontmatter YAML interprets unquoted [...] as a flow sequence. Wrap in quotes to avoid parsing issues in Claude Code TUI. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |