Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions config/CLAUDE.md → AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,49 @@
# Stack operating context

This file is the single source of agent instructions for this repository.
Codex reads `AGENTS.md`; Claude Code reads `CLAUDE.md`, which is a symlink to
this file. Edit this file, never the symlink.

Stack is a curated design-and-build capability system. Prefer skills and
reference knowledge that improve planning, product work, interface design,
implementation, review, verification, or shipping. Orchestration is in scope
only when it directly supports a named design/build workflow.

## Shared agent context

Claude and Codex keep three shared files in `docs/context/`:

- `docs/context/state.md`: current state of `main`, open pull requests,
blockers and what is installed. Rewrite it whole each time.
- `docs/context/decisions.md`: one dated line per decision, with its pull
request link. Append only. To reverse a decision, add a new line.
- `docs/context/handoff.md`: the latest note for whichever agent comes next:
author (Claude or Codex), date, what was done, what is next. Rewrite it
whole each time.

Rules:

1. Every agent reads `docs/context/state.md` and `docs/context/handoff.md`
before starting work.
2. Before ending a session that changed anything (a commit, pull request,
merge or install), update `state.md` and `handoff.md`, and append to
`decisions.md` when a decision was made. Ship them in the same pull
request as the change.
3. No secrets or personal data in these files: no tokens, keys, passwords,
email addresses, private bookmark content or absolute home paths. Use
repository-relative or `~/` paths. They are published with the rest of
`docs/`.
4. Scheduled automations that run from a dedicated clean clone (for example
the weekly maintenance and design lanes) do not edit these files; their
receipts are the record. The next interactive session folds their results
into `state.md`.

## Upstream skills

A provider is tracked weekly only if it passes the admission rule in
`docs/upstream-policy.md`. Otherwise it is pick-only: import one reviewed
skill, which becomes Stack-owned and stops tracking upstream.

## Source of truth and runtime boundary

