abstractskill 0.3.0__tar.gz → 0.3.2__tar.gz
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.
- {abstractskill-0.3.0/src/abstractskill.egg-info → abstractskill-0.3.2}/PKG-INFO +1 -1
- {abstractskill-0.3.0 → abstractskill-0.3.2}/pyproject.toml +1 -1
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/__init__.py +1 -1
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/catalog.yaml +1 -1
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/coredoc/SKILL.md +39 -12
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/coredoc/agents/openai.yaml +1 -1
- abstractskill-0.3.2/src/abstractskill/registry/skills/coredoc/references/agent-skill.md +329 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/coredoc/references/core-doc-set.md +22 -1
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/coredoc/references/llms-files.md +9 -1
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/coredoc/references/maintenance-playbook.md +9 -1
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/validations.yaml +11 -6
- {abstractskill-0.3.0 → abstractskill-0.3.2/src/abstractskill.egg-info}/PKG-INFO +1 -1
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill.egg-info/SOURCES.txt +1 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/tests/test_bundled.py +2 -2
- {abstractskill-0.3.0 → abstractskill-0.3.2}/LICENSE +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/README.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/setup.cfg +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/bundled.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/catalog.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/demand.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/errors.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/hash.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/loader.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/models.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/parser.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/policy.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/prompt.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/advisories.yaml +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/guidance.yaml +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/licenses/meshvault-live-editing.LICENSE +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/licenses/verification-before-completion.LICENSE +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/abstractframework-gateway/SKILL.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/adr/SKILL.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/adr/agents/openai.yaml +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/adr/references/adr-template-and-workflow.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/adr/references/default-adr-catalog.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/adr/references/reader-first-adr-style.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/adversarial-iteration/SKILL.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/agora-collaboration/SKILL.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/agora-collaboration/references/failure-ledger.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/agora-collaboration/references/mechanics.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/architect/SKILL.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/architect/agents/openai.yaml +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/architect/references/reviewer-memory.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/backlog/SKILL.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/backlog/agents/openai.yaml +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/backlog/references/abstractframework-board.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/backlog/references/hub-work-join.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/backlog/references/layout-and-templates.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/backlog/references/maintenance-checklists.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/cicd/SKILL.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/cicd/agents/openai.yaml +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/cicd/references/docs-and-containers.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/cicd/references/maintenance-playbook.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/cicd/references/package-publishing.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/cicd/references/repository-setup.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/cicd/references/workflow-patterns.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/entity-observation/SKILL.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/entity-self-knowledge/SKILL.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/entity-self-knowledge/references/capability_map.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/meshvault-live-editing/SKILL.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/review/SKILL.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/review/agents/openai.yaml +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/review/references/reviewer-memory.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/uxreview/SKILL.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/uxreview/agents/openai.yaml +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/uxreview/references/reviewer-memory.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/verification-before-completion/SKILL.md +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/selection.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/tree.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/trust.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/validation.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill.egg-info/dependency_links.txt +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill.egg-info/requires.txt +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill.egg-info/top_level.txt +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/tests/test_audience.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/tests/test_catalog.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/tests/test_demand.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/tests/test_loader.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/tests/test_parser.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/tests/test_policy.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/tests/test_refresh_shelf_pins.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/tests/test_selection.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/tests/test_shelf.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/tests/test_tree.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/tests/test_trust.py +0 -0
- {abstractskill-0.3.0 → abstractskill-0.3.2}/tests/test_vendor_script.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractskill
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: Agent Skills (SKILL.md) parsing, discovery, trust gating, and demand derivation for AbstractFramework
|
|
5
5
|
Author-email: Laurent-Philippe Albou <contact@abstractcore.ai>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "abstractskill"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.2"
|
|
8
8
|
description = "Agent Skills (SKILL.md) parsing, discovery, trust gating, and demand derivation for AbstractFramework"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
# four yaml files shipped in the abstractskill wheel). Bump it whenever any
|
|
17
17
|
# of that content changes; seed_registry() records it in <dest>/.seeded.json
|
|
18
18
|
# and tests/test_bundled.py pins it to a content digest.
|
|
19
|
-
version: "2026.
|
|
19
|
+
version: "2026.10.21"
|
|
20
20
|
|
|
21
21
|
skills:
|
|
22
22
|
|
{abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/coredoc/SKILL.md
RENAMED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: coredoc
|
|
3
|
-
description: Create, audit, normalize, and maintain a professional external-facing repository documentation system for users, contributors, and tools, including the core doc set, cross-linked topic deep dives,
|
|
3
|
+
description: Create, audit, normalize, and maintain a professional external-facing repository documentation system for users, contributors, and tools, including the core doc set, cross-linked topic deep dives, faithful AI-readable `llms.txt` and `llms-full.txt` files, and, when the package is something an agent can operate, a package agent skill at `skills/<name>/SKILL.md` that teaches other agents to use it. Use when Codex needs to bootstrap docs for a new repo, repair stale or missing project docs, add or revise `docs/*.md` pages, keep root and `docs/` documents coherent, regenerate AI-actionable documentation indexes for LLMs and tooling, or create and maintain the agent skill that lets other agents use the package like experts.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Core Doc
|
|
7
7
|
|
|
8
8
|
Use this skill to make a repository explain itself clearly to external users, contributors, and
|
|
9
9
|
tools. Core docs should teach what the package is, how it works, how to use it, and what current
|
|
10
|
-
limits matter.
|
|
10
|
+
limits matter. When the package is something an agent can operate, the docs also ship an agent
|
|
11
|
+
skill that turns them into an operating procedure for other agents. Write in a professional,
|
|
12
|
+
positive tone that addresses external readers directly.
|
|
11
13
|
Prefer faithful, maintainable docs over aspirational prose. If the code and docs disagree, the
|
|
12
14
|
code wins and the docs must be repaired.
|
|
13
15
|
|
|
@@ -19,6 +21,8 @@ code wins and the docs must be repaired.
|
|
|
19
21
|
`references/core-doc-set.md`.
|
|
20
22
|
- If the task is mainly about creating or repairing `llms.txt` or `llms-full.txt`, read
|
|
21
23
|
`references/llms-files.md` before editing.
|
|
24
|
+
- On every pass, read `references/agent-skill.md` to decide whether the repository ships a
|
|
25
|
+
package agent skill, and to create, audit, or update it.
|
|
22
26
|
- If the task is broad documentation maintenance, read
|
|
23
27
|
`references/maintenance-playbook.md` and work through the audit flow.
|
|
24
28
|
- If the user is preparing or publishing a specific release, prefer the `release` skill when
|
|
@@ -59,11 +63,11 @@ code wins and the docs must be repaired.
|
|
|
59
63
|
measured, and what limits still matter.
|
|
60
64
|
- Every core documentation page must answer stable user or contributor needs, not internal
|
|
61
65
|
incidents. This applies to `README.md`, `CHANGELOG.md`, root policy docs, `docs/*.md`,
|
|
62
|
-
`docs/examples/*.md`, `llms.txt`,
|
|
63
|
-
callouts, notes, tables, captions, changelog entries, or example prose like "Why
|
|
64
|
-
result...", "What went wrong...", "we discovered...", or "this failed before..."
|
|
65
|
-
docs. Convert them into neutral usage guidance such as "How to compare memory
|
|
66
|
-
put the analysis in backlog, ADRs, reports, or `untracked/comments/`.
|
|
66
|
+
`docs/examples/*.md`, `llms.txt`, `llms-full.txt`, and `skills/<name>/`, not only FAQ pages. Do
|
|
67
|
+
not add headings, callouts, notes, tables, captions, changelog entries, or example prose like "Why
|
|
68
|
+
did our previous result...", "What went wrong...", "we discovered...", or "this failed before..."
|
|
69
|
+
to end-user docs. Convert them into neutral usage guidance such as "How to compare memory
|
|
70
|
+
measurements" or put the analysis in backlog, ADRs, reports, or `untracked/comments/`.
|
|
67
71
|
- Benchmark, quantization, and performance docs may include exact settings, hardware, command
|
|
68
72
|
profiles, and metric definitions. They must not include personal commentary, blame, forensic
|
|
69
73
|
narratives, release-gate drama, or explanations of documentation mistakes. If unrelated benchmark
|
|
@@ -73,7 +77,7 @@ code wins and the docs must be repaired.
|
|
|
73
77
|
smoke-test instructions, "real model caveat" blocks, debugging narratives, or notes about how
|
|
74
78
|
the documentation was generated. If that information matters only to the owner, maintainer, or
|
|
75
79
|
developer, write it in `untracked/comments/<timestamp>_<topic>.md` instead, and keep it out of
|
|
76
|
-
`README.md`, `CHANGELOG.md`, `docs/*.md`, `llms.txt`,
|
|
80
|
+
`README.md`, `CHANGELOG.md`, `docs/*.md`, `llms.txt`, `llms-full.txt`, and `skills/<name>/`.
|
|
77
81
|
- Keep the core doc set present even when a section is currently thin. If a doc is not yet
|
|
78
82
|
applicable, say so explicitly instead of omitting it.
|
|
79
83
|
- `docs/architecture.md` MUST contain at least one diagram that represents the system
|
|
@@ -104,10 +108,10 @@ code wins and the docs must be repaired.
|
|
|
104
108
|
- Verify claims against repository evidence where possible: manifests, package metadata, entry
|
|
105
109
|
points, CLI help, config files, schemas, examples, tests, and working commands.
|
|
106
110
|
- Before finishing any core-doc update, scan the external-facing corpus (`README.md`,
|
|
107
|
-
`CHANGELOG.md`, root policy docs, `docs/*.md`, `docs/examples/*.md`, `llms.txt`,
|
|
108
|
-
|
|
109
|
-
image captions, changelog bullets, and examples. Remove or move anything that reads as
|
|
110
|
-
memory rather than user guidance.
|
|
111
|
+
`CHANGELOG.md`, root policy docs, `docs/*.md`, `docs/examples/*.md`, `llms.txt`, `llms-full.txt`,
|
|
112
|
+
and the package agent skill) for incident/postmortem language, including headings, callouts, table
|
|
113
|
+
notes, image captions, changelog bullets, and examples. Remove or move anything that reads as
|
|
114
|
+
maintainer memory rather than user guidance.
|
|
111
115
|
|
|
112
116
|
## Maintain The Core Set
|
|
113
117
|
|
|
@@ -129,6 +133,9 @@ code wins and the docs must be repaired.
|
|
|
129
133
|
starter set or the repo is clearly internal and intentionally minimal.
|
|
130
134
|
- For an existing project, normalize missing or stale files incrementally instead of rewriting
|
|
131
135
|
everything at once.
|
|
136
|
+
- The package agent skill (`skills/<name>/SKILL.md`) is conditional, not part of the
|
|
137
|
+
always-present set. Create it only when the package passes the decision in
|
|
138
|
+
`references/agent-skill.md`.
|
|
132
139
|
|
|
133
140
|
## Maintain `llms.txt` And `llms-full.txt`
|
|
134
141
|
|
|
@@ -158,6 +165,24 @@ code wins and the docs must be repaired.
|
|
|
158
165
|
caveats must live in the real docs first.
|
|
159
166
|
- Follow the format and usage notes in `references/llms-files.md`.
|
|
160
167
|
|
|
168
|
+
## Maintain The Package Agent Skill
|
|
169
|
+
|
|
170
|
+
- On every pass, make the agent-skill decision in `references/agent-skill.md` from repository
|
|
171
|
+
evidence, and state it with its evidence in your final report. Ship a skill when the repository
|
|
172
|
+
contains something an agent can operate and an agent with only the README would likely misuse
|
|
173
|
+
it. No skill is the default: never create one for documentation, content, or GUI-only
|
|
174
|
+
repositories, where reading the docs is the whole use.
|
|
175
|
+
- The skill lives at `skills/<name>/SKILL.md` and teaches agents to use the package, not to
|
|
176
|
+
develop it: its limits, the settings and defaults that cost time or money, its error contract,
|
|
177
|
+
a capability map (what exists, what does not, what it writes), an end-to-end workflow, verified
|
|
178
|
+
recipes, sharp edges, and failure fixes. It must work with no link reachable.
|
|
179
|
+
- Keep it faithful: every fact the skill states is also in the docs (when docs and code disagree,
|
|
180
|
+
fix the docs; mark defects as known issues), every snippet is verified at the highest safe
|
|
181
|
+
tier in an isolated run (never write or paid calls against a deployment you do not own), and it
|
|
182
|
+
changes in the same change as the API, CLI, or doc edits it describes.
|
|
183
|
+
- When the skill exists, `README.md` gets a "For AI agents" section inviting agents to register and
|
|
184
|
+
use it to become experts on the package, and `docs/README.md` and `llms.txt` link to it.
|
|
185
|
+
|
|
161
186
|
## Add Deep Dives When Relevant
|
|
162
187
|
|
|
163
188
|
- Create `docs/<topic>.md` when a topic is too important or too detailed to live only inside
|
|
@@ -175,3 +200,5 @@ code wins and the docs must be repaired.
|
|
|
175
200
|
- Read `references/core-doc-set.md` when creating or repairing the canonical doc set.
|
|
176
201
|
- Read `references/maintenance-playbook.md` when doing broad documentation audits or cleanup.
|
|
177
202
|
- Read `references/llms-files.md` when creating or updating `llms.txt` or `llms-full.txt`.
|
|
203
|
+
- Read `references/agent-skill.md` when deciding whether to ship a package agent skill, and when
|
|
204
|
+
creating, auditing, or updating one.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Core Doc"
|
|
3
3
|
short_description: "Build and maintain professional external-facing docs"
|
|
4
|
-
default_prompt: "Use $coredoc to create or maintain a professional external-facing repository documentation set, keep llms.txt files faithful, and route maintainer-only notes to untracked/comments."
|
|
4
|
+
default_prompt: "Use $coredoc to create or maintain a professional external-facing repository documentation set, keep llms.txt files faithful, create or update the package agent skill when the decision in references/agent-skill.md calls for one, and route maintainer-only notes to untracked/comments."
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
# Package Agent Skill
|
|
2
|
+
|
|
3
|
+
Read this file on every coredoc pass. It decides whether the repository ships a package agent
|
|
4
|
+
skill, and it governs creating, auditing, and updating one.
|
|
5
|
+
|
|
6
|
+
## What It Is
|
|
7
|
+
|
|
8
|
+
A package agent skill is an [Agent Skills](https://agentskills.io/) folder (`SKILL.md` plus
|
|
9
|
+
optional resources) that the repository ships so that any AI agent that wants to use the package
|
|
10
|
+
can load it and work like an expert user. After reading it, an agent knows when the package
|
|
11
|
+
applies and where it falls short, how to install and verify it, the few concepts and settings
|
|
12
|
+
that matter, the workflow an expert follows, the exact commands and code for the common tasks,
|
|
13
|
+
and the mistakes to avoid.
|
|
14
|
+
|
|
15
|
+
- It is a consumer artifact. It teaches how to use the package, not how to develop it. Contributor
|
|
16
|
+
workflows stay in `CONTRIBUTING.md`. Repository-local agent instructions (`AGENTS.md`,
|
|
17
|
+
`CLAUDE.md`, `.claude/skills/`, `.cursor/skills/`) serve people working on the repository and
|
|
18
|
+
are out of scope here.
|
|
19
|
+
- It complements `llms.txt`: `llms.txt` helps an agent find and read the docs; the skill turns the
|
|
20
|
+
docs into an operating procedure.
|
|
21
|
+
- The docs stay canonical. The skill is a faithful, task-shaped distillation of them.
|
|
22
|
+
|
|
23
|
+
## Decide Whether The Repository Needs One
|
|
24
|
+
|
|
25
|
+
Decide from repository evidence (the code, entry points, public exports, CLI `--help`, service
|
|
26
|
+
definitions), not from README claims or self-descriptions. Re-run the decision on every pass.
|
|
27
|
+
|
|
28
|
+
No skill is the default. Create one only when both conditions hold:
|
|
29
|
+
|
|
30
|
+
1. The repository contains the code of at least one surface an external agent can operate (the
|
|
31
|
+
repository's own build scripts, tests, CI, and docs tooling do not count):
|
|
32
|
+
- an importable library or SDK with public exports, including a UI component library (its
|
|
33
|
+
components, hooks, and styles are a library API);
|
|
34
|
+
- a CLI that does work (console scripts, `bin` entries, a `main` module meant for users);
|
|
35
|
+
- a service interface: HTTP/REST, RPC, WebSocket, MCP server, or tool definitions;
|
|
36
|
+
- a file format, config schema, or DSL that users write and the package consumes;
|
|
37
|
+
- a plugin or extension contract that users implement.
|
|
38
|
+
2. An agent given only the README would likely misuse the package or miss its main capability,
|
|
39
|
+
because correct use takes several steps, concepts that must be held together, or sharp edges
|
|
40
|
+
that fail silently.
|
|
41
|
+
|
|
42
|
+
Do not create one when:
|
|
43
|
+
|
|
44
|
+
- the repository is documentation, content, notes, research, or data, and reading it is the whole
|
|
45
|
+
use. A manifest counts as evidence only when this repository contains the code it builds; a
|
|
46
|
+
published docs site with a `pyproject.toml` or `package.json` is still documentation;
|
|
47
|
+
- the only surface is a GUI. A CLI whose only job is to start the GUI (ports, URLs, open the
|
|
48
|
+
browser) is part of the GUI surface;
|
|
49
|
+
- the entire use is one obvious command that the README quick start already shows;
|
|
50
|
+
- the package has no stable entry points yet, so a skill would freeze guesses. Revisit when the
|
|
51
|
+
surface stabilizes.
|
|
52
|
+
|
|
53
|
+
State the decision and its evidence in your final report for the pass (for example "Agent skill:
|
|
54
|
+
created, the package exposes a Python API and the `foo` CLI" or "Agent skill: not created, the
|
|
55
|
+
repository is documentation only"). Do not add tracked files that record a negative decision.
|
|
56
|
+
|
|
57
|
+
Existing skills:
|
|
58
|
+
|
|
59
|
+
- An existing skill whose audience is an agent operating the package (its tools, CLI, or API) is
|
|
60
|
+
the package skill, wherever it lives under `skills/`. Keep its name and structure; do not
|
|
61
|
+
reshape it to the template below. Audit it against these rules and add only what is missing.
|
|
62
|
+
If another surface also passes the decision, add a section or a `references/<surface>.md` file
|
|
63
|
+
inside it instead of creating a second skill.
|
|
64
|
+
- Skills the package distributes as data for unrelated tasks (a skill registry or curated
|
|
65
|
+
collection) are product content, not the package skill. Never rewrite them under this rule.
|
|
66
|
+
- If the surface an existing package skill teaches was removed, remove the skill and record the
|
|
67
|
+
removal in `CHANGELOG.md`. Otherwise maintain it; never delete it to skip the work.
|
|
68
|
+
|
|
69
|
+
Scope:
|
|
70
|
+
|
|
71
|
+
- In a repository with several surfaces (server, SDKs, CLI, UI), teach the surface the docs
|
|
72
|
+
recommend to external users, and route operator, contributor, and in-process surfaces to their
|
|
73
|
+
docs.
|
|
74
|
+
- Default to one skill per repository. A monorepo with several packages gets one skill with a
|
|
75
|
+
`references/<package>.md` file for each package it teaches; split into separate skills only for
|
|
76
|
+
packages with unrelated audiences. Never create skills for nested repositories that this
|
|
77
|
+
repository does not track. Name a monorepo skill after the repository, not after a private
|
|
78
|
+
workspace root.
|
|
79
|
+
- For a meta-package or umbrella distribution, teach profile choice, install, and health checks,
|
|
80
|
+
and route to each component's own skill or docs by absolute URL, at the component versions this
|
|
81
|
+
distribution pins. Never restate component recipes.
|
|
82
|
+
|
|
83
|
+
## Location And Naming
|
|
84
|
+
|
|
85
|
+
- Put the skill at `skills/<name>/SKILL.md` at the repository root. This path is
|
|
86
|
+
harness-neutral, visible on the code host, and installs as one folder copy.
|
|
87
|
+
- Default `<name>` to the package's distribution name, normalized: lowercase it, drop an npm
|
|
88
|
+
`@scope/` prefix, and turn `_`, `.`, `/`, and repeated hyphens into a single `-`
|
|
89
|
+
(`AbstractRuntime` becomes `abstractruntime`). The result must use lowercase letters, digits,
|
|
90
|
+
and single hyphens, start and end with a letter or digit, be at most 64 characters, and equal
|
|
91
|
+
the folder name.
|
|
92
|
+
- If a package skill already exists under another name, keep that name. Renaming breaks every
|
|
93
|
+
existing install.
|
|
94
|
+
- Coredoc does not change packaging. Shipping the skill inside a wheel or npm tarball is a
|
|
95
|
+
release-engineering decision for the maintainers, so do not add it. If the project already ships
|
|
96
|
+
a copy as package data, keep that copy identical.
|
|
97
|
+
|
|
98
|
+
## Layout
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
skills/<name>/
|
|
102
|
+
SKILL.md # required: frontmatter and the operating guide
|
|
103
|
+
references/*.md # optional: deeper material the agent opens on demand
|
|
104
|
+
scripts/* # optional: runnable programs, rarely needed
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Keep `SKILL.md` under about 300 lines (roughly 3,000 to 5,000 tokens), because hosts load it whole
|
|
108
|
+
when the skill activates; shorter is better. Move material the main workflow does not need (a full
|
|
109
|
+
option table, an endpoint list, a schema, a second language, rare tasks) into `references/`, and
|
|
110
|
+
point to each file with one line saying when to open it.
|
|
111
|
+
|
|
112
|
+
The skill must work when none of its links can be reached: package hosts may be private, and
|
|
113
|
+
agents often run offline. Everything a recipe needs (result shapes, limits, error codes, the
|
|
114
|
+
options that matter) lives in `SKILL.md` or `references/`. Links are for going deeper.
|
|
115
|
+
|
|
116
|
+
## Frontmatter
|
|
117
|
+
|
|
118
|
+
```markdown
|
|
119
|
+
---
|
|
120
|
+
name: <name>
|
|
121
|
+
description: <What the package does, in task terms.> Use when <the tasks, the import name, the CLI name, file types, or service names that should make an agent reach for it>.
|
|
122
|
+
license: <the package license, for example MIT>
|
|
123
|
+
compatibility: <only when needed: runtime, OS, network, server or API version, sign-in>
|
|
124
|
+
metadata:
|
|
125
|
+
package-version: "<version this skill teaches>"
|
|
126
|
+
---
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
- The `description` is all an agent sees before it decides to load the skill. Name the package,
|
|
130
|
+
its import or CLI names, and the concrete tasks it covers. Keep it at most 1,024 characters and
|
|
131
|
+
free of marketing language.
|
|
132
|
+
- `license` keeps the terms attached when the folder is copied away from `LICENSE`.
|
|
133
|
+
- Always set `metadata.package-version`: the released version of the surface the skill teaches,
|
|
134
|
+
the upcoming version when the pass prepares a release, or `unreleased` when the surface is still
|
|
135
|
+
under the changelog's Unreleased heading. Check it against `CHANGELOG.md`, and never claim a
|
|
136
|
+
release that predates the surface.
|
|
137
|
+
- Use `compatibility` (at most 500 characters) for what the skill needs to work: a runtime
|
|
138
|
+
version, an operating system, network access, the server or API version a client skill needs,
|
|
139
|
+
or sign-in to a private package host.
|
|
140
|
+
|
|
141
|
+
## Body
|
|
142
|
+
|
|
143
|
+
For a new skill, write to the agent: imperative, terse, concrete, and faithful. Use these sections
|
|
144
|
+
in this order, and leave a section out only when it would truly be empty.
|
|
145
|
+
|
|
146
|
+
1. **Purpose and limits.** Two to four sentences on what the package does and when to reach for
|
|
147
|
+
it, then what it is bad at, taken from the docs' limits or FAQ, with the documented
|
|
148
|
+
alternative. An agent that does not know the limits reports wrong results with confidence.
|
|
149
|
+
2. **Install and verify.** The install command, and one verify step that proves the install
|
|
150
|
+
works and prints the installed version (and, for a client, the server or API version).
|
|
151
|
+
- The install command must work in a clean environment from the source it names (check with
|
|
152
|
+
`pip index versions <dist>`, `npm view <pkg> version`, or the equivalent). If the package is
|
|
153
|
+
not published, teach the documented source install and fix the docs that say otherwise.
|
|
154
|
+
- The verify step is the first thing an agent runs in a broken environment. It passes only on
|
|
155
|
+
a real result (non-empty output, the expected version), and reports each likely failure
|
|
156
|
+
(missing configuration or credential, unreachable endpoint, failed authentication, wrong
|
|
157
|
+
version) with a clear message instead of crashing. When the version is `unreleased`, it
|
|
158
|
+
checks what identifies the surface (an API version, a feature probe), and a missing
|
|
159
|
+
identifier fails.
|
|
160
|
+
- Tell the agent to compare the installed version with `metadata.package-version`; the docs of
|
|
161
|
+
the installed version win when they disagree with the skill. When the package needs a
|
|
162
|
+
credential, tell the agent to ask the user to put it in an environment variable (never in
|
|
163
|
+
the conversation), to pass it explicitly where the package could send an ambient one to the
|
|
164
|
+
wrong host, and to stop at the first authentication failure.
|
|
165
|
+
3. **Mental model.** Three to seven bullets naming the concepts, objects, or resources an agent
|
|
166
|
+
must hold to reason about the package, and how they relate. Name the settings the user docs
|
|
167
|
+
present as a cost, time, or quality trade-off (a mode, tier, level, or model choice) and when
|
|
168
|
+
to pick each value, and the defaults that silently cost time or money, with their values
|
|
169
|
+
(timeouts, automatic retries, background downloads). State the package-wide error contract
|
|
170
|
+
once here (which exceptions or error results callers must handle, and where it differs by
|
|
171
|
+
backend), so recipes can rely on it.
|
|
172
|
+
4. **Capability map.** One line per major capability, with its entry point (function, class,
|
|
173
|
+
command, or endpoint) and where the skill or its `references/` teach it, covering at least
|
|
174
|
+
everything the README presents. Then the capabilities users commonly expect that the package
|
|
175
|
+
does not have (for example "no built-in provider fallback: wrap calls yourself"), and its side
|
|
176
|
+
effects: files, caches, or configuration it writes, and network calls it makes. An agent should
|
|
177
|
+
never need to search the package to learn whether something exists.
|
|
178
|
+
5. **Recipes.** Start with the end-to-end workflow an expert follows for the package's main job,
|
|
179
|
+
then the single tasks, ordered by how often users perform them in the package's main job (not
|
|
180
|
+
by how many doc examples a feature has). Teach tasks, not a tour of the API: rare calls go to
|
|
181
|
+
`references/`. For each recipe, give:
|
|
182
|
+
- a one-line goal;
|
|
183
|
+
- the minimal code or command, complete on its own with imports and real names (or starting
|
|
184
|
+
with a comment naming the recipe it continues), with clearly marked placeholders such as
|
|
185
|
+
`<MODEL_NAME>`, quoted in shell snippets;
|
|
186
|
+
- handling of the failure and empty cases specific to the task (a failed status, an optional
|
|
187
|
+
field that can be missing, an empty result, an unknown event type), relying on the error
|
|
188
|
+
contract from the mental model for the rest;
|
|
189
|
+
- what success looks like (output, return type, file produced), and the one or two options
|
|
190
|
+
that change the result.
|
|
191
|
+
6. **Rules and sharp edges.** When calls cost money, take minutes, or change shared state, open
|
|
192
|
+
this section with them: which calls, the cheap way to answer first, and what to confirm with
|
|
193
|
+
the user. Then invariants and the mistakes an agent is most likely to make (wrong identifier,
|
|
194
|
+
wrong call order, wrong default, silent failures, credentials sent where they should not go),
|
|
195
|
+
each with how to avoid it. State each fact once in the skill; refer back instead of repeating.
|
|
196
|
+
7. **When things fail.** The three to five most common error messages or symptoms, each with
|
|
197
|
+
cause and fix. Link to the troubleshooting page for the rest.
|
|
198
|
+
8. **Go deeper.** Absolute links to the docs (getting started, API reference, troubleshooting,
|
|
199
|
+
`llms-full.txt`) and to the skill's own `references/` files, each with one line saying when to
|
|
200
|
+
open it.
|
|
201
|
+
|
|
202
|
+
## Code: Snippets And Scripts
|
|
203
|
+
|
|
204
|
+
Code is how the skill turns knowledge into competence. Include it whenever the package has a
|
|
205
|
+
programmatic surface.
|
|
206
|
+
|
|
207
|
+
- Default to fenced snippets inside recipes. Each snippet must run as written once its marked
|
|
208
|
+
placeholders are filled.
|
|
209
|
+
- Add a file under `scripts/` only when the code would exceed about 30 lines as a snippet or must
|
|
210
|
+
run unattended, and the package provides no equivalent command in the environment the agent will
|
|
211
|
+
have. Hosts that gate skills by trust (AbstractSkill among them) treat files under `scripts/` and
|
|
212
|
+
code files anywhere in the folder as scripts and require review before activation, so a script
|
|
213
|
+
must be worth that cost.
|
|
214
|
+
- Every script must be self-contained (the package and the standard library only), start with a
|
|
215
|
+
header comment saying what it does and how to run it, read credentials only from environment
|
|
216
|
+
variables, be safe by default (no destructive, paid, or remote calls unless behind an explicit
|
|
217
|
+
argument), stay small and limited to the public API, and be referenced from `SKILL.md` with its
|
|
218
|
+
exact run command relative to the skill folder.
|
|
219
|
+
|
|
220
|
+
## Faithfulness And Verification
|
|
221
|
+
|
|
222
|
+
Facts:
|
|
223
|
+
|
|
224
|
+
- Names, signatures, and field types may come from the public code. Behaviors, defaults, limits,
|
|
225
|
+
error codes, timings, and the result shapes a recipe branches on must be in the docs: before
|
|
226
|
+
finishing, list them and add any that the docs lack, in the same change. Never let the skill be
|
|
227
|
+
the only place a fact lives, and keep the docs' qualifiers ("a soft target of 30 s" must not
|
|
228
|
+
become "30 s").
|
|
229
|
+
- When the docs and the code disagree, the code wins: fix the docs. A fact several pages need is
|
|
230
|
+
stated once and linked from the others; fix every page that restates it. If a docstring is
|
|
231
|
+
stale, report it; do not edit code.
|
|
232
|
+
- When verification shows behavior that looks like a defect (an error that escapes the documented
|
|
233
|
+
contract, input silently ignored, a crash), do not document it as intended. Keep the documented
|
|
234
|
+
contract and add one line next to it ("Known issue (<version>): <behavior>. Workaround:
|
|
235
|
+
<workaround>."); that line is the doc source for the workaround the skill teaches. Test the
|
|
236
|
+
workaround on the exact calls the recipe makes, and list the defect with a reproduction in the
|
|
237
|
+
pass report.
|
|
238
|
+
- When the package fronts several backends (providers, engines, databases, platforms), find its
|
|
239
|
+
distinct code paths (from the class hierarchy or dispatch code), list them in the pass report,
|
|
240
|
+
verify each claim on one backend per path, and label backend-specific behavior as such. Never
|
|
241
|
+
generalize one backend's behavior to the rest.
|
|
242
|
+
- Teach what every user of the package meets, never facts from your own pass: your credentials,
|
|
243
|
+
your deployment, or problems you hit while verifying belong in the pass report.
|
|
244
|
+
- Use only the public, documented API.
|
|
245
|
+
|
|
246
|
+
Running what you publish:
|
|
247
|
+
|
|
248
|
+
- Run every snippet and script at the highest tier you can reach safely, and record the tier in
|
|
249
|
+
the pass report: (1) live, with read-only calls only, labeled "1 (stand-in: <server>)" when a
|
|
250
|
+
local server speaking the same protocol stands in for the real service; (2) through the real
|
|
251
|
+
package against the repository's own recorded fixtures or test server; (3) checked against
|
|
252
|
+
code and tests, or run against a mock you built, which proves names and signatures, not
|
|
253
|
+
behavior. A snippet's tier is the lowest tier of the calls it depends on, given per backend for
|
|
254
|
+
backend-neutral snippets.
|
|
255
|
+
- Run the failure cases the skill names, plus one unreachable-endpoint run per backend code path.
|
|
256
|
+
A snippet that crashes there, or reports success on an empty or truncated result, is wrong even
|
|
257
|
+
if the docs show it: fix both.
|
|
258
|
+
- Never run write, delete, or paid calls against a deployment you do not own. Stop at the first
|
|
259
|
+
authentication failure, never retry a login, and test authentication failures only by sending
|
|
260
|
+
no credential, never an invented, old, or borrowed one.
|
|
261
|
+
- Isolate the run: unset real credentials, point configuration at a scratch directory (for
|
|
262
|
+
example a temporary `HOME`), and point the client base-URL variables at a closed loopback port,
|
|
263
|
+
so a snippet without an explicit endpoint fails locally. To run a cloud client against a local
|
|
264
|
+
stand-in, pass the stand-in URL and any placeholder key as arguments in that call only, never
|
|
265
|
+
in environment variables.
|
|
266
|
+
|
|
267
|
+
Maintenance:
|
|
268
|
+
|
|
269
|
+
- Update the skill in the same change as the API, CLI, configuration, or doc edits it describes,
|
|
270
|
+
exactly as with `llms.txt` and `llms-full.txt`, and audit names, defaults, limits, error
|
|
271
|
+
messages, `metadata.package-version`, and links on every pass.
|
|
272
|
+
- The external-facing rules of the core docs apply: no maintainer notes, no incident history, no
|
|
273
|
+
documentation-generation commentary, and no time-relative wording.
|
|
274
|
+
|
|
275
|
+
## Links
|
|
276
|
+
|
|
277
|
+
The skill is copied out of the repository when someone installs it, so relative links into the
|
|
278
|
+
repository break.
|
|
279
|
+
|
|
280
|
+
- Link to repository docs with absolute raw-file URLs that return Markdown: on GitHub
|
|
281
|
+
`https://raw.githubusercontent.com/<owner>/<repo>/<ref>/<path>`, on GitLab
|
|
282
|
+
`<repository URL>/-/raw/<ref>/<path>`. Link to a hosted docs site only with page URLs you have
|
|
283
|
+
checked. When the host requires sign-in, say so in `compatibility`.
|
|
284
|
+
- `<ref>` is the tag of `metadata.package-version` when that tag already contains the skill
|
|
285
|
+
folder, and otherwise the code host's default branch (`git ls-remote --symref
|
|
286
|
+
<repository URL> HEAD`, not the clone's `origin/HEAD`). Switch to the version tag in the first
|
|
287
|
+
release that ships the skill.
|
|
288
|
+
- Link to the skill's own files with relative paths (`references/<file>.md`, `scripts/<file>`).
|
|
289
|
+
- Check that `<ref>` contains the skill folder and every path the skill or its README snippet
|
|
290
|
+
links or installs (`git ls-tree -r --name-only <ref> -- <paths>`). If it does not yet (an
|
|
291
|
+
unmerged branch, an untagged release), still add the skill and its pointers in this change, and
|
|
292
|
+
state in the pass report that they resolve once the change reaches `<ref>`.
|
|
293
|
+
|
|
294
|
+
## Point The Docs At The Skill
|
|
295
|
+
|
|
296
|
+
When the skill exists, the docs must tell agents about it:
|
|
297
|
+
|
|
298
|
+
- `README.md`: a short section like the one below. Use absolute URLs, because package indexes
|
|
299
|
+
such as PyPI and npm render the README away from the repository. Fill in the real repository
|
|
300
|
+
URL, `<ref>`, skill name, and skill folder URL (on GitHub
|
|
301
|
+
`<repository URL>/tree/<ref>/skills/<name>`, on GitLab
|
|
302
|
+
`<repository URL>/-/tree/<ref>/skills/<name>`). When `<ref>` already contains the skill, run the
|
|
303
|
+
snippet once.
|
|
304
|
+
|
|
305
|
+
~~~markdown
|
|
306
|
+
## For AI agents
|
|
307
|
+
|
|
308
|
+
If you are an AI agent, you can register and use our agent skill
|
|
309
|
+
[`<name>`](<skill folder URL>) to become an expert on this package. Install it by copying the
|
|
310
|
+
`skills/<name>/` folder of the version you use into your agent's skills directory (for example
|
|
311
|
+
`~/.claude/skills` for Claude Code; see your agent's documentation for its skills directory):
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
SKILLS_DIR=~/.claude/skills
|
|
315
|
+
tmp="$(mktemp -d)"
|
|
316
|
+
git clone --depth 1 --branch <ref> <repository URL> "$tmp" \
|
|
317
|
+
&& mkdir -p "$SKILLS_DIR" && cp -R "$tmp/skills/<name>" "$SKILLS_DIR/" \
|
|
318
|
+
&& echo "installed: $SKILLS_DIR/<name>"
|
|
319
|
+
rm -rf "$tmp"
|
|
320
|
+
```
|
|
321
|
+
~~~
|
|
322
|
+
|
|
323
|
+
Update `<ref>` in the same change as `metadata.package-version`.
|
|
324
|
+
- `docs/README.md`: list the skill in the index with one line on what it is for.
|
|
325
|
+
- `llms.txt`: an `## Agent Skill` section linking to `SKILL.md`, as shown in
|
|
326
|
+
`references/llms-files.md`.
|
|
327
|
+
- `CHANGELOG.md`: record when the skill is added, removed, or changes in a way its users notice.
|
|
328
|
+
|
|
329
|
+
When there is no skill, add none of these.
|
|
@@ -53,6 +53,13 @@ preferred baseline, not a universal law for every tiny or internal repo.
|
|
|
53
53
|
- `llms-full.txt`
|
|
54
54
|
- expanded aggregate of the core docs when this profile is adopted
|
|
55
55
|
|
|
56
|
+
## Conditional Agent Skill
|
|
57
|
+
|
|
58
|
+
- `skills/<name>/SKILL.md`
|
|
59
|
+
- an agent skill that teaches other AI agents to use the package, shipped only when the
|
|
60
|
+
repository passes the decision in `agent-skill.md`, which also owns its layout, content, and
|
|
61
|
+
verification rules
|
|
62
|
+
|
|
56
63
|
## Default Layout
|
|
57
64
|
|
|
58
65
|
```text
|
|
@@ -73,6 +80,11 @@ docs/
|
|
|
73
80
|
faq.md
|
|
74
81
|
troubleshooting.md
|
|
75
82
|
<topic>.md
|
|
83
|
+
skills/ # only when the package passes the agent-skill decision
|
|
84
|
+
<name>/
|
|
85
|
+
SKILL.md
|
|
86
|
+
references/ # optional
|
|
87
|
+
scripts/ # optional
|
|
76
88
|
```
|
|
77
89
|
|
|
78
90
|
## Cross-Link Expectations
|
|
@@ -92,6 +104,10 @@ docs/
|
|
|
92
104
|
- `docs/troubleshooting.md` should link back to the relevant setup, API, architecture, FAQ, or
|
|
93
105
|
topic page for each symptom.
|
|
94
106
|
- `CONTRIBUTING.md` should point contributors to architecture, API, changelog, and security docs.
|
|
107
|
+
- When `skills/<name>/SKILL.md` exists, `README.md` should have a short "For AI agents" section
|
|
108
|
+
inviting agents to register and use the skill, and `docs/README.md` and `llms.txt` should link
|
|
109
|
+
to it. The skill links back to the docs with absolute URLs, because it is copied out of the
|
|
110
|
+
repository when installed.
|
|
95
111
|
|
|
96
112
|
## Canonical Ownership Matrix
|
|
97
113
|
|
|
@@ -112,6 +128,10 @@ docs/
|
|
|
112
128
|
paths
|
|
113
129
|
- `docs/<topic>.md`
|
|
114
130
|
- owns reusable deep dives that would otherwise bloat the core docs
|
|
131
|
+
- `skills/<name>/`
|
|
132
|
+
- owns the agent-facing operating procedure: task recipes, sharp edges, and runnable examples
|
|
133
|
+
distilled from the docs. It owns no facts of its own; every behavior it states must also be in
|
|
134
|
+
the docs or the code
|
|
115
135
|
|
|
116
136
|
Backlog, ADRs, reports, and incident notes own internal reasoning history, rejected approaches,
|
|
117
137
|
postmortems, and root-cause narratives. Core docs are not project memory. They may link to ADRs or
|
|
@@ -133,7 +153,8 @@ If a file is required but a topic is currently not mature, write the truthful mi
|
|
|
133
153
|
|
|
134
154
|
## Front-Facing Content Filter
|
|
135
155
|
|
|
136
|
-
Before adding a sentence to `README.md`, `docs/*.md`, `llms.txt`,
|
|
156
|
+
Before adding a sentence to `README.md`, `docs/*.md`, `llms.txt`, `llms-full.txt`, or the agent
|
|
157
|
+
skill, ask whether an
|
|
137
158
|
external user, contributor, or tool needs it to understand what the package is, how it works, how to
|
|
138
159
|
install it, how to use it, how to configure it, how to debug it, how to migrate, or how to
|
|
139
160
|
contribute.
|
|
@@ -62,6 +62,9 @@ Optional guidance paragraphs.
|
|
|
62
62
|
## Topic Deep Dives
|
|
63
63
|
- [docs/<topic>.md](docs/<topic>.md): why this topic matters
|
|
64
64
|
|
|
65
|
+
## Agent Skill
|
|
66
|
+
- [skills/<name>/SKILL.md](skills/<name>/SKILL.md): agent skill that teaches agents to use this package
|
|
67
|
+
|
|
65
68
|
## Optional
|
|
66
69
|
- [CHANGELOG.md](CHANGELOG.md): release history
|
|
67
70
|
- [ACKNOWLEDGEMENTS.md](ACKNOWLEDGEMENTS.md): credits and lineage
|
|
@@ -76,6 +79,8 @@ Rules:
|
|
|
76
79
|
- Keep the same professional, positive, external-facing tone as the tracked source docs.
|
|
77
80
|
- Do not include maintainer-only notes, internal validation commands, or content copied from
|
|
78
81
|
`untracked/comments/`.
|
|
82
|
+
- Include the `Agent Skill` section only when `skills/<name>/SKILL.md` exists. See
|
|
83
|
+
`agent-skill.md`.
|
|
79
84
|
|
|
80
85
|
## `llms-full.txt` Requirements
|
|
81
86
|
|
|
@@ -114,6 +119,9 @@ Rules:
|
|
|
114
119
|
- Do not aggregate maintainer-only notes from `untracked/comments/`, internal smoke-test blocks, or
|
|
115
120
|
documentation-generation commentary.
|
|
116
121
|
- Prefer document separators so tools and humans can navigate the aggregate.
|
|
122
|
+
- Do not aggregate the agent skill. It is distilled from the docs that `llms-full.txt` already
|
|
123
|
+
contains. Agents reach it through the `Agent Skill` entry in `llms.txt` and through the "For AI
|
|
124
|
+
agents" section of the aggregated `README.md`.
|
|
117
125
|
- Keep duplicated content low; if two docs repeat heavily, consolidate the real docs first.
|
|
118
126
|
- Do not blindly concatenate huge, repetitive, or sensitive material. Link out when a bounded
|
|
119
127
|
aggregate is more useful than a giant dump.
|
|
@@ -128,7 +136,7 @@ Rules:
|
|
|
128
136
|
topic deep dives included by the file.
|
|
129
137
|
- If a doc says a feature is absent or unstable, `llms.txt` and `llms-full.txt` must say the same.
|
|
130
138
|
- If an API, CLI, or integration changed, update the core docs together with the LLM index
|
|
131
|
-
files in the same change.
|
|
139
|
+
files, and the agent skill when one exists, in the same change.
|
|
132
140
|
- If the source docs intentionally omit internal mistake history, do not reintroduce that history
|
|
133
141
|
in the LLM index files.
|
|
134
142
|
- If maintainers need extra internal guidance, keep it in `untracked/comments/<timestamp>_<topic>.md`
|
|
@@ -19,13 +19,15 @@ Use this file for broad repository documentation work.
|
|
|
19
19
|
- broken links;
|
|
20
20
|
- orphan `docs/<topic>.md` pages;
|
|
21
21
|
- missing `llms.txt` / `llms-full.txt`;
|
|
22
|
+
- a missing agent skill for a package with an actionable surface, a stale one (renamed calls,
|
|
23
|
+
changed flags, broken links), or one that should not exist (see `agent-skill.md`);
|
|
22
24
|
- docs that should exist but are crammed into README only.
|
|
23
25
|
5. Fix the highest-value inconsistencies first:
|
|
24
26
|
- installation and first-run instructions;
|
|
25
27
|
- missing or stale troubleshooting for common user-facing failures;
|
|
26
28
|
- architecture or API drift;
|
|
27
29
|
- missing contributor/security/license basics;
|
|
28
|
-
- broken AI-readable indexes.
|
|
30
|
+
- broken AI-readable indexes and stale agent skill recipes.
|
|
29
31
|
|
|
30
32
|
## Writing Rules
|
|
31
33
|
|
|
@@ -96,6 +98,8 @@ need it to interpret logs, migration impact, or compatibility boundaries.
|
|
|
96
98
|
- `docs/README.md` lists every topic deep dive with a short explanation.
|
|
97
99
|
- `README.md` points readers into the docs tree.
|
|
98
100
|
- `llms.txt` and `llms-full.txt` match the current docs corpus.
|
|
101
|
+
- The agent-skill decision was made from repository evidence and stated in the final report. When
|
|
102
|
+
the skill exists, it follows `agent-skill.md` and its verification tiers are in the report.
|
|
99
103
|
- Links resolve and point to the canonical target.
|
|
100
104
|
- Front-facing docs do not contain internal mistake narratives. Changelog entries, when needed,
|
|
101
105
|
state only user-visible changes and migration impact.
|
|
@@ -112,6 +116,10 @@ need it to interpret logs, migration impact, or compatibility boundaries.
|
|
|
112
116
|
troubleshooting page.
|
|
113
117
|
- `llms.txt` lists docs that no longer exist or no longer matter.
|
|
114
118
|
- `llms-full.txt` contains stale or duplicated material instead of a faithful aggregate.
|
|
119
|
+
- the agent skill tours the API instead of teaching a workflow, omits the package's limits, ships
|
|
120
|
+
snippets that crash on failure cases, or depends on links that are unreachable once installed.
|
|
121
|
+
- an agent skill is created for a documentation-only repository, or teaches contributing instead
|
|
122
|
+
of using the package.
|
|
115
123
|
- topic docs include ephemeral repair commentary instead of stable current behavior.
|
|
116
124
|
- generated docs leak maintainer-only notes, test recipes, or internal caveats into external
|
|
117
125
|
documentation.
|
|
@@ -208,26 +208,31 @@ validations:
|
|
|
208
208
|
CI/CD settings.'
|
|
209
209
|
- name: coredoc
|
|
210
210
|
source: codex-skills (maintainer)
|
|
211
|
-
tree_hash:
|
|
211
|
+
tree_hash: 2a6d6f46cfa504f6ca2b178f9d98e193eb0f12a6099bb5a0a0b0adbf3f43a185
|
|
212
212
|
level: adopted
|
|
213
213
|
method: first-party-adoption
|
|
214
214
|
audience: host
|
|
215
215
|
validated_by: skill
|
|
216
|
-
validated_at: '2026-
|
|
216
|
+
validated_at: '2026-10-21'
|
|
217
217
|
evidence:
|
|
218
218
|
parser_roundtrip: true
|
|
219
219
|
has_scripts: false
|
|
220
|
-
files:
|
|
220
|
+
files: 6
|
|
221
221
|
notes: "Maintainer-authored codex skill; first-party reviewed and vendored byte-verbatim.\
|
|
222
222
|
\ Field-evidence fold 2026-07-13 (agency c1679): llms freshness sharpened from\
|
|
223
223
|
\ habit to invariant in SKILL.md and references/llms-files.md \u2014 regenerate\
|
|
224
224
|
\ llms files in the same change that edits docs (the stale window misrepresents\
|
|
225
|
-
\ the docs).
|
|
225
|
+
\ the docs). Operator-requested fold 2026-10-21: package agent skill (references/agent-skill.md)\
|
|
226
|
+
\ \u2014 relevance decision from repository evidence, skills/<name>/ layout, verified\
|
|
227
|
+
\ recipes, docs pointers; adversarially reviewed (two rounds) and field-trialled\
|
|
228
|
+
\ on RAGNAROK and AbstractCore (author, A/B consumer and adversary agents, four\
|
|
229
|
+
\ rounds). Fable5-reviewed. Behavioral audit (backlog 0003) pending \u2014 upgrades\
|
|
226
230
|
\ to audited then."
|
|
227
231
|
activation_description: Create, audit, and maintain a professional external-facing
|
|
228
232
|
documentation set (README, docs/*, architecture with diagrams, llms.txt/llms-full.txt)
|
|
229
|
-
kept faithful to the code
|
|
230
|
-
|
|
233
|
+
kept faithful to the code and, when the package is something an agent can operate,
|
|
234
|
+
a package agent skill at skills/<name>/ that teaches other agents to use it. Use
|
|
235
|
+
when an agent must bootstrap or repair project documentation.
|
|
231
236
|
- name: entity-observation
|
|
232
237
|
source: first-party
|
|
233
238
|
tree_hash: ab92b03566aa02fdf0835348e8f7864c1da29e7b0916ea47dc9817a6c349f7f1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractskill
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: Agent Skills (SKILL.md) parsing, discovery, trust gating, and demand derivation for AbstractFramework
|
|
5
5
|
Author-email: Laurent-Philippe Albou <contact@abstractcore.ai>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -55,6 +55,7 @@ src/abstractskill/registry/skills/cicd/references/repository-setup.md
|
|
|
55
55
|
src/abstractskill/registry/skills/cicd/references/workflow-patterns.md
|
|
56
56
|
src/abstractskill/registry/skills/coredoc/SKILL.md
|
|
57
57
|
src/abstractskill/registry/skills/coredoc/agents/openai.yaml
|
|
58
|
+
src/abstractskill/registry/skills/coredoc/references/agent-skill.md
|
|
58
59
|
src/abstractskill/registry/skills/coredoc/references/core-doc-set.md
|
|
59
60
|
src/abstractskill/registry/skills/coredoc/references/llms-files.md
|
|
60
61
|
src/abstractskill/registry/skills/coredoc/references/maintenance-playbook.md
|
|
@@ -38,8 +38,8 @@ LICENSES = (
|
|
|
38
38
|
# The bundle version must move whenever the bundled content moves. When this
|
|
39
39
|
# test fails: bump `version:` in src/abstractskill/registry/catalog.yaml, then
|
|
40
40
|
# update BOTH values below (the digest printed in the failure message).
|
|
41
|
-
PINNED_VERSION = "2026.
|
|
42
|
-
PINNED_DIGEST = "
|
|
41
|
+
PINNED_VERSION = "2026.10.21"
|
|
42
|
+
PINNED_DIGEST = "35418bac94def61ae3be5fa59e3ea7632fd9e8c497eb13aa5d35f9256f53d7a8"
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
def _bundle_digest(root: Path) -> str:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/adr/agents/openai.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/architect/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/backlog/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/review/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractskill-0.3.0 → abstractskill-0.3.2}/src/abstractskill/registry/skills/uxreview/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|