#788 by GitHub stars
udecode/dotai
Skills for agents.
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
skills/chips/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 23788f52b0e9
No earlier version was observed for comparison.
skills/cleanup/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 23788f52b0e9
No earlier version was observed for comparison.
skills/passwords/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 23788f52b0e9
No earlier version was observed for comparison.
skills/plan-page/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 23788f52b0e9
No earlier version was observed for comparison.
skills/pstack-pulse/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 23788f52b0e9
No earlier version was observed for comparison.
skills/rca/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 23788f52b0e9
No earlier version was observed for comparison.
skills/redo/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 23788f52b0e9
No earlier version was observed for comparison.
skills/sync-pstack/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 23788f52b0e9
No earlier version was observed for comparison.
skills/test-audit/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 23788f52b0e9
No earlier version was observed for comparison.
skills/video-transcripts/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 23788f52b0e9
No earlier version was observed for comparison.
skills/walkthrough/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 23788f52b0e9
No earlier version was observed for comparison.
skills/worktree-workspace/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 23788f52b0e9
No earlier version was observed for comparison.
Verified commit 23788f52b0e903d8a119a24b21e4712c0bb15f8b
git clone --filter=blob:none --no-checkout https://github.com/udecode/dotai.git .hotskills/udecode-dotai && git -C .hotskills/udecode-dotai checkout --detach 23788f52b0e903d8a119a24b21e4712c0bb15f8b
# Copy each selected skill directory from .hotskills/udecode-dotai into .agents/skills/<skill-name>/Heat
3.6- Star growth, last 7 daysAhead of 52% of tracked repositories
- Star growth, last 24 hoursAhead of 5% of tracked repositories
- Rank movement, last 7 daysAhead of 16% of tracked repositories
- Commits, last 30 daysAhead of 98% 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
- chips
skills/chips - cleanup
skills/cleanup - passwords
skills/passwords - plan-page
skills/plan-page - pstack-pulse
skills/pstack-pulse - rca
skills/rca - redo
skills/redo - sync-pstack
skills/sync-pstack - test-audit
skills/test-audit - video-transcripts
skills/video-transcripts - walkthrough
skills/walkthrough - worktree-workspace
skills/worktree-workspace
How it works
chips
When your agent uses it
Run the project's suggested-task ledger, the chips. /chips alone brings this session's open tasks up to date: it applies what the ledger helper says, settles stale and split tasks, cards what can start and reports the board, and /chips all also takes the ship-list tasks and the ones no live session owns. Use for /chips, /chips offer, start or drop, "what chips are open", "suggest a task for X", "update the chips", "clean up the chips", "which chips are stale", at the last hand-back of a run that offered a task, and whenever pstack would file a tracked issue, a follow-up, a reflect Backlog item or an out-of-band PR.
What it loads into context
Frontmatter
173 tokensAlways available to the agent
SKILL.md
3,922 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
- Sweep
- Offer
- Close
- Start
- Drop
Files
SKILL.mdcore16,203 bytesSKILL.mdcore16,203 bytesSKILL.mdcore16,203 bytesSKILL.mdcore16,203 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcleanup
When your agent uses it
Free disk in a project by removing the git worktrees and Next.js cache folders nothing uses, keeping every worktree a session or process works in and every cache a running server holds. Use for /cleanup, "clean up worktrees", "free disk space", "what's using my disk", "delete unused worktrees or builds", or when a session-start hint counts old cleanup candidates.
What it loads into context
Frontmatter
95 tokensAlways available to the agent
SKILL.md
2,537 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
Scripts executed separately
scripts/scan.mjsscripts/scan.test.mjs
Files
SKILL.mdcore10,832 bytesscripts/scan.mjsruns43,911 bytesscripts/scan.test.mjsruns32,745 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubpasswords
When your agent uses it
Set up unattended 1Password access on a Mac or sign in to websites and apps without repeated human approvals. Use for new-device setup, passwords, authenticator codes, email or SMS verification, passkey alternatives, and blocked logins.
What it loads into context
Frontmatter
54 tokensAlways available to the agent
SKILL.md
741 tokensWhen the skill is activated
Reference documents
3,031 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Routine login
- Load only the route needed
Files
SKILL.mdcore3,711 bytesreferences/credential-recovery.mddoc2,040 bytesreferences/handoff.mddoc1,255 bytesreferences/new-mac.mddoc9,904 bytesreferences/verification.mddoc1,580 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubplan-page
When your agent uses it
Write, check, repair and publish a plan page: a project's plans and subject files under its plans directory, rendered by .agents/pstack/plan-page.mjs and rendered as one local HTML page per subject with a local index of every subject, and published to claude.ai at each hand-back for comments and feedback. The page is how planned work hands back to the user. Use before writing or changing a plan, a subject file in <plans>/topics or its page; at every stop that hands back work with a plan, such as a review verdict other than a review-only panel's, a next answer or a playbook's close; before writing or updating a PR body, which renders from the PR's plan, or a comment about your commits on someone else's PR; when a plan page or its claude.ai artifact looks wrong or refuses to render; to republish a page; or to change the page shape or a playbook's page sections.
What it loads into context
Frontmatter
240 tokensAlways available to the agent
SKILL.md
4,547 tokensWhen the skill is activated
Reference documents
6,225 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Render
- Check
- Repair
- PR
- Change
- Playbook sections
Files
SKILL.mdcore19,486 bytesSKILL.mdcore19,486 bytesSKILL.mdcore19,486 bytesSKILL.mdcore19,486 bytesSKILL.mdcore19,486 bytesSKILL.mdcore19,486 bytesSKILL.mdcore19,486 bytesSKILL.mdcore19,486 bytesSKILL.mdcore19,486 bytesSKILL.mdcore19,486 bytesreferences/shape.mddoc26,475 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubpstack-pulse
When your agent uses it
Show every Claude Code and Codex session on the iPhone lock screen through ActivitySmith and in the Mac menubar, with each plan page's pipeline, and buzz when a session needs you, ships or fails.
What it loads into context
Frontmatter
81 tokensAlways available to the agent
SKILL.md
3,127 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
- What it reports
- Install
- Updates
- Status and repair
- Menubar
- Pet
- Tests
Scripts executed separately
desktop/main.mjsdesktop/package.jsondesktop/pet.jsdesktop/preload.cjsscripts/hook.mjsscripts/lib/event.mjsscripts/lib/install.mjsscripts/lib/io.mjsscripts/lib/model.mjsscripts/lib/phone.mjsscripts/lib/pstack.mjsscripts/pulse.mjsscripts/pulse.test.mjs
Files
SKILL.mdcore13,582 bytesSKILL.mdcore13,582 bytesSKILL.mdcore13,582 bytesSKILL.mdcore13,582 bytesSKILL.mdcore13,582 bytesSKILL.mdcore13,582 bytesdesktop/index.htmlasset1,770 bytesdesktop/main.mjsruns4,120 bytesdesktop/package.jsonruns88 bytesdesktop/pet.jsruns3,924 bytesdesktop/preload.cjsruns520 bytesmenubar/PulseMenu.swiftasset9,988 bytesscripts/hook.mjsruns656 bytesscripts/lib/event.mjsruns3,839 bytesscripts/lib/install.mjsruns4,087 bytesscripts/lib/io.mjsruns15,947 bytesscripts/lib/model.mjsruns21,675 bytesscripts/lib/phone.mjsruns8,260 bytesscripts/lib/pstack.mjsruns11,567 bytesscripts/pulse.mjsruns18,216 bytesscripts/pulse.test.mjsruns46,494 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubrca
When your agent uses it
Turn Remote Control on for every non-archived Claude Code session in the Claude desktop app.
What it loads into context
Frontmatter
33 tokensAlways available to the agent
SKILL.md
264 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,095 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubredo
When your agent uses it
Redo a prior pstack run at the current session's higher effort or stronger model, treating its plan as a draft: rerun only the plan, design, subagent and seat lanes, code and review judgments that ran below the current level, and reuse the rest. Use for "redo <plan, page or PR>", "run poteto again on it at this effort", "treat this plan as a draft", a teammate's run made at a lower effort, or a Babysit whose levels check finds a unit below target.
What it loads into context
Frontmatter
129 tokensAlways available to the agent
SKILL.md
929 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.mdcore3,827 bytesSKILL.mdcore3,827 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubsync-pstack
When your agent uses it
Set up the pstack plugin in a project through an interview, and keep every pstack project on one pinned tag and one shared AGENTS.md overrides block. Use to set up or install pstack in a repo, sync, bump or update pstack everywhere, list which projects use pstack or have drifted, compare setups, audit a project's skills for drift from pstack (which to cut, fold or keep), change which work runs a panel, architect or an arena without asking ("from now on X runs architect"), or move a workflow lesson, including a plan page shape change, into every project. Not for choosing pstack's per-role models, which setup-pstack owns.
What it loads into context
Frontmatter
170 tokensAlways available to the agent
SKILL.md
10,444 tokensWhen the skill is activated
Reference documents
58,919 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Layers
- Run the script
- Choose the mode
- Setup
- Sync
- Compare
- Audit
- Reviews
- Lesson
- Project playbooks
- Template grammar
- Boundaries
- Resources
Scripts executed separately
../../scripts/build-workflow.mjs../../scripts/build-workflow.mjs../../scripts/build-workflow.mjs../../scripts/validate-skillsassets/pstack/checkout.mjsassets/pstack/codex-browser.mjsassets/pstack/codex-isolation.mjsassets/pstack/cross.mjsassets/pstack/cua-steps.mjsassets/pstack/decisions-check.mjsassets/pstack/freeze.mjsassets/pstack/guard.mjsassets/pstack/head.mjsassets/pstack/land.mjsassets/pstack/lead.mjsassets/pstack/levels.mjsassets/pstack/mutate.mjsassets/pstack/page-stop.mjsassets/pstack/plan-open.mjsassets/pstack/plan-page.mjsassets/pstack/proof.mjsassets/pstack/replay.mjsassets/pstack/reply.mjsassets/pstack/reread.mjsassets/pstack/review.mjsassets/pstack/scorecard.mjsassets/pstack/seats.mjsassets/pstack/setup.mjsassets/pstack/status.mjsassets/pstack/tasks.mjsassets/pstack/title.mjsscripts/audit.mjsscripts/block-budget.mjsscripts/lead.test.mjsscripts/page-files.test.mjsscripts/replay.test.mjsscripts/sync-pstack.mjsscripts/sync-pstack.test.mjsscripts/trunk.test.mjs
Files
../../scripts/build-workflow.mjsruns9,884 bytes../../scripts/build-workflow.mjsruns9,884 bytes../../scripts/build-workflow.mjsruns9,884 bytes../../scripts/validate-skillsruns2,500 bytesSKILL.mdcore45,273 bytesSKILL.mdcore45,273 bytesSKILL.mdcore45,273 bytesSKILL.mdcore45,273 bytesSKILL.mdcore45,273 bytesSKILL.mdcore45,273 bytesSKILL.mdcore45,273 bytesSKILL.mdcore45,273 bytesSKILL.mdcore45,273 bytesSKILL.mdcore45,273 bytesSKILL.mdcore45,273 bytesagents/openai.yamlasset273 bytesassets/block.mddoc48,486 bytesassets/pstack/checkout.mjsruns1,378 bytesassets/pstack/codex-browser.mjsruns5,604 bytesassets/pstack/codex-build.mddoc2,000 bytesassets/pstack/codex-isolation.mjsruns1,397 bytesassets/pstack/cross.mjsruns12,169 bytesassets/pstack/cua-steps.mjsruns5,032 bytesassets/pstack/decisions-check.mjsruns32,940 bytesassets/pstack/freeze.mjsruns3,979 bytesassets/pstack/guard.mjsruns18,757 bytesassets/pstack/head.mjsruns1,600 bytesassets/pstack/land.mjsruns37,845 bytesassets/pstack/lead.mjsruns15,469 bytesassets/pstack/levels.mjsruns8,592 bytesassets/pstack/mutate.mjsruns8,253 bytesassets/pstack/page-stop.mjsruns10,207 bytesassets/pstack/plan-open.mjsruns8,121 bytesassets/pstack/plan-page.mjsruns139,866 bytesassets/pstack/proof.mjsruns12,793 bytesassets/pstack/replay.mjsruns25,979 bytesassets/pstack/reply.mjsruns2,881 bytesassets/pstack/reread.mjsruns6,852 bytesassets/pstack/review.mjsruns21,291 bytesassets/pstack/rules/browser.mddoc3,697 bytesassets/pstack/rules/chips.mddoc55,214 bytesassets/pstack/rules/close.mddoc8,609 bytesassets/pstack/rules/codex.mddoc4,151 bytesassets/pstack/rules/fast.mddoc1,484 bytesassets/pstack/rules/land.mddoc19,505 bytesassets/pstack/rules/linked.mddoc1,090 bytesassets/pstack/rules/long-runs.mddoc5,363 bytesassets/pstack/rules/messages.mddoc1,524 bytesassets/pstack/rules/pages.mddoc7,949 bytesassets/pstack/rules/panel.mddoc30,862 bytesassets/pstack/rules/reflect.mddoc10,486 bytesassets/pstack/rules/tests.mddoc3,443 bytesassets/pstack/rules/time.mddoc6,386 bytesassets/pstack/rules/title.mddoc4,261 bytesassets/pstack/rules/trails.mddoc12,109 bytesassets/pstack/scorecard.mjsruns12,716 bytesassets/pstack/seats.mjsruns3,853 bytesassets/pstack/setup.mjsruns10,073 bytesassets/pstack/status.mjsruns13,986 bytesassets/pstack/tasks.mjsruns80,283 bytesassets/pstack/title.mjsruns1,922 bytesreferences/adapt.mddoc9,848 bytesreferences/audit-brief.mddoc2,119 bytesreferences/interview.mddoc15,588 bytesscripts/audit.mjsruns11,599 bytesscripts/block-budget.mjsruns2,733 bytesscripts/fixtures/page-files/refusal-prefix.htmlasset531 bytesscripts/fixtures/page-files/refusal-suffix.htmlasset1,132 bytesscripts/fixtures/page-files/sent.htmlasset1,119 bytesscripts/fixtures/page-files/stored-read.htmlasset1,665 bytesscripts/lead.test.mjsruns15,145 bytesscripts/page-files.test.mjsruns27,262 bytesscripts/replay.test.mjsruns27,631 bytesscripts/sync-pstack.mjsruns88,179 bytesscripts/sync-pstack.test.mjsruns482,422 bytesscripts/trunk.test.mjsruns101,078 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubtest-audit
When your agent uses it
Audit existing tests for low-value, duplicated or implementation-coupled cases and the test-only code they keep alive, then remove or rewrite them on evidence. /test-audit full covers the whole suite and also lists public contracts no test guards. Use for test-audit, /test-audit <scope>, /test-audit full, a test sweep, or pruning tests. Not for writing a new test; the project's Tests rule gates that.
What it loads into context
Frontmatter
99 tokensAlways available to the agent
SKILL.md
3,051 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
- The bar
- Scope
- Discover without editing the checkout
- Junk patterns
- Retention bar
- Evidence tiers
- Candidate evidence
- Edit shape
- Full mode
- Validate
- Handoff
Files
LICENSEasset1,170 bytesSKILL.mdcore14,356 bytesSKILL.mdcore14,356 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubvideo-transcripts
When your agent uses it
Transcribe a supplied local or linked video with Gemini Files API when its contents are needed as evidence.
What it loads into context
Frontmatter
29 tokensAlways available to the agent
SKILL.md
1,506 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
- Quick Start
- Use This When
- Workflow
- Output Contract
- Model Strategy
- Notes
Scripts executed separately
scripts/generate_video_transcript.sh
Files
SKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesSKILL.mdcore6,579 bytesscripts/generate_video_transcript.shruns19,248 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubwalkthrough
When your agent uses it
Present final screenshots or rendered artifacts as an annotated walkthrough when visual evidence is requested.
What it loads into context
Frontmatter
23 tokensAlways available to the agent
SKILL.md
1,210 tokensWhen the skill is activated
Reference documents
755 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Honor The Caller Contract
- Read The Minimum Evidence
- Pick The Shortest Story
- Capture The Real Artifact
- Annotation
- Protect Sensitive Data
- Write Plain Technical Prose
- Final Handoff
Scripts executed separately
scripts/diff-baseline.mjsscripts/diff-baseline.test.mjs
Files
SKILL.mdcore5,891 bytesSKILL.mdcore5,891 bytesSKILL.mdcore5,891 bytesagents/openai.yamlasset251 bytesreferences/annotation.mddoc2,373 bytesreferences/baseline.mddoc1,212 bytesscripts/diff-baseline.mjsruns6,445 bytesscripts/diff-baseline.test.mjsruns4,552 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubworktree-workspace
When your agent uses it
Open every git worktree of a project in one VS Code window, each folder labeled by its agent session's title. Use for /worktree-workspace, reviewing worktrees in VS Code, or seeing which worktree holds which task.
What it loads into context
Frontmatter
66 tokensAlways available to the agent
SKILL.md
366 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
Scripts executed separately
scripts/workspace.mjsscripts/workspace.test.mjs
Files
SKILL.mdcore1,581 bytesscripts/workspace.mjsruns5,489 bytesscripts/workspace.test.mjsruns1,975 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- chips
- cleanup
- passwords
- plan-page
- pstack-pulse
- rca
- redo
- sync-pstack
- test-audit
- video-transcripts
- walkthrough
- worktree-workspace
Repository facts
- License
- No license detected
- Created
- Sep 5, 2024
- Last pushed
- Nov 6, 2026
- Forks
- 82
- Open issues
- 0
- Project activity
- Active
Rank over the last 12 weeks
Now #788 · best #499 · down 178 in 30 days
- #777 on Oct 31
- #778 on Nov 1
- #779 on Nov 2
- #786 on Nov 3
- #789 on Nov 4
- #788 since Nov 5
14 earlier periods
- #536 on Aug 1
- #515 on Aug 6
- #499 on Aug 15
- #557 on Aug 28
- #552 on Sep 2
- #584 on Sep 14
- #633 on Sep 29
- #612 on Oct 2
- #610 on Oct 4
- #647 on Oct 17
- #755 on Oct 25
- #765 on Oct 28
- #769 on Oct 29
- #772 on Oct 30
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 3, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 81 notes
skills/chips/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/chips/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/chips/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/plan-page/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/plan-page/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/plan-page/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/plan-page/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/plan-page/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/plan-page/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/plan-page/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/plan-page/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/plan-page/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/pstack-pulse/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/pstack-pulse/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/pstack-pulse/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/pstack-pulse/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/pstack-pulse/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/redo/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedscripts/build-workflow.mjs:1Analysis incomplete: Referenced executable target unavailable; not analyzedscripts/build-workflow.mjs:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 7 dangerous shell commandsin 5 files: sync-pstack/assets/pstack/land.mjs:196 sync-pstack/scripts/lead.test.mjs:141 sync-pstack/assets/pstack/lead.mjs:88 and 2 more
- 259 network referencesin 20 files: sync-pstack/scripts/sync-pstack.test.mjs:661 pstack-pulse/scripts/pulse.test.mjs:169 sync-pstack/scripts/page-files.test.mjs:178 and 17 more
- No hidden or obfuscated text
- No instruction overrides
- 59 executable scriptsin 57 files: scripts/build-workflow.mjs:1 scripts/validate-skills:1 cleanup/scripts/scan.mjs:1 and 54 more
- 39 references to secretsin 10 files: video-transcripts/scripts/generate_video_transcript.sh:57 passwords/references/new-mac.md:5 pstack-pulse/scripts/pulse.test.mjs:107 and 7 more
- No requests to vote in Hot
Show all 364 signals by file
scripts/build-workflow.mjs
- Executable scriptline 1
#!/usr/bin/env node - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Access to secretsline 22
[Credential-related source omitted] - Access to secretsline 26
[Credential-related source omitted] - Network accessline 62
if (remote) { if (!remote.files?.['SKILL.md'] || !/^[a-f0-9]{40}$/.test(remote.revision)) throw new Error(`Missing pinned upstream evidence: ${name}`); return { ...remote, distribution: 'remote', dependencies: explicitDependencies[n - Network accessline 63
if (!remote.files?.['SKILL.md'] || !/^[a-f0-9]{40}$/.test(remote.revision)) throw new Error(`Missing pinned upstream evidence: ${name}`); return { ...remote, distribution: 'remote', dependencies: explicitDependencies[name] || [], instal - Network accessline 64
return { ...remote, distribution: 'remote', dependencies: explicitDependencies[name] || [], installSource: `https://github.com/${remote.source}/tree/${remote.revision}${remote.sourceDirectory ? '/' + remote.sourceDirectory : ''}` }; - Network accessline 96
for (const name of names) { const skill = skills.find((skill) => skill.name === name); const url = skill.distribution === 'remote' ? `https://github.com/${skill.source}/blob/${skill.revision}/${skill.path}/SKILL.md` : `skills/${name - Network accessline 97
const skill = skills.find((skill) => skill.name === name); const url = skill.distribution === 'remote' ? `https://github.com/${skill.source}/blob/${skill.revision}/${skill.path}/SKILL.md` : `skills/${name}/SKILL.md`; catalog += `| [ - Network accessline 98
const url = skill.distribution === 'remote' ? `https://github.com/${skill.source}/blob/${skill.revision}/${skill.path}/SKILL.md` : `skills/${name}/SKILL.md`; - Network accessline 101
} catalog += '\n## Unchanged upstream installation\n\nFor a project-local install, run these from the project directory and name each agent; use `--global` only for an explicitly requested user-wide install. Skip a skill whose pinned conten - Network accessline 102
catalog += '\n## Unchanged upstream installation\n\nFor a project-local install, run these from the project directory and name each agent; use `--global` only for an explicitly requested user-wide install. Skip a skill whose pinned contents - Network accessline 103
for (const skill of upstream.skills) catalog += `npx --yes skills@${upstream.skillsCliVersion} add https://github.com/${skill.source}/tree/${skill.revision}${skill.sourceDirectory ? '/' + skill.sourceDirectory : ''} --skill ${skill.name} --
scripts/validate-skills
- Executable scriptline 1
#!/usr/bin/env bash
skills/cleanup/scripts/scan.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/cleanup/scripts/scan.test.mjs
- Executable scriptline 1
Executable file
skills/passwords/SKILL.md
skills/passwords/references/new-mac.md
- Access to secretsline 5
[Credential-related source omitted] - Network accessline 23
4. Install or locate the 1Password desktop app and [1Password CLI](https://www.1password.dev/cli/get-started). - Network accessline 24
[1Password CLI](https://www.1password.dev/cli/get-started). - Access to secretsline 47
[Credential-related source omitted] - Network accessline 75
printing captured output. 4. If the account cannot create service accounts, follow the [official setup guide](https://www.1password.dev/service-accounts/get-started) - Network accessline 76
4. If the account cannot create service accounts, follow the [official setup guide](https://www.1password.dev/service-accounts/get-started) and resolve the missing account permission with the owner or administrator. - Network accessline 77
[official setup guide](https://www.1password.dev/service-accounts/get-started) - Access to secretsline 87
[Credential-related source omitted] - Access to secretsline 92
[Credential-related source omitted] - Access to secretsline 96
[Credential-related source omitted] - Access to secretsline 109
[Credential-related source omitted] - Access to secretsline 112
[Credential-related source omitted] - Access to secretsline 119
[Credential-related source omitted] - Access to secretsline 134
[Credential-related source omitted] - Access to secretsline 140
[Credential-related source omitted] - Access to secretsline 149
[Credential-related source omitted] - Network accessline 168
For current creation flags and limitations, consult the [service-account command reference](https://www.1password.dev/cli/reference/management-commands/service-account). - Network accessline 169
[service-account command reference](https://www.1password.dev/cli/reference/management-commands/service-account).
skills/pstack-pulse/SKILL.md
- Access to secretsline 31
[Credential-related source omitted]
skills/pstack-pulse/desktop/main.mjs
- Executable scriptline 1
Executable file - Network accessline 7
const HOME = join(homedir(), '.pstack-pulse'); const SPRITE_URL = 'https://persistent.oaistatic.com/codex/pets/v1/codex-spritesheet-v4.webp'; - Network accessline 8
const SPRITE_URL = 'https://persistent.oaistatic.com/codex/pets/v1/codex-spritesheet-v4.webp'; - Network accessline 32
if (!existsSync(SPRITE)) { mkdirSync(dirname(SPRITE), { recursive: true }); const response = await fetch(SPRITE_URL); - Network accessline 33
mkdirSync(dirname(SPRITE), { recursive: true }); const response = await fetch(SPRITE_URL); if (!response.ok) throw new Error(`sprite download failed: ${response.status}`); - Network accessline 34
const response = await fetch(SPRITE_URL); - Network accessline 42
try { const { listPort, secret } = JSON.parse(readFileSync(join(HOME, 'config.json'), 'utf8')); const response = await fetch(`http://127.0.0.1:${listPort}/${secret}/state.json`); - Network accessline 43
const { listPort, secret } = JSON.parse(readFileSync(join(HOME, 'config.json'), 'utf8')); const response = await fetch(`http://127.0.0.1:${listPort}/${secret}/state.json`); win.webContents.send('state', response.ok ? await response. - Network accessline 44
const response = await fetch(`http://127.0.0.1:${listPort}/${secret}/state.json`);
skills/pstack-pulse/desktop/package.json
- Executable scriptline 1
Executable file
skills/pstack-pulse/desktop/pet.js
- Executable scriptline 1
Executable file
skills/pstack-pulse/desktop/preload.cjs
- Executable scriptline 1
Executable file
skills/pstack-pulse/menubar/PulseMenu.swift
skills/pstack-pulse/scripts/hook.mjs
- Executable scriptline 1
Executable file
skills/pstack-pulse/scripts/lib/event.mjs
- Executable scriptline 1
Executable file
skills/pstack-pulse/scripts/lib/install.mjs
- Executable scriptline 1
Executable file - Network accessline 45
export const plistOf = ({ label, args, log, path, untilQuit = false }) => `<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> - Network accessline 46
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
skills/pstack-pulse/scripts/lib/io.mjs
skills/pstack-pulse/scripts/lib/model.mjs
- Executable scriptline 1
Executable file
skills/pstack-pulse/scripts/lib/phone.mjs
skills/pstack-pulse/scripts/lib/pstack.mjs
- Executable scriptline 1
Executable file
skills/pstack-pulse/scripts/pulse.mjs
- Executable scriptline 1
Executable file - Network accessline 55
project: projectOf(session.cwd), account: session.runtime === 'codex' ? null : session.entrypoint === 'cli' ? accountCache.value.cli : accountCache.value.desktop, webUrl: session.runtime === 'claude' && session.bridge ? `htt - Network accessline 56
account: session.runtime === 'codex' ? null : session.entrypoint === 'cli' ? accountCache.value.cli : accountCache.value.desktop, webUrl: session.runtime === 'claude' && session.bridge ? `https://claude.ai/code/${session.bridge}` : - Network accessline 57
webUrl: session.runtime === 'claude' && session.bridge ? `https://claude.ai/code/${session.bridge}` : null, - Network accessline 237
config.secret ??= randomBytes(24).toString('hex'); const dns = JSON.parse(spawnSync('tailscale', ['status', '--json'], { encoding: 'utf8' }).stdout || '{}').Self?.DNSName?.replace(/\.$/u, ''); if (dns) config.listUrl = `https://${dns}:8 - Network accessline 238
const dns = JSON.parse(spawnSync('tailscale', ['status', '--json'], { encoding: 'utf8' }).stdout || '{}').Self?.DNSName?.replace(/\.$/u, ''); if (dns) config.listUrl = `https://${dns}:8443/${config.secret}/`; if (process.argv.includes(' - Network accessline 239
if (dns) config.listUrl = `https://${dns}:8443/${config.secret}/`; - Network accessline 253
console.log('still yours to do:'); console.log(' security add-generic-password -s pstack-pulse -a activitysmith -w (paste the ActivitySmith key)'); console.log(` tailscale funnel --bg --https=8443 http://127.0.0.1:${config.listPort} - Network accessline 254
console.log(' security add-generic-password -s pstack-pulse -a activitysmith -w (paste the ActivitySmith key)'); console.log(` tailscale funnel --bg --https=8443 http://127.0.0.1:${config.listPort} (publishes the read-only list)`); - Network accessline 255
console.log(` tailscale funnel --bg --https=8443 http://127.0.0.1:${config.listPort} (publishes the read-only list)`);
skills/pstack-pulse/scripts/pulse.test.mjs
- Executable scriptline 1
Executable file - Access to secretsline 107
[Credential-related source omitted] - Access to secretsline 108
[Credential-related source omitted] - Network accessline 169
const sessions = {}; reduce(sessions, hook('scrub', 'UserPromptSubmit', 0, { cwd: '/w/a' })); const rail = (state) => ({ page: 'https://claude.ai/artifact/scrub', stages: [{ label: 'Plan', state: 'done' }, { label: 'Reflect', state }], - Network accessline 170
reduce(sessions, hook('scrub', 'UserPromptSubmit', 0, { cwd: '/w/a' })); const rail = (state) => ({ page: 'https://claude.ai/artifact/scrub', stages: [{ label: 'Plan', state: 'done' }, { label: 'Reflect', state }], steps: { checked: 12, t - Network accessline 171
const rail = (state) => ({ page: 'https://claude.ai/artifact/scrub', stages: [{ label: 'Plan', state: 'done' }, { label: 'Reflect', state }], steps: { checked: 12, total: 12 } }); - Network accessline 174
assert.deepEqual([done.content_state.current_step, done.content_state.number_of_steps], [1, 3]); assert.equal(done.page, null); assert.equal(row('waiting').page, 'https://claude.ai/artifact/scrub'); - Network accessline 175
assert.equal(done.page, null); assert.equal(row('waiting').page, 'https://claude.ai/artifact/scrub'); }); - Network accessline 176
assert.equal(row('waiting').page, 'https://claude.ai/artifact/scrub'); - Access to secretsline 187
[Credential-related source omitted] - Network accessline 195
for (let index = 0; index < 10; index += 1) reduce(sessions, hook(`s${index}`, 'UserPromptSubmit', index, { cwd: '/w/ellie' })); reduce(sessions, { ...ask('s9', 20), cwd: '/w/ellie' }); const card = projectCard(sessions, { s9: 'https:// - Network accessline 196
reduce(sessions, { ...ask('s9', 20), cwd: '/w/ellie' }); const card = projectCard(sessions, { s9: 'https://claude.ai/code/s9' }); const { metrics, subtitle } = card.content_state; - Network accessline 197
const card = projectCard(sessions, { s9: 'https://claude.ai/code/s9' }); - Network accessline 201
assert.deepEqual(metrics[7], { label: 'more', value: '+3', color: 'gray' }); assert.equal(subtitle, 's9: Ship s9?'); assert.equal(card.action.url, 'https://claude.ai/code/s9'); - Network accessline 202
assert.equal(subtitle, 's9: Ship s9?'); assert.equal(card.action.url, 'https://claude.ai/code/s9'); }); - Network accessline 203
assert.equal(card.action.url, 'https://claude.ai/code/s9'); - Network accessline 266
reduce(sessions, hook('unlinked', 'UserPromptSubmit', 1, { cwd: '/w/ellie' })); reduce(sessions, { ...ask('unlinked', 2), cwd: '/w/ellie' }); const card = projectCard(sessions, { linked: 'https://claude.ai/code/linked' }, { listUrl: 'ht - Network accessline 267
reduce(sessions, { ...ask('unlinked', 2), cwd: '/w/ellie' }); const card = projectCard(sessions, { linked: 'https://claude.ai/code/linked' }, { listUrl: 'https://list.example/secret/' }); assert.deepEqual(card.action, { title: 'All sess - Network accessline 268
const card = projectCard(sessions, { linked: 'https://claude.ai/code/linked' }, { listUrl: 'https://list.example/secret/' }); - Network accessline 269
assert.deepEqual(card.action, { title: 'All sessions', type: 'open_url', url: 'https://list.example/secret/' }); - Network accessline 279
return join(root, name); }; const [first, second, solo] = [repo('r', 'git@github.com:o/r.git'), repo('r-2', 'https://github.com/o/r'), repo('solo')]; - Network accessline 280
}; const [first, second, solo] = [repo('r', 'git@github.com:o/r.git'), repo('r-2', 'https://github.com/o/r'), repo('solo')]; mkdirSync(join(root, 'plain')); - Network accessline 281
const [first, second, solo] = [repo('r', 'git@github.com:o/r.git'), repo('r-2', 'https://github.com/o/r'), repo('solo')]; - Access to secretsline 457
[Credential-related source omitted] - Network accessline 463
let stored = null; const requests = []; const client = createClient({ getKey: () => stored, recheckMs: 0, fetchImpl: async (url) => (requests.push(url), new Response('{}', { status: 200 })) }); - Network accessline 464
const requests = []; const client = createClient({ getKey: () => stored, recheckMs: 0, fetchImpl: async (url) => (requests.push(url), new Response('{}', { status: 200 })) }); assert.equal((await client.badge(1)).kind, 'no-key'); - Network accessline 465
const client = createClient({ getKey: () => stored, recheckMs: 0, fetchImpl: async (url) => (requests.push(url), new Response('{}', { status: 200 })) }); - Network accessline 589
const sessions = {}; const watch = { id: 'w1', type: 'monitor', status: 'running', description: 'live updates for artifact 1kmVRY8AvwRkf1KwqAuSxM (watch)' }; const presence = { id: 'w2', type: 'monitor', status: 'running', description: - Network accessline 590
const watch = { id: 'w1', type: 'monitor', status: 'running', description: 'live updates for artifact 1kmVRY8AvwRkf1KwqAuSxM (watch)' }; const presence = { id: 'w2', type: 'monitor', status: 'running', description: 'presence on artifact h - Network accessline 591
const presence = { id: 'w2', type: 'monitor', status: 'running', description: 'presence on artifact https://claude.ai/artifact/1kmVRY8AvwRkf1KwqAuSxM' }; - Network accessline 621
reduce(sessions, { kind: 'registry', runtime: 'claude', session: 'desk', at: at(1), host: 'local_abc', status: 'busy', name: null, bridge: 'session_x', entrypoint: 'claude-desktop', pid: 1 }); reduce(sessions, hook('cli', 'UserPromptSubmi - Network accessline 622
reduce(sessions, hook('cli', 'UserPromptSubmit', 2, { cwd: '/w/a' })); const open = { page: 'https://claude.ai/artifact/p', stages: [{ label: 'Build', state: 'now' }], steps: { checked: 0, total: 0 } }; const menu = menuBoardOf(viewsOf( - Network accessline 623
const open = { page: 'https://claude.ai/artifact/p', stages: [{ label: 'Build', state: 'now' }], steps: { checked: 0, total: 0 } }; - Network accessline 624
const menu = menuBoardOf(viewsOf(sessions, { cli: 'https://claude.ai/code/session_y' }, { desk: open }), { now: T0 + 60_000, shippedToday: 0, pstack: NO_PSTACK }); - Network accessline 625
const row = (id) => menu.cards.find(({ key }) => key === keyOf(sessions[`claude:${id}`])); assert.equal(row('desk').open, 'claude://claude.ai/epitaxy/local_abc'); assert.equal(row('desk').page, 'https://claude.ai/artifact/p'); - Network accessline 626
assert.equal(row('desk').open, 'claude://claude.ai/epitaxy/local_abc'); assert.equal(row('desk').page, 'https://claude.ai/artifact/p'); assert.equal(row('cli').open, 'https://claude.ai/code/session_y'); - Network accessline 627
assert.equal(row('desk').page, 'https://claude.ai/artifact/p'); - Network accessline 628
assert.equal(row('cli').open, 'https://claude.ai/code/session_y'); - Network accessline 632
const sessions = {}; reduce(sessions, { ...ask('asker', 1), cwd: '/w/a' }); const open = { page: 'https://claude.ai/artifact/p', stages: [{ label: 'Build', state: 'now' }], steps: { checked: 0, total: 0 } }; - Network accessline 633
reduce(sessions, { ...ask('asker', 1), cwd: '/w/a' }); const open = { page: 'https://claude.ai/artifact/p', stages: [{ label: 'Build', state: 'now' }], steps: { checked: 0, total: 0 } }; const [incident] = incidentsOf(viewsOf(sessions, - Network accessline 634
const open = { page: 'https://claude.ai/artifact/p', stages: [{ label: 'Build', state: 'now' }], steps: { checked: 0, total: 0 } }; - Network accessline 635
const [incident] = incidentsOf(viewsOf(sessions, { asker: 'https://claude.ai/code/session_a' }, { asker: open })).values(); - Network accessline 636
const bodies = []; const fetchImpl = async (url, init) => (bodies.push(JSON.parse(init.body)), { ok: true, status: 200, text: async () => '{}', headers: { get: () => null } }); await createClient({ getKey: () => 'key', fetchImpl }).push - Network accessline 637
const fetchImpl = async (url, init) => (bodies.push(JSON.parse(init.body)), { ok: true, status: 200, text: async () => '{}', headers: { get: () => null } }); await createClient({ getKey: () => 'key', fetchImpl }).push(incident, 'https://l - Network accessline 638
await createClient({ getKey: () => 'key', fetchImpl }).push(incident, 'https://list.example/'); - Network accessline 639
assert.equal(bodies[0].redirection, 'https://claude.ai/code/session_a'); - Network accessline 640
assert.deepEqual(bodies[0].actions.map(({ url }) => url), ['https://claude.ai/artifact/p', 'https://list.example/']);
skills/sync-pstack/assets/block.md
- Network accessline 280
- **Principles in replies.** pstack's principle skills still apply. Read the leaf skill for any principle a decision rests on, as poteto-mode's Principles list says. Only the rule to name each principle in the reply is dropped; name one onl - Network accessline 281
<!-- # adds --> - **Links in replies.** A reply or report names each file, commit, PR, issue and page in its text without a link, and ends with one list of those links, local ones such as files and sessions first, then external ones (owner' - Network accessline 282
- **Links in replies.** A reply or report names each file, commit, PR, issue and page in its text without a link, and ends with one list of those links, local ones such as files and sessions first, then external ones (owner's word, 2026-10-
skills/sync-pstack/assets/pstack/checkout.mjs
- Executable scriptline 1
Executable file
skills/sync-pstack/assets/pstack/codex-browser.mjs
- Executable scriptline 1
Executable file
skills/sync-pstack/assets/pstack/codex-isolation.mjs
- Executable scriptline 1
Executable file
skills/sync-pstack/assets/pstack/cross.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/cua-steps.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/decisions-check.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/freeze.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/guard.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/head.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/land.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 165
async function fetch() { - Dangerous shell operationline 196
? `\nOf those, ${rebuilt.join(', ')} ${rebuilt.length === 1 ? 'is' : 'are'} generated: once the others are resolved, take ${where}'s side with \`git checkout --ours -- <path>\`, or \`git rm <path>\` where that side deleted it, run ${owners. - Dangerous shell operationline 281
`Put ${one ? 'it' : 'them'} back with \`${pair.restore ?? `git --git-dir=${pair.dir} --work-tree=. checkout -- <path>`}\`, or stage each deletion the task makes with \`git --git-dir=${pair.dir} --work-tree=. rm --cached -- <path>\`, then ru - Network accessline 497
await fetch(); - Network accessline 593
moves += 1; console.log(`origin/${branch} moved; rebasing and pushing again (retry ${moves} of ${RETRIES})`); await fetch(); - Network accessline 594
console.log(`origin/${branch} moved; rebasing and pushing again (retry ${moves} of ${RETRIES})`); await fetch(); rebase(); - Network accessline 595
await fetch();
skills/sync-pstack/assets/pstack/lead.mjs
skills/sync-pstack/assets/pstack/levels.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/mutate.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/page-stop.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/plan-open.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/plan-page.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 27
const FONTS = 'https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap'; - Network accessline 28
const HLJS = 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js'; - Network accessline 207
const PAGE_HEAD = `<meta charset="utf-8"> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 208
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 2098
const get = async (path) => { try { const response = await fetch(path.split('/').map(encodeURIComponent).join('/'), { cache: 'no-cache' }); - Network accessline 2099
try { const response = await fetch(path.split('/').map(encodeURIComponent).join('/'), { cache: 'no-cache' }); if (!response.ok) throw new Error(String(response.status)); - Network accessline 2100
const response = await fetch(path.split('/').map(encodeURIComponent).join('/'), { cache: 'no-cache' }); - Network accessline 2370
try { execFileSync('git', ['cat-file', '-e', `${github.sha}:${where}`], { cwd: root, stdio: 'ignore' }); return `https://github.com/${github.repo}/blob/${github.sha}/${where}`; - Network accessline 2371
execFileSync('git', ['cat-file', '-e', `${github.sha}:${where}`], { cwd: root, stdio: 'ignore' }); return `https://github.com/${github.repo}/blob/${github.sha}/${where}`; } catch { - Network accessline 2372
return `https://github.com/${github.repo}/blob/${github.sha}/${where}`; - Network accessline 2617
plans: () => titled('Plans', entries.map((entry) => `- ${link(entry)}`)), }; const range = since && (github ? [`[My commits after yours](https://diffshub.com/${github.repo}/compare/${since}...${github.sha})`, ''] : [`My commits after \` - Network accessline 2618
}; const range = since && (github ? [`[My commits after yours](https://diffshub.com/${github.repo}/compare/${since}...${github.sha})`, ''] : [`My commits after \`${since}\``, '']); const region = [PR_START, ...models, '', ...(range || [ - Network accessline 2619
const range = since && (github ? [`[My commits after yours](https://diffshub.com/${github.repo}/compare/${since}...${github.sha})`, ''] : [`My commits after \`${since}\``, '']);
skills/sync-pstack/assets/pstack/proof.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/replay.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/reply.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/reread.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/review.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 250
const listed = open.filter(shown); const title = (commit) => commit.repo.slug ? `📦 [${commit.subject.replace(/[[\]]/gu, '\\$&')}](https://diffshub.com/${commit.repo.slug}/commit/${commit.sha})` : `${commit.short} ${commit.subject}`; - Network accessline 251
const title = (commit) => commit.repo.slug ? `📦 [${commit.subject.replace(/[[\]]/gu, '\\$&')}](https://diffshub.com/${commit.repo.slug}/commit/${commit.sha})` : `${commit.short} ${commit.subject}`; const groups = new Map(); - Network accessline 252
commit.repo.slug ? `📦 [${commit.subject.replace(/[[\]]/gu, '\\$&')}](https://diffshub.com/${commit.repo.slug}/commit/${commit.sha})` : `${commit.short} ${commit.subject}`;
skills/sync-pstack/assets/pstack/rules/browser.md
- Network accessline 9
- **Frames.** An agent's browser can throttle a page nobody is looking at. A hidden Claude Code built-in pane runs one or two animation frames a second while `document.visibilityState` still says `visible`. A Claude in Chrome tab that repor - Network accessline 10
<!-- # adds --> - **Local servers.** In the Claude Code desktop app, the built-in pane opens a local server the agent started. `preview_start` with the server's `url`, such as `http://localhost:3527`, opens it in a new tab, and `navigate` r - Network accessline 11
- **Local servers.** In the Claude Code desktop app, the built-in pane opens a local server the agent started. `preview_start` with the server's `url`, such as `http://localhost:3527`, opens it in a new tab, and `navigate` reaches any path
skills/sync-pstack/assets/pstack/rules/land.md
- Dangerous shell operationline 18
- **Companion repository.** When `.agents/pstack.json` names a `companion`, a second git repository tracks the files `companion.list` names, in the same folder, through the git directory `companion.dir`, and this checkout's git ignores thos
skills/sync-pstack/assets/pstack/scorecard.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/seats.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/assets/pstack/setup.mjs
skills/sync-pstack/assets/pstack/status.mjs
- Executable scriptline 1
Executable file
skills/sync-pstack/assets/pstack/tasks.mjs
- Executable scriptline 1
Executable file - Network accessline 1088
'', onTrunk ? `Work in your own worktree, and land the task yourself from it with node .agents/pstack/land.mjs, as ${root}/.agents/pstack/rules/land.md says. Write your run directory under ${root}/${artifacts} by absolute path, so - Network accessline 1089
onTrunk ? `Work in your own worktree, and land the task yourself from it with node .agents/pstack/land.mjs, as ${root}/.agents/pstack/rules/land.md says. Write your run directory under ${root}/${artifacts} by absolute path, so removin - Network accessline 1090
? `Work in your own worktree, and land the task yourself from it with node .agents/pstack/land.mjs, as ${root}/.agents/pstack/rules/land.md says. Write your run directory under ${root}/${artifacts} by absolute path, so removing your worktre - Network accessline 1091
: `When you work in your own worktree and your project's rules bring your work to ${ref} as a patch rather than through your own branch, you may commit in your worktree as you go. When you finish, land it yourself: run git add -A in your wo - Network accessline 1118
subject = git('log', '-1', '--format=%s', sha).replace(/[[\]]/gu, '\\$&'); } catch {} return `📦 [${subject}](https://diffshub.com/${repo}/commit/${sha})`; - Network accessline 1119
} catch {} return `📦 [${subject}](https://diffshub.com/${repo}/commit/${sha})`; }; - Network accessline 1120
return `📦 [${subject}](https://diffshub.com/${repo}/commit/${sha})`;
skills/sync-pstack/assets/pstack/title.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/scripts/audit.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/sync-pstack/scripts/block-budget.mjs
- Executable scriptline 1
Executable file
skills/sync-pstack/scripts/lead.test.mjs
- Executable scriptline 1
Executable file - Dangerous shell operationline 141
const args = `/bin/zsh -c source /Users/x/.claude/shell-snapshots/snapshot-zsh-1.sh 2>/dev/null || true && setopt NO_EXTENDED_GLOB NO_BARE_GLOB_QUAL 2>/dev/null || true && eval 'echo '"'"'it'"'"'"'"'"'"'"'"'s'"'"' "x'"'"'y" >/dev/null; ps - - Dangerous shell operationline 160
const argv = execFileSync('/bin/sh', ['-c', `true && eval '${command.replaceAll("'", `'"'"'`)}'`], { encoding: 'utf8' });
skills/sync-pstack/scripts/page-files.test.mjs
- Executable scriptline 1
Executable file - Network accessline 178
writeFileSync(join(root, path), text); }; write('docs/plans/topics/stage.md', '# Stage\n\nPage: https://claude.ai/artifact/stage\n\n## Main changes\n\n- Pages go live.\n'); - Network accessline 179
}; write('docs/plans/topics/stage.md', '# Stage\n\nPage: https://claude.ai/artifact/stage\n\n## Main changes\n\n- Pages go live.\n'); write('docs/plans/2026-01-01-other.md', `# Other\n\nStatus: waiting for the owner\nTopic: stage\n\n${B - Network accessline 180
write('docs/plans/topics/stage.md', '# Stage\n\nPage: https://claude.ai/artifact/stage\n\n## Main changes\n\n- Pages go live.\n'); - Network accessline 300
const out = join(root, 'docs/plans/artifacts/pages/stage'); const call = callOf(first.lines); assert.deepEqual([call.url, call.file_path, call.root], ['https://claude.ai/artifact/stage', join(out, 'index.html'), out]); - Network accessline 301
const call = callOf(first.lines); assert.deepEqual([call.url, call.file_path, call.root], ['https://claude.ai/artifact/stage', join(out, 'index.html'), out]); const runFiles = ['runs/2026-02-01-live.one.json', 'runs/2026-02-01-live.one. - Network accessline 302
assert.deepEqual([call.url, call.file_path, call.root], ['https://claude.ai/artifact/stage', join(out, 'index.html'), out]); - Network accessline 313
assert.deepEqual(callOf(stop.lines).files, runFiles, 'a stop sends the body again'); assert.deepEqual(runsOf(callOf(stop.lines)), [['2026-02-01-live.one', 1]]); assert.equal(stop.lines.at(-1), 'Once the publish goes through, reply with - Network accessline 314
assert.deepEqual(runsOf(callOf(stop.lines)), [['2026-02-01-live.one', 1]]); assert.equal(stop.lines.at(-1), 'Once the publish goes through, reply with 📄 https://claude.ai/artifact/stage#run-2026-02-01-live'); }); - Network accessline 315
assert.equal(stop.lines.at(-1), 'Once the publish goes through, reply with 📄 https://claude.ai/artifact/stage#run-2026-02-01-live'); - Network accessline 334
const fresh = pageStop(['stage', live, '--session', 'one', '--new'], CLAUDE); assert.equal(callOf(fresh.lines).url, undefined); assert.ok(fresh.lines.some((line) => line.includes('replace `Page: https://claude.ai/artifact/stage`')), 'a - Network accessline 335
assert.equal(callOf(fresh.lines).url, undefined); assert.ok(fresh.lines.some((line) => line.includes('replace `Page: https://claude.ai/artifact/stage`')), 'a new page replaces the link that no longer opens'); assert.ok(!fresh.lines.some - Network accessline 336
assert.ok(fresh.lines.some((line) => line.includes('replace `Page: https://claude.ai/artifact/stage`')), 'a new page replaces the link that no longer opens'); - Network accessline 337
assert.ok(!fresh.lines.some((line) => line.includes('--base') || line.includes('--new')), 'a new page has no live page to compose on or lose'); assert.equal(readFileSync(join(root, '.git/pstack-pages-gone'), 'utf8'), 'https://claude.ai/ar - Network accessline 338
assert.equal(readFileSync(join(root, '.git/pstack-pages-gone'), 'utf8'), 'https://claude.ai/artifact/stage\n', 'the clone records the replaced link as gone'); - Network accessline 348
tool_name: 'Artifact', tool_input: call, error: '<artifact-deleted url="https://claude.ai/artifact/stage"/> artifact not found — it may have been deleted, or it has not been shared with you.', - Network accessline 349
tool_input: call, error: '<artifact-deleted url="https://claude.ai/artifact/stage"/> artifact not found — it may have been deleted, or it has not been shared with you.', }; - Network accessline 350
error: '<artifact-deleted url="https://claude.ai/artifact/stage"/> artifact not found — it may have been deleted, or it has not been shared with you.',
skills/sync-pstack/scripts/replay.test.mjs
- Executable scriptline 1
Executable file
skills/sync-pstack/scripts/sync-pstack.mjs
skills/sync-pstack/scripts/sync-pstack.test.mjs
- Executable scriptline 1
Executable file - Network accessline 661
function browserRun(steps, { code = 'await tab.getAXState();', text = 'Browser tab: 7, Title: "Ellie", URL: "https://next-ellie.vercel.app/tasks".\n0 heading Tasks', extra = [] } = {}) { - Network accessline 662
const meta = { 'codex/toolSurface': { extensionInstanceId: 'e1', openTabIds: ['7'] }, browser_use: { url: 'https://next-ellie.vercel.app/tasks' } }; - Network accessline 676
const TASKS_PASS = [{ step: 1, result: 'PASS', url: 'https://next-ellie.vercel.app/tasks', checked: 'Tasks' }]; - Network accessline 702
test('cua-steps voids every PASS in a run that reached a host outside the list', () => { const { steps } = checkSteps(browserRun(TASKS_PASS, { text: 'Browser tab: 7, Title: "QA", URL: "https://qa.example.com/tasks".\n0 heading Tasks' })); - Network accessline 703
const { steps } = checkSteps(browserRun(TASKS_PASS, { text: 'Browser tab: 7, Title: "QA", URL: "https://qa.example.com/tasks".\n0 heading Tasks' })); - Network accessline 708
test('cua-steps downgrades a PASS whose URL the runtime never reported', () => { const { steps } = checkSteps(browserRun([{ ...TASKS_PASS[0], url: 'https://next-ellie.vercel.app/tasks?search=x' }])); - Network accessline 709
const { steps } = checkSteps(browserRun([{ ...TASKS_PASS[0], url: 'https://next-ellie.vercel.app/tasks?search=x' }])); - Network accessline 1704
test('plan-page renders a topic plan as its subject page, led by that plan, and names both files', () => { const { dir, run } = sandbox(); const topic = '# Workflow\n\nPage: https://example.test/page\n\n## Main changes\n\n- Pages follow - Network accessline 1705
const { dir, run } = sandbox(); const topic = '# Workflow\n\nPage: https://example.test/page\n\n## Main changes\n\n- Pages follow subjects.\n'; const first = '# First pass\n\nStatus: done\nTopic: workflow\n\n## Main changes\n\n- Moved t - Network accessline 1706
const topic = '# Workflow\n\nPage: https://example.test/page\n\n## Main changes\n\n- Pages follow subjects.\n'; - Network accessline 1722
const { dir, run } = sandbox(); const files = { 'docs/plans/topics/README.md': '# Topics\n\nPage: https://example.test/index\n', - Network accessline 1723
const files = { 'docs/plans/topics/README.md': '# Topics\n\nPage: https://example.test/index\n', 'docs/plans/topics/quiet.md': '# Quiet topic\n\nPage: https://example.test/quiet\n\nThe quiet lead.\n\n## Main changes\n\n- Settled.\n' - Network accessline 1724
'docs/plans/topics/README.md': '# Topics\n\nPage: https://example.test/index\n', - Network accessline 1725
'docs/plans/topics/quiet.md': '# Quiet topic\n\nPage: https://example.test/quiet\n\nThe quiet lead.\n\n## Main changes\n\n- Settled.\n', - Network accessline 1726
'docs/plans/topics/busy.md': '# Busy topic\n\nPage: https://example.test/busy\n\nThe busy lead.\n\n## Main changes\n\n- Moving.\n', - Network accessline 1864
test('plan-page --rail prints the rail the page draws', () => { const { dir, run } = sandbox(); const plan = '# Plan\n\nStatus: building\nPage: https://claude.ai/artifact/x\nPlaybook: audit\n\n## Main changes\n\n- Draw the rail.\n\n## S - Network accessline 1865
const { dir, run } = sandbox(); const plan = '# Plan\n\nStatus: building\nPage: https://claude.ai/artifact/x\nPlaybook: audit\n\n## Main changes\n\n- Draw the rail.\n\n## Steps\n\n1. - [x] One.\n2. - [ ] Two.\n' + brief(); const log = [ - Network accessline 1866
const plan = '# Plan\n\nStatus: building\nPage: https://claude.ai/artifact/x\nPlaybook: audit\n\n## Main changes\n\n- Draw the rail.\n\n## Steps\n\n1. - [x] One.\n2. - [ ] Two.\n' + brief(); - Network accessline 1875
const rail = JSON.parse(result.stdout); assert.deepEqual(rail.stages.map(({ state, label }) => `${state}:${label}`), drawn); assert.deepEqual([rail.valid, rail.page, rail.steps], [true, 'https://claude.ai/artifact/x', { checked: 1, tota - Network accessline 1876
assert.deepEqual(rail.stages.map(({ state, label }) => `${state}:${label}`), drawn); assert.deepEqual([rail.valid, rail.page, rail.steps], [true, 'https://claude.ai/artifact/x', { checked: 1, total: 2 }]); }); - Network accessline 1877
assert.deepEqual([rail.valid, rail.page, rail.steps], [true, 'https://claude.ai/artifact/x', { checked: 1, total: 2 }]); - Network accessline 1898
const root = project(dir, 'app', { files: { 'docs/plans/topics/workflow.md': '# Workflow\nPage: https://claude.ai/artifact/topic\n\n## Main changes\n\n- Seats.\n', - Network accessline 1899
files: { 'docs/plans/topics/workflow.md': '# Workflow\nPage: https://claude.ai/artifact/topic\n\n## Main changes\n\n- Seats.\n', 'docs/plans/2026-01-01-first.md': older, - Network accessline 1900
'docs/plans/topics/workflow.md': '# Workflow\nPage: https://claude.ai/artifact/topic\n\n## Main changes\n\n- Seats.\n', - Network accessline 1906
assert.equal(result.status, 0, result.stderr); const rail = JSON.parse(result.stdout); assert.deepEqual([rail.requestedPlan, rail.status, rail.page], ['docs/plans/2026-01-01-first.md', 'executed', 'https://claude.ai/artifact/topic']); - Network accessline 1907
const rail = JSON.parse(result.stdout); assert.deepEqual([rail.requestedPlan, rail.status, rail.page], ['docs/plans/2026-01-01-first.md', 'executed', 'https://claude.ai/artifact/topic']); assert.equal(rail.stages.find(({ label }) => lab - Network accessline 1908
assert.deepEqual([rail.requestedPlan, rail.status, rail.page], ['docs/plans/2026-01-01-first.md', 'executed', 'https://claude.ai/artifact/topic']); - Network accessline 2444
test('plan-page shows a Teach picture inline, with one viewer for the whole page', () => { const { dir, run } = sandbox(); const svg = '<svg xmlns="http://www.w3.org/2000/svg" width="4" height="4"><rect width="4" height="4"/></svg>'; - Network accessline 2445
const { dir, run } = sandbox(); const svg = '<svg xmlns="http://www.w3.org/2000/svg" width="4" height="4"><rect width="4" height="4"/></svg>'; const plan = `# Plan\n\nStatus: planning\n\n${brief()}## Demo\n\n1. Open the page.  => { const { dir, run } = sandbox(); const topic = '# Workflow\n\nPage: https://example.test/page\n\n## What other editors do\n\n- L - Network accessline 2552
const { dir, run } = sandbox(); const topic = '# Workflow\n\nPage: https://example.test/page\n\n## What other editors do\n\n- Lexical keeps it in the node.\n\n## Main changes\n\n- Pages follow subjects.\n'; const second = '# Second pass - Network accessline 2553
const topic = '# Workflow\n\nPage: https://example.test/page\n\n## What other editors do\n\n- Lexical keeps it in the node.\n\n## Main changes\n\n- Pages follow subjects.\n'; - Network accessline 3867
['task_d1 Fix d', 'offered', 'writes: d.md; topic: d; priority: P1; repro: paste  then undo'], ['task_f1 Fix f', 'offered', 'writes: f.md; topic: f; priority: P1; repro: load fixtures/issues/12.json then save'], ['task_c1 Fix c - Network accessline 3868
['task_f1 Fix f', 'offered', 'writes: f.md; topic: f; priority: P1; repro: load fixtures/issues/12.json then save'], ['task_c1 Fix c', 'offered', 'writes: c.md; topic: c; priority: P1; repro: https://github.com/acme/app/issues/7 holds t - Network accessline 3869
['task_c1 Fix c', 'offered', 'writes: c.md; topic: c; priority: P1; repro: https://github.com/acme/app/issues/7 holds the steps'], - Network accessline 4362
test('chips cleanup lists the idle card sessions of landed tasks to archive and the worktrees of archived ones to remove, with commit links', () => { const { chip, chips, offer, root } = chipLedger(); spawnSync('git', ['-C', root, 'remo - Network accessline 4363
const { chip, chips, offer, root } = chipLedger(); spawnSync('git', ['-C', root, 'remote', 'set-url', 'origin', 'https://github.com/acme/app.git']); spawnSync('git', ['-C', root, '-c', 'user.email=t@t', '-c', 'user.name=t', 'commit', '- - Network accessline 4364
spawnSync('git', ['-C', root, 'remote', 'set-url', 'origin', 'https://github.com/acme/app.git']); - Network accessline 4394
assert.match(out, new RegExp(`Remove \\(1\\)[^\\n]*\\n {2}node \\.agents/skills/cleanup/scripts/scan\\.mjs --repo \\. --remove ${card('b').replace(/[.*+?^${}()|[\]\\/]/gu, '\\$&')}\\n`), 'the archived card worktree is removed'); assert.ma - Network accessline 4395
assert.match(out, /^Keep \(1\)[^\n]*\n {2}s6 {2}card holder: holds task_g1's card task_0f6f6f6f, task_h1's card task_1f6f6f6f\n/mu, 'a card session that holds a card nobody started is kept, since archiving it drops the card'); assert.ok(o - Network accessline 4396
assert.ok(out.includes(`task_a1 Fix part 0: 📦 [fix(app): keep the \\[caret\\] in place](https://diffshub.com/acme/app/commit/${sha})`), 'the report links the named commit by its subject'); - Network accessline 5598
const logRow = (phase, decision) => `2026-10-13T00:00:00Z\t${phase}\t${decision}\twhy\tevidence\tfixed: done\n`; const prPlan = (fields, body = '') => `# PR\n\nStatus: executed\nPlaybook: feature\n${fields}\n${brief()}## Teach\n\nThe page - Network accessline 5600
`# PR\n\nStatus: executed\nPlaybook: feature\n${fields}\n${brief()}## Teach\n\nThe page is the plan.\n\n## Demo\n\n1. Open the page. \n2. Scroll down. \n\n## D - Network accessline 5631
const { dir, run } = sandbox(); const root = project(dir, 'app', { files: { 'docs/plans/pr.md': prPlan(''), 'docs/plans/shots/after.png': 'png' } }); const uploaded = ''; - Network accessline 5632
const root = project(dir, 'app', { files: { 'docs/plans/pr.md': prPlan(''), 'docs/plans/shots/after.png': 'png' } }); const uploaded = ''; writeFileSync( - Network accessline 5633
const uploaded = ''; - Network accessline 5727
'docs/plans/pr.decisions.tsv': LOG_HEAD + logRow('lead', 'claude-opus-5-5 @xhigh'), 'docs/plans/shots/after.png': 'png', 'description.md': 'The author demo: \n', - Network accessline 5728
'docs/plans/shots/after.png': 'png', 'description.md': 'The author demo: \n', }, - Network accessline 5729
'description.md': 'The author demo: \n', - Network accessline 5731
}); const git = (...args) => spawnSync('git', ['-c', 'user.name=t', '-c', 'user.email=t@t', ...args], { cwd: root, encoding: 'utf8' }); git('remote', 'add', 'origin', 'https://github.com/o/r.git'); - Network accessline 5732
const git = (...args) => spawnSync('git', ['-c', 'user.name=t', '-c', 'user.email=t@t', ...args], { cwd: root, encoding: 'utf8' }); git('remote', 'add', 'origin', 'https://github.com/o/r.git'); git('commit', '-q', '--allow-empty', '-m', - Network accessline 5733
git('remote', 'add', 'origin', 'https://github.com/o/r.git'); - Network accessline 5741
assert.ok(result.stdout.split('\n')[0].endsWith('/docs/plans/artifacts/pr.comment.md'), result.stdout); const body = read(root, 'docs/plans/artifacts/pr.comment.md'); assert.ok(body.startsWith(`<!-- plan-page:start -->\n\n[My commits af - Network accessline 5742
const body = read(root, 'docs/plans/artifacts/pr.comment.md'); assert.ok(body.startsWith(`<!-- plan-page:start -->\n\n[My commits after yours](https://diffshub.com/o/r/compare/${author}...${head})\n\n## On top of the PR\n`), 'the compare - Network accessline 5743
assert.ok(body.startsWith(`<!-- plan-page:start -->\n\n[My commits after yours](https://diffshub.com/o/r/compare/${author}...${head})\n\n## On top of the PR\n`), 'the compare link spans exactly the commits after the author, with no models l - Network accessline 5776
}); const git = (...args) => spawnSync('git', ['-c', 'user.name=t', '-c', 'user.email=t@t', ...args], { cwd: root, encoding: 'utf8' }); git('remote', 'add', 'origin', 'https://github.com/o/r.git'); - Network accessline 5777
const git = (...args) => spawnSync('git', ['-c', 'user.name=t', '-c', 'user.email=t@t', ...args], { cwd: root, encoding: 'utf8' }); git('remote', 'add', 'origin', 'https://github.com/o/r.git'); git('add', 'docs/plans/pr.md'); - Network accessline 5778
git('remote', 'add', 'origin', 'https://github.com/o/r.git'); - Network accessline 5781
const sha = git('rev-parse', 'HEAD').stdout.trim(); assert.equal(run(process.execPath, [join(HELPERS, 'plan-page.mjs'), 'docs/plans/pr.md', '--pr'], root).status, 0); assert.ok(read(root, 'docs/plans/artifacts/pr.pr.md').includes(`\n## - Network accessline 5782
assert.equal(run(process.execPath, [join(HELPERS, 'plan-page.mjs'), 'docs/plans/pr.md', '--pr'], root).status, 0); assert.ok(read(root, 'docs/plans/artifacts/pr.pr.md').includes(`\n## Plans\n\n- [PR](https://github.com/o/r/blob/${sha}/doc - Network accessline 5783
assert.ok(read(root, 'docs/plans/artifacts/pr.pr.md').includes(`\n## Plans\n\n- [PR](https://github.com/o/r/blob/${sha}/docs/plans/pr.md)\n- A (\`docs/plans/a.md\`)\n`)); - Network accessline 5786
const STAGE_TOPIC = '# Stage\n\nPage: https://claude.ai/artifact/stage\n\n## Main changes\n\n- Pages go live.\n'; - Network accessline 5806
test("plan-page binds a checkout to its own Page: line while only it moved from the fork point's or origin's line is one the clone found gone, else to origin's", () => { const { dir, run } = sandbox(); const topic = (url) => STAGE_TOPIC - Network accessline 5807
const { dir, run } = sandbox(); const topic = (url) => STAGE_TOPIC.replace('https://claude.ai/artifact/stage', url); const { root, git } = pushed(dir, 'app', { 'docs/plans/topics/stage.md': topic('https://claude.ai/artifact/a'), 'docs/p - Network accessline 5808
const topic = (url) => STAGE_TOPIC.replace('https://claude.ai/artifact/stage', url); - Network accessline 5809
const { root, git } = pushed(dir, 'app', { 'docs/plans/topics/stage.md': topic('https://claude.ai/artifact/a'), 'docs/plans/live.md': stagePlan('Live', 'building') }); - Network accessline 5811
const behind = worktree(git, dir, 'behind'); const render = (tree, ...flags) => run(process.execPath, [join(HELPERS, 'plan-page.mjs'), 'docs/plans/live.md', ...flags], tree); writeFileSync(join(rebound, 'docs/plans/topics/stage.md'), to - Network accessline 5812
const render = (tree, ...flags) => run(process.execPath, [join(HELPERS, 'plan-page.mjs'), 'docs/plans/live.md', ...flags], tree); writeFileSync(join(rebound, 'docs/plans/topics/stage.md'), topic('https://claude.ai/artifact/b')); gitAt(r - Network accessline 5813
writeFileSync(join(rebound, 'docs/plans/topics/stage.md'), topic('https://claude.ai/artifact/b')); - Network accessline 5814
gitAt(rebound)('commit', '-qam', 'rebind mid-run'); assert.equal(JSON.parse(render(rebound, '--rail').stdout).page, 'https://claude.ai/artifact/b', 'a line changed since the fork point stays bound after a commit'); writeFileSync(join(ro - Network accessline 5815
assert.equal(JSON.parse(render(rebound, '--rail').stdout).page, 'https://claude.ai/artifact/b', 'a line changed since the fork point stays bound after a commit'); - Network accessline 5816
writeFileSync(join(root, 'docs/plans/topics/stage.md'), topic('https://claude.ai/artifact/c')); - Network accessline 5817
git('commit', '-qam', 'rebind on next'); git('push', '-q', 'origin', 'next'); assert.equal(JSON.parse(render(rebound, '--rail').stdout).page, 'https://claude.ai/artifact/c', 'once origin rebinds too, every checkout publishes to one page - Network accessline 5818
git('push', '-q', 'origin', 'next'); assert.equal(JSON.parse(render(rebound, '--rail').stdout).page, 'https://claude.ai/artifact/c', 'once origin rebinds too, every checkout publishes to one page'); assert.equal(JSON.parse(render(behind - Network accessline 5819
assert.equal(JSON.parse(render(rebound, '--rail').stdout).page, 'https://claude.ai/artifact/c', 'once origin rebinds too, every checkout publishes to one page'); - Network accessline 5820
assert.equal(JSON.parse(render(behind, '--rail').stdout).page, 'https://claude.ai/artifact/c', "a worktree that has not pulled uses origin's line"); - Network accessline 5821
const plain = render(behind); assert.equal(plain.status, 0, plain.stderr); assert.equal(plain.stdout.split('\n')[0], 'Page: https://claude.ai/artifact/c (publish through page-stop.mjs)', plain.stdout); - Network accessline 5822
assert.equal(plain.status, 0, plain.stderr); assert.equal(plain.stdout.split('\n')[0], 'Page: https://claude.ai/artifact/c (publish through page-stop.mjs)', plain.stdout); writeFileSync(join(root, '.git/pstack-pages-gone'), 'https://cla - Network accessline 5823
assert.equal(plain.stdout.split('\n')[0], 'Page: https://claude.ai/artifact/c (publish through page-stop.mjs)', plain.stdout); - Network accessline 5824
writeFileSync(join(root, '.git/pstack-pages-gone'), 'https://claude.ai/artifact/c\n'); - Network accessline 5825
assert.equal(JSON.parse(render(rebound, '--rail').stdout).page, 'https://claude.ai/artifact/b', "a rebind stands once the clone found origin's line gone, so the next publish does not make another page"); - Network accessline 5826
assert.equal(JSON.parse(render(behind, '--rail').stdout).page, 'https://claude.ai/artifact/c', 'a checkout that never rebound still tries the gone line, and its failed publish makes the new page');
skills/sync-pstack/scripts/trunk.test.mjs
- Executable scriptline 1
Executable file - Network accessline 773
assert.equal(git(clone, 'rev-parse', 'HEAD'), task, 'a refused land puts HEAD back'); const notPlans = ['Plan: none', 'Plan: a.txt', 'Plan: .', 'Plan: docs/plans', 'Plan: docs/plans/artifacts/suggested-tasks.decisions.tsv']; for (const - Network accessline 774
const notPlans = ['Plan: none', 'Plan: a.txt', 'Plan: .', 'Plan: docs/plans', 'Plan: docs/plans/artifacts/suggested-tasks.decisions.tsv']; for (const line of ['Step #3 of the list.', 'Ports C#1 behavior.', 'See https://github.com/someone/ - Network accessline 775
for (const line of ['Step #3 of the list.', 'Ports C#1 behavior.', 'See https://github.com/someone/else/issues/12.', 'Runs card t_00000000.', ...notPlans]) { - Network accessline 786
const owner = basename(dir).toLowerCase(); for (const line of ['Repairs remote#12.', `Repairs ${owner}/remote#12.`, 'Runs card t_1a2b3c4d.', `See https://github.com/${owner}/remote/issues/12.`]) { - Network accessline 787
for (const line of ['Repairs remote#12.', `Repairs ${owner}/remote#12.`, 'Runs card t_1a2b3c4d.', `See https://github.com/${owner}/remote/issues/12.`]) { - Network accessline 858
'#!/bin/sh', 'case "$1 $2" in', ` "pr create") printf '%s\\n' "$@" > '${dir}/gh-args'; cp "\${10}" '${dir}/gh-body'; echo https://example.test/pull/7 ;;`, - Network accessline 859
'case "$1 $2" in', ` "pr create") printf '%s\\n' "$@" > '${dir}/gh-args'; cp "\${10}" '${dir}/gh-body'; echo https://example.test/pull/7 ;;`, ` "pr merge") printf '%s\\n' "$@" > '${dir}/gh-merge' ;;`, - Network accessline 860
` "pr create") printf '%s\\n' "$@" > '${dir}/gh-args'; cp "\${10}" '${dir}/gh-body'; echo https://example.test/pull/7 ;;`, - Network accessline 901
const gated = land([{ type: 'deletion' }, review({ dismiss_stale_reviews_on_push: true, allowed_merge_methods: ['merge'] })]); assert.deepEqual(gated.merge, ['pr', 'merge', 'https://example.test/pull/7', '--auto', '--merge']); - Network accessline 902
assert.deepEqual(gated.merge, ['pr', 'merge', 'https://example.test/pull/7', '--auto', '--merge']); - Network accessline 905
assert.deepEqual(land([review({ require_last_push_approval: true })]).merge, ['pr', 'merge', 'https://example.test/pull/7', '--auto', '--squash']); - Network accessline 1018
['docs(a): resolve #12\n\nBeyond the ask: none\n', 'remote'], ['feat(a): change a\n\nCloses: udecode/plate#12\n\nBeyond the ask: none\n', 'plate'], ['feat(a): change a\n\nFixed https://github.com/udecode/plate-private/issues/5228 he - Network accessline 1019
['feat(a): change a\n\nCloses: udecode/plate#12\n\nBeyond the ask: none\n', 'plate'], ['feat(a): change a\n\nFixed https://github.com/udecode/plate-private/issues/5228 here.\n\nBeyond the ask: none\n', 'plate-private'], ]) { - Network accessline 1020
['feat(a): change a\n\nFixed https://github.com/udecode/plate-private/issues/5228 here.\n\nBeyond the ask: none\n', 'plate-private'], - Access to secretsline 1671
[Credential-related source omitted] - Access to secretsline 1686
[Credential-related source omitted]
skills/video-transcripts/SKILL.md
- Network accessline 13
bash <skill>/scripts/generate_video_transcript.sh \ "https://uploads.linear.app/.../screen-recording.mov" \ - Network accessline 14
"https://uploads.linear.app/.../screen-recording.mov" \ - Network accessline 21
bash <skill>/scripts/generate_video_transcript.sh \ "https://github.com/user-attachments/assets/..." \ - Network accessline 22
"https://github.com/user-attachments/assets/..." \ - Network accessline 29
bash <skill>/scripts/generate_video_transcript.sh \ "https://app.screencastify.com/watch/..." \ - Network accessline 30
"https://app.screencastify.com/watch/..." \ - Access to secretsline 42
[Credential-related source omitted] - Network accessline 88
10. Do not hand-write or paraphrase video behavior when the helper can run. Use the actual transcript output. 11. Link `[[Transcript](...)]` to the video URL when available. If the video URL is not available or is unstable, link to the sour - Network accessline 89
11. Link `[[Transcript](...)]` to the video URL when available. If the video URL is not available or is unstable, link to the source comment that contains the video. 12. For signed tracker-hosted URLs like `uploads.linear.app`, strip the qu - Network accessline 90
12. For signed tracker-hosted URLs like `uploads.linear.app`, strip the query string so a new signature does not invalidate an otherwise valid cache entry. For Screencastify, cache against the stable `https://app.screencastify.com/watch/<id - Network accessline 133
- For `uploads.linear.app` URLs, it first tries `LINEAR_COOKIE_HEADER`, then `LINEAR_COOKIES_DB`, then falls back to the local Linear desktop cookie store at `~/Library/Application Support/Linear/Cookies`. - For GitHub asset URLs, it first - Network accessline 134
[Credential-related source omitted] - Access to secretsline 134
[Credential-related source omitted] - Network accessline 135
- For Screencastify watch URLs, it calls `https://umbrella.svc.screencastify.com/api/umbrellaService/watch/<id>`, resolves the signed HLS manifest, rewrites child playlists so segments keep the signature, and remuxes the recording with `ffm - Access to secretsline 137
[Credential-related source omitted]
skills/video-transcripts/scripts/generate_video_transcript.sh
- Executable scriptline 1
#!/usr/bin/env bash - Network accessline 10
Examples: generate_video_transcript.sh "/tmp/bug.mov" --title "Preview link leaves workflow" generate_video_transcript.sh "https://uploads.linear.app/.../recording.mov" --title "PDF preview hyperlink exits workflow" - Network accessline 11
generate_video_transcript.sh "/tmp/bug.mov" --title "Preview link leaves workflow" generate_video_transcript.sh "https://uploads.linear.app/.../recording.mov" --title "PDF preview hyperlink exits workflow" generate_video_transcript.sh " - Network accessline 12
generate_video_transcript.sh "https://uploads.linear.app/.../recording.mov" --title "PDF preview hyperlink exits workflow" - Network accessline 13
generate_video_transcript.sh "https://github.com/user-attachments/assets/..." --title "Slash menu loses selection" - Network accessline 14
generate_video_transcript.sh "https://app.screencastify.com/watch/..." --title "Bulk send expands filtered recipients" - Access to secretsline 57
[Credential-related source omitted] - Access to secretsline 62
[Credential-related source omitted] - Access to secretsline 63
[Credential-related source omitted] - Access to secretsline 64
[Credential-related source omitted] - Dangerous shell operationline 70
rm -rf "$WORK_DIR" - Access to secretsline 118
[Credential-related source omitted] - Access to secretsline 119
[Credential-related source omitted] - Access to secretsline 123
[Credential-related source omitted] - Access to secretsline 124
[Credential-related source omitted] - Access to secretsline 130
[Credential-related source omitted] - Network accessline 143
curl -L --fail --silent --show-error "$@" "$source" -o "$dest" - Network accessline 189
if uri.startswith(("data:", "file:")): return uri if uri.startswith(("http://", "https://")): - Network accessline 190
return uri if uri.startswith(("http://", "https://")): base = uri - Network accessline 191
if uri.startswith(("http://", "https://")): - Network accessline 283
local metadata_file="$WORK_DIR/screencastify.json" download_to_path "https://umbrella.svc.screencastify.com/api/umbrellaService/watch/$recording_id" "$metadata_file" - Network accessline 284
download_to_path "https://umbrella.svc.screencastify.com/api/umbrellaService/watch/$recording_id" "$metadata_file" - Network accessline 542
[Credential-related source omitted] - Access to secretsline 542
[Credential-related source omitted] - Network accessline 558
curl -s "$upload_url" \ - Network accessline 573
local state="" for _ in $(seq 1 60); do curl -s "https://generativelanguage.googleapis.com/v1beta/$file_name?key=$API_KEY" > "$get_file" - Network accessline 574
for _ in $(seq 1 60); do curl -s "https://generativelanguage.googleapis.com/v1beta/$file_name?key=$API_KEY" > "$get_file" state="$(jq -r '.state // empty' "$get_file")" - Network accessline 575
[Credential-related source omitted] - Access to secretsline 575
[Credential-related source omitted] - Network accessline 611
[Credential-related source omitted] - Access to secretsline 611
[Credential-related source omitted]
skills/walkthrough/scripts/diff-baseline.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/walkthrough/scripts/diff-baseline.test.mjs
- Executable scriptline 1
Executable file
skills/worktree-workspace/scripts/workspace.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/worktree-workspace/scripts/workspace.test.mjs
- Executable scriptline 1
Executable file
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: 9 facts
- Contacts persistent.oaistatic.com, which SKILL.md, the README and the plugin manifest do not mentionpstack-pulse/desktop/main.mjs:8High confidence
- Contacts www.apple.com, which SKILL.md, the README and the plugin manifest do not mentionpstack-pulse/scripts/lib/install.mjs:46High confidence
- Contacts activitysmith.com, which SKILL.md, the README and the plugin manifest do not mentionpstack-pulse/scripts/lib/phone.mjs:3High confidence
- Contacts fonts.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionsync-pstack/assets/pstack/plan-page.mjs:27High confidence
- Contacts cdnjs.cloudflare.com, which SKILL.md, the README and the plugin manifest do not mentionsync-pstack/assets/pstack/plan-page.mjs:28High confidence
- Contacts diffshub.com, which SKILL.md, the README and the plugin manifest do not mentionsync-pstack/assets/pstack/plan-page.mjs:2619High confidence
- Contacts diffshub.com, which SKILL.md, the README and the plugin manifest do not mentionsync-pstack/assets/pstack/review.mjs:252High confidence
- Contacts diffshub.com, which SKILL.md, the README and the plugin manifest do not mentionsync-pstack/assets/pstack/tasks.mjs:1090High confidence
- Contacts generativelanguage.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionvideo-transcripts/scripts/generate_video_transcript.sh:542High confidence
Signal confidence: 361 facts
- Executable script in code of a file that runsscripts/build-workflow.mjs:1High confidence
- Executable script in code of a file that runsscripts/build-workflow.mjs:1High confidence
- Executable script in code of a file that runsscripts/build-workflow.mjs:1High confidence
- Access to secrets in code of a file that runsscripts/build-workflow.mjs:22High confidence
- Access to secrets in code of a file that runsscripts/build-workflow.mjs:26High confidence
- Network access in code of a file that runsscripts/build-workflow.mjs:62High confidence
- Network access in code of a file that runsscripts/build-workflow.mjs:63High confidence
- Network access in code of a file that runsscripts/build-workflow.mjs:64High confidence
- Network access in code of a file that runsscripts/build-workflow.mjs:96High confidence
- Network access in code of a file that runsscripts/build-workflow.mjs:97High confidence
- Network access in code of a file that runsscripts/build-workflow.mjs:98High confidence
- Network access in code of a file that runsscripts/build-workflow.mjs:101High confidence
- Network access in code of a file that runsscripts/build-workflow.mjs:102High confidence
- Network access in code of a file that runsscripts/build-workflow.mjs:103High confidence
- Executable script in code of a file that runsscripts/validate-skills:1High confidence
- Executable script in code of a file that runscleanup/scripts/scan.mjs:1High confidence
- Executable script in code of a testcleanup/scripts/scan.test.mjs:1Low confidence
- Access to secrets in prose of the SKILL.mdpasswords/SKILL.md:26Low confidence
- Access to secrets in prose of the SKILL.mdpasswords/SKILL.md:29Low confidence
- Access to secrets in prose of documentationpasswords/references/new-mac.md:5Low confidence
- Network access in prose of documentationpasswords/references/new-mac.md:23Low confidence
- Network access in prose of documentationpasswords/references/new-mac.md:24Low confidence
- Access to secrets in prose of documentationpasswords/references/new-mac.md:47Low confidence
- Network access in prose of documentationpasswords/references/new-mac.md:75Low confidence
- Network access in prose of documentationpasswords/references/new-mac.md:76Low confidence
- Network access in prose of documentationpasswords/references/new-mac.md:77Low confidence
- Access to secrets in prose of documentationpasswords/references/new-mac.md:87Low confidence
- Access to secrets in prose of documentationpasswords/references/new-mac.md:92Low confidence
- Access to secrets in prose of documentation: reads a credential storepasswords/references/new-mac.md:96Low confidence
- Access to secrets in prose of documentationpasswords/references/new-mac.md:109Low confidence
- Access to secrets in prose of documentationpasswords/references/new-mac.md:112Low confidence
- Access to secrets in prose of documentationpasswords/references/new-mac.md:119Low confidence
- Access to secrets in prose of documentationpasswords/references/new-mac.md:134Low confidence
- Access to secrets in prose of documentationpasswords/references/new-mac.md:140Low confidence
- Access to secrets in prose of documentationpasswords/references/new-mac.md:149Low confidence
- Network access in prose of documentationpasswords/references/new-mac.md:168Low confidence
- Network access in prose of documentationpasswords/references/new-mac.md:169Low confidence
- Access to secrets in prose of the SKILL.mdpstack-pulse/SKILL.md:31Low confidence
- Executable script in code of a file that runspstack-pulse/desktop/main.mjs:1High confidence
- Network access in code of a file that runspstack-pulse/desktop/main.mjs:7High confidence
- Network access in code of a file that runspstack-pulse/desktop/main.mjs:8High confidence
- Network access in code of a file that runspstack-pulse/desktop/main.mjs:32High confidence
- Network access in code of a file that runspstack-pulse/desktop/main.mjs:33High confidence
- Network access in code of a file that runspstack-pulse/desktop/main.mjs:34High confidence
- Network access in code of a file that runspstack-pulse/desktop/main.mjs:42High confidence
- Network access in code of a file that runspstack-pulse/desktop/main.mjs:43High confidence
- Network access in code of a file that runspstack-pulse/desktop/main.mjs:44High confidence
- Executable script in code of a file that runspstack-pulse/desktop/package.json:1High confidence
- Executable script in code of a file that runspstack-pulse/desktop/pet.js:1High confidence
- Executable script in code of a file that runspstack-pulse/desktop/preload.cjs:1High confidence
and 311 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Frontmatter field argument-hint in skills/chips/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/chips/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/chips/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/chips/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/chips/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/udecode-dotai/)