- `skills/**/capability.json` is the authoritative capability-local manifest.
Expand Down
1 change: 1 addition & 0 deletions CLAUDE.md
48 changes: 24 additions & 24 deletions artifacts/audits/phase1-architecture/capability-reconciliation.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,13 @@
"skills/design/rams/SKILL.md": "skills/design/rams/capability.json",
"skills/design/review-animations/SKILL.md": "skills/design/review-animations/capability.json",
"skills/design/ui-design-brain/SKILL.md": "skills/design/ui-design-brain/capability.json",
"skills/engineering/david-anti-sleep/SKILL.md": "skills/engineering/david-anti-sleep/capability.json",
"skills/engineering/david-brain-to-docs/SKILL.md": "skills/engineering/david-brain-to-docs/capability.json",
"skills/engineering/david-create-readonly-db-role/SKILL.md": "skills/engineering/david-create-readonly-db-role/capability.json",
"skills/engineering/david-deepapi/SKILL.md": "skills/engineering/david-deepapi/capability.json",
"skills/engineering/david-fable-safe-prompt/SKILL.md": "skills/engineering/david-fable-safe-prompt/capability.json",
"skills/engineering/david-prompt-me/SKILL.md": "skills/engineering/david-prompt-me/capability.json",
"skills/engineering/david-read-all-adrs/SKILL.md": "skills/engineering/david-read-all-adrs/capability.json",
"skills/engineering/fix-sentry-issues/SKILL.md": "skills/engineering/fix-sentry-issues/capability.json",
"skills/engineering/gemini-review/SKILL.md": "skills/engineering/gemini-review/capability.json",
"skills/engineering/hermes-native-patch-migration/SKILL.md": "skills/engineering/hermes-native-patch-migration/capability.json",
Expand All @@ -43,18 +47,6 @@
"skills/engineering/simplify/SKILL.md": "skills/engineering/simplify/capability.json",
"skills/engineering/tdd/SKILL.md": "skills/engineering/tdd/capability.json",
"skills/imported/benjitaylor/stageshow/SKILL.md": "skills/imported/benjitaylor/stageshow/capability.json",
"skills/imported/david/david-anti-sleep/SKILL.md": "skills/imported/david/david-anti-sleep/capability.json",
"skills/imported/david/david-browser-harness/SKILL.md": "skills/imported/david/david-browser-harness/capability.json",
"skills/imported/david/david-cmux/SKILL.md": "skills/imported/david/david-cmux/capability.json",
"skills/imported/david/david-codex-subagent/SKILL.md": "skills/imported/david/david-codex-subagent/capability.json",
"skills/imported/david/david-deep-research/SKILL.md": "skills/imported/david/david-deep-research/capability.json",
"skills/imported/david/david-deepapi/SKILL.md": "skills/imported/david/david-deepapi/capability.json",
"skills/imported/david/david-effective-agent-skills/SKILL.md": "skills/imported/david/david-effective-agent-skills/capability.json",
"skills/imported/david/david-fable-safe-prompt/SKILL.md": "skills/imported/david/david-fable-safe-prompt/capability.json",
"skills/imported/david/david-goal-loop/SKILL.md": "skills/imported/david/david-goal-loop/capability.json",
"skills/imported/david/david-handoff/SKILL.md": "skills/imported/david/david-handoff/capability.json",
"skills/imported/david/david-read-all-adrs/SKILL.md": "skills/imported/david/david-read-all-adrs/capability.json",
"skills/imported/david/david-setup-help/SKILL.md": "skills/imported/david/david-setup-help/capability.json",
"skills/imported/emil/emil-animate-expo/SKILL.md": "skills/imported/emil/emil-animate-expo/capability.json",
"skills/imported/emil/emil-animate/SKILL.md": "skills/imported/emil/emil-animate/capability.json",
"skills/imported/emil/emil-animation-performance/SKILL.md": "skills/imported/emil/emil-animation-performance/capability.json",
Expand Down Expand Up @@ -137,23 +129,31 @@
"skills/imported/ui/fixing-metadata/SKILL.md": "skills/imported/ui/fixing-metadata/capability.json",
"skills/imported/ui/fixing-motion-performance/SKILL.md": "skills/imported/ui/fixing-motion-performance/capability.json",
"skills/imported/ui/transitions-dev-motion/SKILL.md": "skills/imported/ui/transitions-dev-motion/capability.json",
"skills/knowledge/david-deep-research/SKILL.md": "skills/knowledge/david-deep-research/capability.json",
"skills/knowledge/david-research-prompt/SKILL.md": "skills/knowledge/david-research-prompt/capability.json",
"skills/knowledge/david-youtube-transcript/SKILL.md": "skills/knowledge/david-youtube-transcript/capability.json",
"skills/knowledge/field-theory-bookmark-synthesis/SKILL.md": "skills/knowledge/field-theory-bookmark-synthesis/capability.json",
"skills/knowledge/fieldbook-source-split/SKILL.md": "skills/knowledge/fieldbook-source-split/capability.json",
"skills/knowledge/muller-brockmann-grid-systems/SKILL.md": "skills/knowledge/muller-brockmann-grid-systems/capability.json",
"skills/knowledge/userinterface-wiki/SKILL.md": "skills/knowledge/userinterface-wiki/capability.json",
"skills/orchestration/david-agent-self-scheduling/SKILL.md": "skills/orchestration/david-agent-self-scheduling/capability.json",
"skills/orchestration/david-cmux/SKILL.md": "skills/orchestration/david-cmux/capability.json",
"skills/orchestration/david-codex-subagent/SKILL.md": "skills/orchestration/david-codex-subagent/capability.json",
"skills/orchestration/david-goal-loop/SKILL.md": "skills/orchestration/david-goal-loop/capability.json",
"skills/orchestration/david-handoff/SKILL.md": "skills/orchestration/david-handoff/capability.json",
"skills/orchestration/goal-validation-threads/SKILL.md": "skills/orchestration/goal-validation-threads/capability.json",
"skills/orchestration/goal/SKILL.md": "skills/orchestration/goal/capability.json",
"skills/orchestration/handoff/SKILL.md": "skills/orchestration/handoff/capability.json",
"skills/orchestration/parallel-goals/SKILL.md": "skills/orchestration/parallel-goals/capability.json",
"skills/planning/matt-resolving-merge-conflicts/SKILL.md": "skills/planning/matt-resolving-merge-conflicts/capability.json",
"skills/platform/david-effective-agent-skills/SKILL.md": "skills/platform/david-effective-agent-skills/capability.json",
"skills/platform/david-folder-specific-claude-and-agents-md/SKILL.md": "skills/platform/david-folder-specific-claude-and-agents-md/capability.json",
"skills/platform/david-setup-help/SKILL.md": "skills/platform/david-setup-help/capability.json",
"skills/platform/local-tracker-dashboard/SKILL.md": "skills/platform/local-tracker-dashboard/capability.json",
"skills/platform/reclaude/SKILL.md": "skills/platform/reclaude/capability.json",
"skills/product/compatibility/ideate/SKILL.md": "skills/product/compatibility/ideate/capability.json",
"skills/product/cpo/SKILL.md": "skills/product/cpo/capability.json",
"skills/qa/david-browser-harness/SKILL.md": "skills/qa/david-browser-harness/capability.json",
"skills/qa/live-site-health-check/SKILL.md": "skills/qa/live-site-health-check/capability.json",
"skills/review/agent-verification-ladder/SKILL.md": "skills/review/agent-verification-ladder/capability.json",
"skills/review/david-cyber-audit/SKILL.md": "skills/review/david-cyber-audit/capability.json",
Expand Down Expand Up @@ -185,9 +185,13 @@
"skills/design/rams/SKILL.md",
"skills/design/review-animations/SKILL.md",
"skills/design/ui-design-brain/SKILL.md",
"skills/engineering/david-anti-sleep/SKILL.md",
"skills/engineering/david-brain-to-docs/SKILL.md",
"skills/engineering/david-create-readonly-db-role/SKILL.md",
"skills/engineering/david-deepapi/SKILL.md",
"skills/engineering/david-fable-safe-prompt/SKILL.md",
"skills/engineering/david-prompt-me/SKILL.md",
"skills/engineering/david-read-all-adrs/SKILL.md",
"skills/engineering/fix-sentry-issues/SKILL.md",
"skills/engineering/gemini-review/SKILL.md",
"skills/engineering/hermes-native-patch-migration/SKILL.md",
Expand All @@ -196,18 +200,6 @@
"skills/engineering/simplify/SKILL.md",
"skills/engineering/tdd/SKILL.md",
"skills/imported/benjitaylor/stageshow/SKILL.md",
"skills/imported/david/david-anti-sleep/SKILL.md",
"skills/imported/david/david-browser-harness/SKILL.md",
"skills/imported/david/david-cmux/SKILL.md",
"skills/imported/david/david-codex-subagent/SKILL.md",
"skills/imported/david/david-deep-research/SKILL.md",
"skills/imported/david/david-deepapi/SKILL.md",
"skills/imported/david/david-effective-agent-skills/SKILL.md",
"skills/imported/david/david-fable-safe-prompt/SKILL.md",
"skills/imported/david/david-goal-loop/SKILL.md",
"skills/imported/david/david-handoff/SKILL.md",
"skills/imported/david/david-read-all-adrs/SKILL.md",
"skills/imported/david/david-setup-help/SKILL.md",
"skills/imported/emil/emil-animate-expo/SKILL.md",
"skills/imported/emil/emil-animate/SKILL.md",
"skills/imported/emil/emil-animation-performance/SKILL.md",
Expand Down Expand Up @@ -290,23 +282,31 @@
"skills/imported/ui/fixing-metadata/SKILL.md",
"skills/imported/ui/fixing-motion-performance/SKILL.md",
"skills/imported/ui/transitions-dev-motion/SKILL.md",
"skills/knowledge/david-deep-research/SKILL.md",
"skills/knowledge/david-research-prompt/SKILL.md",
"skills/knowledge/david-youtube-transcript/SKILL.md",
"skills/knowledge/field-theory-bookmark-synthesis/SKILL.md",
"skills/knowledge/fieldbook-source-split/SKILL.md",
"skills/knowledge/muller-brockmann-grid-systems/SKILL.md",
"skills/knowledge/userinterface-wiki/SKILL.md",
"skills/orchestration/david-agent-self-scheduling/SKILL.md",
"skills/orchestration/david-cmux/SKILL.md",
"skills/orchestration/david-codex-subagent/SKILL.md",
"skills/orchestration/david-goal-loop/SKILL.md",
"skills/orchestration/david-handoff/SKILL.md",
"skills/orchestration/goal-validation-threads/SKILL.md",
"skills/orchestration/goal/SKILL.md",
"skills/orchestration/handoff/SKILL.md",
"skills/orchestration/parallel-goals/SKILL.md",
"skills/planning/matt-resolving-merge-conflicts/SKILL.md",
"skills/platform/david-effective-agent-skills/SKILL.md",
"skills/platform/david-folder-specific-claude-and-agents-md/SKILL.md",
"skills/platform/david-setup-help/SKILL.md",
"skills/platform/local-tracker-dashboard/SKILL.md",
"skills/platform/reclaude/SKILL.md",
"skills/product/compatibility/ideate/SKILL.md",
"skills/product/cpo/SKILL.md",
"skills/qa/david-browser-harness/SKILL.md",
"skills/qa/live-site-health-check/SKILL.md",
"skills/review/agent-verification-ladder/SKILL.md",
"skills/review/david-cyber-audit/SKILL.md",
Expand Down
2 changes: 1 addition & 1 deletion config/runtime-targets.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"schema_version": 1,
"catalog_digest": "3bb864f353cac156603490a1ff0d930971861c5e81b1727b2411f24c830ae09a",
"catalog_digest": "8b3a9e992e2002cee9bc836813b873751f2d202ae5528ff900755324b24f52ef",
"targets": [
{
"name": "claude",
Expand Down
1 change: 0 additions & 1 deletion config/stack-maintenance.json
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@
"tests/test_fresh_clone.py",
"registry/capabilities.json",
"skills/imported/matt/",
"skills/imported/david/",
"skills/imported/emil/",
"skills/imported/stewdio/",
"skills/design/review-animations/",
Expand Down
9 changes: 9 additions & 0 deletions docs/context/decisions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Decisions

Append only; see `AGENTS.md`. One line per decision: date, decision, pull
request. To reverse a decision, add a new line.

- 2026-11-06: Publish the Claude runtime as the `stack@skills-dir` plugin, so skills load as `stack:<name>`. [#46](https://github.com/thecolormaroun/stack/pull/46)
- 2026-11-10: Drop Twombly from micro-branch because it is a paid third-party product; the local board is the only canvas. [#52](https://github.com/thecolormaroun/stack/pull/52)
- 2026-11-13: Make davidondrej/skills pick-only; its remaining tracked skills become Stack-owned at their last inspected commit. [#56](https://github.com/thecolormaroun/stack/pull/56)
- 2026-11-13: Adopt the upstream admission rule in `docs/upstream-policy.md`: weekly tracking needs an OSI license file, publication for other users, no silent deletions or versioned releases, and general-purpose skills. [#56](https://github.com/thecolormaroun/stack/pull/56)
27 changes: 27 additions & 0 deletions docs/context/handoff.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Handoff

Rewritten on every change; see `AGENTS.md`.

- Author: Claude
- Date: 2026-11-13

## Done

- [#55](https://github.com/thecolormaroun/stack/pull/55): retired 8
David skills built for their author's setup, and made 10 David/Matt skills
whose upstream copies were removed Stack-owned. The classifier no longer
rewrites the stageshow manifest, so a rerun is a no-op.
- [#56](https://github.com/thecolormaroun/stack/pull/56), based on
#55: wrote the admission rule (`docs/upstream-policy.md`), added
`"tracking"` to every provider, made davidondrej/skills pick-only and its
12 remaining skills Stack-owned, and added this shared context
(`AGENTS.md`, the `CLAUDE.md` symlink, `docs/context/`).

## Next

1. Owner review and merge: #55, then #56. Both are drafts.
2. Reinstall from `main` after both merge, then run `scripts/stack-doctor.py`.
3. Confirm the weekly `stack-upstream-sync` task skips `pick-only` providers
before Monday's run.
4. Decide on gstack and stewdio (they fail the admission rule but are still
`weekly`), and on refreshing the impeccable and taste-skill copies.
52 changes: 52 additions & 0 deletions docs/context/state.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Stack state

Rewritten on every change; see `AGENTS.md`. Last updated 2026-11-13 by Claude
in [#56](https://github.com/thecolormaroun/stack/pull/56).

## Main

- `origin/main` is `73136f9`, "Preserve approved imports during upstream
maintenance (#51)".
- On `main`, 29 David and 22 Matt skills still sit under `skills/imported/`.
#55 and #56 change that: no David skill stays tracked, and
davidondrej/skills becomes pick-only.

## Installed

- Claude `stack@skills-dir` and Codex `~/.codex/skills/stack` were published
from `73136f9` at 2026-11-13 17:35 UTC.
- Neither #55 nor #56 is installed. Reinstall from `main` after both
merge.

## Open pull requests

| PR | What | State |
| --- | --- | --- |
| [#55](https://github.com/thecolormaroun/stack/pull/55) | Retire 8 David skills; make 10 David/Matt skills Stack-owned | draft |
| [#56](https://github.com/thecolormaroun/stack/pull/56) | Admission rule, David pick-only, shared agent context; based on #55 | draft |
| [#54](https://github.com/thecolormaroun/stack/pull/54) | Import Emil's gestures and learn-taste skills | draft |
| [#48](https://github.com/thecolormaroun/stack/pull/48) | Stack critique and review, 2026-11-06 | draft |
| [#43](https://github.com/thecolormaroun/stack/pull/43) | Weekly knowledge intake and evidence | open since 2026-10-03 |
| [#23](https://github.com/thecolormaroun/stack/pull/23) | Sol High as the default Codex orchestrator | open since 2026-08-16 |

A separate session is pinning ibelick/ui-skills as provider `ibelick`. Its row
in `registry/upstreams.json` needs `"tracking": "weekly"` (it passes the
admission rule).

## Blockers

- **Monday weekly maintenance** (`stack-upstream-sync`, 8am): davidondrej/skills
flattened every skill path on 2026-11-09, so the David lane fails until
#56 merges. #55 alone does not unblock it.
- The scheduled task must skip `pick-only` providers. A separate session owns
that change.
- Merge #55 before #56. If #54 or the ibelick change lands first,
rebase and regenerate the generated files; never hand-edit them.

## Open owner decisions

From the 2026-11-13 audit in `docs/upstream-policy.md`:

- gstack and stewdio fail the admission rule but are still `weekly`.
- The impeccable and taste-skill copies no longer match upstream, which merged
them into single skills.
9 changes: 8 additions & 1 deletion docs/stack-maintenance.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,14 @@ maintenance diff allowlist.
| `david-folder-specific-claude-and-agents-md` | `skills/platform/` | `davidondrej/skills` skill-authoring |
| `matt-resolving-merge-conflicts` | `skills/planning/` | `mattpocock/skills` engineering; upstream removed the skill (CHANGELOG, PR 1120) and keeps only an archived docs page |

The David skills that still exist upstream stay on the maintenance lane.
Later the same day `davidondrej/skills` became `pick-only` under
`docs/upstream-policy.md`. Its 12 remaining skills (`david-anti-sleep`,
`david-browser-harness`, `david-cmux`, `david-codex-subagent`,
`david-deep-research`, `david-deepapi`, `david-effective-agent-skills`,
`david-fable-safe-prompt`, `david-goal-loop`, `david-handoff`,
`david-read-all-adrs`, `david-setup-help`) became Stack-owned the same way, at
their last inspected commit. David has no import rule and no allowlisted root.
The lane records the provider as `pick_only` and never observes or proposes it.

`prepare` creates a disposable candidate clone outside the caller checkout
from that recorded `origin/main` SHA. Only explicit policy-allowlisted files
Expand Down
Loading
Loading