CommunityCodierung & Entwicklunggithub.com

deep-work

Zeitnehmer und Protokollführer für eine selbstgesteuerte, zeitlich begrenzte Build-Session (Standard 90 Min., auch 1h / 1,5h / 2h) mit den Phasen Orientieren, Bauen, Verifizieren, Härten, Abschließen. Nutzung bei „Starte eine Session“, „Deep Work“, „90-Min-Block“, „Arbeitsblock“ oder /deep-work. Unterbefehle: status, park <Notiz>, close, abort.

Was ist deep-work?

Deep Work ist ein KI-Agenten-Skill, der als Zeitnehmer und Protokollführer für zeitlich begrenzte Build-Sessions fungiert. Er wurde für Entwickler entwickelt, die fokussierte Arbeitsblöcke mit definierten Phasen (Orientieren, Bauen, Verifizieren, Härten, Abschließen) durchführen möchten. Der Skill unterstützt Blocklängen von 60, 90 und 120 Minuten (Standard 90 Minuten) und skaliert die Phasen automatisch proportional. Der Skill interagiert mit dem Benutzer über Phasenwechsel, stellt gezielte Fragen, protokolliert Antworten in einer Session-Datei und führt eine Abstellfläche für Nebenaufgaben. Wenn ein Benutzer in einer Phase stecken bleibt, erkennt der Skill das und schlägt nach 15 Minuten einen Wechsel vor. Die Kommunikation erfolgt über den UserPromptSubmit-Hook `phase.sh`, der jedem Prompt eine Zeile mit der aktuellen Zeit, Phase und Endzeit hinzufügt. Der Skill kann über Befehle wie „starte eine Session“, „deep work“, „90-Min-Block“ oder „/deep-work“ aktiviert werden und bietet Unterbefehle wie `status`, `park <Notiz>`, `close` und `abort` an.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jamesisbuilding/App-Building-Skills/tree/main/skills/deep-work

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Deep Work: Zeitlich begrenzte Build-Session

Diese SOP gehört dem Benutzer, um den Überblick zu behalten. Du bist der Zeitnehmer und Protokollführer. Du bist nicht derjenige, der gemessen wird. Hilf bei allem, worum sie bitten, genau wie außerhalb eines Blocks. Deine SOP-Pflichten sind nur diese:

  1. Phasenwechsel ankündigen.
  2. Die Fragen der Phase stellen und die Antworten in die Session-Datei schreiben.
  3. Die Abstellfläche (Parking Lot) führen.
  4. Stopps (Stalls) erkennen, wenn du einen siehst.
  5. Den Abschluss (Close-out) durchführen.

Verweigere oder verzögere niemals Arbeit wegen der Phase. Wenn eine Anfrage eine Grenze überschreitet (eine neue Funktion nach Ende von Bauen, ein Refactoring während Bauen), sage es in einem Satz und tue dann, worum sie gebeten haben.

Status: ~/.claude/deep-work/current.md (aktiver Block) und ~/.claude/deep-work/log.md (Verlauf). Uhr: Der UserPromptSubmit-Hook phase.sh in diesem Ordner fügt jedem Prompt eine Zeile [deep-work] hinzu, solange ein Block aktiv ist: vergangene/gesamte Minuten, die Phase mit ihren tatsächlichen Grenzen, die Endzeit (Wanduhr) und was der Benutzer tun sollte. Gib sie weiter. Berechne sie nicht neu.

Blocklänge

Die Phasen behalten die 90-Minuten-Form (Orientieren bis 10, Bauen bis 60, Verifizieren bis 75, Härten bis 85, Abschließen bis 90) und skalieren auf den Block, gerundet auf ganze Minuten:

LängeOrientierenBauenVerifizierenHärtenAbschließen
600-77-4040-5050-5757-60
900-1010-6060-7575-8585-90
1200-1313-8080-100100-113113-120

Der Hook führt die Rechnung aus. Zitiere seine Zahlen, nicht diese Tabelle.

Dispatch über $ARGUMENTS

  • Führendes Dauer-Token, falls vorhanden: 1h, 1.5h, 2h, 60, 90m, 120. In Minuten umwandeln. Standard 90. Was folgt, ist das Ergebnis (Outcome).
  • Nichts übrig: Init, nach dem Ergebnis fragen.
  • Freier Text übrig: Init, dieser Text ist das Ergebnis, nicht danach fragen.
  • status: führe sh ~/.claude/skills/deep-work/phase.sh < /dev/null aus und zeige current.md.
  • park <Notiz>: füge - <Notiz> unter parking: in current.md an. Antworte in einem Satz.
  • close: führe Abschließen jetzt aus, egal in welcher Phase.
  • abort: lösche current.md ohne Protokollierung. Bestätige zuerst.

