junebug

agent
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Gecti
  • Code scan — Scanned 3 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Agent skill that reduced the natural language to what's important. Stay with the most relevant answers for shorter attention span while cutting the word count. Priority is accuracy and human readability rather than token reduction.

README.md

Junebug

Say it plain

Make your AI agent talk like a smart person explaining things to someone
with a limited attention span and/or smaller vocabulary, who has only about 45 seconds to read.
Same facts, no filler, nothing you'd need to look up.

Junebug is a skill written from human for human.

Long code reviews cut to what's actually wrong. Architecture questions answered without three paragraphs of setup. Technical explanations that don't take longer to read than the code they describe. If your time is worth something, every word the agent wastes is a small tax — Junebug stops that.

SkillScan Verified

Release
Last Commit
License

See it · Install · Levels · What you get · Benchmarks · How it works


Junebug


Junebug is a skill for Claude Code, Codex, Gemini, Copilot, and many more agents. The agent drops filler,
hedging, and politeness, and answers in plain, correct English — code,
commands, and error strings stay exact. Every fact that matters stays in
the answer.

Junebug is built for readers who lose focus fast. Long paragraphs,
hedging, and build-up before the point give attention somewhere to slip.
Short, plain, fact-first answers are easier to stay with start to finish.

If you're the kind of reader who gets pulled away mid-paragraph, or reads
a wall of text twice and still isn't sure what it said, this is for you.
Junebug removes the parts that cause that: no throat-clearing, no rare
words to stop and decode, no wandering before the fact arrives. Fewer
places for attention to drift, so the important part actually lands.

Same facts. Fewer words. Nothing technically lost.

Junebug doesn't make the agent dumber or speak like something from the past. It makes the agent's mouth
smaller — shrinks what it says, not what it knows.

Before / After

Normal Junebug

Question: Review this code.

Answer: Good catches already flagged in the comments. A few more worth adding:

Data race, not just a leak. The three goroutines all write to the package-level dbConnection with no mutex, and main doesn't read it after, so the goroutines are pure noise — spawned, they race each other, and the result is discarded. Run this with go run -race and it'll flag the race immediately.

Closure over the loop variable. In Go versions before 1.22, i inside the goroutine closure refers to the shared loop variable, so all three goroutines could see the same (final) value of i rather than 0, 1, 2. Go 1.22+ fixed this by giving each iteration its own i, but the code shouldn't rely on knowing which semantics apply — pass i as a parameter instead: go func(i int) { ... }(i).

time.Sleep as a synchronization mechanism. Waiting 100ms and hoping the goroutines finished is fragile — under load or on a slow machine it can fail silently. Use sync.WaitGroup instead.

Swallowed error produces wrong output. result, _ := someRiskyOperation() discards the error, so main prints an empty string instead of surfacing "something went wrong." At minimum log it; better, handle or propagate it.

queryData is dead code that panics on a valid input path. It's never called, but if it were, panicking on val == 0 instead of returning an error means any caller has to guard against zero externally or crash the program — panics should be reserved for truly unrecoverable states, not normal input validation.

dbConnection as a global, set via init(). Already flagged, and worth adding: naming it "secret" and hardcoding it in source is a red flag for real code — secrets belong in env vars or a secrets manager, not compiled into the binary.

Net effect: nothing in main actually uses the result of the goroutines or someRiskyOperation correctly, so functionally this program does almost nothing safely — it just demonstrates the anti-patterns. If you want, I can rewrite it with the fixes (WaitGroup, mutex or channel instead of shared state, proper error propagation, no panic) — happy to do that if this is meant to become production code rather than a teaching example.

Question: Review this code.

Answer:
Real bugs, not style nits. Top ones:

  • Panic instead of error — queryData panics on val==0. Crashes the whole program instead of letting caller handle it. Return an error.
  • Ignored error — result, _ := someRiskyOperation() swallows the error. result prints empty and you'd never know why.
  • Data race — 3 goroutines write dbConnection with no mutex. Run with go run -race and it'll flag this.
  • Goroutine leak / no sync — goroutines aren't tracked. time.Sleep(100ms) is a guess, not a guarantee they finished. Use sync.WaitGroup.
  • Hardcoded secret + global mutable state — dbConnection should come from env/config, not a package var set in init().

Fix priority: #2 and #3 first (silent failures + races are the dangerous ones).

Show more?

Normal Junebug

Question: How can I travel at the speed of light?

Answer: You can't — at least not if you have mass, which you do.

Einstein's special relativity says that as an object with mass accelerates, the energy required to keep speeding it up grows without bound as it approaches the speed of light. To actually reach c, you'd need infinite energy, which isn't physically possible. There's also the issue that time dilation and length contraction become extreme as you approach c, and at c itself the math breaks down (time would stop, length would contract to zero) — the equations simply don't allow a massive object to occupy that speed.

Only massless particles, like photons, travel at the speed of light, and they do so because they have no rest mass to accelerate in the first place.

What you can do is get close. Particle accelerators like the LHC push protons to something like 99.9999991% of light speed. At those speeds, relativistic effects become significant, including some real time dilation, where a fast-moving particle or traveler experiences less elapsed time than someone at rest. That's the basis of the classic "twin paradox" thought experiment.

If you're curious about the physics reasons behind this (why mass and light speed don't mix) or about real proposals for very fast interstellar travel, like light sails or theoretical concepts like the Alcubierre warp drive, happy to go into either.

Question: How can I travel at the speed of light?

