opencode-skills-collection 4.0.7 → 4.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +19 -1
  2. package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +22 -8
  3. package/bundled-skills/antigravity-maintainer-batch-release/agents/openai.yaml +4 -0
  4. package/bundled-skills/anywrite/SKILL.md +18 -8
  5. package/bundled-skills/cloudflare-security-audit/SKILL.md +5 -3
  6. package/bundled-skills/cloudflare-security-audit/references/RECONNAISSANCE.md +2 -0
  7. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  8. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  9. package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-preview-profile.md +2 -2
  10. package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-worklog.md +1 -1
  11. package/bundled-skills/docs/maintainers/merge-batch.md +3 -3
  12. package/bundled-skills/docs/maintainers/merging-prs.md +13 -17
  13. package/bundled-skills/docs/maintainers/pr-autonomy.md +2 -2
  14. package/bundled-skills/docs/maintainers/release-process.md +17 -2
  15. package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
  16. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  17. package/bundled-skills/docs/users/aas-core.md +38 -3
  18. package/bundled-skills/docs/users/bundles.md +1 -1
  19. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  20. package/bundled-skills/docs/users/faq.md +2 -0
  21. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  22. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  23. package/bundled-skills/docs/users/usage.md +4 -4
  24. package/bundled-skills/docs/users/visual-guide.md +4 -4
  25. package/bundled-skills/docs/vietnamese/README.vi.md +4 -4
  26. package/bundled-skills/hf-cloud-aws-context-discovery/SKILL.md +96 -0
  27. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +3 -3
  28. package/bundled-skills/markstream-angular/SKILL.md +76 -0
  29. package/bundled-skills/markstream-custom-components/SKILL.md +74 -0
  30. package/bundled-skills/markstream-custom-components/references/patterns.md +14 -0
  31. package/bundled-skills/markstream-install/SKILL.md +3 -1
  32. package/bundled-skills/markstream-migration/SKILL.md +78 -0
  33. package/bundled-skills/markstream-migration/references/adoption-checklist.md +10 -0
  34. package/bundled-skills/markstream-nuxt/SKILL.md +71 -0
  35. package/bundled-skills/markstream-react/SKILL.md +74 -0
  36. package/bundled-skills/markstream-svelte/SKILL.md +68 -0
  37. package/bundled-skills/markstream-vue/SKILL.md +71 -0
  38. package/bundled-skills/markstream-vue2/SKILL.md +70 -0
  39. package/bundled-skills/markstream-vue2-cli/SKILL.md +70 -0
  40. package/bundled-skills/markstream-vue2-vite/SKILL.md +69 -0
  41. package/bundled-skills/n8n-agents/SKILL.md +301 -0
  42. package/bundled-skills/n8n-agents/references/CHAT_AGENT_PATTERNS.md +228 -0
  43. package/bundled-skills/n8n-agents/references/EXAMPLES.md +432 -0
  44. package/bundled-skills/n8n-agents/references/HUMAN_REVIEW.md +180 -0
  45. package/bundled-skills/n8n-agents/references/MEMORY.md +139 -0
  46. package/bundled-skills/n8n-agents/references/RAG.md +102 -0
  47. package/bundled-skills/n8n-agents/references/STRUCTURED_OUTPUT.md +163 -0
  48. package/bundled-skills/n8n-agents/references/SUBWORKFLOW_AS_TOOL.md +199 -0
  49. package/bundled-skills/n8n-agents/references/SYSTEM_PROMPT.md +151 -0
  50. package/bundled-skills/n8n-agents/references/TOOLS.md +199 -0
  51. package/bundled-skills/n8n-binary-and-data/SKILL.md +269 -0
  52. package/bundled-skills/n8n-binary-and-data/references/AGENT_TOOL_BINARY.md +227 -0
  53. package/bundled-skills/n8n-binary-and-data/references/BINARY_BASICS.md +187 -0
  54. package/bundled-skills/n8n-binary-and-data/references/CDN_REQUIREMENT.md +109 -0
  55. package/bundled-skills/n8n-binary-and-data/references/MERGE_FOR_CONTEXT.md +130 -0
  56. package/bundled-skills/n8n-code-tool/SKILL.md +358 -0
  57. package/bundled-skills/n8n-code-tool/references/ERROR_PATTERNS.md +178 -0
  58. package/bundled-skills/n8n-code-tool/references/INPUT_SCHEMA.md +132 -0
  59. package/bundled-skills/n8n-error-handling/SKILL.md +289 -0
  60. package/bundled-skills/n8n-error-handling/references/API_WORKFLOWS.md +256 -0
  61. package/bundled-skills/n8n-error-handling/references/ERROR_WORKFLOWS.md +178 -0
  62. package/bundled-skills/n8n-error-handling/references/NODE_ERROR_OUTPUTS.md +171 -0
  63. package/bundled-skills/n8n-error-handling/references/RESPONSE_SHAPES.md +220 -0
  64. package/bundled-skills/n8n-multi-instance/SKILL.md +208 -0
  65. package/bundled-skills/n8n-node-configuration/references/NODE_FAMILY_GOTCHAS.md +241 -0
  66. package/bundled-skills/n8n-subworkflows/SKILL.md +271 -0
  67. package/bundled-skills/n8n-subworkflows/references/NAMING_AND_DISCOVERY.md +130 -0
  68. package/bundled-skills/n8n-subworkflows/references/SUBWORKFLOW_PATTERNS.md +147 -0
  69. package/bundled-skills/pptx-deck-creation/SKILL.md +2 -0
  70. package/bundled-skills/pptx-deck-creation/references/design-profiles.md +2 -0
  71. package/bundled-skills/sshepherd/SKILL.md +16 -6
  72. package/bundled-skills/using-n8n-mcp-skills/SKILL.md +193 -0
  73. package/bundled-skills/weaviate-cookbooks/references/pdf_multimodal_rag.md +12 -6
  74. package/package.json +1 -1
  75. package/skills_index.json +596 -13
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "updatedAt": "2026-07-21T01:23:41.144Z",
3
+ "updatedAt": "2026-07-23T01:29:44.093Z",
4
4
  "entries": [
5
5
  "00-andruia-consultant",
6
6
  "007",
@@ -931,6 +931,7 @@
931
931
  "helium-mcp",
932
932
  "helm-chart-scaffolding",
933
933
  "helpdesk-automation",
934
+ "hf-cloud-aws-context-discovery",
934
935
  "hf-mcp",
935
936
  "hf-mem",
936
937
  "hierarchical-agent-memory",
@@ -1162,7 +1163,17 @@
1162
1163
  "marketing-ideas",
1163
1164
  "marketing-plan",
1164
1165
  "marketing-psychology",
1166
+ "markstream-angular",
1167
+ "markstream-custom-components",
1165
1168
  "markstream-install",
1169
+ "markstream-migration",
1170
+ "markstream-nuxt",
1171
+ "markstream-react",
1172
+ "markstream-svelte",
1173
+ "markstream-vue",
1174
+ "markstream-vue2",
1175
+ "markstream-vue2-cli",
1176
+ "markstream-vue2-vite",
1166
1177
  "matematico-tao",
1167
1178
  "mathguard",
1168
1179
  "matplotlib",
@@ -1229,11 +1240,17 @@
1229
1240
  "multi-agent-task-orchestrator",
1230
1241
  "multi-cloud-architecture",
1231
1242
  "multi-platform-apps-multi-platform",
1243
+ "n8n-agents",
1244
+ "n8n-binary-and-data",
1232
1245
  "n8n-code-javascript",
1233
1246
  "n8n-code-python",
1247
+ "n8n-code-tool",
1248
+ "n8n-error-handling",
1234
1249
  "n8n-expression-syntax",
1235
1250
  "n8n-mcp-tools-expert",
1251
+ "n8n-multi-instance",
1236
1252
  "n8n-node-configuration",
1253
+ "n8n-subworkflows",
1237
1254
  "n8n-validation-expert",
1238
1255
  "n8n-workflow-patterns",
1239
1256
  "nanobanana-ppt-skills",
@@ -1851,6 +1868,7 @@
1851
1868
  "use-dom",
1852
1869
  "user-thoughts",
1853
1870
  "using-git-worktrees",
1871
+ "using-n8n-mcp-skills",
1854
1872
  "using-neon",
1855
1873
  "using-superpowers",
1856
1874
  "uv-package-manager",
@@ -41,8 +41,8 @@ Before changing anything:
41
41
 
42
42
  2. Validate changed skills truthfully.
43
43
  - Run `npm run validate`, `npm run validate:references`, `npm run security:docs`, changed-skill evidence, and the relevant tests.
44
- - Inspect semantics, safety, provenance, declared risk, limitations, and all tracked bundle files directly. Treat inferred risk labels and heuristic quality scores as non-authoritative; do not change a skill merely to satisfy a lexical signal.
45
- - Inspect the `skill-review` workflow on the exact current head SHA.
44
+ - Treat the entire tracked `skills/<skill-id>/**` subtree as skill content. Inspect semantics, safety, provenance, declared risk, limitations, and every bundled file directly, including nested examples, scripts, lockfiles, references, and assets. Never reduce evidence or review to `SKILL.md` or a fixed support-directory allowlist.
45
+ - Require changed-skill evidence to cover every Git record in each changed canonical skill subtree. Require the `skill-review` workflow for changes under `skills/**` or `plugins/**/skills/**`; its reusable result must be keyed by the complete nearest skill-directory fingerprint on the exact current head SHA.
46
46
  - `review` means Tessl semantic review actually ran or a valid identical-content result was reused.
47
47
  - `manual-review-required` means Tessl credentials or credits were unavailable, or Tessl did not produce a passing result. Perform the maintainer semantic review and attest with `--reviewed-head <full-40-character-sha>`.
48
48
  - Any non-passing Tessl outcome produces `manual-review-required`; complete the semantic review and bind the judgment to the exact head instead of treating a heuristic score as merge authority.
@@ -61,6 +61,7 @@ Before changing anything:
61
61
  ```
62
62
 
63
63
  - `merge:batch` may normalize the PR body and close/reopen the PR. GitHub creates the replacement workflow runs asynchronously; the command must wait for and approve only post-reopen workflow/check-suite IDs. Older runs on the same SHA cannot satisfy or fail the fresh gate.
64
+ - Same-repository location is not sufficient authority for sensitive changes. The guarded same-repository exception is limited to a PR authored by the repository owner and requires an exact full-head attestation; collaborator-authored sensitive PRs fail closed under the external safety policy.
64
65
  - The routine protected checks are `pr-policy`, `pr-evidence`, `source-validation`, and `artifact-preview`. The retired `aas-v1-baseline` workflow is not a merge prerequisite and must not be awaited or approved during source or canonical-sync batches.
65
66
  - If the PR head or base changes, discard stale evidence and rerun from a fresh `origin/main`.
66
67
 
@@ -69,6 +70,10 @@ Before changing anything:
69
70
  - Verify its managed-only diff, required checks, merge result, and the resulting `origin/main`.
70
71
  - If an unmanaged repair remains, use a topic PR; never patch `main` directly.
71
72
 
73
+ ## Workflow Contract Change Gate
74
+
75
+ When changing maintainer scripts, workflows, or policy, update the canonical skill, maintainer documentation, and regression tests in the same source PR. Add a negative test for every failure mode being fixed, run the relevant dry-run path, and reject any implementation/documentation mismatch. Source PRs must exclude generated registries and plugin mirrors; the protected canonical-sync PR owns that derived state, except for files intentionally staged by the scripted protected-release flow.
76
+
72
77
  ## Hosted Catalog and Legacy Redirect Bridge
73
78
 
74
79
  Treat the current catalog and the legacy user-site bridge as one public system:
@@ -106,12 +111,21 @@ For AAS CLI, MCP, stack, catalog-cache, or Workbench changes:
106
111
 
107
112
  Release only when requested.
108
113
 
114
+ Every stable or prerelease version requires full release alignment. Creating the tag, GitHub Release, or npm package is an intermediate milestone, never the completion condition.
115
+
109
116
  1. Include the target changelog entry in the maintainer batch PR so it is already on protected `main`; avoid a separate release-notes-only PR.
110
117
  2. From clean, current `main`, run `npm run release:preflight` and required security checks.
111
- 3. Run `npm run release:prepare -- X.Y.Z`. This creates and pushes `release/vX.Y.Z` and opens the protected release PR.
112
- 4. Merge that release PR through its required checks, update local `main` to equal `origin/main`, and wait for any canonical-sync PR to close.
113
- 5. Run `npm run release:publish -- X.Y.Z`. It verifies the exact protected merge before creating or reusing the tag and GitHub Release.
114
- 6. Wait for publishing workflows, then verify the tag/ref, GitHub Release, npm version and dist-tag, CI, Pages, CodeQL, live `llms.txt`, `skills.json`, and changed catalog routes.
118
+ 3. Run the release-state generator and its explicit plugin gates. Require a second no-drift pass before publication: `npm run sync:release-state`, `npm run plugin-compat:check`, and `npm run bundles:check` must leave a clean tree. Inspect `package.json`, `package-lock.json`, generated registries and the offline catalog, tracked web assets, `.agents/plugins/marketplace.json`, `.claude-plugin/plugin.json`, `.claude-plugin/marketplace.json`, and every published Codex/Claude plugin mirror and editorial-bundle manifest. Every release-owned manifest version must equal `X.Y.Z`.
119
+ 4. Run `npm run release:prepare -- X.Y.Z`. This creates and pushes `release/vX.Y.Z` and opens the protected release PR.
120
+ 5. Merge that release PR through its required checks, update local `main` to equal `origin/main`, and wait for every source, release, or canonical-sync PR in the release path to close. Re-run the release-state and plugin gates if protected `main` moved.
121
+ 6. Run `npm run release:publish -- X.Y.Z`. It must resolve exactly one merged release PR from the same repository, authored by the repository owner, with base `main`, exact title `chore: release vX.Y.Z`, and head branch `release/vX.Y.Z`. Zero or multiple candidates fail closed; never select the newest approximate match. The command then verifies that exact protected merge before creating or reusing the tag and GitHub Release.
122
+ 7. Wait for publishing workflows, then bind every proof to the exact released commit: verify the tag/ref, GitHub Release, npm version and intended dist-tag, required CI, CodeQL, and the explicitly dispatched release-only Pages build. Verify live `llms.txt`, `skills.json`, catalog and plugin routes, and the legacy redirect bridge; do not accept a successful run for a different SHA.
123
+ 8. After npm confirms `X.Y.Z` as the published dist-tag, discover every already-configured local AAS MCP host from its real configuration and update each one to the exact same package version before declaring the release complete. Updating existing AAS host entries is part of the release; creating a previously absent host configuration still requires explicit authorization.
124
+ - Use the published package's `aas mcp configure` two-pass flow: first preview the change, then repeat the identical command with its approval digest. Supply absolute host-config, cache, and backup paths; require a backup when replacing an existing configuration.
125
+ - Pin `agentic-awesome-skills@X.Y.Z` and `--version X.Y.Z`; never use `latest`, reuse an older cached runtime, or create a previously absent host configuration without explicit authorization.
126
+ - Verify that the managed host configuration points to a content-addressed `X.Y.Z` runtime, that the runtime package metadata reports `X.Y.Z`, and that a real MCP `initialize` plus `tools/list` handshake reports catalog package version `X.Y.Z`.
127
+ - Restart the host or open a fresh client session when required so the new MCP process is actually loaded. If configuration access, approval, or runtime verification is blocked, report the exact blocker and keep the maintainer task incomplete even though the package itself is already public.
128
+ 9. Fetch `origin/main` again after automation settles, fast-forward the maintainer checkout, and repeat the release-state, plugin, version, public-surface, and MCP parity checks. The final generator pass must be idempotent, the tree must stay clean, and `git rev-list --left-right --count main...origin/main` must end at `0 0`.
115
129
 
116
130
  Never rebase a published release tag, force stale release state, reuse a failed published version, or claim npm publication from the GitHub Release alone.
117
131
 
@@ -121,10 +135,10 @@ Finish only when:
121
135
 
122
136
  - every in-scope PR, issue, and alert is resolved or has one exact blocker;
123
137
  - no open source or canonical-sync PR remains unintentionally;
124
- - `main`, `origin/main`, required workflows, generated state, and public surfaces agree;
138
+ - for every stable or prerelease version, clean local `main`, `origin/main`, the released commit, canonical generated state, every Codex/Claude plugin mirror, bundle, manifest, marketplace, compatibility report, tag, GitHub Release, npm dist-tag, required workflow, and live public surface agree exactly;
125
139
  - the source and legacy repositories have no unintended infrastructure PR, their protected branches and Actions settings remain enforced, and the live manifest identifies the source repository;
126
140
  - the user worktree is unchanged except for files the user explicitly placed in scope;
127
- - release proof is complete when a release was requested.
141
+ - release proof is complete when a release was requested, including an idempotent no-drift regeneration and exact runtime parity between the published npm package and every already-configured local AAS MCP host. Any mismatch keeps the release incomplete.
128
142
 
129
143
  ## Failure Rules
130
144
 
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Antigravity Maintainer Batch Release"
3
+ short_description: "Run protected AAS maintenance and releases"
4
+ default_prompt: "Use $antigravity-maintainer-batch-release to run a protected AAS maintenance sweep with exact-head review, source-only merges, canonical sync, and fail-closed release verification."
@@ -12,6 +12,14 @@ tags: [anytype, cli, pkm, notes, api-integration, productivity, knowledge-manage
12
12
  tools: [claude, cursor, gemini, codex]
13
13
  license: "MIT"
14
14
  license_source: "https://github.com/Antheurus/anywrite/blob/main/LICENSE"
15
+ plugin:
16
+ targets:
17
+ codex: blocked
18
+ claude: blocked
19
+ setup:
20
+ type: manual
21
+ summary: "Requires a separately installed, user-approved anywrite executable at an explicit absolute path."
22
+ docs: SKILL.md
15
23
  ---
16
24
 
17
25
  # anywrite
@@ -30,12 +38,14 @@ license_source: "https://github.com/Antheurus/anywrite/blob/main/LICENSE"
30
38
 
31
39
  ### Step 1: Ensure Anytype desktop is running and authenticated
32
40
 
41
+ This repository does not ship the `anywrite` executable. The user must install or build a reviewed upstream release outside the current workspace and provide its explicit absolute path. Before use, verify that path is an executable regular file, is not a symlink, and is not a workspace-relative `dist/` artifact. Never auto-discover or execute `./dist/anywrite` from the repository being worked on.
42
+
33
43
  The Anytype desktop app must be running locally (default `http://localhost:31009`). Authenticate once:
34
44
 
35
45
  ```bash
36
- ./dist/anywrite auth --status # shows configured yes/no and where the key came from
37
- ./dist/anywrite auth # challenge flow — a 4-digit code appears in the app
38
- ./dist/anywrite auth --code 1234 # non-interactive form of the same exchange
46
+ "/absolute/path/to/anywrite" auth --status # shows configured yes/no and where the key came from
47
+ "/absolute/path/to/anywrite" auth # challenge flow — a 4-digit code appears in the app
48
+ "/absolute/path/to/anywrite" auth --code 1234 # non-interactive form of the same exchange
39
49
  ```
40
50
 
41
51
  The key is written to `~/.anywrite/config.json` and is never printed by any command.
@@ -53,21 +63,21 @@ Resources: `spaces`, `objects`, `properties`, `tags`, `types`, `templates`, `lis
53
63
  ### Example 1: Create and update an object
54
64
 
55
65
  ```bash
56
- ./dist/anywrite objects create <space> --type task --name "Buy milk"
57
- ./dist/anywrite objects update <space> <object_id> --status "Done"
66
+ "/absolute/path/to/anywrite" objects create <space> --type task --name "Buy milk"
67
+ "/absolute/path/to/anywrite" objects update <space> <object_id> --status "Done"
58
68
  ```
59
69
 
60
70
  ### Example 2: Search and upload a file
61
71
 
62
72
  ```bash
63
- ./dist/anywrite search global --query "task" --types task
64
- ./dist/anywrite files upload <space> --file ./image.png
73
+ "/absolute/path/to/anywrite" search global --query "task" --types task
74
+ "/absolute/path/to/anywrite" files upload <space> --file ./image.png
65
75
  ```
66
76
 
67
77
  ### Example 3: Read chat messages
68
78
 
69
79
  ```bash
70
- ./dist/anywrite chat messages <space> <chat_id> --all
80
+ "/absolute/path/to/anywrite" chat messages <space> <chat_id> --all
71
81
  ```
72
82
 
73
83
  ## Best Practices
@@ -43,15 +43,17 @@ Use the platform's equivalent capabilities while preserving the specified roles,
43
43
 
44
44
  ## Setup
45
45
 
46
- Before starting, establish two paths:
46
+ Before starting, establish two paths and one target identity:
47
47
  - **Target**: the codebase to audit (from the user's request or the current working directory)
48
- - **Output directory**: where all audit artifacts go. Ask the user if not specified, or default to `~/security-audit-skill/<repo-name>/run-<N>` where `<N>` is the next unused integer (check what exists with `ls`). Create it if it doesn't exist. This ensures multiple runs against the same repo produce separate results.
48
+ - **Target identity**: the canonical physical repository path plus its normalized `origin` owner/repository URL. Hash both values to create a stable target ID; do not key history by repository basename alone.
49
+ - **Output directory**: where all audit artifacts go. Ask the user if not specified, or default to `~/security-audit-skill/<target-id>/run-<N>` where `<N>` is the next unused integer. Create it if it doesn't exist. This ensures same-named repositories cannot share audit history.
49
50
 
50
51
  All files written during the audit go in the output directory:
51
52
  - `architecture.md` — Phase 1 output, fed into Phase 2 agent prompts
52
53
  - `REPORT.md` — human-readable report (Phase 4)
53
54
  - `FINDINGS-DETAIL.md` — detailed data flows for MEDIUM+ findings (Phase 4)
54
55
  - `findings.json` — machine-readable structured output (Phase 5)
56
+ - `target.json` — canonical path, normalized origin, and target ID used to bind this run
55
57
 
56
58
  Subagents (Phases 1, 2, 3, 6) do NOT write files — they return results to you via the Task tool. You are responsible for writing all files to the output directory.
57
59
 
@@ -59,7 +61,7 @@ Subagents (Phases 1, 2, 3, 6) do NOT write files — they return results to you
59
61
 
60
62
  Each audit run explores different code paths depending on which agents find what and where they dig. No single run finds everything. Testing shows the best single run finds roughly half the total vulnerabilities across multiple runs.
61
63
 
62
- **If prior runs exist** for the same repo (check `~/security-audit-skill/<repo-name>/`), read their `findings.json` files before starting Phase 2. Use them to:
64
+ **If prior runs exist** for the exact target ID, first require their `target.json` canonical path and normalized origin to match the current target byte-for-byte. Treat missing or mismatched manifests as unrelated and never read or summarize their findings. Do not search or reuse prior runs from a basename-only directory. After that identity check, read matching `findings.json` files before starting Phase 2. Use them to:
63
65
  1. **Skip known findings** — don't waste agents re-discovering the same status bypass. Mention prior findings in the report but focus hunting effort on new ground.
64
66
  2. **Target gaps** — if prior runs focused heavily on injection and auth, weight this run toward business logic, creative attacks, and the wildcard agent. If prior runs missed public endpoints, focus there.
65
67
  3. **Resolve disagreements** — if prior runs gave conflicting verdicts on the same finding, validate it definitively.
@@ -2,6 +2,8 @@
2
2
 
3
3
  ### Phase 1: Understand the application
4
4
 
5
+ Before using prior-run context, verify the current run's `target.json` against the candidate run: canonical physical path, normalized origin owner/repository URL, and derived target ID must all match exactly. A repository basename is never a target identity. Ignore mismatched or missing manifests rather than importing their findings.
6
+
5
7
  Before looking for bugs, understand what you're auditing. This requires depth, not just a directory listing. Launch **multiple `research` agents in parallel** to map different aspects of the codebase:
6
8
 
7
9
  **Agent 1a: Overview, tech stack, and comparable baseline**
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  title: Jetski/Cortex + Gemini Integration Guide
3
- description: "Use agentic-awesome-skills with Jetski/Cortex without hitting context-window overflow with 1,969+ skills."
3
+ description: "Use agentic-awesome-skills with Jetski/Cortex without hitting context-window overflow with 1,987+ skills."
4
4
  ---
5
5
 
6
- # Jetski/Cortex + Gemini: safe integration with 1,969+ skills
6
+ # Jetski/Cortex + Gemini: safe integration with 1,987+ skills
7
7
 
8
8
  > **Custom-host integration:** This guide documents a low-level, direct-manifest lazy loader for Jetski/Cortex and similar hosts. For Codex or Claude Code, the recommended path is [AAS Core](../users/aas-core.md), which provides neutral, deterministic catalog retrieval and validates exact agent-selected IDs through a bounded, read-only MCP server.
9
9
 
@@ -25,7 +25,7 @@ Never do:
25
25
  - concatenate all `SKILL.md` content into a single system prompt;
26
26
  - re-inject the entire library for **every** request.
27
27
 
28
- With 1,969+ skills, this approach fills the context window before user messages are even added, causing truncation.
28
+ With 1,987+ skills, this approach fills the context window before user messages are even added, causing truncation.
29
29
 
30
30
  ---
31
31
 
@@ -23,7 +23,7 @@ This example shows one way to integrate **agentic-awesome-skills** with a Jetski
23
23
  - How to enforce a **maximum number of skills per turn** via `maxSkillsPerTurn`.
24
24
  - How to choose whether to **truncate or error** when too many skills are requested via `overflowBehavior`.
25
25
 
26
- This pattern avoids context overflow when you have 1,969+ skills installed.
26
+ This pattern avoids context overflow when you have 1,987+ skills installed.
27
27
 
28
28
  Manifest contract references:
29
29
 
@@ -13,7 +13,7 @@ The earlier deterministic recommendation design and goal documents are retained
13
13
 
14
14
  ## Supported surfaces
15
15
 
16
- - A complete, integrity-verified local catalog in which every canonical skill is searchable, readable, selectable, and usable.
16
+ - A complete, integrity-verified local catalog in which every canonical skill is searchable, readable, and available for agent selection.
17
17
  - Local stdio MCP tools `search_skills`, `get_skill`, `compose_stack`, `inspect_stack`, and `diff_stack`, plus `aas://skills/{id}`.
18
18
  - Minimal, schema-validated `aas-stack.json` with pinned catalog identity, targets, goals, and exact agent-selected skill IDs.
19
19
  - CLI manifest validation, immutable plan preview, and read-only diagnosis.
@@ -23,7 +23,7 @@ The earlier deterministic recommendation design and goal documents are retained
23
23
 
24
24
  1. The coding agent owns semantic selection. It may inspect the project with its normal local capabilities, search broadly, read full skill content when useful, compare alternatives, and choose exact IDs.
25
25
  2. AAS Core does not rank, recommend, promote, demote, exclude, or abstain on skills.
26
- 3. Catalog metadata is informational only. Missing, incomplete, cautionary, or manually reviewed metadata must never make a canonical skill unsearchable, unselectable, or unusable.
26
+ 3. Catalog metadata is informational only. Missing, incomplete, cautionary, or manually reviewed metadata must never make a canonical skill unsearchable or unavailable for agent selection.
27
27
  4. `compose_stack` validates catalog identity, target shape, goals, exact IDs, and structural limits, then returns the pinned stack shape. It does not substitute a different selection.
28
28
  5. `aas-stack.json` has no Core selection policy. User constraints can guide the agent's reasoning, but they are not an MCP eligibility filter or manifest gate.
29
29
 
@@ -1,6 +1,6 @@
1
1
  # AAS Agent-First Control Plane v1 Worklog
2
2
 
3
- - 2026-07-19: Semantic skill selection moved to Codex and Claude. Core now exposes the complete catalog and validates/pins exact agent-selected IDs through `compose_stack`; selection policy and metadata eligibility gates were retired. Every canonical skill must remain searchable, readable, selectable, and usable. Earlier recommendation entries below are historical.
3
+ - 2026-07-19: Semantic skill selection moved to Codex and Claude. Core now exposes the complete catalog and validates/pins exact agent-selected IDs through `compose_stack`; selection policy and metadata eligibility gates were retired. Every canonical skill must remain searchable, readable, and available for agent selection. Earlier recommendation entries below are historical.
4
4
 
5
5
  ## 2026-07-18 — Baseline workflow retired
6
6
 
@@ -18,7 +18,7 @@ npm run merge:batch -- --prs 450,449,446,451
18
18
 
19
19
  Add `--poll-seconds <n>` if you want a slower or faster status loop while checks settle.
20
20
 
21
- If a PR changes canonical `SKILL.md` content or its allowlisted supporting assets/references/resources, first review the exact current head commit, then attest to that immutable revision:
21
+ If a PR changes any tracked file under a canonical `skills/<skill-id>/**` subtree, review the entire affected subtree at the exact current head commit, then attest to that immutable revision:
22
22
 
23
23
  ```bash
24
24
  npm run merge:batch -- --prs 450 --reviewed-head <40-character-head-sha>
@@ -34,7 +34,7 @@ Use `--dry-run` to exercise local classification without approving a run or merg
34
34
  - recompute changed-skill evidence with evaluator code materialized from the trusted `main` commit
35
35
  - reject incomplete evidence coverage, deterministic quality/security/provenance regressions, and base/head drift
36
36
  - for external PRs, poll for asynchronously-created fork runs and approve only runs waiting on `action_required` when every path, mode, object, size, and workflow identity is allowlisted
37
- - for same-repository maintainer PRs, allow repository-wide source changes while still enforcing trusted changed-skill evidence, exact-head review, required checks, branch protection, and immutable PR identity
37
+ - for sensitive same-repository source changes, allow the guarded exception only when the PR author is the repository owner and the exact full head SHA is attested; collaborator-authored sensitive changes fail closed under the external safety policy
38
38
  - wait for the latest required checks bound to the exact head SHA
39
39
  - call GitHub's immediate squash-merge endpoint and continue only when it reports `merged: true`
40
40
  - pull the protected `main`; its trusted workflow opens a canonical-sync bot PR for generated artifacts and contributor credits when needed
@@ -48,7 +48,7 @@ Use `--dry-run` to exercise local classification without approving a run or merg
48
48
 
49
49
  - conflict resolution on the PR branch
50
50
  - manual judgment for risky skill changes
51
- - semantic review when the distinct `manual-review-required` check is present
51
+ - semantic review when the distinct `manual-review-required` check is present; the review fingerprint covers the complete nearest skill directory, including nested examples, scripts, lockfiles, references, and assets
52
52
  - README community-source audits when the source metadata is ambiguous
53
53
  - fork-only edge cases that require contributor coordination outside GitHub permissions
54
54
  - base-branch drift: stale evidence is discarded and the batch must be rerun
@@ -1,19 +1,19 @@
1
1
  # Merging Pull Requests
2
2
 
3
- **Policy: we always Merge PRs on GitHub so contributors get credit. We never Close a PR after integrating their work locally.**
3
+ **Policy: every accepted PR is merged through `npm run merge:batch`, which uses GitHub's protected squash-merge endpoint so contributors get credit. We never push an integration directly to `main` or close a PR after copying its work.**
4
4
 
5
5
  ## Always merge via GitHub
6
6
 
7
- - Use the GitHub UI **"Squash and merge"** for every accepted PR.
7
+ - Use `npm run merge:batch -- --prs <PR_NUMBER>` for every accepted PR; do not substitute the GitHub UI or a raw `gh pr merge` command.
8
8
  - The PR must show as **Merged**, not Closed. That way the contributor appears in the repo’s contribution graph and the PR is clearly linked to the merge commit.
9
9
  - Do **not** integrate a PR by squashing locally, pushing to `main`, and then closing the PR. That would show "Closed" and the contributor would not get proper credit.
10
- - Before merging, require the normal PR checks from [`.github/workflows/ci.yml`](../../.github/workflows/ci.yml) to be green. If the PR touches `SKILL.md`, also require the separate [`skill-review` workflow](../../.github/workflows/skill-review.yml) to pass.
11
- - For PRs that touch `SKILL.md` or risky guidance, require a real manual logic review in addition to the automated checks. Confirm the instructions, failure modes, and `risk:` label make sense before merging.
10
+ - Before merging, require the normal PR checks from [`.github/workflows/ci.yml`](../../.github/workflows/ci.yml) to be green. If the PR changes anything under `skills/**` or `plugins/**/skills/**`, also require a truthful outcome from the separate [`skill-review` workflow](../../.github/workflows/skill-review.yml).
11
+ - For any tracked change under a canonical `skills/<skill-id>/**` subtree, inspect the complete skill directory and require a real manual logic review in addition to the automated checks. Confirm instructions, bundled files, failure modes, provenance, and `risk:` label before attesting the exact full head SHA.
12
12
  - For ordered multi-PR maintainer batches, use [Merge Batch](merge-batch.md) as the operational shortcut and keep this document as the policy reference.
13
13
 
14
14
  ## If the PR has merge conflicts
15
15
 
16
- Resolve conflicts **on the PR branch** so the PR becomes mergeable, then use "Squash and merge" on GitHub.
16
+ Resolve conflicts **on the PR branch** so the PR becomes mergeable, then use `merge:batch`.
17
17
 
18
18
  ### Generated files policy
19
19
 
@@ -38,10 +38,10 @@ Resolve conflicts **on the PR branch** so the PR becomes mergeable, then use "Sq
38
38
  `git add .` then `git commit -m "chore: merge main to resolve conflicts"` (or leave the default merge message).
39
39
  5. **Push to the same branch the PR is from**
40
40
  If the PR is from the contributor’s fork branch (e.g. `sraphaz:feat/uncle-bob-craft`), you need push access to that branch. Options:
41
- - **Preferred:** Ask the contributor to merge `main` into their branch, fix conflicts, and push; then you use "Squash and merge" on GitHub.
41
+ - **Preferred:** Ask the contributor to merge `main` into their branch, fix conflicts, and push; then use `merge:batch`.
42
42
  - If you have a way to push to their branch (e.g. they gave you permission, or the branch is in this repo), push:
43
43
  `git push origin pr-<PR_NUMBER>:feat/uncle-bob-craft` (replace with the actual branch name from the PR).
44
- 6. **On GitHub:** The PR should now be mergeable. Click **"Squash and merge"**. The PR will show as **Merged**.
44
+ 6. **Run the guarded merge:** Once the PR is mergeable, use `npm run merge:batch -- --prs <PR_NUMBER> [--reviewed-head <40-character-head-sha>]`. The PR will show as **Merged**.
45
45
 
46
46
  ### If the contributor resolves conflicts
47
47
 
@@ -58,23 +58,19 @@ git commit -m "chore: merge main to resolve conflicts"
58
58
  git push origin <their-branch>
59
59
  ```
60
60
 
61
- Then you use **"Squash and merge"** on GitHub. The PR will be **Merged**, not Closed.
61
+ Then use the guarded `merge:batch` command. The PR will be **Merged**, not Closed.
62
62
 
63
- ## Rare exception: local squash (avoid if possible)
63
+ ## No local-integration exception
64
64
 
65
- Only if merging via GitHub is not possible (e.g. contributor unreachable and you must integrate their work, or a one-off batch), you may squash locally and push to `main`. In that case:
66
-
67
- 1. Add a **Co-authored-by** line to the squash commit so the contributor is still credited (see [GitHub: Creating a commit with multiple authors](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors)).
68
- 2. Close the PR with a comment explaining why it was integrated locally and that attribution is in the commit.
69
- 3. Prefer to avoid this pattern in the future so PRs can be **Merged** normally.
65
+ If `merge:batch` cannot prove the immutable PR tuple, required checks, branch protection, or exact review evidence, stop and repair the PR or workflow. Never integrate locally, push directly to `main`, or replace the guarded command with a raw merge.
70
66
 
71
67
  ## Summary
72
68
 
73
69
  | Goal | Action |
74
70
  |-----------------------------|------------------------------------------------------------------------|
75
- | Give contributors credit | Always use **Squash and merge** on GitHub so the PR shows **Merged**. |
76
- | PR has conflicts | Resolve on the PR branch (you or the contributor), then **Squash and merge**. |
77
- | Never | Integrate locally and then **Close** the PR without merging. |
71
+ | Give contributors credit | Use `merge:batch` so GitHub records the protected squash merge. |
72
+ | PR has conflicts | Resolve on the PR branch, then run `merge:batch`. |
73
+ | Never | Push an integration directly to `main`, use a raw merge, or close the PR after copying its work. |
78
74
 
79
75
  ## References
80
76
 
@@ -63,9 +63,9 @@ A successful `manual-review-required` check means only that the requirement was
63
63
 
64
64
  A real merge also requires effective server-side protection for `main`: the four exact GitHub-Actions-owned checks (`pr-policy`, `pr-evidence`, `source-validation`, and `artifact-preview`), strict up-to-date enforcement, pull-request-only changes, administrator enforcement, no applicable ruleset bypass actors, and no merge queue. If that enforcement cannot be proven, `merge:batch` refuses non-dry-run operation. Base drift is never retried with stale evidence; the batch must be rerun from the new tuple. Pre-existing auto-merge state is rejected, and the immediate GitHub merge endpoint must return `merged: true` before post-merge work begins.
65
65
 
66
- Same-repository maintainer PRs may legitimately change repository-wide policy, tooling, workflows, or documentation, so the fork content allowlist does not apply to them. They remain bound to the protected branch, trusted-base evidence evaluator, exact PR/base/head tuple, semantic-review requirements, and required checks. Missing or mismatched head-repository identity is treated as external and therefore fails closed under the fork allowlist.
66
+ Sensitive same-repository PRs may use the repository-wide source exception only when the PR author is the repository owner and the maintainer attests the exact full head SHA. Collaborator-authored sensitive PRs do not inherit trust from branch location and fail closed under the external safety policy. Every accepted PR remains bound to the protected branch, trusted-base evidence evaluator, exact PR/base/head tuple, semantic-review requirements, and required checks. Missing or mismatched head-repository identity is treated as external.
67
67
 
68
- For canonical `SKILL.md` or allowlisted supporting skill-content changes, the maintainer supplies `--reviewed-head <full-sha>`. A stale, abbreviated, or mismatched SHA fails closed. The Skill Review check itself is required only for `SKILL.md` changes because that workflow is path-filtered; support-only changes still require the exact-SHA human attestation.
68
+ For any tracked change under a canonical `skills/<skill-id>/**` subtree, the maintainer supplies `--reviewed-head <full-sha>`. A stale, abbreviated, or mismatched SHA fails closed. Skill Review triggers for `skills/**` and `plugins/**/skills/**`, and its reusable result is keyed by the complete nearest skill-directory fingerprint, so nested examples, scripts, lockfiles, references, assets, and other bundled files cannot bypass semantic review.
69
69
 
70
70
  Deletions, copies, ambiguous moves, and all canonical skill-content changes remain manual-only in this stage even when deterministic evidence contains no regression. A passing ratchet is not semantic approval and never makes a skill eligible for automatic merge.
71
71
 
@@ -46,7 +46,7 @@ Use this as a diagnostic signal. It is useful for spotting legacy quality debt,
46
46
  - Add the release entry to [`CHANGELOG.md`](../../CHANGELOG.md).
47
47
  - Confirm `README.md` reflects the current version and generated counts.
48
48
  - Confirm Credits & Sources, contributors, and support links are still correct.
49
- - If PR or CI workflow behavior changed during the cycle, confirm maintainer and contributor docs mention the active checks (for example the `skill-review` workflow for `SKILL.md` pull requests).
49
+ - If PR or CI workflow behavior changed during the cycle, confirm maintainer and contributor docs mention the active checks (for example the `skill-review` workflow for any change under `skills/**` or `plugins/**/skills/**`).
50
50
  - If maintainers changed declared risk labels during the cycle, confirm that each change has semantic review evidence rather than lexical inference.
51
51
 
52
52
  5. Prepare the protected release PR:
@@ -60,7 +60,9 @@ This command:
60
60
  - checks `CHANGELOG.md` for `X.Y.Z`
61
61
  - aligns `package.json` / `package-lock.json`
62
62
  - runs the full release suite
63
+ - explicitly proves `plugin-compat:check` and `bundles:check` after regeneration
63
64
  - refreshes release metadata in `README.md`
65
+ - regenerates canonical registries, tracked web assets, both plugin marketplaces, every Codex/Claude mirror and editorial bundle, and every release-owned plugin manifest
64
66
  - stages canonical release files
65
67
  - creates and pushes `release/vX.Y.Z`
66
68
  - opens a release PR containing the scripted canonical release state
@@ -73,7 +75,7 @@ Prerelease versions use the same protected flow, for example `15.0.0-rc.1`. They
73
75
  npm run release:publish -- X.Y.Z
74
76
  ```
75
77
 
76
- This command proves local `main` equals protected `origin/main` and the exact squash commit of the merged `release/vX.Y.Z` PR, checks that no canonical-sync PR or release-state drift remains, creates or reuses the matching local/remote tag safely, and creates the GitHub release object from the matching `CHANGELOG.md` section. SemVer prereleases are marked as GitHub prereleases. It never pushes `main` directly and can be retried after a partial tag/release failure.
78
+ This command requires exactly one merged release PR from the same repository, authored by the repository owner, with base `main`, exact title `chore: release vX.Y.Z`, and head branch `release/vX.Y.Z`. Zero or multiple candidates fail closed; the command never chooses the newest approximate match. It then proves local `main` equals protected `origin/main` and that PR's exact squash commit, checks that no canonical-sync PR or release-state drift remains, creates or reuses the matching local/remote tag safely, and creates the GitHub release object from the matching `CHANGELOG.md` section. SemVer prereleases are marked as GitHub prereleases. It never pushes `main` directly and can be retried after a partial tag/release failure.
77
79
 
78
80
  7. Publish to npm if needed:
79
81
 
@@ -89,6 +91,19 @@ npm view agentic-awesome-skills dist-tags --json
89
91
 
90
92
  The workflow reruns `sync:release-state`, installs Python dependencies from `tools/requirements.txt`, refreshes tracked web assets, fails on canonical drift via `git diff --exit-code`, executes tests and docs security checks, runs the web-app coverage gate, enforces `npm audit --audit-level=high`, builds the web app, and dry-runs the npm package before publishing.
91
93
 
94
+ 8. Complete the mandatory full-release-alignment gate.
95
+
96
+ A stable or prerelease version is not complete when only its tag, GitHub Release, or npm package exists. After publication:
97
+
98
+ - rerun `npm run sync:release-state`, `npm run plugin-compat:check`, and `npm run bundles:check`, then require an idempotent second pass and a clean tree;
99
+ - verify every release-owned Codex/Claude plugin manifest and Claude marketplace entry equals `X.Y.Z`, without treating nested third-party skill manifests as AAS release manifests;
100
+ - bind local and remote `main`, the tag, GitHub Release, npm version and intended dist-tag, required CI, CodeQL, and the explicitly dispatched release-only Pages deployment to the exact released commit;
101
+ - read back live `llms.txt`, `skills.json`, catalog/plugin routes, and the legacy redirect bridge;
102
+ - discover every already-configured local AAS MCP host from real configuration, update each existing entry with the digest-bound two-pass `aas mcp configure` flow, pin `agentic-awesome-skills@X.Y.Z` and `--version X.Y.Z`, preserve a backup, restart or reconnect the host, and prove a real `initialize` plus `tools/list` handshake reports `X.Y.Z`;
103
+ - fetch and fast-forward `main` again after automation settles, require `git rev-list --left-right --count main...origin/main` to return `0 0`, and repeat the no-drift, public-surface, and MCP parity checks.
104
+
105
+ A release request covers updates to existing AAS MCP host entries only. Creating a previously absent host configuration still needs separate authorization. Any mismatch, inaccessible configured host, or stale public surface keeps the release incomplete.
106
+
92
107
  ## Canonical Sync Bot
93
108
 
94
109
  `main` still uses the repository's auto-sync model for canonical generated artifacts, but through a protected pull-request contract:
@@ -6,7 +6,7 @@ This document keeps the repository's GitHub-facing discovery copy aligned with t
6
6
 
7
7
  Preferred positioning:
8
8
 
9
- > AAS Core is the local, deterministic boundary that exposes the complete catalog, validates exact skill IDs selected by the coding agent from an explicit project profile, and produces an immutable preview plan, backed by 1,968+ cataloged skills.
9
+ > AAS Core is the local, deterministic boundary that exposes the complete catalog, validates exact skill IDs selected by the coding agent from an explicit project profile, and produces an immutable preview plan, backed by the current catalog.
10
10
 
11
11
  Key framing:
12
12
 
@@ -20,7 +20,7 @@ Key framing:
20
20
 
21
21
  Preferred description:
22
22
 
23
- > Local, deterministic AAS Core for explainable coding-agent skill stacks, backed by 1,967+ cataloged skills. Includes a read-only MCP, stack CLI, Workbench review, plugins, bundles, workflows, and direct distribution.
23
+ > Local, deterministic AAS Core for explainable coding-agent skill stacks, backed by the current catalog. Includes a read-only MCP, stack CLI, Workbench review, plugins, bundles, workflows, and direct distribution.
24
24
 
25
25
  Preferred homepage:
26
26
 
@@ -29,7 +29,7 @@ Preferred homepage:
29
29
  Preferred social preview:
30
30
 
31
31
  - lead with `AAS Core` and the profile → stack → plan flow;
32
- - present `1,969+ Agentic Skills` as supporting catalog evidence, not a second product;
32
+ - present `1,987+ Agentic Skills` as supporting catalog evidence, not a second product;
33
33
  - mention Codex and Claude as the current Core agent path, with broader host compatibility as distribution support;
34
34
  - avoid dense text and tiny logos that disappear in social cards.
35
35
 
@@ -72,7 +72,7 @@ The update process refreshes:
72
72
  - Canonical skills index (`skills_index.json`)
73
73
  - Compatibility mirror (`data/skills_index.json`)
74
74
  - Web app skills data (`apps\web-app\public\skills.json`)
75
- - All 1,969+ skills from the skills directory
75
+ - All 1,987+ skills from the skills directory
76
76
 
77
77
  ## When to Update
78
78
 
@@ -20,14 +20,17 @@ your project
20
20
  -> aas stack plan (preview; no skill changes)
21
21
  ```
22
22
 
23
- AAS MCP does not scan the repository and does not decide which skills are best. Codex or Claude uses its own project understanding and judgment. All 1,968 skills in the current catalog remain individually searchable, readable, selectable, and usable; missing or incomplete metadata never makes a skill ineligible. Core has no semantic policy that favors a small stack, while every stack manifest has an explicit technical maximum of 128 skills.
23
+ AAS MCP does not scan the repository and does not decide which skills are best. Codex or Claude uses its own project understanding and judgment. Every current catalog skill remains individually searchable, readable, and available for agent selection; missing or incomplete metadata never makes a skill ineligible. Core has no semantic policy that favors a small stack, while every stack manifest has an explicit technical maximum of 128 skills.
24
+
25
+ > [!IMPORTANT]
26
+ > Structural and identity validity does not certify semantic fit, compatibility, setup correctness, operational safety, or safety to apply.
24
27
 
25
28
  ## Configure the local MCP
26
29
 
27
30
  > **Release boundary:** AAS Core landed after release 14.6.0. Use an exact Core-capable release rather than an unreviewed moving tag.
28
31
 
29
32
  ```bash
30
- npm exec --yes --ignore-scripts --package=agentic-awesome-skills@X.Y.Z -- aas mcp configure \
33
+ npm exec --yes --ignore-scripts --package=agentic-awesome-skills@15.3.0 -- aas mcp configure \
31
34
  --host codex \
32
35
  --scope user \
33
36
  --config /absolute/path/to/codex/config.toml \
@@ -42,6 +45,21 @@ Use `--host claude` with the appropriate absolute Claude MCP configuration path
42
45
 
43
46
  Configuration is explicit and integrity-bound. AAS installs or reuses an exact content-addressed runtime, verifies it, and changes only its managed MCP configuration section. Restart the host if it does not reload MCP configuration automatically.
44
47
 
48
+ ### Native Windows and Codex
49
+
50
+ Native Windows 10 and 11 with Node.js 22 are supported preview targets for the Codex user-scoped adapter, including the Codex CLI `0.144.x` configuration shape. Use absolute Windows paths for `--config`, `--cache-root`, and, when replacing an existing configuration, `--backup-dir`.
51
+
52
+ During preview, AAS checks the ownership of the configuration parent directory (normally `%USERPROFILE%\.codex`) and the existing `config.toml` with PowerShell `Get-Acl`; it does not inspect the cache DACL at that stage and does not invoke `icacls`. `AAS_ADAPTER_WINDOWS_ACL_FAILED` now reports the inspected `path`, ACL `phase`, exit `status`, and a bounded diagnostic. An unresolved inherited ACE name is treated as untrusted ACL data rather than crashing identity translation. If preview still fails, use those fields to inspect the named configuration path, not the cache, and do not add `--approve` until preview returns `approvalRequired` with an `approvalDigest`.
53
+
54
+ ## Quick path
55
+
56
+ 1. Run the exact-version MCP configuration command above, review its approval digest, and repeat it with `--approve <approval-digest>`.
57
+ 2. Give Codex or Claude the project outcome, target, constraints, and the selection prompt below.
58
+ 3. Let the agent search and inspect candidates, choose exact IDs, and call `compose_stack`; review the returned manifest before persisting it.
59
+ 4. Persist the selection as `aas-stack.json`, optionally with the separate evidence sidecar for an audit-enabled flow.
60
+ 5. Run `aas stack validate`, then `aas stack plan` with explicit absolute paths and integrity inputs.
61
+ 6. Review the immutable plan and stop. Apply and recovery remain experimental opt-in paths.
62
+
45
63
  ## Ask the agent to choose the stack
46
64
 
47
65
  Give the agent the desired outcome and constraints, and leave selection judgment with the agent:
@@ -163,7 +181,7 @@ Stop after reviewing the plan unless you are deliberately participating in contr
163
181
  - MCP is local stdio, process-per-session, read-only, offline-capable, and contains no model credentials or telemetry.
164
182
  - Codex or Claude owns semantic selection. Different agents or project observations may reasonably produce different stacks.
165
183
  - Catalog integrity and manifest validation are deterministic; skill suitability is an agent judgment, not a Core score.
166
- - Core does not impose a semantic skill-count target. The technical manifest maximum is 128 skills, and every one of the current catalog's 1,968 skills remains individually searchable, readable, selectable, and usable. Metadata remains visible but informational.
184
+ - Core does not impose a semantic skill-count target. The technical manifest maximum is 128 skills, and every current catalog skill remains individually searchable, readable, and available for agent selection. Metadata remains visible but informational.
167
185
  - Evidence exports include raw `search_skills` queries; keep secrets and sensitive project content out of those queries.
168
186
  - Catalog updates and runtime changes are explicit. There is no resident daemon or implicit auto-update.
169
187
  - Skill prose is untrusted content and does not gain instruction authority by being returned through MCP.
@@ -172,6 +190,23 @@ Stop after reviewing the plan unless you are deliberately participating in contr
172
190
 
173
191
  Direct installs, specialized plugins, bundles, workflows, and the legacy installer remain available. These surfaces distribute or curate catalog content; AAS Core adds complete local access, durable agent-owned selection, manifest validation, and a reviewable plan.
174
192
 
193
+ ## Current preview status
194
+
195
+ | Surface | Current status |
196
+ | --- | --- |
197
+ | Published package | Current npm release; AAS Core status is `agent-first-preview` |
198
+ | Catalog search and inspection | Supported preview; local and read-only |
199
+ | Agent-owned composition | Supported preview; Core validates IDs and structure, not semantic suitability |
200
+ | Stack validation and plan preview | Supported preview; no target skill changes |
201
+ | Workbench | Browser-local review of stack and plan artifacts |
202
+ | Selection evidence | Exported and inspected through MCP/CLI contracts; not yet reviewed in Workbench |
203
+ | Apply and recovery | Experimental, explicit opt-in, outside the supported safety claim |
204
+ | Semantic suitability certification | Not provided |
205
+
206
+ ## Why not just search the skills directory?
207
+
208
+ Direct file search can find candidate prose, but it leaves the result in the conversation. AAS Core adds verified catalog identity, explicit target binding, durable desired state, optional selection evidence, deterministic validation, immutable planning, and dedicated review surfaces. Its value is not choosing better than the coding agent; it is turning the agent's choice into reproducible, inspectable state.
209
+
175
210
  ## Next reads
176
211
 
177
212
  - [Getting Started](getting-started.md)
@@ -1062,4 +1062,4 @@ Found a skill that should be in a bundle? Or want to create a new bundle? [Open
1062
1062
 
1063
1063
  ---
1064
1064
 
1065
- _Last updated: June 2026 | Total Skills: 1,969+ | Total Bundles: 58_
1065
+ _Last updated: June 2026 | Total Skills: 1,987+ | Total Bundles: 58_