Init

  1. Wenn current.md existiert: sage es, nenne die Phase, mach weiter. Starte niemals einen zweiten Block.
  2. mkdir -p ~/.claude/deep-work. Wenn log.md einen Eintrag hat, dessen Kopfzeile auf | <cwd> endet, zitiere den letzten Nächste Aktion und Nächstes Session-Ergebnis und biete sie als Standard-Ergebnis an. Wenn log.md 10 oder mehr Einträge hat, zeige die Aufschlüsselung der Werte von Umfang war: an. Das ist ihre Kalibrierungsschleife.
  3. Frage in EINER Nachricht nach: Absicht (eine Zeile), Ergebnis (was sie erledigt haben wollen, in ihren Worten), Definition of Done (bis zu 3 Prüfpunkte). Wenn das Ergebnis über $ARGUMENTS kam, frage nur nach Absicht und DoD.
  4. Schreibe current.md und starte die Uhr. Die Abgrenzung (Scoping) findet innerhalb von Orientieren auf der Uhr statt. Antworte in einem Satz: „Block gestartet, Min, endet HH:MM. ORIENTIEREN bis :. Abgrenzung.“
start: <date +%s>
duration: <minutes>
project: <cwd>
last_phase: ORIENT
intent: ...
outcome: ...
dod:
- [ ] ...
current_state:
smallest_path:
parking:
stalls: 0
stuck_since:
issues:
  1. Abgrenzungsdurchlauf. Mache aus dem, was sie gesagt haben, etwas, das in das Bauen-Fenster passt.
    • Sieh dir den tatsächlichen Zustand an: git log, die Notizen oder den Plan des Projekts, die Dateien, die das Ergebnis berührt. Zwei oder drei Befehle, keine Umfrage.
    • Schreibe current_state: in einer Zeile basierend auf dem, was du gefunden hast, markiert als (Entwurf), bis sie bestätigen.
    • Vergleiche das Ergebnis mit dem Bauen-Fenster. Ein Urteil über viele Bildschirme, eine Funktion mit Unbekannten, oder etwas, das Eingaben von jemandem erfordert, der nicht anwesend ist: sage es in einem Satz.
    • Schlage den kleinsten Pfad vor, der mit etwas endet, das an der Bauen-Grenze testbar ist. Konkret: was wird in welcher Reihenfolge erledigt, was wird repariert, was wird zurückgestellt, was werden die Nachweise sein. Ein Vorschlag, kein Menü.
    • Frage nur zwei Dinge: stimmt der aktuelle Zustand, und ist das der Pfad. Ihre Antwort wird zu smallest_path:. Wenn sie etwas Größeres wählen, ist das ihre Entscheidung. Notiere es, damit Abschließen Umfang war ehrlich ausfüllen kann.

Was in jeder Phase zu tun ist

ORIENTIEREN Führe den Abgrenzungsdurchlauf (Init Schritt 5) durch, bis smallest_path: ausgefüllt ist. An der Orientieren-Grenze: wenn das Ergebnis Eingaben von jemandem erfordert, der nicht anwesend ist, erinnere sie: Grenze einmal auf etwas Fertigstellbares neu ein, protokolliere das Original bei Abschließen als blockiert.

BAUEN Halte dich zurück. Stelle alles, was sie erwähnen und nicht zum Pfad gehört, auf die Abstellfläche, mit einer einwortigen Bestätigung („geparkt“). Stopps: wenn sie sagen, dass sie feststecken, schreibe stuck_since: <Min>. Wenn sie 15 Minuten später immer noch am selben Problem sind, sage „Stopp 1, das sind 15 Min daran. Ansatz ändern?“ und erhöhe stalls:. Beim zweiten Stopp sage „Stopp 2. SOP sagt BLOCKIERT, gehe zu Verifizieren mit dem, was existiert.“ Wenn sie sagen, dass die DoD erfüllt ist, schlage Verifizieren jetzt vor. Nach der Bauen-Grenze, ein Satz: „Du bist bei . Verifizieren begann um .“ Hilf dann bei allem, worum sie gebeten haben.

VERIFIZIEREN Gib ihnen die Checkliste einmal: Happy Path, offensichtlicher Fehlerpfad, Persistenz, Integration, Logs und Fehler, vorhandene Tests. Notiere, was sie finden, unter issues: als BLOCKS: ... oder NOT: ....

HÄRTEN Gib ihnen die Reihenfolge einmal: BLOCKS-Probleme beheben, Debug- und temporären Code entfernen, Fehler behandeln, Tests für das neue Verhalten schreiben oder aktualisieren, Benennung und offensichtliche Vereinfachung, Formatierer/Linter/Build.

ABSCHLIEßEN (letzte Phase, close oder ÜBERZEIT)

  1. Biete an, einen Commit oder Checkpoint zu erstellen. Verwende den mg-git-commit-Skill, falls vorhanden, sonst einen einfachen konventionellen Commit. Nur bei einem Ja.
  2. Entwirf den Logeintrag basierend auf dem, was du gesehen hast. Frage nur nach dem, was du nicht ableiten kannst, höchstens: Ergebnisstatus, Umfang war, Nächstes Session-Ergebnis. Schlage für jedes einen Standard vor.
  3. Füge an ~/.claude/deep-work/log.md an:
