akm-cli 0.9.0-beta.9 → 0.9.0-rc.1
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.
- package/CHANGELOG.md +715 -0
- package/README.md +12 -4
- package/dist/akm +38 -0
- package/dist/akm-migrate-storage +38 -0
- package/dist/assets/help/help-improve.md +9 -6
- package/dist/assets/hints/cli-hints-full.md +6 -5
- package/dist/assets/profiles/default.json +9 -4
- package/dist/assets/profiles/frequent.json +1 -1
- package/dist/assets/profiles/memory-focus.json +1 -1
- package/dist/assets/profiles/proactive-maintenance.json +25 -0
- package/dist/assets/profiles/quick.json +1 -1
- package/dist/assets/profiles/recombine-only.json +21 -0
- package/dist/assets/profiles/reflect-distill.json +30 -0
- package/dist/assets/profiles/synthesize.json +15 -0
- package/dist/assets/profiles/thorough.json +1 -1
- package/dist/assets/prompts/consolidate-system.md +23 -0
- package/dist/assets/prompts/contradiction-judge.md +33 -0
- package/dist/assets/prompts/distill-knowledge-system.md +22 -0
- package/dist/assets/prompts/distill-lesson-system.md +36 -0
- package/dist/assets/prompts/extract-session.md +11 -3
- package/dist/assets/prompts/graph-extract-system.md +1 -0
- package/dist/assets/prompts/graph-extract-user-prompt.md +1 -1
- package/dist/assets/prompts/memory-infer-system.md +1 -0
- package/dist/assets/prompts/memory-infer-user.md +5 -0
- package/dist/assets/prompts/metadata-enhance-system.md +1 -0
- package/dist/assets/prompts/procedural-system.md +44 -0
- package/dist/assets/prompts/recombine-system.md +40 -0
- package/dist/assets/prompts/staleness-detect-system.md +6 -0
- package/dist/assets/prompts/validate-summary-judge.md +1 -0
- package/dist/assets/prompts/workflow-unit-preamble.md +26 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/agent.md +38 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/command.md +38 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/fact.md +39 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/knowledge.md +40 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/lesson.md +43 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/memory.md +38 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/script.md +43 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/skill.md +40 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/workflow.md +43 -0
- package/dist/assets/templates/html/health.html +281 -111
- package/dist/assets/wiki/ingest-workflow-template.md +45 -16
- package/dist/assets/wiki/schema-template.md +4 -4
- package/dist/cli/clack.js +56 -0
- package/dist/cli/config-migrate.js +7 -1
- package/dist/cli/confirm.js +1 -1
- package/dist/cli/parse-args.js +46 -1
- package/dist/cli/shared.js +28 -0
- package/dist/cli.js +25 -21
- package/dist/commands/agent/agent-dispatch.js +3 -2
- package/dist/commands/agent/agent-support.js +0 -7
- package/dist/commands/agent/contribute-cli.js +26 -7
- package/dist/commands/config-cli.js +26 -13
- package/dist/commands/env/child-env.js +47 -0
- package/dist/commands/env/env-binding.js +95 -0
- package/dist/commands/env/env-cli.js +228 -292
- package/dist/commands/env/env.js +14 -67
- package/dist/commands/env/secret-cli.js +140 -138
- package/dist/commands/feedback-cli.js +156 -155
- package/dist/commands/graph/graph-cli.js +5 -13
- package/dist/commands/graph/graph.js +3 -3
- package/dist/commands/health/advisories.js +151 -0
- package/dist/commands/health/checks.js +103 -16
- package/dist/commands/health/html-report.js +447 -81
- package/dist/commands/health/improve-metrics.js +771 -0
- package/dist/commands/health/llm-usage.js +65 -0
- package/dist/commands/health/md-report.js +103 -0
- package/dist/commands/health/metrics.js +278 -0
- package/dist/commands/health/stash-exposure.js +46 -0
- package/dist/commands/health/surfaces.js +216 -0
- package/dist/commands/health/task-runs.js +135 -0
- package/dist/commands/health/types.js +26 -0
- package/dist/commands/health/windows.js +195 -0
- package/dist/commands/health.js +91 -1091
- package/dist/commands/improve/anti-collapse.js +170 -0
- package/dist/commands/improve/calibration.js +161 -0
- package/dist/commands/improve/collapse-detector.js +421 -0
- package/dist/commands/improve/consolidate/chunking.js +141 -0
- package/dist/commands/improve/consolidate/eligibility.js +64 -0
- package/dist/commands/improve/consolidate/merge.js +145 -0
- package/dist/commands/improve/consolidate/sanitize.js +231 -0
- package/dist/commands/{lint.js → improve/consolidate/types.js} +1 -1
- package/dist/commands/improve/consolidate.js +1295 -1277
- package/dist/commands/improve/dedup.js +482 -0
- package/dist/commands/improve/distill/content-repair.js +202 -0
- package/dist/commands/improve/distill/promote-memory.js +229 -0
- package/dist/commands/improve/distill/quality-gate.js +236 -0
- package/dist/commands/improve/distill-guards.js +127 -0
- package/dist/commands/improve/distill-promotion-policy.js +826 -167
- package/dist/commands/improve/distill.js +228 -605
- package/dist/commands/improve/eligibility.js +434 -0
- package/dist/commands/improve/encoding-salience.js +205 -0
- package/dist/commands/improve/extract-cli.js +179 -59
- package/dist/commands/improve/extract-prompt.js +54 -3
- package/dist/commands/improve/extract-watch.js +140 -0
- package/dist/commands/improve/extract.js +409 -43
- package/dist/commands/improve/feedback-valence.js +54 -0
- package/dist/commands/improve/hot-probation.js +45 -0
- package/dist/commands/improve/improve-auto-accept.js +157 -10
- package/dist/commands/improve/improve-cli.js +115 -73
- package/dist/commands/improve/improve-profiles.js +28 -8
- package/dist/commands/improve/improve-result-file.js +15 -25
- package/dist/commands/improve/improve-session.js +58 -0
- package/dist/commands/improve/improve.js +485 -2764
- package/dist/commands/improve/locks.js +154 -0
- package/dist/commands/improve/loop-stages.js +1100 -0
- package/dist/commands/improve/memory/memory-belief.js +14 -15
- package/dist/commands/improve/memory/memory-contradiction-detect.js +83 -60
- package/dist/commands/improve/memory/memory-improve.js +27 -27
- package/dist/commands/improve/outcome-loop.js +270 -0
- package/dist/commands/improve/preparation.js +2002 -0
- package/dist/commands/improve/proactive-maintenance.js +37 -35
- package/dist/commands/improve/procedural.js +398 -0
- package/dist/commands/improve/recombine.js +818 -0
- package/dist/commands/improve/reflect-noise.js +0 -0
- package/dist/commands/improve/reflect.js +206 -45
- package/dist/commands/improve/salience.js +455 -0
- package/dist/commands/improve/schema-similarity-gate.js +168 -0
- package/dist/commands/improve/shared.js +51 -0
- package/dist/commands/improve/triage.js +93 -0
- package/dist/commands/lint/agent-linter.js +19 -24
- package/dist/commands/lint/base-linter.js +173 -60
- package/dist/commands/lint/command-linter.js +19 -24
- package/dist/commands/lint/env-key-rules.js +38 -1
- package/dist/commands/lint/fact-linter.js +39 -0
- package/dist/commands/lint/index.js +31 -13
- package/dist/commands/lint/memory-linter.js +1 -1
- package/dist/commands/lint/registry.js +7 -2
- package/dist/commands/lint/task-linter.js +3 -3
- package/dist/commands/lint/workflow-linter.js +26 -1
- package/dist/commands/observability-cli.js +4 -4
- package/dist/commands/proposal/drain-policies.js +13 -4
- package/dist/commands/proposal/drain.js +45 -51
- package/dist/commands/proposal/legacy-import.js +115 -0
- package/dist/commands/proposal/proposal-cli.js +24 -34
- package/dist/commands/proposal/proposal.js +2 -1
- package/dist/commands/proposal/propose.js +8 -3
- package/dist/commands/proposal/repository.js +829 -0
- package/dist/commands/proposal/validators/proposal-quality-validators.js +9 -8
- package/dist/commands/proposal/validators/proposals.js +93 -895
- package/dist/commands/read/curate.js +410 -111
- package/dist/commands/read/knowledge.js +10 -3
- package/dist/commands/read/remember-cli.js +133 -138
- package/dist/commands/read/search-cli.js +15 -8
- package/dist/commands/read/search.js +22 -11
- package/dist/commands/read/show.js +106 -14
- package/dist/commands/registry-cli.js +76 -87
- package/dist/commands/remember.js +11 -12
- package/dist/commands/sources/add-cli.js +91 -95
- package/dist/commands/sources/history.js +1 -1
- package/dist/commands/sources/init.js +66 -18
- package/dist/commands/sources/installed-stashes.js +11 -3
- package/dist/commands/sources/migration-help.js +7 -4
- package/dist/commands/sources/schema-repair.js +44 -46
- package/dist/commands/sources/self-update.js +2 -2
- package/dist/commands/sources/source-add.js +7 -3
- package/dist/commands/sources/sources-cli.js +3 -3
- package/dist/commands/sources/stash-cli.js +19 -39
- package/dist/commands/sources/stash-skeleton.js +57 -8
- package/dist/commands/tasks/default-tasks.js +15 -2
- package/dist/commands/tasks/tasks-cli.js +20 -29
- package/dist/commands/tasks/tasks.js +39 -11
- package/dist/commands/wiki-cli.js +23 -38
- package/dist/commands/workflow-cli.js +291 -13
- package/dist/core/asset/asset-registry.js +3 -1
- package/dist/core/asset/asset-spec.js +79 -5
- package/dist/core/asset/frontmatter.js +188 -167
- package/dist/core/asset/markdown.js +8 -0
- package/dist/core/authoring-rules.js +92 -0
- package/dist/core/common.js +4 -23
- package/dist/core/concurrent.js +10 -1
- package/dist/core/config/config-io.js +10 -1
- package/dist/core/config/config-migration.js +18 -40
- package/dist/core/config/config-schema.js +403 -62
- package/dist/core/config/config-types.js +3 -3
- package/dist/core/config/config.js +67 -22
- package/dist/core/deep-merge.js +38 -0
- package/dist/core/errors.js +1 -0
- package/dist/core/eval/rank-metrics.js +113 -0
- package/dist/core/events.js +4 -7
- package/dist/core/improve-types.js +47 -8
- package/dist/core/json-schema.js +142 -0
- package/dist/core/logs-db.js +14 -75
- package/dist/core/parse.js +36 -16
- package/dist/core/paths.js +18 -18
- package/dist/core/standards/resolve-standards-context.js +87 -0
- package/dist/core/standards/resolve-stash-standards.js +99 -0
- package/dist/core/standards/resolve-type-conventions.js +66 -0
- package/dist/core/state/migrations.js +770 -0
- package/dist/core/state-db.js +132 -1126
- package/dist/core/structured.js +69 -0
- package/dist/core/time.js +53 -0
- package/dist/core/warn.js +21 -0
- package/dist/core/write-source.js +37 -0
- package/dist/indexer/db/db.js +261 -770
- package/dist/indexer/db/entry-mapper.js +41 -0
- package/dist/indexer/db/graph-db.js +129 -86
- package/dist/indexer/db/llm-cache.js +2 -2
- package/dist/indexer/db/schema.js +516 -0
- package/dist/indexer/ensure-index.js +36 -92
- package/dist/indexer/feedback/utility-policy.js +75 -0
- package/dist/indexer/graph/graph-boost.js +51 -41
- package/dist/indexer/graph/graph-extraction.js +207 -4
- package/dist/indexer/index-writer-lock.js +18 -11
- package/dist/indexer/index-written-assets.js +105 -0
- package/dist/indexer/indexer.js +182 -204
- package/dist/indexer/passes/dir-staleness.js +114 -0
- package/dist/indexer/passes/memory-inference.js +13 -5
- package/dist/indexer/passes/metadata.js +20 -0
- package/dist/indexer/read-preflight.js +23 -0
- package/dist/indexer/search/db-search.js +89 -13
- package/dist/indexer/search/fts-query.js +51 -0
- package/dist/indexer/search/ranking-contributors.js +95 -9
- package/dist/indexer/search/ranking.js +79 -3
- package/dist/indexer/search/search-fields.js +6 -0
- package/dist/indexer/search/search-source.js +32 -21
- package/dist/indexer/search/semantic-status.js +4 -0
- package/dist/indexer/walk/matchers.js +48 -0
- package/dist/indexer/walk/walker.js +21 -13
- package/dist/integrations/agent/builders.js +41 -13
- package/dist/integrations/agent/config.js +20 -59
- package/dist/integrations/agent/detect.js +9 -0
- package/dist/integrations/agent/index.js +3 -19
- package/dist/integrations/agent/model-aliases.js +16 -2
- package/dist/integrations/agent/profiles.js +79 -6
- package/dist/integrations/agent/prompts.js +75 -9
- package/dist/integrations/agent/runner-dispatch.js +83 -0
- package/dist/integrations/agent/runner.js +13 -9
- package/dist/integrations/agent/spawn.js +206 -81
- package/dist/integrations/harnesses/aider/agent-builder.js +113 -0
- package/dist/integrations/harnesses/aider/index.js +58 -0
- package/dist/integrations/harnesses/aider/result-extractor.js +53 -0
- package/dist/integrations/harnesses/amazonq/agent-builder.js +153 -0
- package/dist/integrations/harnesses/amazonq/index.js +59 -0
- package/dist/integrations/harnesses/amazonq/result-extractor.js +48 -0
- package/dist/integrations/harnesses/claude/agent-builder.js +46 -7
- package/dist/integrations/harnesses/claude/index.js +27 -23
- package/dist/integrations/harnesses/claude/result-extractor.js +52 -0
- package/dist/integrations/harnesses/claude/session-log.js +10 -0
- package/dist/integrations/harnesses/codex/agent-builder.js +137 -0
- package/dist/integrations/harnesses/codex/index.js +63 -0
- package/dist/integrations/harnesses/codex/result-extractor.js +73 -0
- package/dist/integrations/harnesses/copilot/agent-builder.js +122 -0
- package/dist/integrations/harnesses/copilot/index.js +60 -0
- package/dist/integrations/harnesses/copilot/result-extractor.js +151 -0
- package/dist/integrations/harnesses/gemini/agent-builder.js +121 -0
- package/dist/integrations/harnesses/gemini/index.js +60 -0
- package/dist/integrations/harnesses/gemini/result-extractor.js +121 -0
- package/dist/integrations/harnesses/index.js +28 -7
- package/dist/integrations/harnesses/opencode/agent-builder.js +1 -1
- package/dist/integrations/harnesses/opencode/index.js +17 -16
- package/dist/integrations/harnesses/opencode/session-log.js +173 -3
- package/dist/integrations/harnesses/opencode-sdk/harness.js +65 -0
- package/dist/integrations/harnesses/opencode-sdk/index.js +10 -34
- package/dist/integrations/harnesses/opencode-sdk/sdk-runner.js +642 -71
- package/dist/integrations/harnesses/openhands/agent-builder.js +126 -0
- package/dist/integrations/harnesses/openhands/index.js +58 -0
- package/dist/integrations/harnesses/openhands/result-extractor.js +103 -0
- package/dist/integrations/harnesses/pi/agent-builder.js +104 -0
- package/dist/integrations/harnesses/pi/index.js +58 -0
- package/dist/integrations/harnesses/pi/result-extractor.js +135 -0
- package/dist/integrations/harnesses/types.js +8 -0
- package/dist/integrations/session-logs/index.js +40 -11
- package/dist/llm/call-ai.js +2 -2
- package/dist/llm/client.js +34 -11
- package/dist/llm/embedder.js +67 -4
- package/dist/llm/embedders/cache.js +3 -1
- package/dist/llm/embedders/deterministic.js +66 -0
- package/dist/llm/embedders/local.js +73 -3
- package/dist/llm/feature-gate.js +16 -15
- package/dist/llm/graph-extract.js +67 -44
- package/dist/llm/memory-infer-impl.js +138 -0
- package/dist/llm/memory-infer.js +1 -127
- package/dist/llm/metadata-enhance.js +44 -31
- package/dist/llm/structured-call.js +49 -0
- package/dist/migrate-storage-node.mjs +8 -0
- package/dist/output/context.js +5 -5
- package/dist/output/renderers.js +87 -15
- package/dist/output/shapes/curate.js +14 -2
- package/dist/output/shapes/helpers.js +0 -3
- package/dist/output/shapes/passthrough.js +6 -1
- package/dist/output/text/helpers.js +241 -2
- package/dist/output/text/workflow.js +4 -1
- package/dist/registry/providers/skills-sh.js +21 -147
- package/dist/registry/providers/static-index.js +15 -157
- package/dist/registry/resolve.js +27 -9
- package/dist/runtime.js +25 -1
- package/dist/schemas/akm-config.json +14225 -0
- package/dist/schemas/akm-workflow.json +328 -0
- package/dist/scripts/migrate-storage.js +2743 -8390
- package/dist/scripts/migrations/import-fs-improve-runs-to-db.js +1652 -607
- package/dist/setup/detect.js +9 -0
- package/dist/setup/legacy-config.js +106 -0
- package/dist/setup/prompt.js +57 -0
- package/dist/setup/providers.js +14 -0
- package/dist/setup/registry-stash-loader.js +12 -0
- package/dist/setup/semantic-assets.js +124 -0
- package/dist/setup/setup.js +52 -1614
- package/dist/setup/steps/connection.js +734 -0
- package/dist/setup/steps/output.js +31 -0
- package/dist/setup/steps/platforms.js +124 -0
- package/dist/setup/steps/semantic.js +27 -0
- package/dist/setup/steps/sources.js +222 -0
- package/dist/setup/steps/stashdir.js +42 -0
- package/dist/setup/steps/tasks.js +152 -0
- package/dist/sources/include.js +6 -2
- package/dist/sources/providers/filesystem.js +0 -1
- package/dist/sources/providers/git-install.js +210 -0
- package/dist/sources/providers/git-provider.js +234 -0
- package/dist/sources/providers/git-stash.js +248 -0
- package/dist/sources/providers/git.js +10 -661
- package/dist/sources/providers/npm.js +2 -6
- package/dist/sources/providers/provider-utils.js +13 -7
- package/dist/sources/providers/sync-from-ref.js +9 -1
- package/dist/sources/providers/website.js +9 -5
- package/dist/sources/website-ingest.js +187 -29
- package/dist/sources/wiki-fetchers/registry.js +53 -0
- package/dist/sources/wiki-fetchers/youtube.js +239 -0
- package/dist/storage/database.js +45 -10
- package/dist/storage/managed-db.js +82 -0
- package/dist/storage/repositories/canaries-repository.js +107 -0
- package/dist/storage/repositories/consolidation-repository.js +38 -0
- package/dist/storage/repositories/embeddings-repository.js +72 -0
- package/dist/storage/repositories/events-repository.js +187 -0
- package/dist/storage/repositories/extract-sessions-repository.js +96 -0
- package/dist/storage/repositories/improve-runs-repository.js +146 -0
- package/dist/storage/repositories/index-db.js +14 -8
- package/dist/storage/repositories/proposals-repository.js +220 -0
- package/dist/storage/repositories/recombine-repository.js +213 -0
- package/dist/storage/repositories/registry-cache.js +93 -0
- package/dist/storage/repositories/registry-index-cache-repository.js +46 -0
- package/dist/storage/repositories/task-history-repository.js +93 -0
- package/dist/storage/repositories/workflow-runs-repository.js +189 -1
- package/dist/storage/sqlite-pragmas.js +146 -0
- package/dist/tasks/backends/cron.js +1 -1
- package/dist/tasks/backends/index.js +9 -0
- package/dist/tasks/backends/launchd.js +1 -1
- package/dist/tasks/backends/schtasks.js +1 -1
- package/dist/tasks/{resolveAkmBin.js → resolve-akm-bin.js} +2 -2
- package/dist/tasks/runner.js +15 -13
- package/dist/text-import-hook.mjs +1 -1
- package/dist/wiki/wiki.js +52 -11
- package/dist/workflows/authoring/authoring.js +123 -10
- package/dist/workflows/authoring/workflow-program-template.yaml +31 -0
- package/dist/workflows/cli.js +5 -0
- package/dist/workflows/db.js +138 -4
- package/dist/workflows/exec/brief.js +484 -0
- package/dist/workflows/exec/native-executor.js +975 -0
- package/dist/workflows/exec/param-secrets.js +115 -0
- package/dist/workflows/exec/report.js +1295 -0
- package/dist/workflows/exec/run-workflow.js +596 -0
- package/dist/workflows/exec/scheduler.js +100 -0
- package/dist/workflows/exec/step-work.js +1156 -0
- package/dist/workflows/exec/unit-writer.js +23 -0
- package/dist/workflows/exec/watch.js +116 -0
- package/dist/workflows/exec/worktree.js +171 -0
- package/dist/workflows/ir/compile.js +388 -0
- package/dist/workflows/ir/params.js +54 -0
- package/dist/workflows/ir/plan-hash.js +33 -0
- package/dist/workflows/ir/schema.js +4 -0
- package/dist/workflows/parser.js +3 -1
- package/dist/workflows/program/expressions.js +369 -0
- package/dist/workflows/program/parser.js +760 -0
- package/dist/workflows/program/project.js +105 -0
- package/dist/workflows/program/schema.js +54 -0
- package/dist/workflows/renderer.js +82 -5
- package/dist/workflows/runtime/agent-identity.js +59 -14
- package/dist/workflows/runtime/runs.js +248 -153
- package/dist/workflows/runtime/unit-checkin.js +45 -0
- package/dist/workflows/runtime/workflow-asset-loader.js +188 -0
- package/dist/workflows/validate-summary.js +26 -10
- package/dist/workflows/validator.js +1 -1
- package/docs/README.md +69 -18
- package/docs/data-and-telemetry.md +7 -5
- package/docs/migration/release-notes/0.7.0.md +1 -1
- package/docs/migration/release-notes/0.9.0-beta.60.md +19 -0
- package/docs/migration/release-notes/0.9.0.md +39 -0
- package/package.json +10 -10
- package/dist/assets/tasks/core/update-stashes.yml +0 -4
- package/dist/commands/db-cli.js +0 -23
- package/dist/indexer/db/db-backup.js +0 -376
- package/dist/indexer/passes/staleness-detect.js +0 -488
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
You are executing one unit of an akm workflow run.
|
|
2
|
+
|
|
3
|
+
- Workflow run: {{RUN_ID}}
|
|
4
|
+
- Step: {{STEP_ID}}
|
|
5
|
+
- Unit: {{UNIT_ID}}
|
|
6
|
+
- Run parameters: {{PARAMS_JSON}}
|
|
7
|
+
|
|
8
|
+
Ground rules for this unit:
|
|
9
|
+
|
|
10
|
+
1. Pull knowledge on demand instead of guessing: `akm search '<query>'` to find
|
|
11
|
+
relevant assets, `akm show <ref>` to read one, `akm curate '<query>'` to let
|
|
12
|
+
akm select the best match. Only pull what this unit actually needs.
|
|
13
|
+
2. Environment values and secrets are provided through your process
|
|
14
|
+
environment when the workflow declares them. Never print secret values to
|
|
15
|
+
stdout or embed them in your answer. If you need an env file path, use
|
|
16
|
+
`akm env path <ref>`; never `cat` secrets.
|
|
17
|
+
3. Do exactly the work described in the instructions below — no more. Other
|
|
18
|
+
units may be running concurrently on sibling items; do not touch files or
|
|
19
|
+
state outside the scope this unit was given.
|
|
20
|
+
4. Your final output IS the unit result recorded by the engine. When a JSON
|
|
21
|
+
schema is requested, respond with ONLY the JSON value (no prose, no code
|
|
22
|
+
fences). Otherwise finish with a concise factual summary of what you did.
|
|
23
|
+
|
|
24
|
+
Unit instructions follow.
|
|
25
|
+
|
|
26
|
+
---
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: convention
|
|
3
|
+
description: Soft authoring conventions for agent assets using scoped role, tool, and maintenance rules.
|
|
4
|
+
when_to_use: Surfaced to authoring agents when they write or revise an agent asset.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
SOFT guidance only — advice, not a contract. Nothing here is enforced by the
|
|
9
|
+
proposal gate; validator-rejecting HARD rules live in src/core/authoring-rules.ts
|
|
10
|
+
and remain the sole enforced source. Editing or deleting this file cannot weaken
|
|
11
|
+
the gate. Tune the guidance below to match how your stash wants this asset type
|
|
12
|
+
maintained.
|
|
13
|
+
-->
|
|
14
|
+
|
|
15
|
+
# Agent authoring conventions
|
|
16
|
+
|
|
17
|
+
An agent asset defines a reusable role. Treat it like a disciplined maintainer, not a generic personality. Its job is to know its scope, read the right rulebooks, use the right tools, and leave the stash in better shape.
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
|
|
21
|
+
Use an agent when a recurring task benefits from a specialized role, bounded responsibilities, and explicit tool behavior.
|
|
22
|
+
|
|
23
|
+
## Authoring strategy
|
|
24
|
+
|
|
25
|
+
- Write the description so a dispatcher knows exactly when to delegate to this agent.
|
|
26
|
+
- Define the agent’s domain, authority, boundaries, and expected output.
|
|
27
|
+
- Specify what the agent must read first: relevant stash standards, type conventions, reference docs, source files, or prior lessons.
|
|
28
|
+
- State tool expectations plainly: what tools it may use, what it should avoid, and when it must ask for human review.
|
|
29
|
+
- Give the agent maintenance duties when appropriate: update cross-references, append logs, preserve provenance, and surface contradictions.
|
|
30
|
+
- Prefer a narrow role that does one thing reliably over a broad do-everything persona.
|
|
31
|
+
- Include handoff behavior: what the agent should return when it cannot complete the task safely.
|
|
32
|
+
|
|
33
|
+
## Maintenance strategy
|
|
34
|
+
|
|
35
|
+
- Refine the agent when repeated sessions show the same delegation failure.
|
|
36
|
+
- Add explicit negative guidance when the agent overreaches.
|
|
37
|
+
- Keep role instructions stable and concise; move large background material into knowledge assets.
|
|
38
|
+
- Use lessons to capture operational improvements, then promote stable ones into the agent when they become part of the role.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: convention
|
|
3
|
+
description: Soft authoring conventions for command assets using repeatable LLM operation patterns.
|
|
4
|
+
when_to_use: Surfaced to authoring agents when they write or revise a command asset.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
SOFT guidance only — advice, not a contract. Nothing here is enforced by the
|
|
9
|
+
proposal gate; validator-rejecting HARD rules live in src/core/authoring-rules.ts
|
|
10
|
+
and remain the sole enforced source. Editing or deleting this file cannot weaken
|
|
11
|
+
the gate. Tune the guidance below to match how your stash wants this asset type
|
|
12
|
+
maintained.
|
|
13
|
+
-->
|
|
14
|
+
|
|
15
|
+
# Command authoring conventions
|
|
16
|
+
|
|
17
|
+
A command is a reusable markdown prompt template invoked by name. Treat it like an operation in the stash: every vague instruction will compound into repeated vague output.
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
|
|
21
|
+
Use a command when the user or agent needs to perform the same prompt-shaped task repeatedly with different arguments or context.
|
|
22
|
+
|
|
23
|
+
## Authoring strategy
|
|
24
|
+
|
|
25
|
+
- Put the task, inputs, constraints, and expected output shape near the top.
|
|
26
|
+
- Make argument placeholders obvious and describe what each one should contain.
|
|
27
|
+
- Tell the model what to inspect before acting, especially relevant stash assets, facts, standards, or reference docs.
|
|
28
|
+
- State the decision boundary: what the command should do directly, what it should only propose, and what it should refuse or defer.
|
|
29
|
+
- Include output requirements that are stable across runs.
|
|
30
|
+
- Keep the prompt tight. A command should be easy to invoke and hard to misinterpret.
|
|
31
|
+
- Avoid embedding one-time project details unless the command is intentionally project-specific.
|
|
32
|
+
|
|
33
|
+
## Maintenance strategy
|
|
34
|
+
|
|
35
|
+
- If users repeatedly clarify the same missing detail, add that detail to the command.
|
|
36
|
+
- If command output regularly becomes useful durable knowledge, instruct the agent to file the result into the right asset type.
|
|
37
|
+
- If the command starts handling multiple unrelated tasks, split it into smaller commands.
|
|
38
|
+
- Preserve a clear invocation contract so future agents can call the command safely.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: convention
|
|
3
|
+
description: Soft authoring conventions for fact assets using pinned-core and just-in-time context principles.
|
|
4
|
+
when_to_use: Surfaced to authoring agents when they write or revise a fact asset.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
SOFT guidance only — advice, not a contract. Nothing here is enforced by the
|
|
9
|
+
proposal gate; validator-rejecting HARD rules live in src/core/authoring-rules.ts
|
|
10
|
+
and remain the sole enforced source. Editing or deleting this file cannot weaken
|
|
11
|
+
the gate. Tune the guidance below to match how your stash wants this asset type
|
|
12
|
+
maintained.
|
|
13
|
+
-->
|
|
14
|
+
|
|
15
|
+
# Fact authoring conventions
|
|
16
|
+
|
|
17
|
+
A fact is durable stash-level context: personal, team, project, convention, or meta knowledge. Treat facts as the stash’s semantic layer — selectively loaded context that should guide future work without bloating every prompt.
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
|
|
21
|
+
Use a fact for stable information that future agents should treat as true or normative: user preferences, project identity, team stack, architecture principles, naming conventions, tag vocabulary, or stash organization.
|
|
22
|
+
|
|
23
|
+
## Authoring strategy
|
|
24
|
+
|
|
25
|
+
- Write each fact as a standing declaration that can survive across sessions.
|
|
26
|
+
- Keep it short, high-signal, and self-contained.
|
|
27
|
+
- Choose the narrowest useful category: personal, team, project, convention, or meta.
|
|
28
|
+
- Use `pinned: true` only for the small core that should be available constantly.
|
|
29
|
+
- Leave most facts unpinned so they can be retrieved just-in-time.
|
|
30
|
+
- Include scope and provenance when a fact is project-specific, inferred, or subject to change.
|
|
31
|
+
- Separate facts from memories: memories preserve observations; facts state durable truth or durable policy.
|
|
32
|
+
- Separate facts from knowledge: knowledge explains a topic; facts declare compact context.
|
|
33
|
+
|
|
34
|
+
## Maintenance strategy
|
|
35
|
+
|
|
36
|
+
- Revise or supersede facts when the durable truth changes.
|
|
37
|
+
- Do not allow contradictory facts to remain equally active.
|
|
38
|
+
- Promote repeated memories or lessons into facts only when they become stable context.
|
|
39
|
+
- Keep convention and meta facts especially clear, because they steer future asset creation.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: convention
|
|
3
|
+
description: Soft authoring conventions for knowledge assets as compiled, on-demand reference documents.
|
|
4
|
+
when_to_use: Surfaced to authoring agents when they write or revise a knowledge asset.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
SOFT guidance only — advice, not a contract. Nothing here is enforced by the
|
|
9
|
+
proposal gate; validator-rejecting HARD rules live in src/core/authoring-rules.ts
|
|
10
|
+
and remain the sole enforced source. Editing or deleting this file cannot weaken
|
|
11
|
+
the gate. Tune the guidance below to match how your stash wants this asset type
|
|
12
|
+
maintained.
|
|
13
|
+
-->
|
|
14
|
+
|
|
15
|
+
# Knowledge authoring conventions
|
|
16
|
+
|
|
17
|
+
A knowledge asset is a compiled reference document meant to be read on demand. Treat it as the synthesized layer above raw material: not source files, not chat residue, but integrated, navigable understanding that saves future agents from rediscovering the same material.
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
|
|
21
|
+
Use a knowledge asset for durable reference material, synthesized explanations, design notes, comparisons, and project context that is broader than a single memory but less procedural than a skill.
|
|
22
|
+
|
|
23
|
+
## Authoring strategy
|
|
24
|
+
|
|
25
|
+
- Open with a plain top-level title that names the subject.
|
|
26
|
+
- Add a concise orientation paragraph: what this document covers and when it should be read.
|
|
27
|
+
- For a long reference, add a table of contents near the top so the full scope is visible even on a partial read.
|
|
28
|
+
- Organize by stable concepts, decisions, entities, or questions — roughly one page per concept.
|
|
29
|
+
- Cross-reference related assets instead of duplicating them, so a navigable graph forms over time.
|
|
30
|
+
- Preserve provenance where it matters: cite source files, raw notes, session logs, or issues by path/ref.
|
|
31
|
+
- Call out contradictions, uncertainty, stale claims, and open questions explicitly.
|
|
32
|
+
- Prefer accurate synthesis over exhaustive dumping. Raw material belongs elsewhere; this file is the compiled layer.
|
|
33
|
+
- Use tables or checklists when they make retrieval and comparison easier.
|
|
34
|
+
|
|
35
|
+
## Maintenance strategy
|
|
36
|
+
|
|
37
|
+
- Update the existing page when new information changes the same topic; append a dated note rather than silently rewriting when provenance matters.
|
|
38
|
+
- Create a new page when the concept deserves its own durable entry.
|
|
39
|
+
- Add links both ways when a new relationship matters.
|
|
40
|
+
- Periodically scan for orphaned, stale, or overlapping knowledge docs and consolidate them.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: convention
|
|
3
|
+
description: Soft authoring conventions for lesson assets that capture compounding, hard-won judgment.
|
|
4
|
+
when_to_use: Surfaced to authoring agents when they write or revise a lesson asset.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
SOFT guidance only — advice, not a contract. Nothing here is enforced by the
|
|
9
|
+
proposal gate; validator-rejecting HARD rules live in src/core/authoring-rules.ts
|
|
10
|
+
and remain the sole enforced source. Editing or deleting this file cannot weaken
|
|
11
|
+
the gate. Tune the guidance below to match how your stash wants this asset type
|
|
12
|
+
maintained.
|
|
13
|
+
-->
|
|
14
|
+
|
|
15
|
+
# Lesson authoring conventions
|
|
16
|
+
|
|
17
|
+
A lesson captures durable, hard-won judgment that should compound across future agent sessions. Treat it as distilled judgment about how to act: it should preserve the extracted meaning of what real use revealed, not merely recount an incident or summarize another asset.
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
|
|
21
|
+
Use a lesson to record:
|
|
22
|
+
|
|
23
|
+
- when to reach for a pattern, asset, or decision;
|
|
24
|
+
- what tends to go wrong without it;
|
|
25
|
+
- what evidence, feedback, or repeated experience made the lesson worth keeping;
|
|
26
|
+
- how a future agent should act differently because this lesson exists.
|
|
27
|
+
|
|
28
|
+
## Authoring strategy
|
|
29
|
+
|
|
30
|
+
- Lead with the trigger: the concrete situation where this lesson should be loaded.
|
|
31
|
+
- Follow with the failure mode: what mistake, omission, or confusion this prevents.
|
|
32
|
+
- End with the reusable judgment: the practical rule a future agent can apply.
|
|
33
|
+
- Keep the scope narrow. A lesson should teach one durable behavior.
|
|
34
|
+
- Prefer observed evidence over generic advice. Mention the kind of signal that produced the lesson, such as rejected proposals, repeated lint findings, user feedback, or session outcomes.
|
|
35
|
+
- Do not restate the source asset. Lessons are compiled judgment, not copied documentation.
|
|
36
|
+
- Write for a future agent mid-task: direct, practical, and easy to apply.
|
|
37
|
+
|
|
38
|
+
## Maintenance strategy
|
|
39
|
+
|
|
40
|
+
- Update an existing lesson when new feedback sharpens the same judgment.
|
|
41
|
+
- Create a new lesson only when the trigger or failure mode is meaningfully different.
|
|
42
|
+
- Deprecate or revise stale lessons instead of allowing contradictory guidance to accumulate.
|
|
43
|
+
- When a lesson becomes broadly normative, consider promoting the stable rule into a `fact:conventions/...` asset.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: convention
|
|
3
|
+
description: Soft authoring conventions for memory assets using durable-context and provenance discipline.
|
|
4
|
+
when_to_use: Surfaced to authoring agents when they write or revise a memory asset.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
SOFT guidance only — advice, not a contract. Nothing here is enforced by the
|
|
9
|
+
proposal gate; validator-rejecting HARD rules live in src/core/authoring-rules.ts
|
|
10
|
+
and remain the sole enforced source. Editing or deleting this file cannot weaken
|
|
11
|
+
the gate. Tune the guidance below to match how your stash wants this asset type
|
|
12
|
+
maintained.
|
|
13
|
+
-->
|
|
14
|
+
|
|
15
|
+
# Memory authoring conventions
|
|
16
|
+
|
|
17
|
+
A memory is a short, durable note that should survive beyond the current session. Treat it as a small compiled fact or decision, not a transcript fragment.
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
|
|
21
|
+
Use a memory when a future agent would make a better decision by knowing a specific user preference, project decision, environmental fact, constraint, or observed outcome.
|
|
22
|
+
|
|
23
|
+
## Authoring strategy
|
|
24
|
+
|
|
25
|
+
- Record one durable fact, decision, or constraint per memory.
|
|
26
|
+
- Write it so it stands alone without the original conversation.
|
|
27
|
+
- Include enough context to prevent misapplication: subject, scope, and when it matters.
|
|
28
|
+
- Prefer stable, reusable information over step-by-step session play-by-play.
|
|
29
|
+
- Mark uncertainty or subjectivity clearly when the memory is not a settled fact.
|
|
30
|
+
- Preserve source/provenance in frontmatter or body when the memory came from a session, log, user statement, or derived inference.
|
|
31
|
+
- Avoid storing secrets, private tokens, or volatile temporary state as memory.
|
|
32
|
+
|
|
33
|
+
## Maintenance strategy
|
|
34
|
+
|
|
35
|
+
- Update or supersede memories when newer evidence changes the truth.
|
|
36
|
+
- Consolidate repeated memories into a clearer fact or knowledge asset.
|
|
37
|
+
- Convert broad, stable conventions into `fact` assets.
|
|
38
|
+
- Archive memories that are no longer current rather than letting stale context keep influencing agents.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: convention
|
|
3
|
+
description: Soft authoring conventions for script assets using agent-safe CLI helper principles.
|
|
4
|
+
when_to_use: Surfaced to authoring agents when they write or revise a script asset.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
SOFT guidance only — advice, not a contract. Nothing here is enforced by the
|
|
9
|
+
proposal gate; validator-rejecting HARD rules live in src/core/authoring-rules.ts
|
|
10
|
+
and remain the sole enforced source. Editing or deleting this file cannot weaken
|
|
11
|
+
the gate. Tune the guidance below to match how your stash wants this asset type
|
|
12
|
+
maintained.
|
|
13
|
+
-->
|
|
14
|
+
|
|
15
|
+
# Script authoring conventions
|
|
16
|
+
|
|
17
|
+
A script is an executable helper that an agent or human can run on demand. Treat it like a small, deterministic tool that reduces manual bookkeeping and makes repeatable operations safer.
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
|
|
21
|
+
Use a script when a task is mechanical, repeatable, and better handled by a deterministic program than by free-form agent edits.
|
|
22
|
+
|
|
23
|
+
## Authoring strategy
|
|
24
|
+
|
|
25
|
+
- Start with the appropriate interpreter line and a short usage comment.
|
|
26
|
+
- State what the script does, expected inputs, outputs, side effects, and failure behavior.
|
|
27
|
+
- Keep one script focused on one job.
|
|
28
|
+
- Validate inputs before mutation.
|
|
29
|
+
- Fail loudly and early on unsafe or ambiguous input.
|
|
30
|
+
- Declare required dependencies and assumptions explicitly rather than assuming a tool is installed.
|
|
31
|
+
- Justify any non-obvious constant (timeout, retry count, limit) in a comment so a future reader can adjust it safely.
|
|
32
|
+
- Prefer idempotent behavior where practical.
|
|
33
|
+
- Avoid hidden network calls, destructive defaults, or silent writes.
|
|
34
|
+
- Never print secrets or sensitive values.
|
|
35
|
+
- Write output that is easy for both humans and agents to parse.
|
|
36
|
+
- Favor clear names, straightforward control flow, and comments at decision points.
|
|
37
|
+
|
|
38
|
+
## Maintenance strategy
|
|
39
|
+
|
|
40
|
+
- Add examples when agents or users repeatedly invoke the script incorrectly.
|
|
41
|
+
- Keep dangerous actions behind explicit flags.
|
|
42
|
+
- When a script becomes a core operation, add or update a workflow that explains when to run it.
|
|
43
|
+
- If the script encodes a convention, also document that convention in a fact or knowledge asset.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: convention
|
|
3
|
+
description: Soft authoring conventions for skill assets as reusable, just-in-time procedural rulebooks.
|
|
4
|
+
when_to_use: Surfaced to authoring agents when they write or revise a skill asset.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
SOFT guidance only — advice, not a contract. Nothing here is enforced by the
|
|
9
|
+
proposal gate; validator-rejecting HARD rules live in src/core/authoring-rules.ts
|
|
10
|
+
and remain the sole enforced source. Editing or deleting this file cannot weaken
|
|
11
|
+
the gate. Tune the guidance below to match how your stash wants this asset type
|
|
12
|
+
maintained.
|
|
13
|
+
-->
|
|
14
|
+
|
|
15
|
+
# Skill authoring conventions
|
|
16
|
+
|
|
17
|
+
A skill is a reusable, self-contained capability stored as `skills/<name>/SKILL.md`. Treat it like a compact operating manual that an agent can load just-in-time, follow without rediscovering the process, and improve when repeated use exposes gaps.
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
|
|
21
|
+
Use a skill when the stash needs reusable procedural guidance for a recurring class of work. A good skill reduces repeated reasoning cost: future agents should not have to reconstruct the same method from raw context.
|
|
22
|
+
|
|
23
|
+
## Authoring strategy
|
|
24
|
+
|
|
25
|
+
- Make the dispatch signal clear. The description should let a dispatcher decide whether to load the skill without reading the whole body.
|
|
26
|
+
- Open with the outcome the skill helps produce.
|
|
27
|
+
- State when to use it, when not to use it, and what inputs the agent should gather before acting.
|
|
28
|
+
- Structure the body as a rulebook: principles first, then procedure, then checks.
|
|
29
|
+
- Use short sections and ordered steps where sequence matters.
|
|
30
|
+
- Match the level of detail to how fragile the task is: open-ended work gets high-level heuristics and room to reason, while fragile or consistency-critical steps get exact, unambiguous instructions.
|
|
31
|
+
- Keep the body lean and move bulky background into companion knowledge docs referenced one level deep, so the skill loads cheaply and stays scannable.
|
|
32
|
+
- Include failure modes and verification steps. A skill should tell the agent how to know the work is complete.
|
|
33
|
+
- Keep one skill focused on one capability. Split unrelated concerns into separate skills and cross-reference them.
|
|
34
|
+
|
|
35
|
+
## Maintenance strategy
|
|
36
|
+
|
|
37
|
+
- Update the skill when session logs, feedback, or rejected proposals reveal repeatable confusion.
|
|
38
|
+
- Add companion knowledge docs when the skill needs background material that would bloat the main procedure.
|
|
39
|
+
- Promote durable recurring corrections into the skill; leave one-off observations in memories or lessons.
|
|
40
|
+
- Prefer small edits that preserve the skill’s operational shape over broad rewrites that erase tested guidance.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: convention
|
|
3
|
+
description: Soft authoring conventions for workflow assets using explicit operations, logging, and lintable steps.
|
|
4
|
+
when_to_use: Surfaced to authoring agents when they write or revise a workflow asset.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
SOFT guidance only — advice, not a contract. Nothing here is enforced by the
|
|
9
|
+
proposal gate; validator-rejecting HARD rules live in src/core/authoring-rules.ts
|
|
10
|
+
and remain the sole enforced source. Editing or deleting this file cannot weaken
|
|
11
|
+
the gate. Tune the guidance below to match how your stash wants this asset type
|
|
12
|
+
maintained.
|
|
13
|
+
-->
|
|
14
|
+
|
|
15
|
+
# Workflow authoring conventions
|
|
16
|
+
|
|
17
|
+
A workflow describes an ordered process an agent or human can follow. Treat it as the operation layer of a maintained stash: clear steps, clear state, clear completion criteria, and enough bookkeeping to resume safely.
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
|
|
21
|
+
Use a workflow when the task requires multiple steps, branching decisions, repeated checks, or durable progress tracking.
|
|
22
|
+
|
|
23
|
+
## Authoring strategy
|
|
24
|
+
|
|
25
|
+
- Open with the outcome the workflow produces.
|
|
26
|
+
- State prerequisites, required inputs, and tools before the steps.
|
|
27
|
+
- Use ordered step sections when sequence matters.
|
|
28
|
+
- For each step, specify:
|
|
29
|
+
- what to do;
|
|
30
|
+
- what evidence or input it depends on;
|
|
31
|
+
- what output it produces;
|
|
32
|
+
- how to know the step is done.
|
|
33
|
+
- Make branch points explicit. Do not bury conditional behavior in prose.
|
|
34
|
+
- Include validation, lint, or review steps near the end.
|
|
35
|
+
- Include rollback or recovery notes when the workflow mutates files, state, repos, or external systems.
|
|
36
|
+
- Keep steps atomic and resumable so an interrupted run can continue without guessing.
|
|
37
|
+
|
|
38
|
+
## Maintenance strategy
|
|
39
|
+
|
|
40
|
+
- Update the workflow when repeated execution reveals missing checks or unclear handoffs.
|
|
41
|
+
- Add logging expectations when the workflow creates durable state.
|
|
42
|
+
- Extract reusable sub-procedures into skills or scripts when the workflow grows too broad.
|
|
43
|
+
- Record recurring mistakes as lessons, then fold stable corrections back into the workflow.
|