Answer: You can't. Here's why:

  • Einstein's relativity: as you speed up, your mass (effectively) grows and it takes more energy to keep accelerating. Hitting light speed needs infinite energy.
  • Only light (and other massless particles) can move at light speed — mass-zero is required.
  • Close to it: particle accelerators push protons to about 99.9999991% of light speed, using huge amounts of energy for a tiny gain.
  • Sci-fi workarounds (warp drives, wormholes) bend space instead of moving through it — theoretical, not built, and may need exotic matter that doesn't exist.

Read more?

Install

Turn it on: type /junebug or say "junebug mode."
Turn it off: say "stop junebug mode" or "normal mode."


Claude Code

From the terminal:

claude plugin marketplace add skycube/junebug && claude plugin install junebug@junebug

Or from within Claude:

/plugin marketplace add skycube/junebug
/plugin install junebug@junebug

(Send as two separate prompts.) Or drop skills/junebug/SKILL.md into your project's skills/ folder manually.


GitHub Copilot CLI

copilot plugin marketplace add skycube/junebug
copilot plugin install junebug@junebug

In an interactive Copilot CLI session, use the slash equivalents:

/plugin marketplace add skycube/junebug
/plugin install junebug@junebug

Instruction-only fallback: append skills/junebug/SKILL.md to .github/copilot-instructions.md in your project, or to ~/.copilot/copilot-instructions.md to run junebug in every project.


Codex

codex plugin marketplace add skycube/junebug
codex plugin add junebug@junebug

Or append skills/junebug/SKILL.md to your project's AGENTS.md. VS Code with the Codex extension reads AGENTS.md too — this repo ships one, so cloning it is enough.


Gemini CLI

gemini extensions install https://github.com/skycube/junebug --consent

Or append skills/junebug/SKILL.md to GEMINI.md in your project.


Any other agent

Copy skills/junebug/SKILL.md into whatever file your agent loads as its system prompt or rules. Then invoke with /junebug or "junebug mode" as usual.

Pick your level

Two levels. Switch anytime with /junebug <level>. Level sticks until
you change it or the session ends.

Level Budget What changes
normal agent Full sentences, hedging, pleasantries, no cap on length.
full (default) ~150 words / 45 sec Plain vocabulary, no filler, no politeness, 3-option cap.
lite ~300 words / 90 sec Same rules, double the room — for answers that need more space to stay correct.

Speaks your language. Junebug keeps your input language and only
compresses the style. Write Portuguese, get tightened Portuguese back.
Code, CLI commands, API names, commit-type keywords, and exact error
strings always stay verbatim, regardless of reply language.

What you get

Behavior What it does
/junebug [full|lite] Compress every reply. Level sticks for the session.
Auto-pause Drops to normal, full detail for system-relevant or security-related content, or anything needing approval — resumes right after.
Boundary Never applies to docs, PRs/MRs, or commit messages — those stay normal, full sentences.

Benchmarks

Junebug isn't built to cut tokens — it's built so a reader with a
limited attention span and/or smaller vocabulary can follow the answer
start to finish. That said, cutting filler, hedging, and politeness
happens to produce a large drop in output tokens as a side effect.

Token Usage:

Task Normal Junebug Saved
Review this code 535 160 70%
How can I travel at the speed of light? 350 120 65%

Reading Time:

Task Normal Junebug Saved
Review this code 3 min 39 sec 1 min 12 sec 67%
How can I travel at the speed of light? 2 min 15 sec 0 min 54 sec 60%

How it works

  1. Install drops a skill file into your agent.
  2. Skill tells the agent: drop filler, politeness, and hedging; keep
    every fact, and never touch code, commands, or error strings.
  3. Auto-pause rule keeps security-relevant or approval-needed content in
    full detail — Junebug never compresses safety-critical replies.
  4. Boundary rule keeps external-facing writing (docs, PRs,
    commits) untouched — Junebug only governs the chat reply.

FAQ

Can I use it with caveman?

Yes. Caveman makes the agent talk like a caveman — short, blunt, tribal grammar. Junebug makes the agent talk in plain, correct English for readers with a short attention span. Different styles, same goal: less to read. They don't conflict; run both and you get terse caveman-style answers that are also plain and fact-first.

Does it make the agent less accurate?

No. The filter cuts filler, hedging, and politeness — not facts. The rule is: simple and correct, never simple and vague. If a fact needs more space to stay accurate, Junebug uses the space.

Does it work in languages other than English?

Yes. Junebug matches whatever language you write in and compresses the style, not the language. Write in Portuguese, get tightened Portuguese back. Code, CLI commands, API names, and exact error strings always stay verbatim regardless of reply language.

Does it need a config file or account?

No. Junebug is a plain text file loaded into your agent. No telemetry, no accounts, no backend calls beyond your normal agent usage.

Junebug turned itself off and gave me a longer answer — is that a bug?

No, that's the auto-pause rule. When Junebug decides an answer genuinely needs more space to stay accurate or safe, it steps back and gives you the full detail. To override it and get a Junebug-style version anyway, just type /junebug again and it will rerender the previous answer in compressed form.

Who is this actually for?

Time-poor readers who already know what they're doing — lead engineers, experienced developers, anyone who doesn't need ten options and three paragraphs of setup before the actual answer. If you read fast, decide fast, and lose patience with hedging, this is for you.

How can I contribute?

Open an issue first — no issue, no pull request. Junebug is a skill written from human for human, not by or for bots. Any issue or pull request that appears to be bot-generated will be closed without review.

Privacy

Junebug is a prompt, not a service. No telemetry, no accounts, no
backend calls beyond your normal Claude or Copilot usage.

Contributing

See CONTRIBUTING.md. Open an issue first — no issue, no pull request.

License

MIT License. See LICENSE for details.

Yorumlar (0)

Sonuc bulunamadi