Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "genesis-tools",
"version": "1.0.31",
"version": "1.0.32",
"description": "Plugins for GenesisTools CLI development and management",
"owner": {
"name": "genesiscz",
Expand All @@ -11,7 +11,7 @@
{
"name": "genesis-tools",
"description": "Skills and utilities for working with GenesisTools CLI toolkit. Provides guidance for discovering, executing, and troubleshooting genesis tools with integrated workflow support.",
"version": "1.0.31",
"version": "1.0.32",
"author": {
"name": "GenesisTools"
},
Expand Down
22 changes: 3 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Commands are invoked manually with `/gt:<name>`:
| [`gt:automate`](#gtautomate) | Build or run multi-step `tools` CLI automation presets |
| [`gt:timelog`](#gttimelog) | Sync Timely → Azure DevOps timelogs and fill Clarity PPM timesheets |
| [`gt:claude-history`](#gtclaude-history-command) | Search conversation history by keywords, files, commits, or time range |
| [`gt:question`](#gtquestion) | Answer-only mode — research and explain without modifying code |
| [`gt:question`](#gtquestion) | Answer a question and preserve the Q→A to the local question store for later review |

### Skills

Expand All @@ -83,7 +83,6 @@ Skills activate automatically when you mention relevant topics in conversation:
| [`gt:typescript-error-fixer`](#gttypescript-error-fixer) | "fix type errors", "eliminate any types" | Systematic 4-phase TS error fixing with zero `any` tolerance |
| [`gt:git-rebaser`](#gtgit-rebaser) | "rebase branches", "cascade rebase", "update child branches" | Guided rebase cascade for branch hierarchies with `--onto` |
| [`gt:living-docs`](#gtliving-docs) | "bootstrap docs", "validate documentation", "audit docs" | Self-maintaining documentation system with context rules |
| [`gt:writing-plans`](#gtwriting-plans) | "write a plan", "create implementation plan" | Write bite-sized TDD implementation plans with exact file paths |
| [`debugging-master`](#debugging-master) | "debug runtime", "why is this slow", "add logging" | Hypothesis-driven runtime debugging with instrumentation toolkit |

---
Expand Down Expand Up @@ -152,14 +151,14 @@ Supports keyword search, file-based search, commit-based search, tool filtering,

#### `gt:question`

Answer-only mode — Claude researches your question (reads files, searches code, browses the web) but **never modifies any files**.
Answer a question, then preserve the Q→A to the local question store so it can be reviewed later (`tools question log` / `tools question tail`). Also fires automatically right after you answer an important question interjected mid-session.

```bash
/gt:question "how does the caching layer work?"
/gt:question "what's the difference between timelog add and prepare-import?"
```

Includes a refinement loop: after each answer, asks if you want it simpler, longer, shorter, or if it's good.
Captured via the `question_answer` MCP tool, falling back to the `tools question record` CLI.

---

Expand Down Expand Up @@ -350,21 +349,6 @@ Philosophy: docs are a search index, not a textbook. Only document what can't be

</details>

#### `gt:writing-plans`

Write comprehensive TDD implementation plans with bite-sized tasks, exact file paths, and complete code.

<details>
<summary><b>What you get</b></summary>

- Each step is one action (2-5 minutes): write failing test → verify fail → implement → verify pass → commit
- Exact file paths, exact commands with expected output
- Execution handoff: subagent-driven (this session) or parallel session

Plans are saved to `.claude/plans/YYYY-MM-DD-<feature-name>.md`.

</details>

#### `debugging-master`

Hypothesis-driven runtime debugging with a structured instrumentation toolkit. Instrument code → reproduce → analyze real data.
Expand Down
12 changes: 12 additions & 0 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
"devDependencies": {
"@anthropic-ai/claude-code": "^2.1.45",
"@biomejs/biome": "^2.3.12",
"@playwright/test": "1.57.0",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-scroll-area": "^1.2.10",
"@radix-ui/react-slot": "^1.2.4",
Expand Down Expand Up @@ -58,6 +59,7 @@
"react-devtools-core": "^7.0.0",
"tailwind-merge": "^3.5.0",
"ts-morph": "^28.0.0",
"tw-animate-css": "^1.3.6",
"vite-tsconfig-paths": "^6.1.1",
"web-vitals": "^5.2.0"
},
Expand Down
2 changes: 1 addition & 1 deletion plugins/genesis-tools/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "genesis-tools",
"version": "1.0.31",
"version": "1.0.32",
"description": "Skills and utilities for working with GenesisTools CLI toolkit. Provides guidance for discovering, executing, and troubleshooting genesis tools with integrated workflow support.",
"author": {
"name": "GenesisTools"
Expand Down
21 changes: 0 additions & 21 deletions plugins/genesis-tools/skills/claude-qa/SKILL.md

This file was deleted.

47 changes: 19 additions & 28 deletions plugins/genesis-tools/skills/question/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,34 @@
---
name: question
description: Answer-only mode — research and explain without modifying code. Use when the user wants an explanation/rationale ("why did you choose X", "how does Y work", "what are the tradeoffs"), not an implementation. Invocable as /question.
description: Answer a question and preserve the Q→A for later review. Use when the user runs `/question <x>` (answer it, then save), or right after you give a substantive answer worth keeping to a question interjected mid-session ("why X over Y", "how does Y work", decisions, rationale, tradeoffs). Not for routine instructions you execute or quick status checks/acknowledgements ("ok", "thanks", "pushed yet?").
argument-hint: "<your question>"
allowed-tools:
- Read
- Glob
- Grep
- LSP
- Task
- AskUserQuestion
- WebFetch
- WebSearch
- ToolSearch
- mcp__genesis-tools__question_answer
- Bash(read-only commands only — no file modifications)
---

# Question — Answer-Only Mode
# Question — answer & preserve

The user asked: **$ARGUMENTS**
This fires two ways. Branch on whether `$ARGUMENTS` is present:

You are in **answer-only mode**. Your ONLY job is to answer the question above. You MUST NOT modify/write/create files, propose code changes, say "I'll fix this", use Write/Edit/NotebookEdit, or create plans/TODOs.
**A. Direct invocation — `$ARGUMENTS` is set.** The user asked: **$ARGUMENTS**
Research if needed (read/search code, look things up), then give a clear, focused, self-contained answer — rationale, links, refs as warranted. Then preserve it (see **Log**).

You MAY: read & search code (Read/Glob/Grep/LSP), Task(Explore) for research, web search, read-only Bash, and the `question_answer` MCP tool (see "Logging" — its persistence runs in the MCP server process, not you editing files; this does not violate answer-only mode).
**B. Auto-trigger — `$ARGUMENTS` is empty.** You just answered a substantive question/directive/nudge the user interjected while you were doing other work. Capture that Q→A so they can review it later without scrolling back, then return to your prior work.

## Workflow
## Log — the whole point

1. **Research if needed** — read files, search code, look things up.
2. **Give a clear, focused answer** — match depth to complexity; complete and self-contained (rationale, links, refs, code snippets as warranted). This is NOT a lossy summary.
3. **Refinement loop** — ask via AskUserQuestion:
Call the `question_answer` MCP tool ONCE with:

- "Good answer, thanks" → settle (go to step 4).
- "Explain like I'm a junior" / "Longer" / "Shorter" → rewrite per selection, ask again.
- `question`: the user's question, verbatim or lightly cleaned.
- `answer`: your **complete** answer in markdown (the real answer — rationale, links, refs — not a lossy one-liner).
- `tag`: `question` (asking why/what/how), `directive` (told you to do/decide something), or `action` (a "did you / should you" nudge you acted on — include the result, e.g. "pushed @ abc1234, CI green").
- `refs`: optional commits/files/URLs you referenced.
- `agentLabel`: if you are a subagent, your role/task in 2–4 words.

4. **MANDATORY closing step — log the final answer.** Unless the user passed `--no-log` in `$ARGUMENTS`, after the answer settles call the `question_answer` MCP tool ONCE with: `question` = the user's question (lightly cleaned), `answer` = your **final refined** answer in full markdown, `tag` = `question` (or `directive` if it was an instruction-shaped ask), `refs` = any commits/files/URLs cited. Then tell the user one line: "Logged ✓ (`<id>`)" or, if the tool returns a sink error, relay its `remedy` verbatim. If the `question_answer` tool is unavailable, fall back to `Bash: tools question record --q "…" --a-file <tmp> --tag question`. Do not skip this step; it is the whole point of the mode.
If the `question_answer` MCP tool is unavailable, fall back to the CLI:

## Answer Style
```bash
tools question record --q "<question>" --a-file <tmp-file-with-answer> --tag <tag>
```

Default mid-length technical; junior = analogies/no jargon; longer = edge cases/examples; shorter = bullets only; combined applies both.

<!-- Codex parity (verified 2026-05-18): this same skill is invokable as /question in Codex (user-confirmed Codex supports same-name skill invocation); the question_answer MCP server is registered for Codex via `tools claude mcp install --agent codex` (mcp-manager CodexProvider → ~/.codex/config.toml [mcp_servers.genesis-tools]). No separate ~/.codex/prompts/question.md fallback needed. -->
Then tell the user one line — "Logged ✓ (`<id>`)" — or, if the tool returns a sink error, relay its `remedy` verbatim.

**Skip logging** if: the interjection was pure acknowledgement ("ok", "thanks", "continue"); there was no substantive answer to capture; or the user passed `--no-log` in `$ARGUMENTS`.
117 changes: 0 additions & 117 deletions plugins/genesis-tools/skills/writing-plans/SKILL.md

This file was deleted.

Loading
Loading