browser-automation
Browser automation for rendered UI exploration, validation, screenshots,
Structured decision summaries with revisions and branches. Use only when
$ npx -y skills add alexei-led/cc-thingz --skill sequential-thinking --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sequential-thinkingContext preview
The summary Claude sees to decide when to auto-load this skill.
Structured decision summaries with revisions and branches. Use only when
description: Structured decision summaries with revisions and branches. Use only when the user explicitly requests sequential thinking, step-by-step reasoning, or a structured comparison of decision branches. NOT an automatic trigger for difficult tasks, ordinary planning, or debugging. For open-ended ideas use brainstorming-ideas. name: sequential-thinking
Same intent as MCP-based sequential-thinking tools — present numbered decision summaries with revision and branch semantics — implemented as visible Markdown so reasoning-capable models can follow it without an extra tool round-trip.
Use only on an explicit user request for this format. Complexity alone is not a trigger. For ordinary work, provide the decision, supporting evidence, assumptions, and validation briefly without Thought blocks.
Modern reasoning models already think internally. They need a shared on-the-page format so:
Do not try to suppress, expose, or paraphrase the model's hidden reasoning trace. Use this protocol in addition to it — write the durable, reviewable summary as Thought blocks; let the internal trace stay internal.
Open with a one-line plan, then emit numbered Thought blocks. Use these exact markers so output is parseable:
**Plan:** N thoughts (estimate). Subject: <one-line problem statement>. ### Thought 1 <the step — observation, deduction, sub-decision, or question> ### Thought 2 <...> ### Thought 3 (revises 1) <corrected version, with one sentence on why 1 was wrong> ### Branch A from 2 <alternative path> ### Thought 4 (Branch A) <continuation of A> ### Thought 5 (main) <continuation of the main line> ### Final <the conclusion or recommendation. Names the winning branch if any.>
When a thought references the codebase, cite `path:line` (or quote the relevant snippet). When a thought rests on an unverified assumption, prefix it `ASSUMPTION:` so revision can target it later. Do not invent file paths or function signatures to make a step sound concrete — an unsupported step is worse than no step.
Run a brief checklist in the last numbered thought:
1. Does the conclusion follow from the evidence cited, or only from assumptions? 2. Is any thought contradicted by a later finding without a `(revises N)` marker fixing it? 3. Were the alternative branches actually compared, or just listed? 4. If the user asked for a recommendation, is one named — not hedged?
If any check fails, add one more Thought to address it before writing Final.
> **Plan:** 4 thoughts. Subject: pick auth strategy for the new internal dashboard. > > ### Thought 1 > > Existing services use OIDC via the company IdP (`infra/auth/oidc.go:42`). Reusing it avoids a new identity surface. > > ### Thought 2 > > Dashboard needs short-lived tokens for embedded widgets. OIDC ID tokens are 1h; refresh is browser-side. ASSUMPTION: widgets stay in the same origin. > > ### Branch A from 2 > > Service-to-service: signed JWT minted by the dashboard backend, 5min TTL. Avoids browser refresh edge cases for widgets. > > ### Thought 3 (Branch A) > > Backend already has the signing key from `internal/jwt/signer.go:18`. No new infra. Tradeoff: widgets can't run as the user, only as the dashboard. > > ### Thought 4 (revises 2) > > Re-checked: widgets DO call user-scoped APIs. Branch A breaks that. > > ### Thought 5 > > Verification: conclusion (stay on OIDC) follows from Thought 4; Branch A explicitly rejected; recommendation named. > > ### Final > > Use OIDC end-to-end. Add a 5min cached token endpoint for widgets so each widget doesn't trigger its own refresh. Touch points: `internal/auth/`, `web/widgets/token.ts`.
Six blocks beats six paragraphs because every step has a number a reviewer can point at.
If a thought reveals the question was wrong (wrong scope, missing requirement, blocked by an unknown), write one more Thought summarising the blocker, then `### Final` stating "blocked: <reason>, need <thing>". Don't keep generating thoughts to look thorough — half-finished structured reasoning is fine; pretending to finish is not.
Portable skills, agents, hooks, and Pi-native extensions for Claude Code, Codex CLI, GitHub Copilot, Cursor, Grok, and Pi. Gemini is retired.
Repo: alexei-led/cc-thingz
Browser automation for rendered UI exploration, validation, screenshots,
Support-only Playwright runtime/reference for browser-automation — dev-server
Create normal git commits with logical grouping. Use when committing,
Create or update human-facing docs, agent-facing instructions, architecture
Fix code defects with a reproducible feedback loop, root-cause diagnosis,
Improve test design, speed, and coverage with behavior-focused tests,