#775 by GitHub stars
foldkit/foldkit
AI documentation. Use when editing ai-docs/src or regenerating LLMS.md.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
repos/effect/.agents/skills/ai-docs/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
repos/effect/.agents/skills/bundle-analysis/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
repos/effect/.agents/skills/changesets/SKILL.md
Week of Nov 2, 2026 · +5 / −4 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
- 21 5. Validate package names, frontmatter, bump policy, and a concise
- 22 consumer-facing description.
+ 21 5. Validate package names, frontmatter, bump policy, and a one-sentence
+ 22 consumer-facing description, longer only for breaks or required migration.
- 74 consolidated, valid changeset by default. Its release note describes the consumer
- 75 impact and migration for every break without repeating the PR description.
+ 74 consolidated, valid changeset by default. Its release note is one sentence of
+ 75 consumer impact, plus migration steps for every break, with no implementation
+ 76 detail.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
repos/effect/.agents/skills/ci-maintenance/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
repos/effect/.agents/skills/dependency-maintenance/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
repos/effect/.agents/skills/effect-development/SKILL.md
Week of Nov 2, 2026 · +23 / −1 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
- 3 description: Effect development guidance. Use when implementing or reviewing code that composes Effect APIs or patterns.
+ 3 description: Effect development guidance. Use when implementing or reviewing code that composes Effect APIs or patterns, or that adds or changes API signatures.
+ 17
+ 18 ## API conventions
+ 19
+ 20 Write option types inline in the signature by default. Mark fields `readonly`
+ 21 and add `| undefined` to optional fields:
+ 22
+ 23 ```ts
+ 24 export const make = (options: {
+ 25 readonly capacity: number
+ 26 readonly strategy?: "dropping" | "sliding" | undefined
+ 27 }): Effect.Effect<Queue> => ...
+ 28 ```
+ 29
+ 30 Declare a named options type only in these cases:
+ 31
+ 32 - A substantial set of options is shared across several APIs, so a named type
+ 33 keeps them in sync.
+ 34 - The options type needs complex conditional logic, such as conditional or
+ 35 mapped types driven by type parameters.
+ 36
+ 37 A long option list for a single API is not on its own a reason to extract a
+ 38 named type.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
repos/effect/.agents/skills/jsdocs/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
repos/effect/.agents/skills/migration-guidance/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
repos/effect/.agents/skills/package-development/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
repos/effect/.agents/skills/performance-analysis/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
repos/effect/.agents/skills/pull-requests/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → a471adb24d75
No earlier version was observed for comparison.
repos/effect/.agents/skills/test-development/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
repos/effect/.agents/skills/vendored-assets/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
skills/audit-program/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
skills/foldkit/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
skills/generate-program/SKILL.md
Week of Nov 2, 2026 · +2 / −2 lines
Before Network or broad shell → After Network or broad shell
b702a5efbb74 → a471adb24d75
- 350 <project>/node_modules/foldkit/dist/dom/index.d.ts # focus, advanceFocus, scrollIntoView, showDialog, closeDialog, clickElement, lockScroll, unlockScroll, inertOthers, restoreInert, detectElementMovement, waitForAnimationSettled. For time/random/delay use Effect's Clock, Random, Effect.sleep + Duration directly. For UUIDs use Crypto.Crypto's randomUUIDv4 with BrowserCrypto.layer.
+ 350 <project>/node_modules/foldkit/dist/dom/index.d.ts # focus, advanceFocus, scrollIntoView, showDialog, closeDialog, clickElement, lockScroll, unlockScroll, inertOthers, restoreInert, detectElementMovement, waitForAnimationSettled. For time/random/delay use Effect's Clock, Random, Effect.sleep + Duration directly. For UUIDs use SecureRandom.SecureRandom's uuidV4() with BrowserCrypto.layerSecureRandom.
- 528 - Use Foldkit's `Dom` module for DOM operations (`Dom.focus`, `Dom.scrollIntoView`, `Dom.showDialog`, `Dom.lockScroll`, etc.) and Effect built-ins for everything else (`Clock.currentTimeMillis`, `Random.nextIntBetween`, `Effect.sleep(Duration.millis(...))`). For UUIDs, use the `Crypto.Crypto` service's `randomUUIDv4` with a platform Crypto layer. See DOM and Effect Helpers in [architecture.md](architecture.md)
+ 528 - Use Foldkit's `Dom` module for DOM operations (`Dom.focus`, `Dom.scrollIntoView`, `Dom.showDialog`, `Dom.lockScroll`, etc.) and Effect built-ins for everything else (`Clock.currentTimeMillis`, `Random.nextIntBetween`, `Effect.sleep(Duration.millis(...))`). For UUIDs, import `SecureRandom` from `effect/crypto` and use its `SecureRandom` service's `uuidV4()` with the platform SecureRandom layer. See DOM and Effect Helpers in [architecture.md](architecture.md)
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b702a5efbb74
No earlier version was observed for comparison.
Verified commit a471adb24d750ab9e8d8312edad53ff6f26d961b
git clone --filter=blob:none --no-checkout https://github.com/foldkit/foldkit.git .hotskills/foldkit-foldkit && git -C .hotskills/foldkit-foldkit checkout --detach a471adb24d750ab9e8d8312edad53ff6f26d961b
# Copy each selected skill directory from .hotskills/foldkit-foldkit into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/foldkit/foldkit.git .hotskills/foldkit-foldkit && git -C .hotskills/foldkit-foldkit checkout --detach a471adb24d750ab9e8d8312edad53ff6f26d961b
# Copy each selected skill directory from .hotskills/foldkit-foldkit into .agents/skills/<skill-name>/Heat
8.4- Star growth, last 7 daysAhead of 98% of tracked repositories
- Star growth, last 24 hoursAhead of 97% of tracked repositories
- Rank movement, last 7 daysAhead of 97% of tracked repositories
- Commits, last 30 daysAhead of 89% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- ai-docs
repos/effect/.agents/skills/ai-docs - bundle-analysis
repos/effect/.agents/skills/bundle-analysis - changesets
repos/effect/.agents/skills/changesets - ci-maintenance
repos/effect/.agents/skills/ci-maintenance - dependency-maintenance
repos/effect/.agents/skills/dependency-maintenance - effect-development
repos/effect/.agents/skills/effect-development - jsdocs
repos/effect/.agents/skills/jsdocs - migration-guidance
repos/effect/.agents/skills/migration-guidance - package-development
repos/effect/.agents/skills/package-development - performance-analysis
repos/effect/.agents/skills/performance-analysis - pull-requests
repos/effect/.agents/skills/pull-requests - test-development
repos/effect/.agents/skills/test-development - vendored-assets
repos/effect/.agents/skills/vendored-assets - audit-program
skills/audit-program - foldkit
skills/foldkit - generate-program
skills/generate-program
How it works
ai-docs
When your agent uses it
AI documentation. Use when editing ai-docs/src or regenerating LLMS.md.
What it loads into context
Frontmatter
25 tokensAlways available to the agent
SKILL.md
149 tokensWhen the skill is activated
Reference documents
55,410 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
../../../../../.claude-plugin/marketplace.jsonasset296 bytes../../../../../.claude-plugin/plugin.jsonasset306 bytesSKILL.mdcore688 bytesSKILL.mdcore688 bytesSKILL.mdcore688 bytes../../../../../skills/audit-program/SKILL.mddoc28,705 bytes../../../../../skills/audit-program/agents/openai.yamlasset232 bytes../../../../../skills/foldkit/SKILL.mddoc5,808 bytes../../../../../skills/foldkit/agents/openai.yamlasset200 bytes../../../../../skills/generate-program/SKILL.mddoc80,726 bytes../../../../../skills/generate-program/agents/openai.yamlasset216 bytes../../../../../skills/generate-program/architecture.mddoc32,206 bytes../../../../../skills/generate-program/blindSpots.mddoc17,229 bytes../../../../../skills/generate-program/checklist.mddoc50,283 bytes../../../../../skills/generate-program/conventions.mddoc28,669 bytes
Read SKILL.md
Read `ai-docs/README.md`; it owns source structure, style, examples, generation,
and changeset policy.
1. Inspect neighboring source examples and the relevant current `LLMS.md`.
2. Edit sources under `ai-docs/src`, then run `pnpm ai-docgen`.
3. Review generated output for ordering, missing content, and unrelated changes.
4. Run applicable root validation.
The task is complete when sources and generated output agree, every generated
difference is explained, TypeScript checks pass when examples or fixtures
change, and applicable checks pass or are reported as not runnable.View the complete source on GitHubbundle-analysis
When your agent uses it
Bundle analysis. Use when measuring current bundle size, comparing stable or selected fixtures, inspecting composition, or cleaning retained comparison state.
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
301 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,440 bytes
Read SKILL.md
Read `packages/tools/bundle/README.md`, then select one workflow:
- **Stable comparison:** `pnpm bundle-compare <base-ref>`. Use `HEAD~1` for the
latest commit. Read `tmp/bundle-stats.txt` and report non-zero differences.
- **Selected comparison:** `pnpm bundle-compare-selected --base <ref>
scratchpad/<fixture>.ts`. Use only user-named or investigation-local fixtures;
keep temporary fixtures out of the stable corpus.
- **Composition:** `pnpm bundle-analyze scratchpad/<fixture>.ts`. Read raw data
first and report the largest modules, dependency groups, and surprising
inclusions. Its readable-name output is not an exact size measurement.
- **Current size:** Build immediately before the direct bundle report so Effect
packages resolve from current `dist` output.
- **Cleanup:** Stable comparisons retain `tmp/bundle-base` for reuse unless
cleanup is requested. Remove selected-comparison state retained withView the complete source on GitHubchangesets
When your agent uses it
Concise PR finalization changesets. Use when implementation scope is complete and focused validation has finished to classify release impact, consolidate the PR's existing changeset, or write its consumer release note.
What it loads into context
Frontmatter
46 tokensAlways available to the agent
SKILL.md
738 tokensWhen the skill is activated
Reference documents
546 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
- PR-level consolidation
- Requirement
- Breaking Audit
Files
SKILL.mdcore3,748 bytesSKILL.mdcore3,748 bytesSKILL.mdcore3,748 bytesauthoring.mddoc2,470 bytes
Read SKILL.md
Treat a changeset as the release note for the complete PR, not as a log of work
performed along the way. Finalize it after the current implementation scope and
focused validation are complete.
## Workflow
1. Inspect the complete diff from the merge base, including changeset files
already introduced by the PR, and identify directly affected published
packages.
2. Classify impact across source types, runtime behavior, entrypoints, required
services, lifecycle, and persisted or wire data.
3. Perform the breaking audit below.
4. Record a reason no changeset is required, or update the PR's existing
changeset. Create one only when the PR does not have one. When required, readView the complete source on GitHubci-maintenance
When your agent uses it
GitHub Actions maintenance. Use when authoring or reviewing workflows or composite actions, especially event, permission, action-reference, artifact, setup, or concurrency changes.
What it loads into context
Frontmatter
40 tokensAlways available to the agent
SKILL.md
514 tokensWhen the skill is activated
Reference documents
198 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
Files
SKILL.mdcore2,712 bytesprivileged-workflows.mddoc1,049 bytes
Read SKILL.md
Audit the trust boundary before editing. This skill owns Actions event
semantics, workflow security, permissions, action pinning, setup reuse,
untrusted inputs, timeouts, concurrency, and artifact trust boundaries.
## Workflow
1. Decide whether this is a review or an implementation. Reviews produce
evidence-backed findings without editing; implementations continue through
the smallest boundary-preserving change.
2. Inspect every affected workflow, composite action, and caller. List all
affected jobs and actions before proceeding.
3. For each job, record the trigger, actor/fork status, workflow revision,
checked-out revision, permissions, credentials, and every external input and
consumer. Include artifacts, caches, outputs, PR fields, refs, dispatchView the complete source on GitHubdependency-maintenance
When your agent uses it
Dependency maintenance. Use when adding, moving, or upgrading dependencies, changing pnpm or JavaScript runtimes, updating TypeScript or build/test tools, or changing native-build policy, patches, or test images.
What it loads into context
Frontmatter
50 tokensAlways available to the agent
SKILL.md
525 tokensWhen the skill is activated
Reference documents
649 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Discover
- Package-local branch
- Coordinated branch
- Install and finish
Files
SKILL.mdcore2,729 bytescoordinated-upgrades.mddoc2,577 bytesmanifest-roles.mddoc2,138 bytes
Read SKILL.md
Treat an upgrade as a synchronization task, not a lockfile refresh. Derive
versions, commands, and compatibility points from the current repository.
## Discover
1. Read affected manifests and scripts, `pnpm-workspace.yaml`, setup actions,
workflows, test configuration, and compatibility documentation.
2. Search for the dependency and every current version, range, runtime input,
image, engine constraint, patch, and compatibility claim.
3. Record each match as a development version, tested version, peer range,
engine minimum, advertised minimum, or intentionally different constraint.
4. When adding or moving a manifest entry, read
[manifest-roles.md](manifest-roles.md) before selecting its role.
5. Select the package-local or coordinated branch and its validation matrix.View the complete source on GitHubeffect-development
When your agent uses it
Effect development guidance. Use when implementing or reviewing code that composes Effect APIs or patterns, or that adds or changes API signatures.
What it loads into context
Frontmatter
33 tokensAlways available to the agent
SKILL.md
299 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- API conventions
Files
SKILL.mdcore1,420 bytesSKILL.mdcore1,420 bytes
Read SKILL.md
Use the repository's AI documentation as targeted reference, not ambient
context:
1. Identify the Effect APIs and concepts involved in the change.
2. Search `LLMS.md` and `ai-docs/src` for those names and concepts, then read
the matching sections and examples.
3. Apply the relevant guidance and inspect nearby source and tests for any
repository-internal conventions not covered by the documentation.
The task is ready for implementation when every material Effect API or pattern
has matching local guidance, or the search has established that none exists.
## API conventions
View the complete source on GitHubjsdocs
When your agent uses it
Public API JSDoc. Use when authoring or reviewing Effect API documentation, refining a module's documentation, or fixing documentation related diagnostics.
What it loads into context
Frontmatter
35 tokensAlways available to the agent
SKILL.md
376 tokensWhen the skill is activated
Reference documents
1,435 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
Files
SKILL.mdcore1,777 bytescategories.mddoc1,234 bytesdeclarations.mddoc3,771 bytesexamples.mddoc1,225 bytes
Read SKILL.md
## Workflow
1. Inspect the declaration, implementation, nearby JSDoc, tests, and call sites.
2. Select every applicable branch and load its reference before editing:
- tags, modules, or links: [declarations.md](declarations.md);
- categories: [categories.md](categories.md);
- examples: [examples.md](examples.md).
3. Make a focused API fix or module refinement. Preserve verified facts and
valuable examples rather than rewriting mechanically.
4. For module refinement or APIs with close alternatives, audit `@see` links
and inspect implementation and tests for concrete `**Gotchas**`.
5. Run `pnpm jsdocs --check` and every applicable root validation command.
`@internal` declarations and default exports are outside public JSDocView the complete source on GitHubmigration-guidance
When your agent uses it
Use when changing how a v3 public API maps to v4, editing migration annotations, or regenerating migration/v3-to-v4.md.
What it loads into context
Frontmatter
37 tokensAlways available to the agent
SKILL.md
234 tokensWhen the skill is activated
Reference documents
261 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,129 bytesannotations.mddoc547 bytesgeneration.mddoc574 bytes
Read SKILL.md
Update guidance when a v3 public module or API is renamed, moved, removed,
replaced, or gains a materially different v4 contract. A v4-only API without a
v3 counterpart does not automatically need an annotation.
1. Account for every affected v3 symbol.
2. Read [annotations.md](annotations.md) before adding or changing annotation
YAML. Verify every suggested replacement against implementation and tests.
3. When checking or regenerating the reference, or when the API change exists in
a committed ref, read [generation.md](generation.md). Otherwise report that
generation is deferred.
4. When output was generated, inspect it for unrelated movement and stale refs.
The task is complete when every affected v3 symbol is accounted for, annotation
replacements are verified, checks and generation succeed when the change is inView the complete source on GitHubpackage-development
When your agent uses it
Package registration. Use when adding a workspace package, making a private package publishable, renaming a package, or moving its workspace path.
What it loads into context
Frontmatter
35 tokensAlways available to the agent
SKILL.md
379 tokensWhen the skill is activated
Reference documents
1,134 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
Files
SKILL.mdcore1,959 bytesSKILL.mdcore1,959 bytesdependencies.mddoc2,166 bytespublishing.mddoc921 bytesregistration.mddoc4,390 bytes
Read SKILL.md
Treat package work as a registration change, not a directory copy.
## Workflow
1. Inspect the closest package in the same family. Classify publication status,
runtime, test environment, platform support, barrels, and dependency shape.
Justify each proposed file by precedent or an explicit repository need.
Continue when every proposed file is justified.
2. Create or move only required source, test, TypeScript, and manifest files.
When manifest dependencies change, read [dependencies.md](dependencies.md)
and classify every entry by role.
Continue when pnpm discovers the intended name and manifests reference no
absent file.
3. Read [registration.md](registration.md). Classify every registration surfaceView the complete source on GitHubperformance-analysis
When your agent uses it
Performance analysis. Use for runtime throughput or latency benchmarks, TypeScript compiler cost, performance regressions, comparison harnesses, or thresholds.
What it loads into context
Frontmatter
34 tokensAlways available to the agent
SKILL.md
128 tokensWhen the skill is activated
Reference documents
373 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore692 bytesruntime.mddoc1,080 bytestypes.mddoc928 bytes
Read SKILL.md
Validate correctness with focused tests before measuring. Compare the same
focused operation and environment across revisions; a single unpaired run is
not evidence of improvement.
Select every applicable branch:
- **Runtime performance:** Read [runtime.md](runtime.md).
- **Type performance:** Read [types.md](types.md).
The task is complete when every selected branch meets its measurement and
reporting criteria and applicable root checks pass or are reported as not
runnable.View the complete source on GitHubpull-requests
When your agent uses it
Pull request finalization. Use when a change works and is about to be opened as a pull request, or when updating or continuing an existing one.
What it loads into context
Frontmatter
38 tokensAlways available to the agent
SKILL.md
617 tokensWhen the skill is activated
Reference documents
1,247 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
Files
../changesets/SKILL.mddoc3,748 bytes../effect-development/SKILL.mddoc1,420 bytesSKILL.mdcore2,852 bytesSKILL.mdcore2,852 bytes../test-development/SKILL.mddoc1,069 bytes
Read SKILL.md
A pull request is ready when its tests, implementation, comments, and changeset
are each the simplest that cover the intended behavior. Draft PRs can be used
earlier; finishing means making the PR ready for review.
## Workflow
Run each step in a fresh-context subagent when available; otherwise run it
yourself. Pass along the task context and prior results so each step can check its gate.
1. Keep tests focused. Read [test-development](../test-development/SKILL.md) for
test placement and type. Cover each intended behavior once, in the existing
test file for the module.
For changes needing no tests, record why.
Continue when removing any remaining case would leave intended behaviorView the complete source on GitHubtest-development
When your agent uses it
Test development. Use when adding or changing Vitest or Tstyche coverage. Choose Tstyche only for intended compiler behavior such as inference, assignability, rejection, or displayed public types.
What it loads into context
Frontmatter
46 tokensAlways available to the agent
SKILL.md
210 tokensWhen the skill is activated
Reference documents
496 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,069 bytesdisplayed-types.mddoc593 bytesruntime.mddoc617 bytestypes.mddoc1,122 bytes
Read SKILL.md
Choose branches from the task's acceptance criteria before editing:
- **Runtime behavior:** The intended result is observable when code executes.
Read [runtime.md](runtime.md).
- **Compiler behavior:** The intended result is TypeScript accepting, rejecting,
or inferring a consumer expression in a particular way. Read
[types.md](types.md).
An exported signature alone is validated by `pnpm check`; it enters the compiler
branch only when its inference, assignability, rejection, overload selection, or
displayed type is part of the task. Some changes require both branches because
they independently change runtime and compiler behavior.
The task is complete when each intended behavior in scope has the relevantView the complete source on GitHubvendored-assets
When your agent uses it
Vendored assets. Use when importing or updating checked-in third-party or externally generated JavaScript, CSS, registries, schemas, snapshots, or Scalar, Swagger, and MIME artifacts.
What it loads into context
Frontmatter
45 tokensAlways available to the agent
SKILL.md
586 tokensWhen the skill is activated
Reference documents
94 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
Files
SKILL.mdcore2,934 bytesSKILL.mdcore2,934 bytesSKILL.mdcore2,934 bytesbrowser-assets.mddoc510 bytes
Read SKILL.md
Treat upstream artifacts as supply-chain inputs. Change their generator or
documented import source, then regenerate; generated output is review evidence,
not an editing surface.
## Workflow
1. **Trace ownership.** Identify the artifact, generator or exact import
procedure, upstream source/version, license, consumers, tests, and shipped
package or bundle. Search by asset and upstream project name to find current
packaging scripts, generated artifacts, consumers, and history.
Continue when every input and consumer is accounted for.
2. **Pin provenance.** Resolve moving URLs, tags, branches, and omitted versions
to an immutable release or artifact. Record project, version, path or URL,
and digest in the generator or maintenance header. Omit a digest only whenView the complete source on GitHubaudit-program
When your agent uses it
Audit an existing Foldkit program against the architecture, conventions, and quality bar. Use when the user wants to review their Foldkit code, check for anti-patterns, accessibility gaps, or quality regressions. Triggers on phrases like "audit my app", "review this Foldkit code", "check for anti-patterns", "is this idiomatic?", or "what would the reviewer find?"
What it loads into context
Frontmatter
118 tokensAlways available to the agent
SKILL.md
6,069 tokensWhen the skill is activated
Reference documents
29,421 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Operating principle: report first, change nothing without consent
- Phase 1: Scope the audit
- Phase 2: Read the canonical references
- Phase 3: Map the project
- Phase 4: Run the linter, then the mechanical scans
- Phase 5: Structural review
- Phase 6: Synthesize findings
- Phase 7: Offer fixes (opt-in)
- Notes on focus areas
Scripts executed separately
../../examples/counter/src/main.ts../../examples/form/src/main.ts../../examples/routing/src/main.ts../../examples/stopwatch/src/main.ts../../examples/ui-showcase/src/main.ts../../examples/weather/src/main.ts
Files
../../examples/counter/src/main.tsruns2,449 bytes../../examples/form/src/main.tsruns12,489 bytes../../examples/routing/src/main.tsruns17,072 bytes../../examples/stopwatch/src/main.tsruns5,650 bytes../../examples/ui-showcase/src/main.tsruns19,985 bytes../../examples/weather/src/main.tsruns10,340 bytesSKILL.mdcore28,705 bytesSKILL.mdcore28,705 bytesSKILL.mdcore28,705 bytesSKILL.mdcore28,705 bytesSKILL.mdcore28,705 bytesagents/openai.yamlasset232 bytes../generate-program/architecture.mddoc32,206 bytes../generate-program/blindSpots.mddoc17,229 bytes../generate-program/checklist.mddoc50,283 bytes../generate-program/conventions.mddoc28,669 bytes
Read SKILL.md
Audit an existing Foldkit program against the same bar `generate-program` targets: this code should be **indistinguishable in quality from hand-written code in `packages/typing-game/client/src/` or `packages/website/src/`**. Not "works." Not "structurally valid." Typing-game quality.
> **Recommended setup:** the audit is dramatically higher fidelity when `repos/foldkit/` is vendored as a git subtree in the audited project. Without it, you grade against the snapshots in `generate-program/architecture.md` and `conventions.md`. With it, you grade against the live exemplars (`examples/`, `packages/typing-game/`, `packages/website/`), which is what those snapshots are summarizing in the first place. If the subtree is missing, recommend adding it before the audit begins, pinned to the release git tag matching the installed `foldkit` package so the exemplars match the APIs the project compiles against: `git subtree add --prefix=repos/foldkit https://github.com/foldkit/foldkit.git "foldkit@$(node -p "require('./node_modules/foldkit/package.json').version")" --squash`. For a canary install, whose version (`x.y.z-canary.<commit>`) has no tag, pin to the full hash of the commit it names instead, which GitHub expands at `https://github.com/foldkit/foldkit/commit/<commit>`.
## Operating principle: report first, change nothing without consent
The audit is **read-only through Phase 6**. The output is a structured report. **Never edit a file before the user has seen the report and explicitly approved fixes**, no matter how unambiguous a finding seems, no matter how trivial the change, no matter how confident you are. Phase 7 (Offer fixes) is opt-in and gated on user consent per item or per batch.
Concretely, this means:
- Phases 1 to 6 are pure investigation: read code, run greps, spawn review subagents, synthesize findings. No `Edit`, no `Write`, no `Bash` commands that modify files.
- After delivering the report at the end of Phase 6, **stop and wait**. Ask whether to apply fixes. Don't bundle a fix into the same response as the report.
- Even after the user invites fixes, structural and semantic changes still need confirmation per item. Mechanical fixes can batch only if the user explicitly accepts the batch.
- If the user says "fix it" or "make the changes" early (before seeing findings), surface the report first anyway. The report is the value the audit provides; jumping to edits skips the consultation that lets the user prioritize and reject items.View the complete source on GitHubfoldkit
When your agent uses it
Use whenever working with Foldkit. Triggers on imports from `foldkit`, files in a Foldkit project, or prompts mentioning Foldkit. Loads the framing and points at the vendored foldkit subtree for the canonical conventions, source code, and examples.
What it loads into context
Frontmatter
59 tokensAlways available to the agent
SKILL.md
1,267 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- How to approach the work
- Where to look
Files
SKILL.mdcore5,808 bytesSKILL.mdcore5,808 bytesSKILL.mdcore5,808 bytesSKILL.mdcore5,808 bytesagents/openai.yamlasset200 bytes
Read SKILL.md
# Foldkit
You are working on a Foldkit app. Foldkit is a complete TypeScript frontend framework, built on Effect and architected like Elm. The architecture is solved: state, events, transitions, side effects, streams, routing, UI components, validation, testing, and devtools are all part of the framework, not third-party choices to make. Your job is to model the application's behavior, not to pick libraries or invent architecture.
Foldkit is not incremental. There is no React interop, no escape hatch, no "just do it the React way for this one part." The framework gives you one shape, and there is one way to do most things.
## How to approach the work
- **Pattern-match against Foldkit's own apps.** When the local code doesn't show you the answer (or shows an early-stage version of it), reach into the vendored foldkit subtree. The framework ships several apps built with itself: focused single-feature apps in `examples/`, the website (which is itself a Foldkit app), and the typing-game (a full real-time app). These are the canonical references. Higher fidelity than prose or anything reconstructed from memory.
- **The architecture is not optional.** Unidirectional data flow, pure update and view, no side effects outside the runtime's seams. Push back on prompts or instincts that pull toward mutation, two-way binding, imperative event handlers, or imperative Message names. Propose the idiomatic Foldkit shape and explain why.
- **Foldkit UI is two categories, not one.** Stateful Submodels (Menu, Listbox, Combobox, Calendar, Disclosure, Dialog, Popover, etc.) carry their own Model / Message / update / OutMessage and are embedded via `h.submodel`. Stateless render helpers (Button, Input, Textarea, Select, Fieldset) are called directly with a ViewConfig and the caller's `h`, and return Html. Do not migrate render helpers to Submodels for "consistency": Submodel semantics imply state, and these helpers have none. See the Foldkit UI overview page in the website for the canonical split.
- **Use what the Foldkit and Effect stack provides.** Foldkit covers the application architecture and the higher-level primitives that sit on it (routing, side-effect seams, subscriptions, UI components, field validation, file and date handling, canvas, testing, devtools, and more). Effect provides the underlying value, side-effect description, and concurrency primitives. Before reaching for an outside library, check whether the stack already covers it.
- **Let `modifyFields` setters receive the field.** If a `modifyFields` setter only transforms the current value of that same field, pass the transformer directly (`entries: Array.map(f)`, `count: Number.increment`, `priceSlider: Slider.reflectRange({ min: minPrice, max: maxPrice })`). Use `() => value` for replacement values from Messages, child updates, Commands, or other Model fields.
- **The repo is more authoritative than memory.** When in doubt about a convention, an API, a name, or a pattern, read from the vendored foldkit subtree rather than guessing. Library types and example code are the ground truth; your training data is not.View the complete source on GitHubgenerate-program
When your agent uses it
Generate a complete, idiomatic Foldkit program from a natural language description. Use when the user wants to create a new Foldkit program, scaffold a project, or says things like "build me a..." or "I want a program that..."
What it loads into context
Frontmatter
68 tokensAlways available to the agent
SKILL.md
18,653 tokensWhen the skill is activated
Reference documents
29,421 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Phase 1: Analyze the Description
- Phase 2: Study Reference Examples
- Phase 2.5: Identify Foldkit UI Component Opportunities
- Phase 3: Determine File Organization
- Phase 3.3: Architecture sketch (Tier 4+ only)
- Phase 3.5: Scaffold the Project
- Phase 3.7: Ground the Foldkit APIs
- Phase 4: Generate the App
- Phase 4.5: Self-check before verification
- Phase 5: Verify and Test
- Phase 5.5: Visual and a11y verification
- Phase 6: Subagent Review Loop
- Phase 7: Explain
Scripts executed separately
../../examples/auth/src/main.ts../../examples/auth/src/page/loggedOut/page/login.scene.test.ts../../examples/auth/src/page/loggedOut/page/login.story.test.ts../../examples/auth/src/scene.test.ts../../examples/counter/src/main.ts../../examples/form/src/main.ts../../examples/job-application/src/main.ts../../examples/kanban/src/main.ts../../examples/kanban/src/scene.test.ts../../examples/query-sync/src/main.ts../../examples/routing/src/main.ts../../examples/shopping-cart/src/main.ts../../examples/stopwatch/src/main.ts../../examples/todo/src/main.ts../../examples/ui-showcase/src/main.ts../../examples/ui-showcase/src/ui/message.ts../../examples/ui-showcase/src/ui/model.ts../../examples/ui-showcase/src/ui/subscriptions.ts../../examples/ui-showcase/src/ui/toast.ts../../examples/ui-showcase/src/ui/update.ts../../examples/weather/src/main.ts../../examples/weather/src/scene.test.ts../../examples/weather/src/story.test.ts../../packages/typing-game/client/src/update.ts../../packages/website/src/page/projectOrganization.ts../../packages/website/src/search/story.test.ts
Files
../../examples/auth/src/main.tsruns2,296 bytes../../examples/auth/src/page/loggedOut/page/login.scene.test.tsruns3,016 bytes../../examples/auth/src/page/loggedOut/page/login.story.test.tsruns2,852 bytes../../examples/auth/src/scene.test.tsruns1,637 bytes../../examples/counter/src/main.tsruns2,449 bytes../../examples/form/src/main.tsruns12,489 bytes../../examples/job-application/src/main.tsruns2,023 bytes../../examples/kanban/src/main.tsruns1,647 bytes../../examples/kanban/src/scene.test.tsruns4,335 bytes../../examples/query-sync/src/main.tsruns26,695 bytes../../examples/routing/src/main.tsruns17,072 bytes../../examples/shopping-cart/src/main.tsruns8,050 bytes../../examples/stopwatch/src/main.tsruns5,650 bytes../../examples/todo/src/main.tsruns18,729 bytes../../examples/ui-showcase/src/main.tsruns19,985 bytes../../examples/ui-showcase/src/ui/message.tsruns4,121 bytes../../examples/ui-showcase/src/ui/model.tsruns4,469 bytes../../examples/ui-showcase/src/ui/subscriptions.tsruns1,735 bytes../../examples/ui-showcase/src/ui/toast.tsruns452 bytes../../examples/ui-showcase/src/ui/update.tsruns39,391 bytes../../examples/weather/src/main.tsruns10,340 bytes../../examples/weather/src/scene.test.tsruns3,076 bytes../../examples/weather/src/story.test.tsruns3,856 bytes../../packages/typing-game/client/src/update.tsruns4,128 bytes../../packages/website/src/page/projectOrganization.tsruns160 bytes../../packages/website/src/search/story.test.tsruns5,300 bytesSKILL.mdcore80,726 bytesSKILL.mdcore80,726 bytesSKILL.mdcore80,726 bytesSKILL.mdcore80,726 bytesSKILL.mdcore80,726 bytesSKILL.mdcore80,726 bytesSKILL.mdcore80,726 bytesSKILL.mdcore80,726 bytesSKILL.mdcore80,726 bytesagents/openai.yamlasset216 bytesarchitecture.mddoc32,206 bytesblindSpots.mddoc17,229 byteschecklist.mddoc50,283 bytesconventions.mddoc28,669 bytes
Read SKILL.md
Generate a complete Foldkit program based on this description:
**$ARGUMENTS**
## Phase 1: Analyze the Description
Before writing any code, analyze the description to identify:
1. **Domain entities**: nouns that become Model fields (e.g., "todos", "user", "score")
2. **User interactions**: verbs that become Messages (e.g., "add", "delete", "filter", "submit")
3. **Async operations**: external data that becomes Commands (e.g., "fetch weather", "save to localStorage")
4. **Real-time needs**: streaming data that becomes Subscriptions (e.g., "live updates", "countdown", "WebSocket")
5. **Pages/navigation**: URL structure that becomes routes (e.g., "home page", "detail page")
6. **UI component needs**: interactive widgets that map to Foldkit UI components (e.g., "dropdown" → Menu, "modal" → Dialog, "tabs" → Tabs, "autocomplete" → Combobox, "date picker" → DatePicker, "file upload" → FileDrop, "reorderable list" → DragAndDrop, "toast/notification" → Toast, "hover tooltip" → Tooltip, "range/price filter" → Slider, "long scrolling list" → VirtualList)View the complete source on GitHubSkills included
- ai-docs
- bundle-analysis
- changesets
- ci-maintenance
- dependency-maintenance
- effect-development
- jsdocs
- migration-guidance
- package-development
- performance-analysis
- pull-requests
- test-development
- vendored-assets
- audit-program
- foldkit
- generate-program
Repository facts
- License
- MIT
- Created
- Jun 21, 2025
- Last pushed
- Nov 7, 2026
- Forks
- 68
- Open issues
- 292
- Project activity
- Active
Rank over the last 12 weeks
Now #775 · best #647 · same as 30 days ago
- #782 on Nov 2
- #779 on Nov 3
- #774 on Nov 4
- #775 on Nov 5
- #772 on Nov 6
- #775 since Nov 7
71 earlier periods
- #651 on Aug 2
- #643 on Aug 8
- #651 on Aug 9
- #677 on Aug 10
- #685 on Aug 11
- #677 on Aug 12
- #675 on Aug 13
- #673 on Aug 14
- #664 on Aug 16
- #679 on Aug 17
- #696 on Aug 18
- #674 on Aug 19
- #676 from Aug 20 to Aug 21
- #647 on Aug 22
- #698 on Aug 24
- #703 on Aug 25
- #684 on Aug 26
- #695 on Aug 27
- #720 on Aug 28
- #660 on Aug 29
- #664 on Aug 30
- #700 on Aug 31
- #712 on Sep 1
- #699 on Sep 2
- #701 on Sep 3
- #669 on Sep 5
- #685 on Sep 6
- #700 on Sep 7
- #724 on Sep 8
- #717 on Sep 10
- #704 on Sep 11
- #703 on Sep 12
- #724 on Sep 14
- #715 on Sep 15
- #723 on Sep 16
- #727 on Sep 17
- #710 on Sep 18
- #688 on Sep 19
- #734 on Sep 23
- #709 on Sep 24
- #690 on Sep 25
- #686 on Sep 26
- #717 on Sep 27
- #765 on Sep 29
- #743 on Sep 30
- #694 on Oct 1
- #707 on Oct 2
- #688 on Oct 3
- #716 on Oct 4
- #722 on Oct 5
- #732 on Oct 6
- #737 on Oct 7
- #775 on Oct 8
- #734 on Oct 9
- #715 on Oct 10
- #708 on Oct 11
- #722 from Oct 12 to Oct 13
- #733 on Oct 14
- #725 on Oct 15
- #732 on Oct 16
- #707 on Oct 17
- #701 on Oct 18
- #741 on Oct 19
- #743 on Oct 20
- #752 on Oct 21
- #729 on Oct 22
- #732 on Oct 23
- #695 on Oct 24
- #818 on Oct 25
- #817 from Oct 28 to Oct 30
- #820 from Oct 31 to Nov 1
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 4, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 24 notes
repos/effect/.agents/skills/ai-docs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedrepos/effect/.agents/skills/ai-docs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedrepos/effect/.agents/skills/changesets/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedrepos/effect/.agents/skills/changesets/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedrepos/effect/.agents/skills/effect-development/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedrepos/effect/.agents/skills/package-development/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedrepos/effect/.agents/skills/pull-requests/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedrepos/effect/.agents/skills/vendored-assets/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedrepos/effect/.agents/skills/vendored-assets/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/audit-program/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/audit-program/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/audit-program/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/audit-program/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/foldkit/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/foldkit/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/foldkit/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/generate-program/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/generate-program/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/generate-program/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/generate-program/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 7 dangerous shell commandsin 2 files: skills/generate-program/SKILL.md:663 skills/generate-program/checklist.md:19
- 27 network referencesin 5 files: skills/generate-program/SKILL.md:308 examples/weather/src/main.ts:86 skills/foldkit/SKILL.md:38 and 2 more
- No hidden or obfuscated text
- No instruction overrides
- 32 executable scriptsin 26 files: examples/counter/src/main.ts:1 examples/form/src/main.ts:1 examples/routing/src/main.ts:1 and 23 more
- No access to secrets
- No requests to vote in Hot
Show all 66 signals by file
examples/auth/src/main.ts
- Executable scriptline 1
Executable file
examples/auth/src/page/loggedOut/page/login.scene.test.ts
- Executable scriptline 1
Executable file
examples/auth/src/page/loggedOut/page/login.story.test.ts
- Executable scriptline 1
Executable file
examples/auth/src/scene.test.ts
- Executable scriptline 1
Executable file
examples/counter/src/main.ts
examples/form/src/main.ts
examples/job-application/src/main.ts
- Executable scriptline 1
Executable file
examples/kanban/src/main.ts
- Executable scriptline 1
Executable file
examples/kanban/src/scene.test.ts
- Executable scriptline 1
Executable file
examples/query-sync/src/main.ts
examples/routing/src/main.ts
examples/shopping-cart/src/main.ts
- Executable scriptline 1
Executable file
examples/stopwatch/src/main.ts
examples/todo/src/main.ts
- Executable scriptline 1
Executable file
examples/ui-showcase/src/main.ts
examples/ui-showcase/src/ui/message.ts
- Executable scriptline 1
Executable file
examples/ui-showcase/src/ui/model.ts
- Executable scriptline 1
Executable file
examples/ui-showcase/src/ui/subscriptions.ts
- Executable scriptline 1
Executable file
examples/ui-showcase/src/ui/toast.ts
- Executable scriptline 1
Executable file
examples/ui-showcase/src/ui/update.ts
- Executable scriptline 1
Executable file
examples/weather/src/main.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 86
const GEOCODING_API = 'https://geocoding-api.open-meteo.com/v1/search' - Network accessline 86
const GEOCODING_API = 'https://geocoding-api.open-meteo.com/v1/search' - Network accessline 87
const WEATHER_API = 'https://api.open-meteo.com/v1/forecast' - Network accessline 87
const WEATHER_API = 'https://api.open-meteo.com/v1/forecast'
examples/weather/src/scene.test.ts
- Executable scriptline 1
Executable file
examples/weather/src/story.test.ts
- Executable scriptline 1
Executable file
packages/typing-game/client/src/update.ts
- Executable scriptline 1
Executable file
packages/website/src/page/projectOrganization.ts
- Executable scriptline 1
Executable file
packages/website/src/search/story.test.ts
- Executable scriptline 1
Executable file
skills/audit-program/SKILL.md
- Network accessline 9
> **Recommended setup:** the audit is dramatically higher fidelity when `repos/foldkit/` is vendored as a git subtree in the audited project. Without it, you grade against the snapshots in `generate-program/architecture.md` and `conventions - Network accessline 9
> **Recommended setup:** the audit is dramatically higher fidelity when `repos/foldkit/` is vendored as a git subtree in the audited project. Without it, you grade against the snapshots in `generate-program/architecture.md` and `conventions
skills/foldkit/SKILL.md
- Network accessline 38
git subtree add --prefix=repos/foldkit https://github.com/foldkit/foldkit.git "foldkit@$(node -p "require('./node_modules/foldkit/package.json').version")" --squash - Network accessline 38
git subtree add --prefix=repos/foldkit https://github.com/foldkit/foldkit.git "foldkit@$(node -p "require('./node_modules/foldkit/package.json').version")" --squash - Network accessline 41
After a Foldkit package upgrade, re-pin with the same command, swapping `add` for `pull`. A canary install (`x.y.z-canary.<commit>` in `node_modules/foldkit/package.json`) has no tag; pin to the full hash of the commit its version names ins - Network accessline 41
After a Foldkit package upgrade, re-pin with the same command, swapping `add` for `pull`. A canary install (`x.y.z-canary.<commit>` in `node_modules/foldkit/package.json`) has no tag; pin to the full hash of the commit its version names ins
skills/generate-program/SKILL.md
- Network accessline 308
git add . git commit -m "chore: initial commit" git subtree add --prefix=repos/foldkit https://github.com/foldkit/foldkit.git "foldkit@$(node -p "require('./node_modules/foldkit/package.json').version")" --squash - Network accessline 308
git add . git commit -m "chore: initial commit" git subtree add --prefix=repos/foldkit https://github.com/foldkit/foldkit.git "foldkit@$(node -p "require('./node_modules/foldkit/package.json').version")" --squash - Network accessline 310
git subtree add --prefix=repos/foldkit https://github.com/foldkit/foldkit.git "foldkit@$(node -p "require('./node_modules/foldkit/package.json').version")" --squash - Network accessline 310
git subtree add --prefix=repos/foldkit https://github.com/foldkit/foldkit.git "foldkit@$(node -p "require('./node_modules/foldkit/package.json').version")" --squash - Network accessline 313
The `foldkit@<version>` tag pins the subtree to the release the scaffold just installed, so the vendored source, examples, and docs match the APIs the app compiles against. Vendoring `main` instead can hand future sessions examples and APIs - Network accessline 313
The `foldkit@<version>` tag pins the subtree to the release the scaffold just installed, so the vendored source, examples, and docs match the APIs the app compiles against. Vendoring `main` instead can hand future sessions examples and APIs - Network accessline 400
execute: ({ id }) => ..., }) update: [Fetch({ id })] // NOT Fetch({ id })(effect) - Network accessline 400
execute: ({ id }) => ..., }) update: [Fetch({ id })] // NOT Fetch({ id })(effect) - Network accessline 401
}) update: [Fetch({ id })] // NOT Fetch({ id })(effect) Document: NOT generic, and `body` is a single Html, not an array - Network accessline 401
}) update: [Fetch({ id })] // NOT Fetch({ id })(effect) Document: NOT generic, and `body` is a single Html, not an array - Network accessline 402
update: [Fetch({ id })] // NOT Fetch({ id })(effect) - Network accessline 402
update: [Fetch({ id })] // NOT Fetch({ id })(effect) - Network accessline 517
- Define Command identities with `Command.define`, whose second argument is a config object: `args` (optional) declares the args Schema, `messages` lists every Message the Command can produce, and `execute` holds the Effect. With args the s - Network accessline 517
- Define Command identities with `Command.define`, whose second argument is a config object: `args` (optional) declares the args Schema, `messages` lists every Message the Command can produce, and `execute` holds the Effect. With args the s - Dangerous shell operationline 663
Use whichever package manager the project was scaffolded with: `npm run`, `pnpm run`, `yarn`, or `bun run`. If a script is missing, run the project-local binary through that manager's exec (`pnpm exec oxfmt`, `npm exec --no-install oxfmt`, - Dangerous shell operationline 663
Use whichever package manager the project was scaffolded with: `npm run`, `pnpm run`, `yarn`, or `bun run`. If a script is missing, run the project-local binary through that manager's exec (`pnpm exec oxfmt`, `npm exec --no-install oxfmt`, - Dangerous shell operationline 674
If the project doesn't have a format/lint script, check `package.json` and run the binaries through your package manager's exec (`pnpm exec oxfmt` / `pnpm exec oxlint src`, or the npm / yarn / bun equivalent) directly. Don't skip either bec - Dangerous shell operationline 674
If the project doesn't have a format/lint script, check `package.json` and run the binaries through your package manager's exec (`pnpm exec oxfmt` / `pnpm exec oxlint src`, or the npm / yarn / bun equivalent) directly. Don't skip either bec
skills/generate-program/checklist.md
- Dangerous shell operationline 19
Invoke each through the package manager the project was scaffolded with (`npm run lint`, `pnpm run lint`, `yarn lint`, `bun run lint`). If a script is missing, run the project-local binary through that manager's exec (`pnpm exec oxlint src` - Dangerous shell operationline 19
Invoke each through the package manager the project was scaffolded with (`npm run lint`, `pnpm run lint`, `yarn lint`, `bun run lint`). If a script is missing, run the project-local binary through that manager's exec (`pnpm exec oxlint src` - Dangerous shell operationline 19
Invoke each through the package manager the project was scaffolded with (`npm run lint`, `pnpm run lint`, `yarn lint`, `bun run lint`). If a script is missing, run the project-local binary through that manager's exec (`pnpm exec oxlint src`
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 3 facts
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionexamples/query-sync/src/main.ts:608High confidence
- Contacts geocoding-api.open-meteo.com, which SKILL.md, the README and the plugin manifest do not mentionexamples/weather/src/main.ts:86High confidence
- Contacts api.open-meteo.com, which SKILL.md, the README and the plugin manifest do not mentionexamples/weather/src/main.ts:87High confidence
Signal confidence: 66 facts
- Executable script in code of a file that runsexamples/auth/src/main.ts:1High confidence
- Executable script in code of a testexamples/auth/src/page/loggedOut/page/login.scene.test.ts:1Low confidence
- Executable script in code of a testexamples/auth/src/page/loggedOut/page/login.story.test.ts:1Low confidence
- Executable script in code of a testexamples/auth/src/scene.test.ts:1Low confidence
- Executable script in code of a file that runsexamples/counter/src/main.ts:1High confidence
- Executable script in code of a file that runsexamples/counter/src/main.ts:1High confidence
- Executable script in code of a file that runsexamples/form/src/main.ts:1High confidence
- Executable script in code of a file that runsexamples/form/src/main.ts:1High confidence
- Executable script in code of a file that runsexamples/job-application/src/main.ts:1High confidence
- Executable script in code of a file that runsexamples/kanban/src/main.ts:1High confidence
- Executable script in code of a testexamples/kanban/src/scene.test.ts:1Low confidence
- Executable script in code of a file that runsexamples/query-sync/src/main.ts:1High confidence
- Network access in code of a file that runsexamples/query-sync/src/main.ts:606High confidence
- Network access in code of a file that runsexamples/query-sync/src/main.ts:607High confidence
- Network access in code of a file that runsexamples/query-sync/src/main.ts:608High confidence
- Executable script in code of a file that runsexamples/routing/src/main.ts:1High confidence
- Executable script in code of a file that runsexamples/routing/src/main.ts:1High confidence
- Executable script in code of a file that runsexamples/shopping-cart/src/main.ts:1High confidence
- Executable script in code of a file that runsexamples/stopwatch/src/main.ts:1High confidence
- Executable script in code of a file that runsexamples/stopwatch/src/main.ts:1High confidence
- Executable script in code of a file that runsexamples/todo/src/main.ts:1High confidence
- Executable script in code of a file that runsexamples/ui-showcase/src/main.ts:1High confidence
- Executable script in code of a file that runsexamples/ui-showcase/src/main.ts:1High confidence
- Executable script in code of a file that runsexamples/ui-showcase/src/ui/message.ts:1High confidence
- Executable script in code of a file that runsexamples/ui-showcase/src/ui/model.ts:1High confidence
- Executable script in code of a file that runsexamples/ui-showcase/src/ui/subscriptions.ts:1High confidence
- Executable script in code of a file that runsexamples/ui-showcase/src/ui/toast.ts:1High confidence
- Executable script in code of a file that runsexamples/ui-showcase/src/ui/update.ts:1High confidence
- Executable script in code of a file that runsexamples/weather/src/main.ts:1High confidence
- Executable script in code of a file that runsexamples/weather/src/main.ts:1High confidence
- Network access in code of a file that runsexamples/weather/src/main.ts:86High confidence
- Network access in code of a file that runsexamples/weather/src/main.ts:86High confidence
- Network access in code of a file that runsexamples/weather/src/main.ts:87High confidence
- Network access in code of a file that runsexamples/weather/src/main.ts:87High confidence
- Executable script in code of a testexamples/weather/src/scene.test.ts:1Low confidence
- Executable script in code of a testexamples/weather/src/story.test.ts:1Low confidence
- Executable script in code of a file that runspackages/typing-game/client/src/update.ts:1High confidence
- Executable script in code of a file that runspackages/website/src/page/projectOrganization.ts:1High confidence
- Executable script in code of a testpackages/website/src/search/story.test.ts:1Low confidence
- Network access in prose of the SKILL.mdskills/audit-program/SKILL.md:9Low confidence
- Network access in prose of the SKILL.mdaudit-program/SKILL.md:9Low confidence
- Network access in code of the SKILL.mdskills/foldkit/SKILL.md:38High confidence
- Network access in code of the SKILL.mdfoldkit/SKILL.md:38High confidence
- Network access in prose of the SKILL.mdskills/foldkit/SKILL.md:41Low confidence
- Network access in prose of the SKILL.mdfoldkit/SKILL.md:41Low confidence
- Network access in code of the SKILL.mdskills/generate-program/SKILL.md:308High confidence
- Network access in code of the SKILL.mdgenerate-program/SKILL.md:308High confidence
- Network access in code of the SKILL.mdskills/generate-program/SKILL.md:310High confidence
- Network access in code of the SKILL.mdgenerate-program/SKILL.md:310High confidence
- Network access in prose of the SKILL.mdskills/generate-program/SKILL.md:313Low confidence
and 16 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md repos/effect/.agents/skills/ai-docs/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md repos/effect/.agents/skills/ai-docs/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md repos/effect/.agents/skills/ai-docs/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md repos/effect/.agents/skills/ai-docs/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/foldkit-foldkit/)