Update all prompts to use gt hook instead of gt mol status
- Role templates (crew, polecat, mayor, deacon, witness, refinery) - prime.go startup protocol messages - Documentation (propulsion, reference, molecules, wisp architecture) - Session hints and sling prompts - Formula template instructions - CLAUDE.md The hook is the user-facing concept, molecules are implementation details. Agents should use `gt hook` to check what work is assigned to them. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
committed by
Steve Yegge
parent
23ee6efd41
commit
b4a7b930e5
@@ -194,7 +194,7 @@ func runHook(cmd *cobra.Command, args []string) error {
|
||||
|
||||
fmt.Printf("%s Work attached to hook (pinned bead)\n", style.Bold.Render("✓"))
|
||||
fmt.Printf(" Use 'gt handoff' to restart with this work\n")
|
||||
fmt.Printf(" Use 'gt mol status' to see hook status\n")
|
||||
fmt.Printf(" Use 'gt hook' to see hook status\n")
|
||||
|
||||
// Log hook event to activity feed
|
||||
_ = events.LogFeed(events.TypeHook, agentID, events.HookPayload(beadID))
|
||||
|
||||
@@ -123,7 +123,7 @@ func runMoleculeAttachFromMail(cmd *cobra.Command, args []string) error {
|
||||
if attachment != nil && attachment.AttachedAt != "" {
|
||||
fmt.Printf(" Attached at: %s\n", attachment.AttachedAt)
|
||||
}
|
||||
fmt.Printf("\n%s Run 'gt mol status' to see progress\n", style.Dim.Render("Hint:"))
|
||||
fmt.Printf("\n%s Run 'gt hook' to see progress\n", style.Dim.Render("Hint:"))
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -465,7 +465,7 @@ func outputStartupDirective(ctx RoleContext) {
|
||||
fmt.Println("**STARTUP PROTOCOL**: You are the Mayor. Please:")
|
||||
fmt.Println("1. Announce: \"Mayor, checking in.\"")
|
||||
fmt.Println("2. Check mail: `gt mail inbox` - look for 🤝 HANDOFF messages")
|
||||
fmt.Println("3. Check for attached work: `gt mol status`")
|
||||
fmt.Println("3. Check for attached work: `gt hook`")
|
||||
fmt.Println(" - If mol attached → **RUN IT** (no human input needed)")
|
||||
fmt.Println(" - If no mol → await user instruction")
|
||||
case RoleWitness:
|
||||
@@ -475,7 +475,7 @@ func outputStartupDirective(ctx RoleContext) {
|
||||
fmt.Println("**STARTUP PROTOCOL**: You are the Witness. Please:")
|
||||
fmt.Println("1. Announce: \"Witness, checking in.\"")
|
||||
fmt.Println("2. Check mail: `gt mail inbox` - look for 🤝 HANDOFF messages")
|
||||
fmt.Println("3. Check for attached patrol: `gt mol status`")
|
||||
fmt.Println("3. Check for attached patrol: `gt hook`")
|
||||
fmt.Println(" - If mol attached → **RUN IT** (resume from current step)")
|
||||
fmt.Println(" - If no mol → create patrol: `bd mol wisp mol-witness-patrol`")
|
||||
case RolePolecat:
|
||||
@@ -486,7 +486,7 @@ func outputStartupDirective(ctx RoleContext) {
|
||||
fmt.Printf("1. Announce: \"%s Polecat %s, checking in.\"\n", ctx.Rig, ctx.Polecat)
|
||||
fmt.Println("2. Check mail: `gt mail inbox`")
|
||||
fmt.Println("3. If there's a 🤝 HANDOFF message, read it for context")
|
||||
fmt.Println("4. Check for attached work: `gt mol status`")
|
||||
fmt.Println("4. Check for attached work: `gt hook`")
|
||||
fmt.Println(" - If mol attached → **RUN IT** (you were spawned with this work)")
|
||||
fmt.Println(" - If no mol → ERROR: polecats must have work attached; escalate to Witness")
|
||||
case RoleRefinery:
|
||||
@@ -496,7 +496,7 @@ func outputStartupDirective(ctx RoleContext) {
|
||||
fmt.Println("**STARTUP PROTOCOL**: You are the Refinery. Please:")
|
||||
fmt.Println("1. Announce: \"Refinery, checking in.\"")
|
||||
fmt.Println("2. Check mail: `gt mail inbox` - look for 🤝 HANDOFF messages")
|
||||
fmt.Println("3. Check for attached patrol: `gt mol status`")
|
||||
fmt.Println("3. Check for attached patrol: `gt hook`")
|
||||
fmt.Println(" - If mol attached → **RUN IT** (resume from current step)")
|
||||
fmt.Println(" - If no mol → create patrol: `bd mol wisp mol-refinery-patrol`")
|
||||
case RoleCrew:
|
||||
@@ -507,7 +507,7 @@ func outputStartupDirective(ctx RoleContext) {
|
||||
fmt.Printf("1. Announce: \"%s Crew %s, checking in.\"\n", ctx.Rig, ctx.Polecat)
|
||||
fmt.Println("2. Check mail: `gt mail inbox`")
|
||||
fmt.Println("3. If there's a 🤝 HANDOFF message, read it and continue the work")
|
||||
fmt.Println("4. Check for attached work: `gt mol status`")
|
||||
fmt.Println("4. Check for attached work: `gt hook`")
|
||||
fmt.Println(" - If attachment found → **RUN IT** (no human input needed)")
|
||||
fmt.Println(" - If no attachment → await user instruction")
|
||||
case RoleDeacon:
|
||||
@@ -518,7 +518,7 @@ func outputStartupDirective(ctx RoleContext) {
|
||||
fmt.Println("1. Announce: \"Deacon, checking in.\"")
|
||||
fmt.Println("2. Signal awake: `gt deacon heartbeat \"starting patrol\"`")
|
||||
fmt.Println("3. Check mail: `gt mail inbox` - look for 🤝 HANDOFF messages")
|
||||
fmt.Println("4. Check for attached patrol: `gt mol status`")
|
||||
fmt.Println("4. Check for attached patrol: `gt hook`")
|
||||
fmt.Println(" - If mol attached → **RUN IT** (resume from current step)")
|
||||
fmt.Println(" - If no mol → create patrol: `bd mol wisp mol-deacon-patrol`")
|
||||
}
|
||||
|
||||
@@ -453,7 +453,7 @@ func injectStartPrompt(pane, beadID, subject, args string) error {
|
||||
} else if subject != "" {
|
||||
prompt = fmt.Sprintf("Work slung: %s (%s). Start working on it now - no questions, just begin.", beadID, subject)
|
||||
} else {
|
||||
prompt = fmt.Sprintf("Work slung: %s. Start working on it now - run `gt mol status` to see the hook, then begin.", beadID)
|
||||
prompt = fmt.Sprintf("Work slung: %s. Start working on it now - run `gt hook` to see the hook, then begin.", beadID)
|
||||
}
|
||||
|
||||
// Use the reliable nudge pattern (same as gt nudge / tmux.NudgeSession)
|
||||
@@ -772,9 +772,9 @@ func runSlingFormula(args []string) error {
|
||||
|
||||
var prompt string
|
||||
if slingArgs != "" {
|
||||
prompt = fmt.Sprintf("Formula %s slung. Args: %s. Run `gt mol status` to see your hook, then execute using these args.", formulaName, slingArgs)
|
||||
prompt = fmt.Sprintf("Formula %s slung. Args: %s. Run `gt hook` to see your hook, then execute using these args.", formulaName, slingArgs)
|
||||
} else {
|
||||
prompt = fmt.Sprintf("Formula %s slung. Run `gt mol status` to see your hook, then execute the steps.", formulaName)
|
||||
prompt = fmt.Sprintf("Formula %s slung. Run `gt hook` to see your hook, then execute the steps.", formulaName)
|
||||
}
|
||||
t := tmux.NewTmux()
|
||||
if err := t.NudgePane(targetPane, prompt); err != nil {
|
||||
|
||||
@@ -31,7 +31,7 @@ The bead's status changes from 'pinned' back to 'open'.
|
||||
Related commands:
|
||||
gt sling <bead> # Hook + start (inverse of unsling)
|
||||
gt hook <bead> # Hook without starting
|
||||
gt mol status # See what's on your hook`,
|
||||
gt hook # See what's on your hook`,
|
||||
Args: cobra.MaximumNArgs(2),
|
||||
RunE: runUnsling,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user