## <YYYY-MM-DD HH:MM> | <Dauer> min | <cwd>
Outcome: COMPLETE | PARTIAL | BLOCKED
Scope was: TOO BIG | RIGHT | TOO SMALL
Intent: ...
Outcome def: ...
What changed: ...
Evidence: ...
Remaining: ...
Next action: ...
Next session Outcome: ...
Parking lot: ...
  1. rm ~/.claude/deep-work/current.md.
  2. Antworte mit dem Logeintrag und nichts anderem.

Ton

  • Phasenwechsel: erste Zeile der Antwort, ein Satz, welche Phase und was der Benutzer tun sollte. Dann antworte auf das, was sie tatsächlich gefragt haben.
  • Grenze überschritten: ein Satz, keine Belehrung, dann die Arbeit erledigen.
  • „erledigt“ vom Benutzer bedeutet: schlage Verifizieren vor.
  • Der Hook feuert nur, wenn sie eine Nachricht senden. Wenn sie still sind, kündigt niemand die Grenze an. Der Telefon-Timer gehört ihnen. Die Hook-Zeile enthält die Endzeit (Wanduhr), damit sie sie einstellen können.

Einrichtung (bereits auf diesem Rechner erledigt)

~/.claude/settings.json hat einen UserPromptSubmit Hook, der sh ~/.claude/skills/deep-work/phase.sh ausführt. Wenn du diesen Skill woanders hin kopierst, füge diesen Hook hinzu.

Individual skills in this repo

This repo contains 6 individual skills — each has its own dedicated page.

app-icon-design

Create, revise, and audit app icons using Apple's Human Interface Guidelines, with a clear visual identity and production-ready deliverables.

app-keyword-research

Validate an app idea against the App Store before building it. Turns the idea into search phrases, measures demand (App Store autocomplete) and competition (current top-10 apps) for each, ranks keywords by opportunity, and maps which apps own the market. Use when the user wants keyword research, ASO, "is there demand for…", "who are the competitors for…", "what should we call it / which keywords", or to validate or compare app ideas.

app-offer

Designs one opinionated "Grand Slam Offer" for any app idea, new or already shipped, by running Alex Hormozi's $100M Offers method adapted to app stores. It covers the market and niche, the commodity check, a value-equation audit, the problem inventory, delivery vehicles, the trimmed value stack, pricing and tiers, scarcity, urgency, bonuses, the guarantee, naming, the paywall per placement, the onboarding fast win, a test plan and a ship plan. It works within App Store and Google Play rules. For a shipped app it reads the code and notes first and produces a before/after. Use it when the user says "/app-offer", "run app-offer on <idea>", "make a grand slam offer for my app", "Hormozi my app", "price my app" or "design my paywall offer", or asks how to package, price, name, guarantee or paywall an app. It writes offer/grand-slam-offer.md (or ./<app-slug>-grand-slam-offer.md for a new idea).

brand-reference-pack

Build or refresh a shortform brand reference pack for any app from its real surfaces — website, App Store listing and reviews, socials, the live app (driven end to end on the simulator) and its code tokens — plus a status check of the upstream foundations (ICP, voice of customer, brand voice). Produces the context that content formats and design decisions are made from, as markdown, tokens.json and a PDF. Use for "build a brand pack for <app>", "refresh the brand pack", "capture the site/app/socials for shortform", "/brand-reference-pack".

new-app-info

Builds the information pack Apple asks for when App Review replies "We need additional information to better understand the app". It covers all six required items: (1) a screen recording on a physical device, as a shot list the user records; (2) the app's purpose and target audience; (3) setup and main features, with any login credentials or sample files; (4) the external services the app uses; (5) regional differences; (6) regulated industry or protected third-party material. It also runs Apple's "Prevent common issues" checks. Every answer comes from the app's own code (accounts, user-generated content, in-app purchases, SDKs, locales, screen-capture blocking, data deletion). It reads the connected iPhone's iOS version and checks it is the latest. It ends by telling the user to paste the reply into App Review Information → Notes. Use it when the user pastes that App Review message, says "/new-app-info", "we got rejected, they want more info", "answer App Review", or "make the App Store review pack". It w...

reel-motion-graphics

Turn a script or concept into an on-brand 9:16 explainer reel (luxury tech, warm sand on near-black, glassmorphism, CSS 3D, Bodoni + Instrument Sans) built in HyperFrames, with the animation above the fold and the presenter's talking head below. Use when the user gives a script, transcript, paper summary or concept and asks for a reel, motion graphics, an animated explainer or "the same style as the upcycling reel". Produces a HyperFrames project, a rendered MP4 and a live artifact player.

Verwandte Skills